]> code.delx.au - bg-scripts/blobdiff - bin/randombg.py
RandomBG: Fixed FolderRandom
[bg-scripts] / bin / randombg.py
index f31cbb64ee2bef20c09e1e17a2e781bc6818264a..57d08991ebea778ff113cc275060cabd074f4859 100755 (executable)
@@ -17,7 +17,7 @@ except ImportError:
 try:
        # Required libraries
        import asyncsched
-       import WallChanger
+       import wallchanger
 except ImportError, e:
        critical("Missing libraries! Exiting...")
        sys.exit(1)
@@ -162,13 +162,16 @@ class FolderRandomFileList(BaseFileList):
        def __init__(self):
                self.directories = {}
        
+       def scan_paths(self):
+               pass
+       
        def add_path(self, path):
                debug('Added path "%s" to the list' % path)
                for dirpath, dirs, filenames in os.walk(path):
                        debug('Scanning "%s" for images' % dirpath)
                        if self.directories.has_key(dirpath):
                                continue
-                       filenames = filter_images(filenames)
+                       filenames = list(filter_images(filenames))
                        if len(filenames):
                                self.directories[dirpath] = filenames
                                debug('Adding "%s" to "%s"' % (filenames, dirpath))
@@ -193,8 +196,8 @@ class Cycler(object):
                        error("No images were found. Exiting...")
                        sys.exit(1)
        
-               debug("Initialising RandomBG")
-               self.randombg = WallChanger.RandomBG(options.background_colour, options.permanent)
+               debug("Initialising wallchanger")
+               wallchanger.init(options.background_colour, options.permanent)
                self.cycle_time = options.cycle_time
 
                self.task = None
@@ -221,7 +224,7 @@ class Cycler(object):
        def cmd_reset(self):
                def next():
                        image = self.filelist.get_next_image()
-                       self.randombg.setImage(image)
+                       wallchanger.set_image(image)
                        self.task = None
                        self.cmd_reset()
 
@@ -232,17 +235,17 @@ class Cycler(object):
        
        def cmd_reload(self):
                image = self.filelist.get_current_image()
-               self.randombg.setImage(image)
+               wallchanger.set_image(image)
                self.cmd_reset()
 
        def cmd_next(self):
                image = self.filelist.get_next_image()
-               self.randombg.setImage(image)
+               wallchanger.set_image(image)
                self.cmd_reset()
        
        def cmd_prev(self):
                image = self.filelist.get_prev_image()
-               self.randombg.setImage(image)
+               wallchanger.set_image(image)
                self.cmd_reset()
        
        def cmd_rescan(self):
@@ -280,16 +283,16 @@ class Server(asynchat.async_chat):
 
 
 class Listener(asyncore.dispatcher):
-       def __init__(self, socket_filename, randombg):
+       def __init__(self, socket_filename, cycler):
                asyncore.dispatcher.__init__(self)
-               self.randombg = randombg
+               self.cycler = cycler
                self.create_socket(socket.AF_UNIX, socket.SOCK_STREAM)
                self.bind(socket_filename)
                self.listen(2) # Backlog = 2
        
        def handle_accept(self):
                conn, addr = self.accept()
-               Server(self.randombg, conn, addr)
+               Server(self.cycler, conn, addr)
                
 
 def do_server(options, paths):
@@ -358,7 +361,10 @@ def main():
        parser = build_parser()
        options, args = parser.parse_args(sys.argv[1:])
 
-       logging.basicConfig(level=10*options.verbose)
+       if options.verbose == 1:
+               logging.getLogger().setLevel(logging.INFO)
+       elif options.verbose >= 2:
+               logging.getLogger().setLevel(logging.DEBUG)
 
        if os.path.exists(options.socket_filename):
                do_client(options, args)