From b658c3a6819ccb9a104b13e973132c66f0965965 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian Date: Thu, 11 Feb 2021 17:28:21 -0800 Subject: [PATCH] Revert "Prefer to use magic.Magic over the magic.open compatibility interface. (Closes: reproducible-builds/diffoscope#236)" This reverts commit c72c30f29ea3760eb4c785644dc7cd4c26833740. --- diffoscope/comparators/utils/file.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/diffoscope/comparators/utils/file.py b/diffoscope/comparators/utils/file.py index fb3b4316..32700f02 100644 --- a/diffoscope/comparators/utils/file.py +++ b/diffoscope/comparators/utils/file.py @@ -65,37 +65,37 @@ def _run_tests(fold, tests): class File(metaclass=abc.ABCMeta): - if hasattr(magic, "Magic"): # use python-magic + if hasattr(magic, "open"): # use Magic-file-extensions from file @classmethod def guess_file_type(cls, path): if not hasattr(cls, "_mimedb"): - cls._mimedb = magic.Magic() - return maybe_decode(cls._mimedb.from_file(path)) + cls._mimedb = magic.open(magic.NONE) + cls._mimedb.load() + return cls._mimedb.file( + path.encode("utf-8", errors="surrogateescape") + ) @classmethod def guess_encoding(cls, path): if not hasattr(cls, "_mimedb_encoding"): - cls._mimedb_encoding = magic.Magic(mime_encoding=True) - return maybe_decode(cls._mimedb_encoding.from_file(path)) + cls._mimedb_encoding = magic.open(magic.MAGIC_MIME_ENCODING) + cls._mimedb_encoding.load() + return cls._mimedb_encoding.file(path) - else: # use Magic-file-extensions from file + else: # use python-magic @classmethod def guess_file_type(cls, path): if not hasattr(cls, "_mimedb"): - cls._mimedb = magic.open(magic.NONE) - cls._mimedb.load() - return cls._mimedb.file( - path.encode("utf-8", errors="surrogateescape") - ) + cls._mimedb = magic.Magic() + return maybe_decode(cls._mimedb.from_file(path)) @classmethod def guess_encoding(cls, path): if not hasattr(cls, "_mimedb_encoding"): - cls._mimedb_encoding = magic.open(magic.MAGIC_MIME_ENCODING) - cls._mimedb_encoding.load() - return cls._mimedb_encoding.file(path) + cls._mimedb_encoding = magic.Magic(mime_encoding=True) + return maybe_decode(cls._mimedb_encoding.from_file(path)) def __init__(self, container=None): self._comments = [] -- 2.30.0