drop support for Python 2.x
[~helmut/debian-dedup.git] / dedup / filemagic.py
index 4cc9357..b71c276 100644 (file)
@@ -3,7 +3,13 @@ the file type."""
 
 import magic
 
-class FileDigester(object):
+# It changed API a few times...
+try:
+    _magic_identify = magic.from_buffer
+except AttributeError:
+    _magic_identify = magic.none_magic.buffer
+
+class FileDigester:
     """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:
-            return magic.none_magic.buffer(self.buff)
+            return _magic_identify(self.buff)
         except UnicodeDecodeError:
             return "magic identification is not valid UTF-8"