Notification support in TaskView
[enigma2.git] / lib / python / Components / FileList.py
index e6e072cdf69a18767987dd9414d0b7b910b72bbc..fcd1555f083fdd4cb7706dfc30b3a4d61500e5ae 100644 (file)
@@ -42,8 +42,9 @@ def FileEntryComponent(name, absolute = None, isDir = False):
        return res
 
 class FileList(MenuList):
-       def __init__(self, directory, showDirectories = True, showFiles = True, matchingPattern = None, useServiceRef = False, isTop = False, enableWrapAround = False):
+       def __init__(self, directory, showDirectories = True, showFiles = True, matchingPattern = None, useServiceRef = False, isTop = False, enableWrapAround = False, additionalExtensions = None):
                MenuList.__init__(self, list, enableWrapAround, eListboxPythonMultiContent)
+               self.additional_extensions = additionalExtensions
                self.mount_point = None
                self.current_directory = None
                self.useServiceRef = useServiceRef
@@ -107,6 +108,8 @@ class FileList(MenuList):
                        directories = [ ]
                elif self.useServiceRef:
                        root = eServiceReference("2:0:1:0:0:0:0:0:0:0:" + directory)
+                       if self.additional_extensions:
+                               root.setName(self.additional_extensions)
                        serviceHandler = eServiceCenter.getInstance()
                        list = serviceHandler.list(root)
 
@@ -123,13 +126,14 @@ class FileList(MenuList):
                        directories.sort()
                        files.sort()
                else:
-                       files = listdir(directory)
-                       files.sort()
-                       tmpfiles = files[:]
-                       for x in tmpfiles:
-                               if os_path.isdir(directory + x):
-                                       directories.append(directory + x + "/")
-                                       files.remove(x)
+                       if os_path.exists(directory):
+                               files = listdir(directory)
+                               files.sort()
+                               tmpfiles = files[:]
+                               for x in tmpfiles:
+                                       if os_path.isdir(directory + x):
+                                               directories.append(directory + x + "/")
+                                               files.remove(x)
 
                if directory is not None and self.showDirectories and not self.isTop:
                        if directory == self.mount_point: