]> code.delx.au - bg-scripts/blobdiff - wallchanger.py
Move the PIL imports to the module scope, and add a warning if they are not found
[bg-scripts] / wallchanger.py
index 7d6cd6a9d97682575790049f1e2abd7405a645b2..74be97ba43deb3296c3180a887c690e32aedf45f 100755 (executable)
@@ -6,6 +6,10 @@
 
 import commands, sys, os, os.path, time
 import logging
+try:
+       import PIL, PIL.Image
+except ImportError:
+       PIL = None
 
 __all__ = ("init", "set_image")
 
@@ -85,8 +89,11 @@ class BaseChanger(object):
        def convert_image_format(self, filename, format='BMP', allowAlpha=False, extension='.bmp'):
                """Convert the image to another format, and store it in a local place"""
                if not os.path.exists(filename):
+                       logger.warn('The input file "%s" does not exist, so it will not be converted', filename)
+                       return filename, False
+               if PIL is None:
+                       logger.warn('PIL could not be found, not converting image format')
                        return filename, False
-               import PIL, PIL.Image
 
                self.remove_old_image_cache()
                output_name = os.path.join(self._ConvertedWallpaperLocation, '%s%s' % (time.time(), extension))