Blob Blame History Raw
diff -r ea27608a4ed4 -r fb78efe87d10 README
--- a/README	Wed Dec 22 01:27:04 2010 +0900
+++ b/README	Sat Dec 25 14:31:32 2010 +0900
@@ -35,6 +35,7 @@
 ** Suggests
 
 - python-numpy: for RSS plugin
+- python-dbys: for checking session idle status
 - jQuery: for photo history html
 
 ** Installation
diff -r ea27608a4ed4 -r fb78efe87d10 changelog
--- a/changelog	Wed Dec 22 01:27:04 2010 +0900
+++ b/changelog	Sat Dec 25 14:31:32 2010 +0900
@@ -1,5 +1,10 @@
+2010-12-25  Yoshizumi Endo  <y-endo@ceres.dti.ne.jp>
+
+	* idlecheck.py: Fixed dbus errors.
+
 2010-12-22  Yoshizumi Endo  <y-endo@ceres.dti.ne.jp>
 
+	* gtkimage.py: Modified Flickr photo size check.
 	* folder.py: Fixed an AttributeError (issue #79).
 
 2010-12-21  Yoshizumi Endo  <y-endo@ceres.dti.ne.jp>
diff -r ea27608a4ed4 -r fb78efe87d10 lib/image/gtkimage.py
--- a/lib/image/gtkimage.py	Wed Dec 22 01:27:04 2010 +0900
+++ b/lib/image/gtkimage.py	Sat Dec 25 14:31:32 2010 +0900
@@ -150,15 +150,15 @@
         return pixbuf
 
     def _file_size_is_ok(self, filename, photo):
-
         min = self.conf.get_int('filter/min_file_size', 0)
         size = os.path.getsize(filename)
 
         if min > 0 and size < min:
             print "Skip a small file size image (%s bytes)." % size
             return False
-        elif photo.get('info')().name == 'flickr' and size < 3000:
+        elif photo.get('url').find('static.flickr.com') > 0 and size < 3000:
             # ad-hoc for avoiding flickr no image.
+            # print "Obsolete URL: %s" % photo.get('url')
             return False
         else:
             return True
diff -r ea27608a4ed4 -r fb78efe87d10 lib/liststore.py
--- a/lib/liststore.py	Wed Dec 22 01:27:04 2010 +0900
+++ b/lib/liststore.py	Sat Dec 25 14:31:32 2010 +0900
@@ -3,7 +3,6 @@
 
 import gtk
 import glib
-import dbus
 
 import plugins
 from constants import CACHE_DIR
@@ -11,7 +10,7 @@
 from history import HistoryFactory
 from utils.config import GConf
 from utils.wrandom import WeightedRandom
-from utils.gnomescreensaver import is_screensaver_mode
+from utils.idlecheck import SessionIdle
 
 
 class PhotoListStore(gtk.ListStore):
@@ -174,16 +173,3 @@
         for filename in glob.iglob(os.path.join(CACHE_DIR, '*')):
             if filename not in recents:
                 os.remove(filename)
-
-class SessionIdle(object):
-
-    def __init__(self):
-        bus = dbus.SessionBus()
-        self.object = bus.get_object("org.gnome.ScreenSaver", 
-                                     "/org/gnome/ScreenSaver")
-        self.is_screensaver = is_screensaver_mode()
-
-    def check(self):
-        status = False if self.is_screensaver else self.object.GetActive()
-        # print status
-        return status
diff -r ea27608a4ed4 -r fb78efe87d10 lib/plugins/base.py
--- a/lib/plugins/base.py	Wed Dec 22 01:27:04 2010 +0900
+++ b/lib/plugins/base.py	Sat Dec 25 14:31:32 2010 +0900
@@ -198,7 +198,7 @@
 
     def get_title(self):
         with_suffix = self.conf.get_bool('show_filename_suffix', True)
-        title = self['title']
+        title = self['title'] or ''
 
         if not with_suffix:
             re_img = re.compile(r'\.(jpe?g|png|gif|bmp)$', re.IGNORECASE)        
diff -r ea27608a4ed4 -r fb78efe87d10 lib/plugins/haikyo.py
--- a/lib/plugins/haikyo.py	Wed Dec 22 01:27:04 2010 +0900
+++ b/lib/plugins/haikyo.py	Sat Dec 25 14:31:32 2010 +0900
@@ -75,7 +75,7 @@
         return random.choice(photos) if photos else None
 
     def _unescape(self, text):
-        return re.sub(r'\\(.)', r'\1', text) if text else text
+        return re.sub(r'\\(.)', r'\1', text) if text else text or ''
 
 class PhotoSourceHaikyoUI(PhotoSourceUI):
 
diff -r ea27608a4ed4 -r fb78efe87d10 lib/utils/idlecheck.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/utils/idlecheck.py	Sat Dec 25 14:31:32 2010 +0900
@@ -0,0 +1,33 @@
+import sys
+
+try:
+    import dbus
+except ImportError, error:
+    print error
+
+from gnomescreensaver import is_screensaver_mode
+
+
+class SessionIdle(object):
+
+    def __init__(self):
+        self.is_screensaver = is_screensaver_mode()
+        try:
+            bus = dbus.SessionBus()
+            self.object = bus.get_object("org.gnome.ScreenSaver", 
+                                         "/org/gnome/ScreenSaver")
+        except:
+            print "Exception: %s" % sys.exc_info()[1]
+
+    def check(self):
+        status = False
+
+        try:
+            status = False if self.is_screensaver else self.object.GetActive()
+        except AttributeError:
+            pass
+        except:
+            print "Exception: %s" % sys.exc_info()[1]
+
+        # print status
+        return status
diff -r ea27608a4ed4 -r fb78efe87d10 lib/utils/trash.py
--- a/lib/utils/trash.py	Wed Dec 22 01:27:04 2010 +0900
+++ b/lib/utils/trash.py	Sat Dec 25 14:31:32 2010 +0900
@@ -29,7 +29,7 @@
             if error.code == gio.ERROR_NOT_SUPPORTED:
                 print "not supported."
         except:
-            print sys.exc_info()
+            print sys.exc_info()[1]
 
         return self.is_trashed