aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/diffoscope-revert-to-magic-open.patch
blob: d52b26ead5b2284df2b56d49921c198f83d6c76a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
From b658c3a6819ccb9a104b13e973132c66f0965965 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
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