#!/usr/bin/python # import urllib2 import string import sys import time import datetime import socket def read_accepted(): global dhcp_accepted dhcp_accepted = [] try: infile = open('/tmp/dhcp.leases', 'r') except(IOError), e: print "couldn't open accepted" else: filelist = infile.readlines() infile.close() for item in filelist: item=item.strip() macaddress=item.split(" ")[1] if macaddress not in dhcp_accepted: dhcp_accepted.append(macaddress) #print macaddress def read_offered(): global dhcp_offered dhcp_offered = [] try: today = datetime.date.today() host = socket.gethostname() filename='/var/log/' filename+=str(today) filename+='/' filename+=host filename+='/dnsmasq' infile = open(filename, 'r') except(IOError), e: print "couldn't open offered" else: filelist = infile.readlines() infile.close() for item in filelist: item=item.strip() if item.find("DHCPOFFER") != -1 : macaddress=item.rpartition(" ")[2] if macaddress not in dhcp_offered: dhcp_offered.append(macaddress) #print macaddress def read_current(): global dhcp_current dhcp_current = [] try: infile = open('/etc/dnsmasq.mvpmc.conf', 'r') except(IOError), e: print "couldn't open current" else: filelist = infile.readlines() infile.close() for item in filelist: item=item.strip() if item.find("dhcp-host") != -1 : macaddress=item.partition(",")[2] if macaddress not in dhcp_current : dhcp_current.append(macaddress) # print macaddress def make_html(): global dhcp_accepted global dhcp_offered buttonform_top=''' <div class="content" style="solid #aaa; width:500px; height:300px; overflow:auto; color:#FFF;text-align:left;"> <form action="/mvp_process.py" method="get"> ''' buttonform_bottom=''' Mac Address: <input type="text" name="activemvp"> </br> <input id="submitbutton" type="submit" /> </form> </div> ''' checkboxline = ''' <input type="checkbox" name="activemvp" value="%s" %s /> %s <br /> ''' print '<br />' da = set(dhcp_accepted) dof = set(dhcp_offered) dc = set(dhcp_current) possible_mac= dof -dc #possible_mac= dof -da - dc print buttonform_top for mac in dhcp_current: print checkboxline % (mac ,' checked="yes"' , mac) for mac in possible_mac: print checkboxline % (mac , " " ,mac) print buttonform_bottom #------------------- global dhcp_accepted global dhcp_offered global dhcp_current read_offered() #print "--" #print '</br>' read_accepted() #print "--" #print '</br>' read_current() #print "--" #print '</br>' #possible_mac= (dof - da) #possible_mac = dof #print "should be unchecked:" #print possible_mac make_html()