From: Greg Darke Date: Wed, 16 Jul 2008 06:59:23 +0000 (+1000) Subject: Automated merge with ssh://hg@kagami.tsukasa.net.au/bg_scripts/ X-Git-Url: https://code.delx.au/bg-scripts/commitdiff_plain/a8d026613301bb315f8f66f50b1b35d8db996744?hp=--cc Automated merge with ssh://hg@kagami.tsukasa.net.au/bg_scripts/ --- a8d026613301bb315f8f66f50b1b35d8db996744 diff --cc randombg.py index e58875a,bb4050c..d069b49 --- a/randombg.py +++ b/randombg.py @@@ -77,9 -104,15 +107,15 @@@ class RandomFileList(BaseFileList) 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 @@@ -161,31 -162,37 +197,39 @@@ class FolderRandomFileList(BaseFileList """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