diff options
Diffstat (limited to 'abs/mv-core/local-website/contents/mvp_process.py')
-rwxr-xr-x | abs/mv-core/local-website/contents/mvp_process.py | 195 |
1 files changed, 0 insertions, 195 deletions
diff --git a/abs/mv-core/local-website/contents/mvp_process.py b/abs/mv-core/local-website/contents/mvp_process.py deleted file mode 100755 index b01ed8b..0000000 --- a/abs/mv-core/local-website/contents/mvp_process.py +++ /dev/null @@ -1,195 +0,0 @@ -#!/usr/bin/python -import sys -import cgi -import os -import socket -import time -import shutil -try: - import cgitb - cgitb.enable() -except ImportError: - sys.stderr = sys.stdout -def cgiprint(inline=''): - sys.stdout.write(inline) - sys.stdout.write('\r\n') - sys.stdout.flush() -contentheader = 'Content-Type: text/html' - -thepage = '''<html><head> -<title>%s</title> -</head><body> -%s -</body></html> -''' -h1 = '<h1>%s</h1>' - -def getform(theform, valuelist, notpresent='', nolist=False): - """ - This function, given a CGI form as a - FieldStorage instance, extracts the - data from it, based on valuelist - passed in. Any non-present values are - set to '' - although this can be - changed. (e.g. to return None so you - can test for missing keywords - where - '' is a valid answer but to have the - field missing isn't.) It also takes a - keyword argument 'nolist'. If this is - True list values only return their - first value. - """ - data = {} - for field in valuelist: - - - if not theform.has_key(field): - # if the field is not present (or was empty) - data[field] = notpresent - else: - # the field is present - data[field] = theform.getlist(field) - -# print type(theform[field]) - return data - -def getall(theform, nolist=False): - """ - Passed a form (cgi.FieldStorage - instance) return *all* the values. - This doesn't take into account - multipart form data (file uploads). - It also takes a keyword argument - 'nolist'. If this is True list values - only return their first value. - """ - data = {} - for field in theform.keys(): - # we can't just iterate over it, but must use the keys() method - if type(theform[field]) == type([]): - if not nolist: - data[field] = theform.getlist(field) - - else: - data[field] = theform.getfirst(field) - else: - data[field] = theform[field].value - - - return data - -def isblank(indict): - """ - Passed an indict of values it checks - if any of the values are set. Returns - True if the indict is empty, else - returns False. I use it on the a form - processed with getform to tell if my - CGI has been activated without any - form values. - """ - for key in indict.keys(): - if indict[key]: - return False - return True - - -def update_mvp_list(maclist): - outfile = open("/etc/dnsmasq.mvpmc.conf","w") - mvpline="dhcp-boot=net:mvp,dongle.bin" - mvpmacline='dhcp-host=net:mvp,%s' - results="The following media mvp devices have been added:" - results+='</br>' - havemvp = "false" - #print maclist - for i in range(len(maclist)): - if maclist[i] != '': -# print mvpmacline % maclist[i] - outfile.write(mvpmacline % maclist[i] + '\n' ) - havemvp="true" - results+=maclist[i] - results+='</br>' - if havemvp == "true": -# print mvpline - outfile.write(mvpline + '\n' ) - outfile.flush - outfile.close - #time.sleep(5) - - else: - outfile.close - return results - - -mainpage = ''' - <html><head> - <style type="text/css">@import "/frame.css";</style> - <!--<meta http-equiv="refresh" content="6">--> - <title>Receiving a Form</title> - </head><body>%s</body></html>''' - -error = ''' - - <h2>Removed all media mvp devices</h2>''' - -result = ''' - <h1>%s</h1> -''' -possible_parameters = ['activemvp', 'othermac','hiddenparam'] - -if __name__ == '__main__': - cgiprint(contentheader) # content header - cgiprint() # finish headers with blank line - - theform = cgi.FieldStorage() - #print theform - formdict = getform(theform, possible_parameters) - #print possible_parameters - #print formdict - oldurl = '/mvpmc.shtml' - if isblank(formdict): - body = error - all_active=[] - else: - all_active=[] - activemac_checkbox = formdict['activemvp'] - for i in range(len(activemac_checkbox)): - active_string=activemac_checkbox[i] - active_string=active_string.strip() - all_active.append(active_string) - body = result % ("MVP mac address") - - - - print mainpage % body - # mylogfile=update_mvp_list(all_active) - - - box=''' - <div style="border: 1px solid #aaa; width:600px; height:500px; overflow:auto; color:#FFF;text-align:left;"> - <code id="box" style="display: block; height: 500px; width: 600px; overflow: auto;"> - ''' - - endbox=''' - </code> - </div> - ''' - javascript=''' - <script type="text/javascript"> - var objDiv = document.getElementById("box"); - objDiv.scrollTop = objDiv.scrollHeight; - </script> - ''' - if all_active != []: - mylogfile=update_mvp_list(all_active) - command="sudo /sbin/sv stop dnsmasq" - os.system(command) - command="sudo /sbin/sv start dnsmasq" - os.system(command) - print box - print mylogfile - print endbox - print '<a href=', oldurl, ' > Back </a> ' - #print oldurl - print javascript - |