# -*- coding: utf-8 -*-
-from os import path as os_path, mkdir, system
+from os import path as os_path, mkdir, system, walk
+from re import compile
SCOPE_TRANSPONDERDATA = 0
SCOPE_SYSETC = 1
SCOPE_MEDIA = 10
SCOPE_PLAYLIST = 11
SCOPE_CURRENT_SKIN = 12
+SCOPE_DEFAULTDIR = 13
+SCOPE_DEFAULTPARTITION = 14
PATH_CREATE = 0
PATH_DONTCREATE = 1
SCOPE_MEDIA: ("/media/", PATH_DONTCREATE),
SCOPE_PLAYLIST: ("/etc/enigma2/playlist/", PATH_CREATE),
- SCOPE_USERETC: ("", PATH_DONTCREATE) # user home directory
+ SCOPE_USERETC: ("", PATH_DONTCREATE), # user home directory
+
+ SCOPE_DEFAULTDIR: ("/usr/share/enigma2/defaults/", PATH_CREATE),
+ SCOPE_DEFAULTPARTITION: ("/dev/mtdblock/4", PATH_DONTCREATE),
}
FILE_COPY = 0 # copy files from fallback dir to the basedir
flags = tmp[1]
if flags == PATH_CREATE:
- if (not pathExists(path)):
+ if not pathExists(path):
mkdir(path)
- #if len(base) > 0 and base[0] == '/':
- #path = ("", None)
-
- if not fileExists(path + base):
- #try:
- if fallbackPaths.has_key(scope):
- for x in fallbackPaths[scope]:
- if x[1] == FILE_COPY:
- if fileExists(x[0] + base):
- system("cp " + x[0] + base + " " + path + base)
- break
- elif x[1] == FILE_MOVE:
- if fileExists(x[0] + base):
- system("mv " + x[0] + base + " " + path + base)
- break
- elif x[1] == PATH_COPY:
- if pathExists(x[0]):
- if not pathExists(defaultPaths[scope][0]):
- mkdir(path)
- system("cp -a " + x[0] + "* " + path)
- break
- elif x[1] == PATH_MOVE:
- if pathExists(x[0]):
- system("mv " + x[0] + " " + path)
- break
+ fallbackPath = fallbackPaths.get(scope)
+
+ if fallbackPath and not fileExists(path + base):
+ for x in fallbackPath:
+ if x[1] == FILE_COPY:
+ if fileExists(x[0] + base):
+ system("cp " + x[0] + base + " " + path + base)
+ break
+ elif x[1] == FILE_MOVE:
+ if fileExists(x[0] + base):
+ system("mv " + x[0] + base + " " + path + base)
+ break
+ elif x[1] == PATH_COPY:
+ if pathExists(x[0]):
+ if not pathExists(defaultPaths[scope][0]):
+ mkdir(path)
+ system("cp -a " + x[0] + "* " + path)
+ break
+ elif x[1] == PATH_MOVE:
+ if pathExists(x[0]):
+ system("mv " + x[0] + " " + path)
+ break
+
# FIXME: we also have to handle DATADIR etc. here.
return path + base
-
# this is only the BASE - an extension must be added later.
-
+
def pathExists(path):
return os_path.exists(path)
resolveFilename(SCOPE_CONFIG, "bouquets.tv")
resolveFilename(SCOPE_CONFIG, "userbouquet.favourites.radio")
resolveFilename(SCOPE_CONFIG, "bouquets.radio")
+
+# returns a list of tuples containing pathname and filename matching the given pattern
+# example-pattern: match all txt-files: ".*\.txt$"
+def crawlDirectory(directory, pattern):
+ expression = compile(pattern)
+ list = []
+ for root, dirs, files in walk(directory):
+ for file in files:
+ if expression.match(file) is not None:
+ list.append((root, file))
+ return list