From 4df5c9884064664ed716fdd79cdd9d56b74be7e2 Mon Sep 17 00:00:00 2001 From: Stefan Pluecken Date: Wed, 22 Feb 2006 00:31:18 +0000 Subject: sorting the FileList --- lib/python/Components/FileList.py | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'lib/python/Components') diff --git a/lib/python/Components/FileList.py b/lib/python/Components/FileList.py index d0ca59ff..961eb09d 100644 --- a/lib/python/Components/FileList.py +++ b/lib/python/Components/FileList.py @@ -36,7 +36,7 @@ def FileEntryComponent(name, absolute, isDir = False): 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: @@ -63,15 +63,25 @@ class FileList(HTMLComponent, GUIComponent, MenuList): 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)) -- cgit v1.2.3