When extracting the date, don't die if a field is invalid, ignore it.
[feedingit] / 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 = ""