diff options
author | James Meyer <james.meyer@operamail.com> | 2010-10-23 18:17:40 (GMT) |
---|---|---|
committer | James Meyer <james.meyer@operamail.com> | 2010-10-23 18:19:39 (GMT) |
commit | adbcf19958300e9b6598990184c8815b945ba0ee (patch) | |
tree | f4283c850ac0ac202c17e78a637ee7ca8147621b /abs/mv-core/local-website/contents/process.py | |
parent | 61a68250df10d29b624650948484898334ff22d0 (diff) | |
download | linhes_pkgbuild-adbcf19958300e9b6598990184c8815b945ba0ee.zip linhes_pkgbuild-adbcf19958300e9b6598990184c8815b945ba0ee.tar.gz linhes_pkgbuild-adbcf19958300e9b6598990184c8815b945ba0ee.tar.bz2 |
Removed old core and extra from repo. Renamed -testing to core/extra. This will setup the base for the testing branch.
Diffstat (limited to 'abs/mv-core/local-website/contents/process.py')
-rwxr-xr-x | abs/mv-core/local-website/contents/process.py | 329 |
1 files changed, 0 insertions, 329 deletions
diff --git a/abs/mv-core/local-website/contents/process.py b/abs/mv-core/local-website/contents/process.py deleted file mode 100755 index 99404a4..0000000 --- a/abs/mv-core/local-website/contents/process.py +++ /dev/null @@ -1,329 +0,0 @@ -#!/usr/bin/python -import sys -import cgi -import os -import socket -import time -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 - print type(theform[field]) - if type(theform[field]) != type([]): - # is it a list or a single item - print type(theform[field]) - data[field] = theform[field].value - else: - if not nolist: - # do we want a list ? - data[field] = theform.getlist(field) - else: - data[field] = theform.getfirst(field) - # just fetch the first item - 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 go_backup(myhost): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - command= "sudo /usr/bin/backup_job " - command2="sleep 2; /data/srv/hobbit/server/ext/hbnotes.py" - results=os.popen(command,'r') - os.popen(command2,'r') - else: - sshcmd="ssh -o StrictHostKeyChecking=no -o ConnectTimeout=1 -i /data/srv/.nobody_ssh/id_dsa mythtv@" - sshcmd+=myhost.strip() - cmd=' "sudo /etc/cron.daily/backup_cron ; sudo su nobody -c /data/srv/hobbit/server/ext/hbnotes.py"' - command=sshcmd + cmd + " 2>&1 " - results=os.popen(command,'r') - return results - -def go_restore(restorefile,myhost): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - localcommand="sudo /usr/bin/restore_job.sh " - command= localcommand + restorefile - else: - sshcmd="ssh -o StrictHostKeyChecking=no -o ConnectTimeout=1 -i /data/srv/.nobody_ssh/id_dsa mythtv@" - sshcmd+=myhost.strip() - cmd=' "sudo /usr/bin/restore_job.sh " ' - command=sshcmd + cmd + restorefile + " 2>&1 " - - results=os.popen(command,'r') - return results - -def go_optimize(myhost): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - command="/usr/bin/optimize_mythdb.py" - results=os.popen(command,'r') - else: - results='oops' - return results - -def go_update(myhost,update_type): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - cmd="sudo /usr/bin/update_system " - command=cmd + update_type - - else: - cmd=" call pacman update_system " - cmd+=update_type - command="sudo /usr/bin/func \"" + myhost.strip() + "*\" " + cmd - print command - - #print command - - results=os.popen(command,'r') - return results - -def go_updateall(allupdate_type): - - cmd=" sudo /usr/bin/update_system_all " - cmd+=allupdate_type - command= cmd + " 2>&1 " - results=os.popen(command,'r') - return results - - -def go_shutdown(myhost): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - message="Shutdown from MBE:::ALT" - os.system("/usr/bin/osdClient.pl " + myhost.strip() + " 5000 " + "\"" + message + "\"" ) - time.sleep(3) - command="sudo /sbin/poweroff " - else: - command="sudo /usr/bin/func \"" + myhost.strip() + "*\" call power poweroff " - message="Shutdown from MBE:::ALT" - os.system("/usr/bin/osdClient.pl " + myhost.strip() + " 5000 " + "\"" + message + "\"" ) - time.sleep(3) - - results=os.popen(command,'r') - return results - -def go_shutdownall(): - import MySQLdb - #import mysql - #find all hosts(minus myself) - #loop through results shutdown as we go. - db = MySQLdb.connect(host="localhost", user="mythtv", passwd="mythtv", db="mythconverg") - # create a cursor - cursor = db.cursor() - # execute SQL statement - myhostname = socket.gethostname() - results=["Sent shutdown command to: \n "] - cursor.execute("SELECT distinct(hostname) from settings where not hostname = %s ; ",(myhostname)) - result = cursor.fetchall() - - for row in result: - go_shutdown(row[0]) - results.append(row[0]) - - #shutdown myself. - #go_shutdown(myhostname) - #results.append(myhostname) - return results - -def go_reboot(myhost): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - message="Reboot from MBE:::ALT" - os.system("/usr/bin/osdClient.pl " + myhost.strip() + " 5000 " + "\"" + message + "\"" ) - time.sleep(3) - command="sudo /sbin/reboot " - else: - command="sudo /usr/bin/func \"" + myhost.strip() + "*\ call power reboot " - message="Reboot from MBE:::ALT" - os.system("/usr/bin/osdClient.pl " + myhost.strip() + " 5000 " + "\"" + message + "\"" ) - time.sleep(3) - results=os.popen(command,'r') - return results - -def go_wake(myhost): - command="/usr/bin/wakeonlan.sh " + myhost.strip() - results=os.popen(command,'r') - return results - -def go_kill(myhost,kill_type): - myhostname = socket.gethostname() - if myhostname.strip() == myhost.strip(): - if kill_type == "killX": - command="sudo /sbin/sv restart frontend" - else: - command="sudo /usr/bin/killall -9 mythfrontend" - else: - cmd=" call fe_restart " - cmd+=kill_type - command="sudo /usr/bin/func \"" + myhost.strip() + "*\" " + cmd - #print command - results=os.popen(command,'r') - 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 = ''' - <h1>Error</h1> - <h2>No Form Submission Was Received</h2>''' - -result = ''' - <h1>%s of %s</h1> -''' -possible_parameters = ['param1', 'param2', 'param3', 'param4','hiddenparam','param5','param6'] - -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 - - if isblank(formdict): - body = error - else: - name = formdict['param1'] - radio = formdict['param2'] # should be 'this' or 'that' - if radio != 'Restore' : - name = "" - update_type = formdict['param3'] - oldurl = formdict['param4'] - hidden = formdict['hiddenparam'] - all_update_type=formdict['param5'] - kill_type = formdict['param6'] - body = result % (radio, hidden) - - - - - print mainpage % body - selection=radio - myhost=hidden - - if selection == "Restore": - mylogfile=go_restore(name,myhost) - elif selection == "Backup": - mylogfile=go_backup(myhost) - elif selection == "Update": - mylogfile=go_update(myhost,update_type) - elif selection == "Shutdown": - mylogfile=go_shutdown(myhost) - elif selection == "Reboot": - mylogfile=go_reboot(myhost) - elif selection == "Optimize": - mylogfile=go_optimize(myhost) - elif selection == "WOL": - mylogfile=go_wake(myhost) - elif selection == "UpdateAll": - mylogfile=go_updateall(all_update_type) - elif selection == "ShutdownAll": - mylogfile=go_shutdownall() - elif selection == "Kill": - mylogfile=go_kill(myhost,kill_type) - - 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> - ''' - - print box - for line in mylogfile: - print line + '</br> \r\n' - - print endbox - print '<a href=', oldurl, ' > Back </a> ' - #print oldurl - print javascript - |