move the plugins into their own directory and every plugin has a main python file...
[enigma2.git] / lib / python / Tools / Directories.py
index 8fb5c09278cb1db31bdb9f81562967c9cc6c8a97..3736b7b55e519879f77b5ab15991575cf04e552e 100644 (file)
@@ -9,6 +9,7 @@ SCOPE_USERETC = 5
 SCOPE_CONFIG = 6
 SCOPE_LANGUAGE = 7
 SCOPE_HDD = 8
+SCOPE_PLUGINS = 9
 
 PATH_CREATE = 0
 PATH_DONTCREATE = 1
@@ -18,6 +19,7 @@ defaultPaths = {
                SCOPE_SYSETC: ("/etc/", PATH_DONTCREATE),
                SCOPE_FONTS: ("/usr/share/fonts/", PATH_DONTCREATE),
                SCOPE_CONFIG: ("/etc/enigma2/", PATH_CREATE),
+               SCOPE_PLUGINS: ("/usr/lib/enigma2/python/Plugins/", PATH_CREATE),
                                            
                SCOPE_LANGUAGE: ("/usr/share/enigma2/po/", PATH_CREATE),
 
@@ -39,34 +41,35 @@ fallbackPaths = {
        }
 
 def resolveFilename(scope, base = ""):
-       print "getting scope", scope, "with base", base
        path = defaultPaths[scope]
-       print "path:", path
+
+       if path[1] == PATH_CREATE:
+               if (not pathExists(defaultPaths[scope][0])):
+                       os.mkdir(path[0])
        
        if not fileExists(path[0] + base):
                #try:
                if fallbackPaths.has_key(scope):
-                       print 1
                        for x in fallbackPaths[scope]:
-                               print x
                                if x[1] == FILE_COPY:
                                        if fileExists(x[0] + base):
                                                os.system("cp " + x[0] + base + " " + path[0] + base)
+                                               break
                                elif x[1] == FILE_MOVE:
                                        if fileExists(x[0] + base):
                                                os.system("mv " + x[0] + base + " " + path[0] + base)
+                                               break
                                elif x[1] == PATH_COPY:
                                        if pathExists(x[0]):
                                                if not pathExists(defaultPaths[scope][0]):
                                                        os.mkdir(path[0])
                                                os.system("cp -a " + x[0] + "* " + path[0])
+                                               break
                                elif x[1] == PATH_MOVE:
                                        if pathExists(x[0]):
                                                os.system("mv " + x[0] + " " + path[0])
+                                               break
 
-               if path[1] == PATH_CREATE:
-                       if (not pathExists(defaultPaths[scope][0])):
-                               os.mkdir(path[0])
        
        # FIXME: we also have to handle DATADIR etc. here.
        return path[0] + base
@@ -86,11 +89,12 @@ def fileExists(f):
        return exists
 
 def getRecordingFilename(basename):
-       
                # filter out non-allowed characters
        non_allowed_characters = "/.\\"
-       
        filename = ""
+       
+       basename = basename.replace('\xc2\x86', '').replace('\xc2\x87', '')
+       
        for c in basename:
                if c in non_allowed_characters:
                        c = "_"