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)
+ logging.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
"""A file list that will pick a file randomly within a directory. Each
directory has the same chance of being chosen."""
def __init__(self):
+ super(FolderRandomFileList, self).__init__()
self.directories = {}
+ self.last_image = None
def scan_paths(self):
- for path in self.paths:
- for dirpath, dirs, filenames in os.walk(path):
- debug('Scanning "%s" for images' % dirpath)
- if self.directories.has_key(dirpath):
- continue
- filenames = list(filter_images(filenames))
- if len(filenames):
- self.directories[dirpath] = filenames
- debug('Adding "%s" to "%s"' % (filenames, dirpath))
- else:
- debug("No images found in '%s'" % dirpath)
-
+ pass
+
+ def add_path(self, path):
+ logging.debug('Added path "%s" to the list' % path)
+ for dirpath, dirs, filenames in os.walk(path):
+ logging.debug('Scanning "%s" for images' % dirpath)
+ if self.directories.has_key(dirpath):
+ continue
+ filenames = list(filter_images(filenames))
+ if len(filenames):
+ self.directories[dirpath] = filenames
+ logging.debug('Adding "%s" to "%s"' % (filenames, dirpath))
+ else:
+ logging.debug("No images found in '%s'" % dirpath)
+
def get_next_image(self):
directory = random.choice(self.directories.keys())
- debug('directory: "%s"' % directory)
+ logging.debug('directory: "%s"' % directory)
filename = random.choice(self.directories[directory])
- debug('filename: "%s"' % filename)
- self.last_image = os.path.join(directory, filename)
- return self.last_image
+ logging.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