summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjvoisin2018-06-24 22:40:57 +0200
committerjvoisin2018-06-24 22:40:57 +0200
commitf44769df4128239d34883bc225413654ff31dfc6 (patch)
tree767b08704ad28d4a55bc7c2c47e54a31f7b8bed4
parent1e9906de299448b9469f0f828214733d59b6bded (diff)
Ensure Poppler's minimal version
We're using methods that aren't available in Poppler below 0.46, so we're checking for this upon import. This commit is based on ideas from @LogicalDash ♥
-rw-r--r--libmat2/pdf.py6
-rwxr-xr-xmat26
2 files changed, 11 insertions, 1 deletions
diff --git a/libmat2/pdf.py b/libmat2/pdf.py
index 77710bf..300fd4a 100644
--- a/libmat2/pdf.py
+++ b/libmat2/pdf.py
@@ -7,6 +7,7 @@ import re
7import logging 7import logging
8import tempfile 8import tempfile
9import io 9import io
10from distutils.version import LooseVersion
10 11
11import cairo 12import cairo
12import gi 13import gi
@@ -17,6 +18,11 @@ from . import abstract
17 18
18logging.basicConfig(level=logging.DEBUG) 19logging.basicConfig(level=logging.DEBUG)
19 20
21poppler_version = Poppler.get_version()
22if LooseVersion(poppler_version) < LooseVersion('0.46'):
23 raise ValueError("MAT2 needs at least Poppler version 0.46 to work. \
24The installed version is %s." % poppler_version)
25
20 26
21class PDFParser(abstract.AbstractParser): 27class PDFParser(abstract.AbstractParser):
22 mimetypes = {'application/pdf', } 28 mimetypes = {'application/pdf', }
diff --git a/mat2 b/mat2
index 0ffb90c..d1e7e0d 100755
--- a/mat2
+++ b/mat2
@@ -8,7 +8,11 @@ import mimetypes
8import argparse 8import argparse
9import multiprocessing 9import multiprocessing
10 10
11from libmat2 import parser_factory, unsupported_extensions 11try:
12 from libmat2 import parser_factory, unsupported_extensions
13except ValueError as e:
14 print(e)
15 sys.exit(1)
12 16
13__version__ = '0.1.2' 17__version__ = '0.1.2'
14 18