png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/extensions/directory.png"))
else:
extension = name.split('.')
- extension = extension[len(extension) - 1]
+ extension = extension[-1]
if EXTENSIONS.has_key(extension):
png = loadPNG(resolveFilename(SCOPE_SKIN_IMAGE, "/extensions/" + EXTENSIONS[extension] + ".png"))
if png is not None:
def changeDir(self, directory):
self.list = []
- directories = os.listdir(directory)
+ files = os.listdir(directory)
+ files.sort()
if directory != "/" and self.showDirectories:
self.list.append(FileEntryComponent(name = "..", absolute = '/'.join(directory.split('/')[:-2]) + '/', isDir = True))
- for x in directories:
+
+ directories = []
+ for x in files:
if os.path.isdir(directory + x):
- if self.showDirectories:
- self.list.append(FileEntryComponent(name = x, absolute = directory + x + "/" , isDir = True))
- elif self.showFiles:
+ directories.append(x)
+ files.remove(x)
+
+ if self.showDirectories:
+ for x in directories:
+ self.list.append(FileEntryComponent(name = x, absolute = directory + x + "/" , isDir = True))
+
+
+ if self.showFiles:
+ for x in files:
if self.matchingPattern is not None:
if re.compile(self.matchingPattern).search(x):
self.list.append(FileEntryComponent(name = x, absolute = directory + x , isDir = False))
-from enigma import *
-from Screens.Screen import Screen
-from Screens.MessageBox import MessageBox
-from Components.ActionMap import NumberActionMap
-from Components.Label import Label
-from Components.Input import Input
-from Components.GUIComponent import *
-from Components.Pixmap import Pixmap
-from Components.FileList import FileEntryComponent, FileList
-from Plugins.Plugin import PluginDescriptor
-
-import os
-
-class Test(Screen):
- skin = """
- <screen position="100,100" size="550,400" title="Test" >
- <!--widget name="text" position="0,0" size="550,25" font="Regular;20" /-->
- <widget name="list" position="10,0" size="190,250" scrollbarMode="showOnDemand" />
- <widget name="pixmap" position="200,0" size="190,250" />
- </screen>"""
- def __init__(self, session, args = None):
- self.skin = Test.skin
- Screen.__init__(self, session)
-
- self["list"] = FileList("/", matchingPattern = "^.*\.(png|avi|mp3|mpeg)")
- self["pixmap"] = Pixmap()
-
- #self["text"] = Input("1234", maxSize=True, type=Input.NUMBER)
-
- self["actions"] = NumberActionMap(["WizardActions", "InputActions"],
- {
- "ok": self.ok,
- "back": self.close,
-# "left": self.keyLeft,
-# "right": self.keyRight,
- "1": self.keyNumberGlobal,
- "2": self.keyNumberGlobal,
- "3": self.keyNumberGlobal,
- "4": self.keyNumberGlobal,
- "5": self.keyNumberGlobal,
- "6": self.keyNumberGlobal,
- "7": self.keyNumberGlobal,
- "8": self.keyNumberGlobal,
- "9": self.keyNumberGlobal,
- "0": self.keyNumberGlobal
- }, -1)
-
- def keyLeft(self):
- self["text"].left()
-
- def keyRight(self):
- self["text"].right()
-
- def ok(self):
- selection = self["list"].getSelection()
- if selection[1] == True: # isDir
- self["list"].changeDir(selection[0])
- else:
- self["pixmap"].instance.setPixmapFromFile(selection[0])
-
- def keyNumberGlobal(self, number):
- print "pressed", number
- self["text"].number(number)
-
-def main(session):
- session.open(Test)
-
-def Plugins():
- return PluginDescriptor(name="Test", description="plugin to test some capabilities", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main)