diff options
Diffstat (limited to 'abs/core/LinHES-config/systemconfig.py')
-rwxr-xr-x | abs/core/LinHES-config/systemconfig.py | 86 |
1 files changed, 85 insertions, 1 deletions
diff --git a/abs/core/LinHES-config/systemconfig.py b/abs/core/LinHES-config/systemconfig.py index 59df527..d65a1c6 100755 --- a/abs/core/LinHES-config/systemconfig.py +++ b/abs/core/LinHES-config/systemconfig.py @@ -51,6 +51,84 @@ def setup_x(systemconfig): cmd = "%s/bin/xconfig.sh" %systemconfig.get("MVROOT") mv_common.runcmd(cmd) + +def generate_config_xml(uuid,dbhost): + configxml_t =''' +<Configuration> + <UPnP> + <UDN> + <MediaRenderer>%s</MediaRenderer> + </UDN> + <MythFrontend> + <DefaultBackend> + <DBHostName>%s</DBHostName> + <DBUserName>mythtv</DBUserName> + <DBPassword>mythtv</DBPassword> + <DBName>mythconverg</DBName> + <DBPort>0</DBPort> + </DefaultBackend> + </MythFrontend> + </UPnP> +</Configuration> + ''' + configxml= configxml_t %(uuid,dbhost) + return configxml + +def gen_uuid(): + cmd = "/usr/bin/uuidgen" + uuid = mv_common.runcmd_output(cmd) + return uuid + +def setup_config_xml(systemconfig): + #setup mysql.txt and config.xml + logging.info(" setup config xml") + + mv_root = systemconfig.get("MVROOT") + mysqltxt = "/usr/share/mythtv/mysql.txt" + configxml_file = "/usr/share/mythtv/config.xml" + + templates = systemconfig.get("TEMPLATES") + mysqltemplate = templates + "/mysql.txt" + dbhost = systemconfig.get("dbhost") + uuid = gen_uuid() + config_xml=generate_config_xml(uuid,dbhost) + mv_common.mkdir_mythhome(data_config.MYTHHOME,"mythtv","mythtv") + + + + delfile = data_config.MYTHHOME + "/.mythtv/mysql.txt" + mv_common.remove_file(delfile) + delfile = mv_root + "/bin/mythtv/.mythtv/mysql.txt" + mv_common.remove_file(delfile) + filecheck = data_config.MYTHHOME + "/templates/mysql.txt" + if os.path.exists(filecheck): + logging.info(" Scrapping all the previous work and using %s for mysql.txt", filecheck) + mv_common.cp_and_log(filecheck, mysqltxt) + try: + f = open(configxml_file, 'w') + + for outline in config_xml: + f.write(outline) + f.close() + except: + logging.debug(" Couldn't write config.xml") + + home_xml_file=data_config.MYTHHOME + "/.mythtv/config.xml" + mv_common.link_file(configxml_file,home_xml_file) + + #setup link for root user + mv_common.mkdir_mythhome("/root","root","root") + home_xml_file="/root/.mythtv/config.xml" + mv_common.remove_file(home_xml_file) + mv_common.link_file(configxml_file,home_xml_file) + + + + + + + + def main(argv): try: MVROOT = os.environ["MV_ROOT"] @@ -74,7 +152,8 @@ def main(argv): "plugins":False, "smolt":False, "all":False, "dhcp_request":False , "func":False, "supplemental":False, - "vnc":False, "fileshare":False } + "vnc":False, "fileshare":False, + "config_xml":False } try: opts, args = getopt.getopt(argv, 'c:hm:d:', ["help","modules" ] ) except getopt.GetoptError, why: @@ -121,6 +200,7 @@ def main(argv): cmdmodule["user"] = True cmdmodule["vnc"] = True cmdmodule["fileshare"] = True + cmdmodule["config_xml"] = True ##putting this here until I can create the seperate share module #if cmdmodule["fileshare"]: @@ -139,6 +219,10 @@ def main(argv): logging.debug(" Setting the frontend to restart due to network change") cmdmodule["restartfe"] = True + if cmdmodule["config_xml"]: + setup_config_xml(systemconfig) + + if cmdmodule["func"]: from mv_hostype import setup_func_minion setup_func_minion(systemconfig.get("dbhost"),systemconfig.get("hostname")) |