Browse Source

podcast: ignores broken items

boyska 1 year ago
parent
commit
3e609581cf
1 changed files with 10 additions and 5 deletions
  1. 10 5
      larigira/audiogen_podcast.py

+ 10 - 5
larigira/audiogen_podcast.py

@@ -142,16 +142,21 @@ def get_audio_from_item(item):
 
 def get_urls(tree):
     items = tree.xpath("//item")
-    for it in items:
-        # title = it.find("title").text
-        audio = get_audio_from_item(it)
+    for i, it in enumerate(items):
+        try:
+            audio = get_audio_from_item(it)
+        except Exception:
+            logging.error("Could not parse item #%d, skipping", i)
+            continue
         if audio is None:
             continue
         if audio.date is None:
-            audio.date = get_item_date(it)
+            try:
+                audio.date = get_item_date(it)
+            except Exception:
+                logging.warn("Could not find date for item #%d", i)
         yield audio
 
-
 def parse_duration(arg):
     if arg.isdecimal():
         secs = int(arg)