[Reproducible-commits] [debbindiff] 14/19: Convert PDF comparators to Command class

Jérémy Bobbio lunar at moszumanska.debian.org
Tue Mar 31 14:59:29 UTC 2015


This is an automated email from the git hooks/post-receive script.

lunar pushed a commit to branch pu/feed-diff
in repository debbindiff.

commit 5e1b29534f251bd465fa8cc0bf66e74ca0a1de2e
Author: Jérémy Bobbio <lunar at debian.org>
Date:   Mon Mar 30 17:18:49 2015 +0200

    Convert PDF comparators to Command class
---
 debbindiff/comparators/pdf.py | 35 ++++++++++++++---------------------
 1 file changed, 14 insertions(+), 21 deletions(-)

diff --git a/debbindiff/comparators/pdf.py b/debbindiff/comparators/pdf.py
index 32d82b4..81f5b3c 100644
--- a/debbindiff/comparators/pdf.py
+++ b/debbindiff/comparators/pdf.py
@@ -19,39 +19,32 @@
 
 import subprocess
 from debbindiff import tool_required
-from debbindiff.comparators.utils import binary_fallback
+from debbindiff.comparators.utils import binary_fallback, Command
 from debbindiff.difference import Difference, get_source
 
 
- at tool_required('pdftk')
-def uncompress(path):
-    output = subprocess.check_output(
-        ['pdftk', path, 'output', '-', 'uncompress'],
-        shell=False, close_fds=True)
-    return output.decode('latin-1')
+class Pdftotext(Command):
+    @tool_required('pdftotext')
+    def cmdline(self):
+        return ['pdftotext', self.path, '-']
 
 
- at tool_required('pdftotext')
-def pdftotext(path):
-    return subprocess.check_output(
-        ['pdftotext', path, '-'],
-        shell=False, close_fds=True).decode('utf-8')
+class Pdftk(Command):
+    @tool_required('pdftk')
+    def cmdline(self):
+        return ['pdftk', self.path, 'output', '-', 'uncompress']
+
+    def filter(self, line):
+        return line.decode('latin-1').encode('utf-8')
 
 
 @binary_fallback
 def compare_pdf_files(path1, path2, source=None):
     differences = []
-    src = get_source(path1, path2) or 'FILE'
-    text1 = pdftotext(path1)
-    text2 = pdftotext(path2)
-    difference = Difference.from_unicode(text1, text2, path1, path2,
-                                         source="pdftotext %s" % src)
+    difference = Difference.from_command(Pdftotext, path1, path2)
     if difference:
         differences.append(difference)
-    uncompressed1 = uncompress(path1)
-    uncompressed2 = uncompress(path2)
-    difference = Difference.from_unicode(uncompressed1, uncompressed2, path1, path2,
-                                         source="pdftk %s output - uncompress" % src)
+    difference = Difference.from_command(Pdftk, path1, path2)
     if difference:
         differences.append(difference)
     return differences

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/debbindiff.git



More information about the Reproducible-commits mailing list