[Reproducible-commits] [diffoscope] 01/01: first step towards py3 support

Mattia Rizzolo mattia at mapreri.org
Thu Sep 17 10:35:03 UTC 2015


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

mapreri-guest pushed a commit to branch py3
in repository diffoscope.

commit 081008bf5f35b1f443d3059f89e3674b91046f40
Author: Mattia Rizzolo <mattia at mapreri.org>
Date:   Wed Sep 16 20:15:39 2015 +0000

    first step towards py3 support
---
 diffoscope/changes.py             | 2 +-
 diffoscope/comparators/binary.py  | 5 +++--
 diffoscope/comparators/gettext.py | 5 ++++-
 diffoscope/comparators/rpm.py     | 2 +-
 diffoscope/comparators/tar.py     | 6 +++++-
 diffoscope/comparators/utils.py   | 5 ++++-
 diffoscope/difference.py          | 7 +++++--
 7 files changed, 23 insertions(+), 9 deletions(-)

diff --git a/diffoscope/changes.py b/diffoscope/changes.py
index e9afa7d..1459176 100644
--- a/diffoscope/changes.py
+++ b/diffoscope/changes.py
@@ -257,7 +257,7 @@ class Changes(object):
              self.get_changes_file()],
             shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
         gpg_output, gpg_output_stderr = pipe.communicate()
-        print gpg_output
+        print(gpg_output)
 
         if pipe.returncode != 0:
             raise ChangesFileException(
diff --git a/diffoscope/comparators/binary.py b/diffoscope/comparators/binary.py
index 3c8844a..bda1b59 100644
--- a/diffoscope/comparators/binary.py
+++ b/diffoscope/comparators/binary.py
@@ -162,8 +162,9 @@ class File(object):
         my_size = os.path.getsize(self.path)
         other_size = os.path.getsize(other.path)
         if my_size == other_size and my_size <= SMALL_FILE_THRESHOLD:
-            if file(self.path).read() == file(other.path).read():
-                return True
+            with open(self.path) as one, open(other.path) as two:
+                if one.read() == two.read():
+                    return True
 
         return 0 == subprocess.call(['cmp', '--silent', self.path, other.path],
                                     shell=False, close_fds=True)
diff --git a/diffoscope/comparators/gettext.py b/diffoscope/comparators/gettext.py
index 97a488e..7ad83aa 100644
--- a/diffoscope/comparators/gettext.py
+++ b/diffoscope/comparators/gettext.py
@@ -18,12 +18,15 @@
 # along with diffoscope.  If not, see <http://www.gnu.org/licenses/>.
 
 import re
-from StringIO import StringIO
 from diffoscope import tool_required
 from diffoscope.comparators.binary import File, needs_content
 from diffoscope.comparators.utils import Command
 from diffoscope.difference import Difference
 from diffoscope import logger
+try:  # py2
+    from StringIO import StringIO
+except ImportError:  # py3
+    from io import StringIO
 
 
 class Msgunfmt(Command):
diff --git a/diffoscope/comparators/rpm.py b/diffoscope/comparators/rpm.py
index 4627a47..1330eae 100644
--- a/diffoscope/comparators/rpm.py
+++ b/diffoscope/comparators/rpm.py
@@ -33,7 +33,7 @@ def get_rpm_header(path, ts):
     with open(path, 'r') as f:
         try:
             hdr = ts.hdrFromFdno(f)
-        except rpm.error, e:
+        except rpm.error as e:
             logger.error("reading rpm header failed: %s", str(e))
             return str(e)
         for rpmtag in sorted(rpm.tagnames):
diff --git a/diffoscope/comparators/tar.py b/diffoscope/comparators/tar.py
index f08adf9..2c8c853 100644
--- a/diffoscope/comparators/tar.py
+++ b/diffoscope/comparators/tar.py
@@ -21,7 +21,6 @@ from contextlib import contextmanager
 import os.path
 import re
 import stat
-from StringIO import StringIO
 import sys
 import tarfile
 from diffoscope import logger
@@ -31,6 +30,11 @@ from diffoscope.comparators.device import Device
 from diffoscope.comparators.directory import Directory
 from diffoscope.comparators.symlink import Symlink
 from diffoscope.comparators.utils import Archive, ArchiveMember
+try:  # py2
+    from StringIO import StringIO
+except ImportError:  # py3
+    from io import StringIO
+
 
 class TarMember(ArchiveMember):
     def is_directory(self):
diff --git a/diffoscope/comparators/utils.py b/diffoscope/comparators/utils.py
index 6ff1162..01a5853 100644
--- a/diffoscope/comparators/utils.py
+++ b/diffoscope/comparators/utils.py
@@ -23,7 +23,6 @@ from contextlib import contextmanager
 import os
 import shutil
 from stat import S_ISCHR, S_ISBLK
-from StringIO import StringIO
 import subprocess
 import tempfile
 from threading import Thread
@@ -32,6 +31,10 @@ from diffoscope.comparators.binary import File, NonExistingFile
 from diffoscope.config import Config
 from diffoscope.difference import Difference
 from diffoscope import logger, tool_required
+try:  # py2
+    from StringIO import StringIO
+except ImportError:  # py3
+    from io import StringIO
 
 
 @contextmanager
diff --git a/diffoscope/difference.py b/diffoscope/difference.py
index e1b2a9a..49435a0 100644
--- a/diffoscope/difference.py
+++ b/diffoscope/difference.py
@@ -24,11 +24,14 @@ import re
 import subprocess
 import sys
 import traceback
-from StringIO import StringIO
 from threading import Thread
 from multiprocessing import Queue
 from diffoscope.config import Config
 from diffoscope import logger, tool_required, RequiredToolNotFound
+try:  # py2
+    from StringIO import StringIO
+except ImportError:  # py3
+    from io import StringIO
 
 
 class DiffParser(object):
@@ -185,7 +188,7 @@ class ExThread(Thread):
             logger.debug('Traceback:')
             for line in traceback.format_list(tb):
                 logger.debug(line[:-1])
-            raise except_type, except_class, None
+            raise except_type(except_class)
 
 
 def feed(feeder, f, end_nl_q):

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



More information about the Reproducible-commits mailing list