adapt to python3-magic/2:0.4.15-1 API
authorHelmut Grohne <helmut@subdivi.de>
Mon, 25 Jun 2018 19:07:41 +0000 (21:07 +0200)
committerHelmut Grohne <helmut@subdivi.de>
Mon, 25 Jun 2018 19:07:41 +0000 (21:07 +0200)
dedup/filemagic.py

index 4cc9357..c5a6357 100644 (file)
@@ -3,6 +3,12 @@ the file type."""
 
 import magic
 
 
 import magic
 
+# It changed API a few times...
+try:
+    _magic_identify = magic.from_buffer
+except AttributeError:
+    _magic_identify = magic.none_magic.buffer
+
 class FileDigester(object):
     """A hashlib-like class to guess a filetype using the magic module."""
     FILE_BYTES_MAX = 1024 * 1024 # copied from file source
 class FileDigester(object):
     """A hashlib-like class to guess a filetype using the magic module."""
     FILE_BYTES_MAX = 1024 * 1024 # copied from file source
@@ -13,7 +19,7 @@ class FileDigester(object):
 
     def _compute_identification(self):
         try:
 
     def _compute_identification(self):
         try:
-            return magic.none_magic.buffer(self.buff)
+            return _magic_identify(self.buff)
         except UnicodeDecodeError:
             return "magic identification is not valid UTF-8"
 
         except UnicodeDecodeError:
             return "magic identification is not valid UTF-8"