summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xmat210
-rw-r--r--tests/test_climat2.py2
2 files changed, 11 insertions, 1 deletions
diff --git a/mat2 b/mat2
index a36f62d..351d97b 100755
--- a/mat2
+++ b/mat2
@@ -6,6 +6,7 @@ import sys
6import mimetypes 6import mimetypes
7import argparse 7import argparse
8import logging 8import logging
9import unicodedata
9 10
10try: 11try:
11 from libmat2 import parser_factory, UNSUPPORTED_EXTENSIONS 12 from libmat2 import parser_factory, UNSUPPORTED_EXTENSIONS
@@ -83,6 +84,15 @@ def __print_meta(filename: str, metadata: dict, depth: int=1):
83 if isinstance(v, dict): 84 if isinstance(v, dict):
84 __print_meta(k, v, depth+1) 85 __print_meta(k, v, depth+1)
85 continue 86 continue
87
88 # Remove control characters
89 # We might use 'Cc' instead of 'C', but better safe than sorry
90 # https://www.unicode.org/reports/tr44/#GC_Values_Table
91 try:
92 v = ''.join(ch for ch in v if not unicodedata.category(ch).startswith('C'))
93 except TypeError:
94 pass # for things that aren't iterable
95
86 try: # FIXME this is ugly. 96 try: # FIXME this is ugly.
87 print(padding + " %s: %s" % (k, v)) 97 print(padding + " %s: %s" % (k, v))
88 except UnicodeEncodeError: 98 except UnicodeEncodeError:
diff --git a/tests/test_climat2.py b/tests/test_climat2.py
index dd7c9b9..53e4f5b 100644
--- a/tests/test_climat2.py
+++ b/tests/test_climat2.py
@@ -121,7 +121,7 @@ class TestGetMeta(unittest.TestCase):
121 proc = subprocess.Popen(mat2_binary + ['--show', './tests/data/dirty.pdf'], 121 proc = subprocess.Popen(mat2_binary + ['--show', './tests/data/dirty.pdf'],
122 stdout=subprocess.PIPE) 122 stdout=subprocess.PIPE)
123 stdout, _ = proc.communicate() 123 stdout, _ = proc.communicate()
124 self.assertIn(b'producer: pdfTeX-1.40.14', stdout) 124 self.assertIn(b'Producer: pdfTeX-1.40.14', stdout)
125 125
126 def test_png(self): 126 def test_png(self):
127 proc = subprocess.Popen(mat2_binary + ['--show', './tests/data/dirty.png'], 127 proc = subprocess.Popen(mat2_binary + ['--show', './tests/data/dirty.png'],