From: Stefan Pluecken Date: Wed, 30 Nov 2005 00:50:38 +0000 (+0000) Subject: store config in /etc/enigma2 and create the path if needed X-Git-Tag: 2.6.0~4870 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/0cd4b8be7607608d8b33bf1a5c25dda8815463d3 store config in /etc/enigma2 and create the path if needed --- diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 037b66b1..4d5af5cc 100644 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -1,12 +1,13 @@ from time import * from Tools.NumericalTextInput import * +from Tools.Directories import * class configFile: def __init__(self): self.changed = 0 self.configElements = { } try: - self.file = open("config") + self.file = open(resolveFilename(SCOPE_CONFIG, "config")) except IOError: print "cannot open config file" return @@ -38,7 +39,7 @@ class configFile: if self.changed == 0: #no changes, so no write to disk needed return - fileHandle = open("config", "w") + fileHandle = open(resolveFilename(SCOPE_CONFIG, "config"), "w") keys = self.configElements.keys() keys.sort() diff --git a/lib/python/Screens/ChannelSelection.py b/lib/python/Screens/ChannelSelection.py index acf2e7ff..ce906c26 100644 --- a/lib/python/Screens/ChannelSelection.py +++ b/lib/python/Screens/ChannelSelection.py @@ -402,10 +402,7 @@ class SimpleChannelSelection(ChannelSelectionBase): class ChannelActionMap(NumberActionMap): def action(self, contexts, action): - if not self.csel.enterBouquet(action): - if action == "cancel": - self.csel.handleEditCancel() - NumberActionMap.action(self, contexts, action) + NumberActionMap.action(self, contexts, action) self["actions"] = ChannelActionMap(["ChannelSelectActions", "OkCancelActions", "ContextMenuActions"], { "cancel": self.cancel, diff --git a/lib/python/Tools/Directories.py b/lib/python/Tools/Directories.py index 003d9a8e..1df24fcb 100644 --- a/lib/python/Tools/Directories.py +++ b/lib/python/Tools/Directories.py @@ -6,24 +6,34 @@ SCOPE_FONTS = 2 SCOPE_SKIN = 3 SCOPE_SKIN_IMAGE = 4 SCOPE_USERETC = 5 +SCOPE_CONFIG = 6 + +PATH_CREATE = 0 +PATH_DONTCREATE = 1 defaultPaths = { - SCOPE_TRANSPONDERDATA: "/etc/", - SCOPE_SYSETC: "/etc/", - SCOPE_FONTS: "/usr/share/fonts/", + SCOPE_TRANSPONDERDATA: ("/etc/", PATH_DONTCREATE), + SCOPE_SYSETC: ("/etc/", PATH_DONTCREATE), + SCOPE_FONTS: ("/usr/share/fonts/", PATH_DONTCREATE), + SCOPE_CONFIG: ("/etc/enigma2/", PATH_CREATE), - SCOPE_SKIN: "/usr/share/tuxbox/enigma2/", - SCOPE_SKIN_IMAGE: "/usr/share/tuxbox/enigma2/", + SCOPE_SKIN: ("/usr/share/tuxbox/enigma2/", PATH_DONTCREATE), + SCOPE_SKIN_IMAGE: ("/usr/share/tuxbox/enigma2/", PATH_DONTCREATE), - SCOPE_USERETC: "" # user home directory + SCOPE_USERETC: ("", PATH_DONTCREATE) # user home directory } def resolveFilename(scope, base): # in future, we would check for file existence here, # so we can provide default/fallbacks. + path = defaultPaths[scope] + if path[1] == PATH_CREATE: + if (not os.path.exists(path[0])): + os.mkdir(path[0]) + # FIXME: we also have to handle DATADIR etc. here. - return defaultPaths[scope] + base + return path[0] + base # this is only the BASE - an extension must be added later. def getRecordingFilename(basename):