diff options
Diffstat (limited to 'abs/core/live-installer/timezip.py')
-rwxr-xr-x | abs/core/live-installer/timezip.py | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/abs/core/live-installer/timezip.py b/abs/core/live-installer/timezip.py new file mode 100755 index 0000000..505b4a4 --- /dev/null +++ b/abs/core/live-installer/timezip.py @@ -0,0 +1,185 @@ +#!/usr/bin/python +# import MySQL module +#used to import the zipcode/timezone/nfs info fromMBE +import MySQLdb +import sys +import getopt +import socket + + +def usage(): + print " -h --help" + print " -d --installdb" + print " -m --masterdb" + print " -n --hostname of current machine" + +def printvars(): + print "masterdb: " + masterdb + print "installdb:" + installdb + print "hostname: " + thishostname + print "BEhostname:" + BEhostname + print "zipcode:" + zipcode + print "timezone:" + tz + print "nfsip:" + nfsip + print "nfstoggle:" + nfstoggle + print "nfsmount:" + nfsmount + print "hobbitclient:" + hobbitclient +# connect +def selectvars(): + + global BEhostname + global zipcode + global tz + global nfsip + global nfstoggle + global nfsmount + global hobbitclient + + db = MySQLdb.connect(host=masterdb, user="mythtv", passwd="mythtv", db="mythconverg") + # create a cursor + cursor = db.cursor() + # execute SQL statement + cursor.execute("select hostname from settings where value='BackendServerIP' and data=(%s)",(masterdb)) + result = cursor.fetchone() + BEhostname=result[0] + + cursor.execute("select data from settings where value='HostZipcode' and hostname=(%s)",(BEhostname)) + result = cursor.fetchone() + try: + zipcode = result[0] + except TypeError: + zipcode="" + + cursor.execute("select data from settings where value='HostCentralNFSIP' and hostname=(%s)",(BEhostname)) + result = cursor.fetchone() + try: + nfsip=result[0] + except TypeError: + nfsip="" + + cursor.execute("select data from settings where value='HostHaveCentralNFS' and hostname=(%s)",(BEhostname)) + result = cursor.fetchone() + try: + nfstoggle=result[0] + except TypeError: + nfstoggle="" + + cursor.execute("select data from settings where value='HostNFSmountpoint' and hostname=(%s)",(BEhostname)) + result = cursor.fetchone() + try: + nfsmount=result[0] + except TypeError: + nfsmount="" + + cursor.execute("select data from settings where value='HostTimeZone' and hostname=(%s)",(BEhostname)) + result = cursor.fetchone() + try: + tz=result[0] + except TypeError: + tz="" + + if ( thishostname != BEhostname ): + cursor.execute("select data from settings where value='GlobalServiceHobbitserver'") + result = cursor.fetchone() + try: + hobbitclient=result[0] + except TypeError: + hobbitclient="0" + + + +def insertvars(): + + db = MySQLdb.connect(host=installdb, user="mythtv", passwd="mythtv", db="mythconverg") + cursor = db.cursor() +#inserting the zipcode + cursor.execute("select * from settings where value='HostZipcode' and hostname=(%s)",(thishostname)) + result = cursor.fetchone() + if ( zipcode!="" ): + if (result == None): + cursor.execute("INSERT INTO settings (value,data,hostname) VALUES ('HostZipcode',(%s),(%s))",(zipcode,thishostname)) + print "inserting zipcode" + else: + cursor.execute("update settings set data=(%s) where hostname=(%s) and value='HostZipcode'",(zipcode,thishostname)) + print "updating zipcode" + +#inserting the timezone + cursor.execute("select * from settings where value='HostTimeZone' and hostname=(%s)",(thishostname)) + result = cursor.fetchone() + if ( tz != ""): + if (result == None): + cursor.execute("INSERT INTO settings (value,data,hostname) VALUES ('HostTimeZone',(%s),(%s))",(tz,thishostname)) + print "inserting timezone" + else: + cursor.execute("update settings set data=(%s) where hostname=(%s) and value='HostTimeZone'",(tz,thishostname)) + print "updating timezone" + + +#start of NFSIP + cursor.execute("select data from settings where value='HostCentralNFSIP' and hostname=(%s)",(thishostname)) + result = cursor.fetchone() + if ( nfsip != ""): + if (result == None): + cursor.execute("INSERT INTO settings (value,data,hostname) VALUES ('HostCentralNFSIP',(%s),(%s))",(nfsip,thishostname)) + print "inserting nfsip" + + if (nfstoggle != ""): + cursor.execute("select data from settings where value='HostHaveCentralNFS' and hostname=(%s)",(thishostname)) + result = cursor.fetchone() + if (result == None): + cursor.execute("INSERT INTO settings (value,data,hostname) VALUES ('HostHaveCentralNFS',(%s),(%s))",(nfstoggle,thishostname)) + print "inserting nfstoggle" + + if ( nfsmount !="") : + cursor.execute("select data from settings where value='HostNFSmountpoint' and hostname=(%s)",(thishostname)) + result = cursor.fetchone() + if (result == None): + cursor.execute("INSERT INTO settings (value,data,hostname) VALUES ('HostNFSmountpoint',(%s),(%s))",(nfsmount,thishostname)) + print "inserting nfsmountpoint" + +#hobbitclient + cursor.execute("select * from settings where value='HostServiceHobbitclient' and hostname=(%s)",(thishostname)) + result = cursor.fetchone() + if ( tz != ""): + if (result == None): + cursor.execute("INSERT INTO settings (value,data,hostname) VALUES ('HostServiceHobbitclient',(%s),(%s))",(hobbitclient,thishostname)) + print "inserting hobbitcleint" + else: + cursor.execute("update settings set data=(%s) where hostname=(%s) and value='HostServiceHobbitclient'",(hobbitclient,thishostname)) + print "updating hobbitclient" + + +def main(argv): + global masterdb + global installdb + global thishostname + thishostname="" + global BEhostname + global zipcode + global tz + global nfsip + global hobbitclient + try: + opts, args = getopt.getopt(argv, "hm:d:n:", ["help", "masterdb=", "installdb=" , "hostname=" ] ) + except getopt.GetoptError: + sys.exit(2) + for opt, arg in opts: + if opt in ("-h", "--help"): + usage() + sys.exit() + elif opt in ( "-d" , "--installdb"): + installdb = arg + elif opt in ("-m", "--masterdb"): + masterdb = arg + elif opt in ("-n", "--hostname"): + thishostname = arg + + if ( thishostname == "" ): + thishostname = socket.gethostname() + + selectvars() + printvars() + insertvars() +if __name__ == "__main__": + main(sys.argv[1:]) + |