From d81970c8e5113b800595a5b73c213f493efa6fcf Mon Sep 17 00:00:00 2001 From: Britney Fransen Date: Thu, 11 Dec 2014 14:37:33 +0000 Subject: LinHES-config: mv_ir.py: add Lircmap.xml support for PlexHT. refs #981 --- abs/core/LinHES-config/PKGBUILD | 4 +- abs/core/LinHES-config/mv_ir.py | 83 +++++++++++++++++++++++------------------ 2 files changed, 48 insertions(+), 39 deletions(-) diff --git a/abs/core/LinHES-config/PKGBUILD b/abs/core/LinHES-config/PKGBUILD index 193cc31..c0b7a65 100755 --- a/abs/core/LinHES-config/PKGBUILD +++ b/abs/core/LinHES-config/PKGBUILD @@ -1,6 +1,6 @@ pkgname=LinHES-config pkgver=8.3 -pkgrel=1 +pkgrel=2 conflicts=(MythVantage-config MythVantage-config-dev LinHES-config-dev LinHes-config ) pkgdesc="Install and configure your system" depends=('bc' 'libstatgrab' 'mysql-python' 'expect' 'curl' 'dnsutils' 'parted' @@ -159,7 +159,7 @@ md5sums=('17d9dd5a097fbbd4dae75dff8e2677ff' 'c0549457750c4f8e8038d904a0f3012a' '21838e6bfc9ece97bf6e22b7bdf8c46f' 'b845de3e05c1734cce4b9ac5e8f1baaf' - '885fcb99a0179d9704385e14aefd7af6' + '00c4aa4e6eedab74c6c3c5c3cb1f128b' '8b7dce4a3a0a281fa6656aa8781a648e' '4b10fff21a0274f950f97f2b61e92463' '824e49d9b01fed295c704ab68908b464' diff --git a/abs/core/LinHES-config/mv_ir.py b/abs/core/LinHES-config/mv_ir.py index c4386cc..b3b8b59 100755 --- a/abs/core/LinHES-config/mv_ir.py +++ b/abs/core/LinHES-config/mv_ir.py @@ -127,7 +127,7 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): continue include_file("/etc/lircrc",filename) - #if remote has a special run file use it. + #if remote has a special run file use it. files = remote_path + "/remote.run*" logging.debug(" Using %s",files) for filename in glob.glob(files): @@ -138,46 +138,55 @@ def setup_ir_remote(Remotetype,templates,mythhome,HostBlasterType,remotebucket): cmd = "cp %s /etc/remote.run" %filename mv_common.runcmd(cmd) - #if remote has a special xbmc file, use it. - xbmcfile= remote_path + "/xbmc.xml" - userxmbcfile = mythhome+"/.xbmc/userdata/Lircmap.xml" - - if os.path.exists(xbmcfile): - logging.debug(" XBMC lirc file present") - logging.info(" Setting up lirc for xbmc") - if not os.path.exists(mythhome+"/.xbmc/userdata"): - logging.debug(" Creating %s/.xbmc",mythhome) - try: - os.mkdir(mythhome+"/.xbmc") - except: - logging.debug(" Couldn't create .xbmc/ ") + #if remote has a Lircmap.xml file, use it for xbmc and plexht. + xbmcfile= remote_path + "/Lircmap.xml" + + for app in ['XBMC', 'PlexHT']: + if app == 'XBMC': + userLircmap = mythhome+"/.xbmc/userdata/Lircmap.xml" + userdirname = ".xbmc" + elif app == 'PlexHT': + userLircmap = mythhome+"/.plexht/userdata/Lircmap.xml" + userdirname = ".plexht" + + if os.path.exists(xbmcfile): + logging.debug(" %s lirc file present at %s", app, xbmcfile) + logging.info(" Setting up lirc for %s",app) + if not os.path.exists(mythhome+"/"+userdirname+"/userdata"): + logging.debug(" Creating %s/%s", mythhome, userdirname) + try: + os.mkdir(mythhome+"/"+userdirname) + except: + logging.debug(" Couldn't create %s/ ",userdirname) + try: + os.mkdir(mythhome+"/"+userdirname+"/userdata/") + except: + logging.debug(" Couldn't create %s/userdata",userdirname) + + try: + cmd = ''' chown -R mythtv %s/%s''' %(mythhome,userdirname) + mv_common.runcmd(cmd) + cmd = ''' chgrp -R mythtv %s/%s/userdata''' %(mythhome,userdirname) + mv_common.runcmd(cmd) + except: + logging.debug(" Couldn't change permissions for %s",userdirname) + pass try: - os.mkdir(mythhome+"/.xbmc/userdata/") + cmd = ''' rm -f %s''' %(userLircmap) + mv_common.runcmd(cmd) + logging.debug(" Creating symlink for %s Lircmap.xml",app) + os.symlink(xbmcfile, mythhome+"/"+userdirname+"/userdata/Lircmap.xml") except: - logging.debug(" Couldn't create .xbmc/userdata ") - - try: - cmd = ''' chown -R mythtv %s/.xbmc''' %mythhome - mv_common.runcmd(cmd) - cmd = ''' chgrp -R mythtv %s/.xbmc/userdata''' %mythhome - mv_common.runcmd(cmd) - except: - logging.debug(" Couldn't change permissions for .xbmc") pass - try: - cmd = ''' rm -f %s''' %(userxmbcfile) + else: + logging.debug(" %s Lircmap file %s not present", userdirname, xbmcfile) + logging.debug(" Checking if %s is a symlink", userLircmap) + if os.path.islink(userLircmap): + logging.info(" Removing symlink %s", userLircmap) + cmd = ''' rm -f %s''' %(userLircmap) mv_common.runcmd(cmd) - logging.debug(" Creating symlink for xmbc lircrc") - os.symlink(xbmcfile, mythhome+"/.xbmc/userdata/Lircmap.xml") - except: - pass - else: - logging.debug(" XBMC lirc file %s not present" %xbmcfile) - - - - - + else: + logging.debug(" Not a symlink %s", userLircmap) #remote has it's own modprobe.d/conf filename -- cgit v0.12