When extracting the date, don't die if a field is invalid, ignore it.
authorNeal H. Walfield <neal@walfield.org>
Thu, 29 Dec 2011 09:21:35 +0000 (09:21 +0000)
committerYves <yves@marcoz.org>
Thu, 29 Dec 2011 22:34:24 +0000 (14:34 -0800)
Reported By: James Hunt

src/rss_sqlite.py

index 867e1af..38f0e21 100644 (file)
@@ -874,11 +874,19 @@ class Feed(BaseObject):
     
     def extractDate(self, entry):
         if entry.has_key("updated_parsed"):
-            return timegm(entry["updated_parsed"])
-        elif entry.has_key("published_parsed"):
-            return timegm(entry["published_parsed"])
-        else:
-            return time.time()
+            try:
+                return timegm(entry.updated_parsed)
+            except (TypeError, IndexError):
+                # entry.updated_parsed is garbage.
+                pass
+        if entry.has_key("published_parsed"):
+            try:
+                return timegm(entry.published_parsed)
+            except (TypeError, IndexError):
+                # entry.published_parsed is garbage.
+                pass
+
+        return time.time()
         
     def extractContent(self, entry):
         content = ""