]> code.delx.au - bg-scripts/commitdiff
randombg: Fixed reload for the file lists Greg doesn't use
authorJames Bunton <jamesbunton@delx.net.au>
Wed, 16 Jul 2008 00:03:51 +0000 (10:03 +1000)
committerJames Bunton <jamesbunton@delx.net.au>
Wed, 16 Jul 2008 00:03:51 +0000 (10:03 +1000)
randombg.py

index 510d786f3f38896eb7722b9b895bb6c9024c96fe..f54183f490782e93d6c329826bf7a034840dc78f 100755 (executable)
@@ -74,13 +74,19 @@ class RandomFileList(BaseFileList):
        def add_path(self, path):
                self.paths.append(path)
                debug('Added path "%s" to the list' % path)
-
+       
        def get_next_image(self):
                n = random.randint(0, len(self.list)-1)
                self.last_image = self.list[n]
                debug("Picked file '%s' from list" % self.last_image)
                return self.last_image
        
+       def get_current_image(self):
+               if self.last_image:
+                       return self.last_image
+               else:
+                       return self.get_next_image()
+
        def is_empty(self):
                return len(self.list) == 0
 
@@ -161,6 +167,7 @@ class FolderRandomFileList(BaseFileList):
        directory has the same chance of being chosen."""
        def __init__(self):
                self.directories = {}
+               self.last_image = None
        
        def scan_paths(self):
                pass
@@ -185,6 +192,12 @@ class FolderRandomFileList(BaseFileList):
                debug('filename: "%s"' % filename)
                return os.path.join(directory, filename)
        
+       def get_current_image(self):
+               if self.last_image:
+                       return self.last_image
+               else:
+                       return self.get_next_image()
+
        def is_empty(self):
                return len(self.directories.values()) == 0