#!/usr/local/bin/python
# 
# Wireless Leiden webinterface for (embedded) nodes
# Rick van der Zwet <info@rickvanderzwet.nl>
# Richard van Mansom (richardvm@wirelessleiden.nl), striped the webserver

from subprocess import *
import os

def tailFile(file):
  lines=-10
  return("<em>Tail (%i): %s</em><br /><pre>%s</pre>" % (lines,file,Popen(["tail", str(lines), file], stdout=PIPE).communicate()[0]));

def catFile(file):
  return("<em>File: %s</em><br /><pre>%s</pre>" % (file,Popen(["cat", file], stdout=PIPE).communicate()[0]));

def allRoutes():
  return("<em>netstat -nr</em><br /><pre>%s</pre>" % Popen(["netstat", "-n", "-r"], stdout=PIPE).communicate()[0]);

def processList():
  return("<em>ps -aux</em><br /><pre>%s</pre>" % Popen(["ps", "-a", "-u", "-x"], stdout=PIPE).communicate()[0]);


def main():
  return ( "Content-Type: text/html\n\n" +
  "<img src='/static/wl-logo.png' />" +
  "Welcome to <a href='http://www.wirelessleiden.nl'>Stichting Wireless Leiden</a> host/node <em>" +
  Popen(["hostname"], stdout=PIPE).communicate()[0]  +
  "</em><p />" + tailFile('/var/log/messages') + "<p />" +
  tailFile('/var/log/debug.log') + "<p />" +
  catFile('/var/run/dmesg.boot') + "<p />" +
  allRoutes() + "<p />" +
  processList() + "<p />" +
  "<em>$Id$</em>" )

print main()
