X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/522a7e522d8d59344f85cef9245b2dc3695bc166..f6d690f4f6d13acdaf4bae627c8cff6a1d93a198:/lib/python/Components/FileList.py diff --git a/lib/python/Components/FileList.py b/lib/python/Components/FileList.py index e6e072cd..fcd1555f 100644 --- a/lib/python/Components/FileList.py +++ b/lib/python/Components/FileList.py @@ -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: