Browse Source

continue when invalid files found

if you have an invalid ogg file, ffprobe will exit!=0, so everything
will crash. This commit just ignores the file
boyska 3 years ago
parent
commit
b7e0a7ace4
1 changed files with 13 additions and 9 deletions
  1. 13 9
      feed

+ 13 - 9
feed

@@ -238,15 +238,19 @@ def scan_dir_audio(dirname, extensions=("mp3", "oga", "wav", "ogg")):
 
 def get_audio_from_dir(dirpath):
     fpaths = scan_dir_audio(dirpath)
-    return [
-        Audio(
-            "file://" + os.path.realpath(u),
-            date=datetime.datetime.fromtimestamp(os.path.getmtime(u)).replace(
-                tzinfo=datetime.timezone.utc
-            ),
-        )
-        for u in fpaths
-    ]
+    ret = []
+    for u in fpaths:
+        try:
+            a = Audio(
+                "file://" + os.path.realpath(u),
+                date=datetime.datetime.fromtimestamp(os.path.getmtime(u)).replace(
+                    tzinfo=datetime.timezone.utc
+                ),
+            )
+        except ValueError:
+            continue
+        ret.append(a)
+    return ret
 
 
 def get_item_date(el):