From 57b6435f48321be15f5c8cd9915f531cb6d3e941 Mon Sep 17 00:00:00 2001 From: Andreas Oberritter Date: Wed, 13 Jul 2011 14:49:38 +0200 Subject: [PATCH] Use eEnv.resolve() in some places to avoid hardcoded paths. This is just an example, covering only few plug-ins. There are many more hardcoded paths throughout the tree which should get replaced, too. --- aihdcontroler/src/plugin.py | 27 ++++++++++--------- .../src/AutomaticVolumeAdjustmentConfig.py | 5 ++-- moviecut/src_py/plugin.py | 4 +-- orfteletext/src/plugin.py | 6 ++--- reconstructapsc/src_py/plugin.py | 4 +-- serienfilm/src/MovieList.py | 7 ++--- vps/src_py/Vps.py | 6 ++--- weatherplugin/src/plugin.py | 4 +-- webbouqueteditor/src/plugin.py | 3 ++- webcamviewer/src/plugin.py | 3 ++- widgets/src/plugin.py | 4 +-- 11 files changed, 40 insertions(+), 33 deletions(-) diff --git a/aihdcontroler/src/plugin.py b/aihdcontroler/src/plugin.py index b2cd8cd3f..9c0712522 100644 --- a/aihdcontroler/src/plugin.py +++ b/aihdcontroler/src/plugin.py @@ -32,6 +32,7 @@ from Tools.Directories import fileExists from skin import parseColor from os import system +from enigma import eEnv @@ -85,9 +86,11 @@ def __init__(self, session): self.release = ".release20110505" Screen.__init__(self, session) self.session = session - self.datei = "/usr/share/enigma2/Ai.HD/skin.xml" - self.daten = "/usr/lib/enigma2/python/Plugins/Extensions/AiHDcontroler/data/" - self.komponente = "/usr/lib/enigma2/python/Plugins/Extensions/AiHDcontroler/comp/" + self.datadir = eEnv.resolve("${datadir}") + self.libdir = eEnv.resolve("${libdir}") + self.datei = self.datadir + "/enigma2/Ai.HD/skin.xml" + self.daten = self.libdir + "/enigma2/python/Plugins/Extensions/AiHDcontroler/data/" + self.komponente = self.libdir + "/enigma2/python/Plugins/Extensions/AiHDcontroler/comp/" list = [] list.append(getConfigListEntry(_("Infobar and window style:"), config.plugins.vhd.Style)) list.append(getConfigListEntry(_("Channel and EPG selectors style:"), config.plugins.vhd.ChannSelector)) @@ -104,15 +107,15 @@ def __init__(self, session): def UpdateComponents(self): if not fileExists(self.datei + self.release): system("tar -xzvf " + self.komponente + "AiHD.tar.gz" + " -C /") - system('cp ' + self.komponente + 'vhdRendVolumeText.py /usr/lib/enigma2/python/Components/Renderer/vhdRendVolumeText.py') - system('cp ' + self.komponente + 'vhdRendChNumber.py /usr/lib/enigma2/python/Components/Renderer/vhdRendChNumber.py') - system('cp ' + self.komponente + 'vhdRendVideoSize.py /usr/lib/enigma2/python/Components/Renderer/vhdRendVideoSize.py') - system('cp ' + self.komponente + 'vhdRendMovieDirSize.py /usr/lib/enigma2/python/Components/Renderer/vhdRendMovieDirSize.py') - system('cp ' + self.komponente + 'vhdRendMaxTemp.py /usr/lib/enigma2/python/Components/Renderer/vhdRendMaxTemp.py') - system('cp ' + self.komponente + 'vhdRendNextEvent.py /usr/lib/enigma2/python/Components/Renderer/vhdRendNextEvent.py') - system('cp ' + self.komponente + 'vhdConvSmartInfo.py /usr/lib/enigma2/python/Components/Converter/vhdConvSmartInfo.py') - system('cp ' + self.komponente + 'vhdConvClockToText.py /usr/lib/enigma2/python/Components/Converter/vhdConvClockToText.py') - system('cp ' + self.komponente + 'valiRefString.py /usr/lib/enigma2/python/Components/Converter/valiRefString.py') + system('cp ' + self.komponente + 'vhdRendVolumeText.py ' + self.libdir + '/enigma2/python/Components/Renderer/vhdRendVolumeText.py') + system('cp ' + self.komponente + 'vhdRendChNumber.py ' + self.libdir + '/enigma2/python/Components/Renderer/vhdRendChNumber.py') + system('cp ' + self.komponente + 'vhdRendVideoSize.py ' + self.libdir + '/enigma2/python/Components/Renderer/vhdRendVideoSize.py') + system('cp ' + self.komponente + 'vhdRendMovieDirSize.py ' + self.libdir + '/enigma2/python/Components/Renderer/vhdRendMovieDirSize.py') + system('cp ' + self.komponente + 'vhdRendMaxTemp.py ' + self.libdir + '/enigma2/python/Components/Renderer/vhdRendMaxTemp.py') + system('cp ' + self.komponente + 'vhdRendNextEvent.py ' + self.libdir + '/enigma2/python/Components/Renderer/vhdRendNextEvent.py') + system('cp ' + self.komponente + 'vhdConvSmartInfo.py ' + self.libdir + '/enigma2/python/Components/Converter/vhdConvSmartInfo.py') + system('cp ' + self.komponente + 'vhdConvClockToText.py ' + self.libdir + '/enigma2/python/Components/Converter/vhdConvClockToText.py') + system('cp ' + self.komponente + 'valiRefString.py ' + self.libdir + '/enigma2/python/Components/Converter/valiRefString.py') system("touch " + self.datei + self.release) def save(self): diff --git a/automaticvolumeadjustment/src/AutomaticVolumeAdjustmentConfig.py b/automaticvolumeadjustment/src/AutomaticVolumeAdjustmentConfig.py index c809b69b0..8134d1851 100644 --- a/automaticvolumeadjustment/src/AutomaticVolumeAdjustmentConfig.py +++ b/automaticvolumeadjustment/src/AutomaticVolumeAdjustmentConfig.py @@ -24,8 +24,9 @@ config, ConfigInteger, Config, ConfigSubList, ConfigDirectory, NoSave, ConfigYesNo, ConfigSelectionNumber, ConfigSelection from os import path as os_path, open as os_open, close as os_close, O_RDWR as os_O_RDWR, O_CREAT as os_O_CREAT from pickle import load as pickle_load, dump as pickle_dump +from enigma import eEnv -CONFIG_FILE_VOLUME = '/usr/lib/enigma2/python/Plugins/SystemPlugins/AutomaticVolumeAdjustment/config_volume' +CONFIG_FILE_VOLUME = eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/AutomaticVolumeAdjustment/config_volume') def getVolumeDict(): if os_path.exists(CONFIG_FILE_VOLUME): @@ -44,7 +45,7 @@ def saveVolumeDict(dict): class AutomaticVolumeAdjustmentConfig(): def __init__(self): - self.CONFIG_FILE = '/usr/lib/enigma2/python/Plugins/SystemPlugins/AutomaticVolumeAdjustment/config' + self.CONFIG_FILE = eEnv.resolve('${libdir}/enigma2/python/Plugins/SystemPlugins/AutomaticVolumeAdjustment/config') # load config file self.loadConfigFile() diff --git a/moviecut/src_py/plugin.py b/moviecut/src_py/plugin.py index 919650d8c..72564ed27 100644 --- a/moviecut/src_py/plugin.py +++ b/moviecut/src_py/plugin.py @@ -8,10 +8,10 @@ from Components.ActionMap import ActionMap from Components.ConfigList import ConfigList, ConfigListScreen from Components.Sources.StaticText import StaticText -from enigma import eTimer, eServiceCenter, iServiceInformation, eConsoleAppContainer +from enigma import eTimer, eServiceCenter, iServiceInformation, eConsoleAppContainer, eEnv from os import access, chmod, X_OK -mcut_path = "/usr/lib/enigma2/python/Plugins/Extensions/MovieCut/bin/mcut" +mcut_path = eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/MovieCut/bin/mcut") def main(session, service, **kwargs): # Hack to make sure it is executable diff --git a/orfteletext/src/plugin.py b/orfteletext/src/plugin.py index b4cc4a337..9e1ee9a1f 100644 --- a/orfteletext/src/plugin.py +++ b/orfteletext/src/plugin.py @@ -28,7 +28,7 @@ from Components.MenuList import MenuList from Components.Label import Label from Tools.Directories import fileExists -from enigma import ePicLoad, getDesktop +from enigma import ePicLoad, getDesktop, eEnv from os import system as os_system from Components.config import config, ConfigSubsection, ConfigText, ConfigInteger @@ -125,7 +125,7 @@ def __init__(self, session): if fileExists("/tmp/bild"): self.whatPic = "/tmp/bild" else: - self.whatPic = "/usr/lib/enigma2/python/Plugins/Extensions/ORFteletext/nodata.png" + self.whatPic = eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/ORFteletext/nodata.png") self.EXpicload.PictureData.get().append(self.DecodeAction) self.onLayoutFinish.append(self.firstStart) @@ -166,7 +166,7 @@ def lade2(self, hs, ns): if fileExists("/tmp/bild"): self.whatPic = "/tmp/bild" else: - self.whatPic = "/usr/lib/enigma2/python/Plugins/Extensions/ORFteletext/nodata.png" + self.whatPic = eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/ORFteletext/nodata.png") self.Show_Picture() def showMe(self): diff --git a/reconstructapsc/src_py/plugin.py b/reconstructapsc/src_py/plugin.py index b3a7c8ba2..e94a6ea10 100644 --- a/reconstructapsc/src_py/plugin.py +++ b/reconstructapsc/src_py/plugin.py @@ -4,10 +4,10 @@ from Screens.ChoiceBox import ChoiceBox import Screens.Standby from Components.ActionMap import ActionMap -from enigma import eTimer, eServiceCenter, iServiceInformation, eConsoleAppContainer +from enigma import eTimer, eServiceCenter, iServiceInformation, eConsoleAppContainer, eEnv from os import access, chmod, X_OK -recons_path = "/usr/lib/enigma2/python/Plugins/Extensions/ReconstructApSc/bin/reconstruct_apsc" +recons_path = eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/ReconstructApSc/bin/reconstruct_apsc") def main(session, service, **kwargs): # Hack to make sure it is executable diff --git a/serienfilm/src/MovieList.py b/serienfilm/src/MovieList.py index 84a33dcd7..b6b243f03 100644 --- a/serienfilm/src/MovieList.py +++ b/serienfilm/src/MovieList.py @@ -10,6 +10,7 @@ from Components.config import config from Tools.LoadPixmap import LoadPixmap from Components.UsageConfig import preferredPath, defaultMoviePath +from enigma import eEnv import copy import os.path @@ -65,9 +66,9 @@ def __init__(self, root, list_type=None, sort_type=None, show_times=None, sftitl if root is not None: self.reload(root) - self.pdirIcon = LoadPixmap(cached=True, path='/usr/lib/enigma2/python/Plugins/Extensions/SerienFilm/icons/folder_20.png') - self.rdirIcon = LoadPixmap(cached=True, path='/usr/lib/enigma2/python/Plugins/Extensions/SerienFilm/icons/folder_red.png') - self.fupIcon = LoadPixmap(cached=True, path='/usr/lib/enigma2/python/Plugins/Extensions/SerienFilm/icons/folderup_20.png') + self.pdirIcon = LoadPixmap(cached=True, path=eEnv.resolve('${libdir}/enigma2/python/Plugins/Extensions/SerienFilm/icons/folder_20.png')) + self.rdirIcon = LoadPixmap(cached=True, path=eEnv.resolve('${libdir}/enigma2/python/Plugins/Extensions/SerienFilm/icons/folder_red.png')) + self.fupIcon = LoadPixmap(cached=True, path=eEnv.resolve('${libdir}/enigma2/python/Plugins/Extensions/SerienFilm/icons/folderup_20.png')) self.pdirMap = MultiContentEntryPixmapAlphaTest(pos=(0,0), size=(20,20), png=self.pdirIcon) self.rdirMap = MultiContentEntryPixmapAlphaTest(pos=(0,0), size=(20,20), png=self.rdirIcon) self.fupMap = MultiContentEntryPixmapAlphaTest(pos=(0,0), size=(20,20), png=self.fupIcon) diff --git a/vps/src_py/Vps.py b/vps/src_py/Vps.py index 31902410d..46c89c4bd 100644 --- a/vps/src_py/Vps.py +++ b/vps/src_py/Vps.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -from enigma import eTimer, eConsoleAppContainer, getBestPlayableServiceReference, eServiceReference, eEPGCache +from enigma import eTimer, eConsoleAppContainer, getBestPlayableServiceReference, eServiceReference, eEPGCache, eEnv from time import time, strftime, localtime from Components.config import config from timer import TimerEntry @@ -12,7 +12,7 @@ from Components.TimerSanityCheck import TimerSanityCheck import NavigationInstance -vps_exe = "/usr/lib/enigma2/python/Plugins/SystemPlugins/vps/vps" +vps_exe = eEnv.resolve("${libdir}/enigma2/python/Plugins/SystemPlugins/vps/vps") if not access(vps_exe, X_OK): chmod(vps_exe, 493) @@ -630,4 +630,4 @@ def NextWakeup(self): return -1 -vps_timers = vps() \ No newline at end of file +vps_timers = vps() diff --git a/weatherplugin/src/plugin.py b/weatherplugin/src/plugin.py index 3ed59c138..350639238 100644 --- a/weatherplugin/src/plugin.py +++ b/weatherplugin/src/plugin.py @@ -30,7 +30,7 @@ from twisted.web.client import getPage, downloadPage from urllib import quote from Components.Pixmap import Pixmap -from enigma import ePicLoad +from enigma import ePicLoad, eEnv from os import path as os_path, mkdir as os_mkdir from Components.AVSwitch import AVSwitch from Components.config import ConfigSubsection, ConfigSubList, ConfigInteger, config @@ -116,7 +116,7 @@ def __init__(self, session): i += 1 del i - self.appdir = "/usr/lib/enigma2/python/Plugins/Extensions/WeatherPlugin/icons/" + self.appdir = eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/WeatherPlugin/icons/") if not os_path.exists(self.appdir): os_mkdir(self.appdir) diff --git a/webbouqueteditor/src/plugin.py b/webbouqueteditor/src/plugin.py index bfe558caf..a99492a4b 100644 --- a/webbouqueteditor/src/plugin.py +++ b/webbouqueteditor/src/plugin.py @@ -9,11 +9,12 @@ from twisted.python import util # from WebChilds.WebUploadResource import WebUploadResource +from enigma import eEnv def autostart(reason, **kwargs): if "session" in kwargs: session = kwargs["session"] - root = static.File("/usr/lib/enigma2/python/Plugins/Extensions/WebBouquetEditor/web-data") + root = static.File(eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/WebBouquetEditor/web-data")) root.putChild("web", ScreenPage(session, util.sibpath(__file__, "web"), True) ) root.putChild('tmp', static.File('/tmp')) root.putChild("uploadfile",WebUploadResource(session)) diff --git a/webcamviewer/src/plugin.py b/webcamviewer/src/plugin.py index 0cee8b0af..512411e3c 100644 --- a/webcamviewer/src/plugin.py +++ b/webcamviewer/src/plugin.py @@ -3,6 +3,7 @@ from enigma import ePicLoad from enigma import loadPNG from enigma import gFont +from enigma import eEnv ### Picturelist from Screens.Screen import Screen from Screens.MessageBox import MessageBox @@ -64,7 +65,7 @@ def startWebcamviewer(session, **kwargs): originalservice = session.nav.getCurrentlyPlayingServiceReference() if config.plugins.pictureviewer.stopserviceonstart.value: session.nav.stopService() - xmlfile = "/usr/lib/enigma2/python/Plugins/Extensions/WebcamViewer/webcam.xml" + xmlfile = eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/WebcamViewer/webcam.xml") if os.path.isfile(xmlfile): try: xmlnode = xml.dom.minidom.parse(open(xmlfile)) diff --git a/widgets/src/plugin.py b/widgets/src/plugin.py index 6754f5ddd..5890000f3 100644 --- a/widgets/src/plugin.py +++ b/widgets/src/plugin.py @@ -8,7 +8,7 @@ from enigma import eTimer from Components.Label import Label from Components.MenuList import MenuList -from enigma import getDesktop, eSize,ePoint +from enigma import getDesktop, eSize, ePoint, eEnv from skin import applyAllAttributes, dom_skins @@ -137,7 +137,7 @@ def __init__(self, session): self.session = session Screen.__init__(self, session) - loadSkinReal("/usr/lib/enigma2/python/Plugins/Extensions/Widgets/skin.xml") + loadSkinReal(eEnv.resolve("${libdir}/enigma2/python/Plugins/Extensions/Widgets/skin.xml")) cfg = lookupWidgetConfig()