[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