X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;f=src%2Frss.py;h=59fa48520c48562983da0f262447e14470bad555;hb=f5ea5b9358ae3c5a61453acc2b4ba1c0521860a7;hp=e27611689abc0f56dd961cbf7d3a396d90e161aa;hpb=be825ec697bb34678336a548a6620fbabfda0660;p=feedingit diff --git a/src/rss.py b/src/rss.py index e276116..59fa485 100644 --- a/src/rss.py +++ b/src/rss.py @@ -537,8 +537,21 @@ class Listing: feed.editFeed(url) def getFeed(self, key): - feed = self.loadFeed(key) - feed.reloadUnread(self.configdir) + try: + feed = self.loadFeed(key) + feed.reloadUnread(self.configdir) + except: + # If the feed file gets corrupted, we need to reset the feed. + import dbus + bus = dbus.SessionBus() + remote_object = bus.get_object("org.freedesktop.Notifications", # Connection name + "/org/freedesktop/Notifications" # Object's path + ) + iface = dbus.Interface(remote_object, 'org.freedesktop.Notifications') + iface.SystemNoteInfoprint("Error opening feed %s, it has been reset." % self.getFeedTitle(key)) + if isdir(self.configdir+key+".d/"): + rmtree(self.configdir+key+".d/") + feed = self.loadFeed(key) return feed def getFeedUpdateTime(self, key):