SCOPE_SKIN = 3
SCOPE_SKIN_IMAGE = 4
SCOPE_USERETC = 5
+SCOPE_CONFIG = 6
+SCOPE_LANGUAGE = 7
+SCOPE_HDD = 8
+
+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_LANGUAGE: ("/usr/share/enigma2/po/", PATH_CREATE),
- SCOPE_SKIN: "/usr/share/tuxbox/enigma2/",
- SCOPE_SKIN_IMAGE: "/usr/share/tuxbox/enigma2/",
+ SCOPE_SKIN: ("/usr/share/enigma2/", PATH_DONTCREATE),
+ SCOPE_SKIN_IMAGE: ("/usr/share/enigma2/", PATH_DONTCREATE),
+ SCOPE_HDD: ("/hdd/movie/", PATH_DONTCREATE),
- SCOPE_USERETC: "" # user home directory
+ SCOPE_USERETC: ("", PATH_DONTCREATE) # user home directory
}
-def resolveFilename(scope, base):
+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 pathExists(scope)):
+ 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 pathExists(scope):
+ return os.path.exists(defaultPaths[scope][0])
+
def getRecordingFilename(basename):
# filter out non-allowed characters
i = 0
while True:
- path = "/hdd/movies/" + filename
+ path = resolveFilename(SCOPE_HDD, filename)
if i > 0:
- path += str(i)
-# if os.glob(path + "*").size() == 0:
-# return path
- return path
- i+=1
+ path += "_%03d" % i
+ try:
+ open(path + ".ts")
+ i += 1
+ except IOError:
+ return path
+
+# this fixes paths or files when changed in a new enigma2 version
+def fixOldDirectoryEntries():
+ if (os.path.exists("/hdd/movies")):
+ if (not os.path.exists(resolveFilename(SCOPE_HDD))):
+ os.system("mv /hdd/movies " + resolveFilename(SCOPE_HDD))