summaryrefslogtreecommitdiff
path: root/dedup/filemagic.py
diff options
context:
space:
mode:
Diffstat (limited to 'dedup/filemagic.py')
-rw-r--r--dedup/filemagic.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/dedup/filemagic.py b/dedup/filemagic.py
index 4cc9357..c5a6357 100644
--- a/dedup/filemagic.py
+++ b/dedup/filemagic.py
@@ -3,6 +3,12 @@ the file type."""
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
@@ -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"