summaryrefslogtreecommitdiffstats
path: root/abs/mv-core/MythVantage-config/mv_misc.py
diff options
context:
space:
mode:
Diffstat (limited to 'abs/mv-core/MythVantage-config/mv_misc.py')
-rwxr-xr-xabs/mv-core/MythVantage-config/mv_misc.py180
1 files changed, 0 insertions, 180 deletions
diff --git a/abs/mv-core/MythVantage-config/mv_misc.py b/abs/mv-core/MythVantage-config/mv_misc.py
deleted file mode 100755
index 9ea9c95..0000000
--- a/abs/mv-core/MythVantage-config/mv_misc.py
+++ /dev/null
@@ -1,180 +0,0 @@
-# -*- coding: utf-8 -*-
-import logging, mv_common
-import os, re
-from urllib2 import Request, urlopen, URLError, HTTPError
-
-config_file = "mv_config"
-data_config = __import__(config_file, globals(), locals(), [])
-
-def setup_zip(MVROOT,zipcode):
- logging.debug("____Setting up the zipcode____")
-
- if zipcode:
- cmd="%s/bin/restore_default_settings.sh -c ZIP -c %s" %(MVROOT,zipcode)
- mv_common.runcmd(cmd)
- #Let's also speed things up for those in North America
- cmd="mkdir /usr/bin/perlbin/vendor/tv_grabbers_non_na"
- mv_common.runcmd(cmd)
- cmd="mv /usr/bin/perlbin/vendor/tv_grab_* /usr/bin/perlbin/vendor/tv_grabbers_non_na"
- mv_common.runcmd(cmd)
- cmd="mv /usr/bin/perlbin/vendor/tv_grabbers_non_na/tv_grab_na* /usr/bin/perlbin/vendor/"
- mv_common.runcmd(cmd)
- else:
- logging.debug(" Zipcode is not set")
-
- logging.debug("__End of zipcode\n")
-
-def setup_tz(timezone,TEMPLATES):
- logging.info("____Setting up the timezone____")
-
- if not timezone:
- timezone="unknown"
- logging.info(" Setting timezone to %s",timezone)
- mv_common.remove_file("/etc/localtime")
- #try:
- #logging.debug(" Removing /etc/localtime")
- #os.remove("/etc/localtime")
- #except:
- #logging.debug(" Couldn't remove /etc/localtime")
- #pass
-
- srclink="/usr/share/zoneinfo/%s" %timezone
- logging.debug(" symlinking %s to /etc/localtime",srclink)
- try:
- os.symlink(srclink,"/etc/localtime")
- except:
- logging.critical(" Couldn't make symlink for /etc/localtime")
- cmd = '''sed -e "s/^TIMEZONE=.*$/TIMEZONE=\\"%s\\" /" /etc/rc.conf > $TEMPLATES/rc.conf''' %re.escape(timezone)
- mv_common.runcmd(cmd)
-
- if os.path.exists("/etc/php/php.ini"):
- logging.info(" Changing timezone for php")
- cmd = '''sed -i "s/^.*date.timezone.*$/date.timezone=%s/" ${BASE}/etc/php/php.ini''' %re.escape(timezone)
- mv_common.runcmd(cmd)
-
- mv_common.cp_and_log(TEMPLATES+"/rc.conf","/etc/rc.conf")
- logging.info("__End of timezone\n")
-
-def setup_nfs(systemconfig):
- nfslist=[]
- logging.info("____Start of setup_nfs____")
- scrubnfs(systemconfig["TEMPLATES"])
-
- if systemconfig["HaveCentralNFS"] == "yes":
- logging.debug(" Using a Central NFS server")
- if systemconfig["NFSserver"] == "file:nfsmap":
- #if it's a file check for it, failure results in downloading attempt from MBE
- nfsmap_file=data_config.MYTHHOME+"/templates/nfsmap"
- if not os.path.exists(nfsmap_file):
- logging.debug(" Couldn't find local %s",nfsmap_file)
- logging.info(" Trying to download nfsmap from MBE")
- nfsmap_file = download_nfsmap(systemconfig["dbhost"])
- nfslist = process_nfsmap_file(nfsmap_file)
- # if it's an ip parse ip and download file
- elif re.search(systemconfig["NFSserver"],":nfsmap"):
- ip=systemconfig["NFSserver"].split(":")[0]
- nfsmap_file = download_nfsmap(ip)
- nfslist = process_nfsmap_file(nfsmap_file)
- #else treat it as a single mount point
- else:
- item = (systemconfig["NFSserver"] , systemconfig["NFSmount"])
- nfslist.append(item)
- else:
- #if standalone or slave try to use MBE
- if systemconfig["SystemType"] == "Frontend_only" or systemconfig["SystemType"] == "Slave_Backend":
- item = (systemconfig["dbhost"] , data_config.DATAMOUNT)
- nfslist.append(item)
- setup_nfs_fstab(nfslist)
- logging.info("__End of nfs\n")
-
-def setup_sleep(systemconfig):
- logging.debug("____Setting up sleep____")
- autoshutdown = systemconfig["AutoShutdown"]
- stime1 = systemconfig["Shutdowntime"]
- stime2 = systemconfig["Shutdowntime2"]
- cstime1=''
-
- if autoshutdown == "1" :
- if not stime1 == "-1" :
- cstime1 = stime1
- cshutdown = cstime1
- if not stime2 == "-1" :
- if cstime1 :
- cshutdown = "%s,%s" %(cstime1,stime2)
- else:
- cshutdown = stime2
- logging.debug(" Shutdown time at %s",cshutdown)
- cmd='''sed -e "s/HOUR/%s/g" %s/cron.template | crontab - -u mythtv''' %(cshutdown,systemconfig["TEMPLATES"])
- mv_common.runcmd(cmd)
- else:
- logging.info(" Shutdown not enabled")
- cmd='''sed -e "/00 HOUR.*/d" %s/cron.template | crontab - -u mythtv''' %systemconfig["TEMPLATES"]
- mv_common.runcmd(cmd)
-
- logging.debug("__End of sleep\n")
-
-
-def process_nfsmap_file(mapfile):
- logging.debug(" processing nfsmap file %s",mapfile)
- nfslist = []
- try:
- f = open(mapfile,"r")
- for line in f.readlines():
- if line.startswith("#"):
- continue
- item = line.split()
- if len(item) <= 1 :
- continue
- logging.debug(" %s",item)
- nfslist.append(item)
- except :
- logging.critical("Couldn't read file %s, or some other error",mapfile)
- return nfslist
-
-def scrubnfs(templates):
- logging.info(" Scrubbing nfs")
- mv_common.cp_and_log("/etc/fstab",templates+"/fstab.conf.template")
- #used this sed cmd because it's clean and took me forever to figure out =)
- cmd='''sed '/^#STARTSCRUB.*$/,/^#ENDSCRUB.*$/d' %s/fstab.conf.template > /etc/fstab''' %templates
- mv_common.runcmd(cmd)
-
-def download_nfsmap(ip):
- nfsmap_file="/tmp/nfsmap"
- myurl="http://%s:1337/templates/nfsmap" %ip
- req = Request(myurl)
- try:
- f = urlopen(req)
- logging.info(" downloading %s", myurl)
- local_file = open(nfsmap_file, "w")
- #Write to our local file
- local_file.write(f.read())
- local_file.close()
- #handle errors
- except HTTPError, e:
- logging.info(" File download failed")
- logging.debug(" %s", myurl)
- logging.debug(" HTTP Error: %s", e.code)
- except URLError, e:
- logging.info(" File download failed")
- logging.debug(" %s",myurl)
- logging.debug(" URL Error: %s ", e.reason)
-
- return nfsmap_file
-
-def setup_nfs_fstab(nfslist):
- logging.info(" Adding nfs paths to fstab")
- try:
- f = open('/etc/fstab', 'a')
- line = "#STARTSCRUB --------------anything in this block will be scrubbed\n"
- f.write(line)
- for s, m in nfslist:
- line = "%s %s nfs \n" %(s,m)
- logging.debug(" %s",line)
- f.write(line)
- line = "#ENDSCRUB\n"
- f.write(line)
- f.close()
- except:
- logging.critical(" *Couldn't open /etc/fstab for writing")
- logging.debug(" Done adding nfs paths to fstab")
-