From f44769df4128239d34883bc225413654ff31dfc6 Mon Sep 17 00:00:00 2001
From: jvoisin <julien.voisin@dustri.org>
Date: Sun, 24 Jun 2018 22:40:57 +0200
Subject: [PATCH] Ensure Poppler's minimal version
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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 ♥
---
 libmat2/pdf.py | 6 ++++++
 mat2           | 6 +++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

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
 import logging
 import tempfile
 import io
+from distutils.version import LooseVersion
 
 import cairo
 import gi
@@ -17,6 +18,11 @@ from . import abstract
 
 logging.basicConfig(level=logging.DEBUG)
 
+poppler_version = Poppler.get_version()
+if LooseVersion(poppler_version) < LooseVersion('0.46'):
+    raise ValueError("MAT2 needs at least Poppler version 0.46 to work. \
+The installed version is %s." % poppler_version)
+
 
 class PDFParser(abstract.AbstractParser):
     mimetypes = {'application/pdf', }
diff --git a/mat2 b/mat2
index 0ffb90c..d1e7e0d 100755
--- a/mat2
+++ b/mat2
@@ -8,7 +8,11 @@ import mimetypes
 import argparse
 import multiprocessing
 
-from libmat2 import parser_factory, unsupported_extensions
+try:
+    from libmat2 import parser_factory, unsupported_extensions
+except ValueError as e:
+    print(e)
+    sys.exit(1)
 
 __version__ = '0.1.2'
 
-- 
GitLab