summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/LinHES-config/mv_ir.py
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core-testing/LinHES-config/mv_ir.py')
-rwxr-xr-xabs/core-testing/LinHES-config/mv_ir.py343
1 files changed, 0 insertions, 343 deletions
diff --git a/abs/core-testing/LinHES-config/mv_ir.py b/abs/core-testing/LinHES-config/mv_ir.py
deleted file mode 100755
index a5e3f3b..0000000
--- a/abs/core-testing/LinHES-config/mv_ir.py
+++ /dev/null
@@ -1,343 +0,0 @@
-# -*- coding: utf-8 -*-
-import logging, mv_common
-import os, re , glob
-from time import time, localtime, strftime
-import time
-import pwd
-
-def setup_lirc_links(mythhome):
- logging.debug(" Creating links for lirc")
- try:
- mythuid = pwd.getpwnam('mythtv')[2]
- mythgid = pwd.getpwnam('mythtv')[3]
- except:
- logging.critical("* mythuid not found")
- mythuid = '1000'
- mythgid = '1000'
- if not os.path.exists(mythhome+"/.mythtv"):
- logging.debug(" Creating %s/.mythtv",mythhome)
- try:
- os.mkdir(mythhome+"/.mythtv")
- except:
- logging.debug(" Couldn't create .mythtv ")
- return
- try:
- os.chown(mythhome+"/.mythtv", mythuid, mythgid)
- logging.debug("* Couldn't chown of %s", mythhome)
- except:
- cmd = ''' chown -R mythtv %s/.mythtv''' %mythhome
- mv_common.runcmd(cmd)
- cmd = ''' chgrp -R mythtv %s/.mythtv''' %mythhome
- mv_common.runcmd(cmd)
- pass
-
- if os.path.exists("/etc/lircrc"):
- if not os.path.exists(mythhome+"/.mythtv/lircrc"):
- logging.debug(" Creating symlink for myth lircrc")
- os.symlink("/etc/lircrc",mythhome+"/.mythtv/lircrc")
- else:
- logging.debug(" %s/lircrc already present",mythhome)
-
- if not os.path.exists(mythhome+"/.lircrc"):
- logging.debug(" Creating symlink for lircrc")
- os.symlink("/etc/lircrc",mythhome+"/.lircrc")
- else:
- logging.debug(" %s/.lircrc already present",mythhome)
- else:
- logging.debug(" /etc/lircrc does not exisit, can not link it")
-
-def scrub_modules(filename,module):
- logging.debug(" scrubbing %s from %s",module,filename)
- cmd = '''sed -i -e '/.*#%s/d' %s''' %(module,filename)
- mv_common.runcmd(cmd)
-
-def add_module(filename,module):
- logging.debug(" adding %s to %s",module,filename)
- cmd = ''' echo "%s" >> %s ''' %(module,filename)
- mv_common.runcmd(cmd)
-
-def unload_all_lirc():
- logging.debug(" Unloading all lirc modules")
- cmd = "sv stop lircd"
- mv_common.runcmd(cmd)
- cmd = "killall -9 lircd"
- mv_common.runcmd(cmd)
- cmd = '''modprobe -r $(lsmod |grep ^lirc |awk '{print $1}') '''
- mv_common.runcmd(cmd)
-
-
-
-def include_file( incfile,filename):
- logging.debug(" including %s within %s",filename,incfile)
- try:
- f = open( incfile, 'a')
- except:
- logging.debug(" Couldn't open %s for writing",incfile)
- return
- line = '''include "%s" ''' %filename
- logging.debug(" %s",line)
- f.write(line)
- f.write("\n")
- f.close()
-
-def setup_ir_remote(Remotetype,templates):
- logging.debug(" Setup of remote type %s",Remotetype)
- if Remotetype == "no_remote":
- mv_common.remove_service("lircd")
- elif Remotetype == "tinker":
- pass
- else:
- currenttime = strftime("%b-%d-%Y-%H:%M:%S", localtime())
- cmd = "mv /etc/lircd.conf /etc/lircd.conf-%s" %currenttime
- mv_common.runcmd(cmd)
- cmd = "mv /etc/lircrc /etc/lircrc-%s" %currenttime
- mv_common.runcmd(cmd)
- files = templates + "/remotes/" + Remotetype + "/lircd*"
- logging.debug(" Using %s",files)
- for filename in glob.glob(files):
- # Ignore subfolders
- if os.path.isdir (filename):
- logging.debug(" %s is a dir, skipping",filename)
- continue
- include_file("/etc/lircd.conf",filename)
- files = templates + "/remotes/" + Remotetype + "/lircrc*"
- logging.debug(" Using %s",files)
- for filename in glob.glob(files):
- # Ignore subfolders
- if os.path.isdir (filename):
- logging.debug(" %s is a dir, skipping",filename)
- continue
- include_file("/etc/lircrc",filename)
- cmd = "chmod 755 /etc/lircrc"
- mv_common.runcmd(cmd)
- mv_common.add_service("lircd")
-
-
-def setup_ir_receiver(ReceiverType,TEMPLATES,HDHRlirc_device,myip):
- logging.info(" Configuring receiver %s", ReceiverType)
- if ReceiverType == "Serial":
- scrub_modules("/etc/modules.mythvantage","lirc")
- add_module("/etc/modules.mythvantage","lirc_serial #lirc")
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- mv_common.remove_service("igdaemon")
- mv_common.remove_service("tatir")
-
- elif ReceiverType == "Usb-imon":
- scrub_modules("/etc/modules.mythvantage","lirc")
- add_module("/etc/modules.mythvantage","lirc_imon #lirc")
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- mv_common.remove_service("igdaemon")
- mv_common.remove_service("tatir")
-
- elif ReceiverType == "Hauppauge":
- scrub_modules("/etc/modules.mythvantage","lirc")
- add_module("/etc/modules.mythvantage","lirc_i2c #lirc")
- mv_common.cp_and_log(TEMPLATES+"/modules/lirc_i2c.conf" ,
- "/etc/modprobe.d/lirc_i2c.conf")
- cmd = "rmmod lirc_i2c"
- mv_common.runcmd(cmd)
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- mv_common.remove_service("igdaemon")
- mv_common.remove_service("tatir")
- elif ReceiverType == "pvr150":
- scrub_modules("/etc/modules.mythvantage","lirc")
- add_module("/etc/modules.mythvantage","lirc_i2c #lirc")
- mv_common.cp_and_log(TEMPLATES+"/modules/lirc_i2c.conf" ,
- "/etc/modprobe.d/lirc_i2c.conf")
- cmd = "rmmod lirc_i2c"
- mv_common.runcmd(cmd)
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- mv_common.remove_service("igdaemon")
- mv_common.remove_service("tatir")
-
- elif ReceiverType == "iguanaIR-usb":
- scrub_modules("/etc/modules.mythvantage","lirc")
- mv_common.add_service("igdaemon")
- mv_common.remove_service("tatir")
-
- elif ReceiverType == "tatir":
- scrub_modules("/etc/modules.mythvantage","lirc")
- mv_common.add_service("tatir")
- mv_common.remove_service("igdaemon")
- elif ReceiverType == "SiliconDust_HDHR":
- mv_common.remove_service("igdaemon")
- mv_common.remove_service("tatir")
- cmd = '''hdhomerun_config %s set /ir/target %s:5000 store''' %(HDHRlirc_device,myip)
- print cmd
- mv_common.runcmd(cmd)
-
- else:
- logging.debug(" didn't match receiver, using genric case")
- scrub_modules("/etc/modules.mythvantage","lirc")
- mv_common.remove_service("igdaemon")
- mv_common.remove_service("tatir")
-
-def setup_blaster_proto(HostBlasterType,Hostnumblaster,TEMPLATES,systemconfig):
- logging.debug(" Start of setup_blaster_proto")
- logging.debug(" HostBlasterType: %s", HostBlasterType)
- logging.debug(" Hostnumblaster: %s" , Hostnumblaster)
- if not HostBlasterType == "pvr150" and not HostBlasterType == "None":
- for i in range(int(Hostnumblaster)):
- try:
- proto = systemconfig["HostTransmitproto_"+str(i+1)]
- logging.debug(" proto: %s",proto)
- except:
- logging.info(" unkown proto for %s",i+1)
- continue
- template=TEMPLATES+"/transmit/%s/lircd.conf" %proto
- if os.path.exists(template):
- logging.debug(" include blaster template: %s",proto)
- include_file("/etc/lircd.conf",template)
- else:
- logging.debug(" template: %s is not present",template)
- logging.info("------NEED TO SETUP CHANGE_CHANNEL------")
-
-
-def setup_blaster_transmiter(HostBlasterType):
- logging.debug(" Start of setup_blaster_transmiter")
- logging.info(" HostBlasterType : %s", HostBlasterType)
-
- if HostBlasterType == "Receiver":
- logging.info(" Blaster is receiver, skipping module config for Blaster")
- return
-
- if HostBlasterType == "no blaster":
- scrub_modules("/etc/modules.mythvantage","blaster")
- elif HostBlasterType == "Serial":
- scrub_modules("/etc/modules.mythvantage","blaster")
- add_module("/etc/modules/.mythvantage","lirc_serial #blaster")
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- elif HostBlasterType == "pvr150":
- scrub_modules("/etc/modules.mythvantage", "blaster")
- scrub_modules("/etc/modules.mythvantage", "lirc")
- add_module("/etc/modules.mythvantage", "lirc_pvr150 #blaster")
- add_module("/etc/modules.mythvantage", "lirc_pvr150 #lirc")
- cmd = "rmmod lirc_i2c"
- mv_common.runcmd(cmd)
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- else:
- scrub_modules("/etc/modules.mythvantage","blaster")
-
-def setup_lcd(LCDtype, TEMPLATES, Remotetype):
- logging.debug("____Start of setup_lcd____")
- logging.debug(" LCDType: %s", LCDtype)
- logging.debug(" Remotetype: %s", Remotetype)
- if LCDtype == "tinker":
- logging.info(" tinker mode detected")
- return
-
- if LCDtype == "no_lcd":
- logging.info(" Disabling LCD support")
- cmd = "sv stop lcdd"
- mv_common.runcmd(cmd)
- #sometimes it doesn't want to die
- cmd = "killall -9 LCDd"
- mv_common.runcmd(cmd)
- cmd = "load-modules-mythvantage.sh UNLOAD LCD"
- mv_common.runcmd(cmd)
- scrub_modules("/etc/modules.mythvantage", "LCD")
- mv_common.remove_service("lcdd")
- else:
- lcdmodule="%s/LCD/%s/modules" %(TEMPLATES,LCDtype)
- if os.path.exists(lcdmodule):
- logging.debug(" Adding module for LCD")
- scrub_modules("/etc/modules.mythvantage", "LCD")
- cmd = "cat %s >> /etc/modules.mythvantage" %lcdmodule
- mv_common.runcmd(cmd)
- if Remotetype != "tinker":
- lcdconf = "%s/LCD/%s/LCDd.conf" %(TEMPLATES,LCDtype)
- lcdlirc = "%s/LCD/%s" %(TEMPLATES,LCDtype)
- mv_common.pacinstall("lcdproc")
- if os.path.exists(lcdconf):
- logging.debug(" Copying in lcdconf template file: %s",lcdconf)
- mv_common.cp_and_log(lcdconf, "/etc/LCDd.conf")
- else:
- logging.debug(" %s is not present, will not copy it")
-
- if os.path.exists(lcdlirc+"/lircrc"):
- logging.debug(" LCD seems to support lirc")
- #setup the lirc aspect of the lcd
- #copied from setup_ir_remote
- files = lcdlirc+"/lircd*"
- logging.debug(" Using %s",files)
- for filename in glob.glob(files):
- # Ignore subfolders
- if os.path.isdir (filename):
- logging.debug(" %s is a dir, skipping",filename)
- continue
- include_file("/etc/lircd.conf",filename)
- files = lcdlirc+"/lircrc*"
- logging.debug(" Using %s",files)
- for filename in glob.glob(files):
- # Ignore subfolders
- if os.path.isdir (filename):
- logging.debug(" %s is a dir, skipping",filename)
- continue
- include_file("/etc/lircrc",filename)
- cmd = "chmod 755 /etc/lircrc"
- mv_common.runcmd(cmd)
-
- mv_common.add_service("lcdd")
- mv_common.restart_service("lcdd")
- logging.debug("__End of setup_lcd")
-
-def setup_ir(systemconfig, data_config):
- rc = [ False , False ]
- if mv_common.read_config(mv_common.module_config,"ir") == False :
- logging.info("____Skipping of IR, config disabled____")
- return rc
-
- logging.info("____Start of IR____")
- if systemconfig["Remotetype"] == "tinker":
- logging.info(" Tinker mode detected")
- else:
- if not systemconfig["HostBlasterType"]:
- HostBlasterType = "unknown"
- Hostnumblaster = "0"
- else:
- HostBlasterType = systemconfig["HostBlasterType"]
- Hostnumblaster = systemconfig["Hostnumblaster"]
-
- if systemconfig["HostBlasterType"] == "pvr150":
- remotetype = "hauppauge-blaster"
- logging.debug(" pvr150 blaster selected, setting remote to hauppauge-blaster")
- else:
- remotetype = systemconfig["Remotetype"]
-
- setup_ir_remote(remotetype,systemconfig["TEMPLATES"])
- setup_lirc_links(data_config.MYTHHOME)
-
- if systemconfig["ReceiverType"]:
- setup_ir_receiver(systemconfig["ReceiverType"],
- systemconfig["TEMPLATES"],
- systemconfig["HDHRlirc_device"],
- systemconfig["mythip"])
- else:
- setup_ir_receiver("unknown", systemconfig["TEMPLATES"],'','127.0.0.1')
- unload_all_lirc()
- setup_blaster_proto(HostBlasterType,
- Hostnumblaster,
- systemconfig["TEMPLATES"],
- systemconfig)
- setup_blaster_transmiter(HostBlasterType)
- cmd = "load-modules-mythvantage.sh"
- mv_common.runcmd(cmd)
- time.sleep(2)
- mv_common.udev_trigger()
- cmd="sv start lircd"
- mv_common.runcmd(cmd)
- rc = [ True , True ]
- if systemconfig["LCDtype"]:
- setup_lcd(systemconfig["LCDtype"],
- systemconfig["TEMPLATES"],
- systemconfig["Remotetype"])
- else:
- logging.debug(" LCD not defined")
- logging.info("__End IR\n")
- return rc \ No newline at end of file