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
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()
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,
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):