Explorar o código

FIX randomdir broken by files with unknown mimetype

boyska %!s(int64=6) %!d(string=hai) anos
pai
achega
c3d7015d9d
Modificáronse 2 ficheiros con 16 adicións e 0 borrados
  1. 2 0
      larigira/fsutils.py
  2. 14 0
      larigira/tests/test_audiogen_randomdir.py

+ 2 - 0
larigira/fsutils.py

@@ -20,6 +20,8 @@ def multi_fnmatch(fname, extensions):
 
 def is_audio(fname):
     mimetype = mimetypes.guess_type(fname)[0]
+    if mimetype is None:
+        return False
     return mimetype.split('/')[0] == 'audio'
 
 

+ 14 - 0
larigira/tests/test_audiogen_randomdir.py

@@ -43,3 +43,17 @@ def test_same_name(tmpdir):
     p.write('')
 
     assert len(candidates([P(tmpdir)])) == 2
+
+
+def test_unknown_mime_ignore(tmpdir):
+    p = tmpdir.join("foo.???")
+    p.write('')
+    assert len(candidates([P(tmpdir)])) == 0
+
+
+def test_unknown_mime_nocrash(tmpdir):
+    p = tmpdir.join("foo.???")
+    p.write('')
+    p = tmpdir.join("foo.ogg")
+    p.write('')
+    assert len(candidates([P(tmpdir)])) == 1