X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=blobdiff_plain;f=lib%2Fpython%2FComponents%2FFileList.py;h=222512eab861180ef3d26810040442ac4af63b7c;hp=54bb1acfa078e49f965c63044aa172e75f90a999;hb=5e5249fb5503619b725d2c652a3b82a98a503075;hpb=30861128f0afa56c412d9d43a7b3425484854b52 diff --git a/lib/python/Components/FileList.py b/lib/python/Components/FileList.py index 54bb1ac..e78912c 100755 --- a/lib/python/Components/FileList.py +++ b/lib/python/Components/FileList.py @@ -3,7 +3,7 @@ from os import path as os_path, listdir from MenuList import MenuList from Components.Harddisk import harddiskmanager -from Tools.Directories import SCOPE_SKIN_IMAGE, resolveFilename +from Tools.Directories import SCOPE_CURRENT_SKIN, resolveFilename, fileExists from enigma import RT_HALIGN_LEFT, eListboxPythonMultiContent, \ eServiceReference, eServiceCenter, gFont @@ -16,6 +16,7 @@ EXTENSIONS = { "wav": "music", "ogg": "music", "flac": "music", + "dts": "dts", "jpg": "picture", "jpeg": "picture", "png": "picture", @@ -23,23 +24,29 @@ EXTENSIONS = { "ts": "movie", "avi": "movie", "divx": "movie", + "m4v": "movie", "mpg": "movie", "mpeg": "movie", "mkv": "movie", "mp4": "movie", - "mov": "movie" + "mov": "movie", + "flv": "movie", + "m2ts": "movie", + "mts": "movie", + "3gp": "movie", + "3g2": "movie", } def FileEntryComponent(name, absolute = None, isDir = False): res = [ (absolute, isDir) ] res.append((eListboxPythonMultiContent.TYPE_TEXT, 35, 1, 470, 20, 0, RT_HALIGN_LEFT, name)) if isDir: - png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/directory.png")) + png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "extensions/directory.png")) else: extension = name.split('.') extension = extension[-1].lower() if EXTENSIONS.has_key(extension): - png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/" + EXTENSIONS[extension] + ".png")) + png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "extensions/" + EXTENSIONS[extension] + ".png")) else: png = None if png is not None: @@ -159,8 +166,11 @@ class FileList(MenuList): directories.sort() files.sort() else: - if os_path.exists(directory): - files = listdir(directory) + if fileExists(directory): + try: + files = listdir(directory) + except: + files = [] files.sort() tmpfiles = files[:] for x in tmpfiles: @@ -192,6 +202,9 @@ class FileList(MenuList): if (self.matchingPattern is None) or re_compile(self.matchingPattern).search(path): self.list.append(FileEntryComponent(name = name, absolute = x , isDir = False)) + if self.showMountpoints and len(self.list) == 0: + self.list.append(FileEntryComponent(name = _("nothing connected"), absolute = None, isDir = False)) + self.l.setList(self.list) if select is not None: @@ -255,12 +268,12 @@ def MultiFileSelectEntryComponent(name, absolute = None, isDir = False, selected res = [ (absolute, isDir, selected, name) ] res.append((eListboxPythonMultiContent.TYPE_TEXT, 55, 1, 470, 20, 0, RT_HALIGN_LEFT, name)) if isDir: - png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/directory.png")) + png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "extensions/directory.png")) else: extension = name.split('.') extension = extension[-1].lower() if EXTENSIONS.has_key(extension): - png = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "extensions/" + EXTENSIONS[extension] + ".png")) + png = LoadPixmap(resolveFilename(SCOPE_CURRENT_SKIN, "extensions/" + EXTENSIONS[extension] + ".png")) else: png = None if png is not None: @@ -268,10 +281,10 @@ def MultiFileSelectEntryComponent(name, absolute = None, isDir = False, selected if not name.startswith('<'): if selected is False: - icon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock_off.png")) + icon = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_off.png")) res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 2, 0, 25, 25, icon)) else: - icon = LoadPixmap(resolveFilename(SCOPE_SKIN_IMAGE, "skin_default/icons/lock_on.png")) + icon = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "skin_default/icons/lock_on.png")) res.append((eListboxPythonMultiContent.TYPE_PIXMAP_ALPHATEST, 2, 0, 25, 25, icon)) return res @@ -373,8 +386,11 @@ class MultiFileSelectList(FileList): directories.sort() files.sort() else: - if os_path.exists(directory): - files = listdir(directory) + if fileExists(directory): + try: + files = listdir(directory) + except: + files = [] files.sort() tmpfiles = files[:] for x in tmpfiles: