[Reproducible-commits] [diffoscope] 05/09: Switch to io.StringIO and io.BytesIO

Jérémy Bobbio lunar at moszumanska.debian.org
Fri Sep 18 10:54:40 UTC 2015


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

lunar pushed a commit to branch master
in repository diffoscope.

commit 17a97aeececaaf5afccf8a18f6fbc05fd7a1c126
Author: Jérémy Bobbio <lunar at debian.org>
Date:   Fri Sep 18 12:46:01 2015 +0200

    Switch to io.StringIO and io.BytesIO
    
    The StringIO module is gone in Python 3:
    https://docs.python.org/3.5/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit
    
    Compared to the old StringIO module, the new classes make the difference between
    bytes and unicode strings. So we must use io.BytesIO when we are handling raw
    bytes.
---
 diffoscope/comparators/gettext.py | 4 ++--
 diffoscope/comparators/tar.py     | 4 ++--
 diffoscope/comparators/utils.py   | 2 +-
 diffoscope/difference.py          | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/diffoscope/comparators/gettext.py b/diffoscope/comparators/gettext.py
index 97a488e..2b890e9 100644
--- a/diffoscope/comparators/gettext.py
+++ b/diffoscope/comparators/gettext.py
@@ -17,8 +17,8 @@
 # You should have received a copy of the GNU General Public License
 # along with diffoscope.  If not, see <http://www.gnu.org/licenses/>.
 
+from io import BytesIO
 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
@@ -31,7 +31,7 @@ class Msgunfmt(Command):
 
     def __init__(self, *args, **kwargs):
         super(Msgunfmt, self).__init__(*args, **kwargs)
-        self._header = StringIO()
+        self._header = BytesIO()
         self._encoding = None
 
     @tool_required('msgunfmt')
diff --git a/diffoscope/comparators/tar.py b/diffoscope/comparators/tar.py
index f08adf9..19b025f 100644
--- a/diffoscope/comparators/tar.py
+++ b/diffoscope/comparators/tar.py
@@ -18,10 +18,10 @@
 # along with diffoscope.  If not, see <http://www.gnu.org/licenses/>.
 
 from contextlib import contextmanager
+from io import BytesIO
 import os.path
 import re
 import stat
-from StringIO import StringIO
 import sys
 import tarfile
 from diffoscope import logger
@@ -127,7 +127,7 @@ class TarContainer(Archive):
 
 def get_tar_listing(tar):
     orig_stdout = sys.stdout
-    output = StringIO()
+    output = BytesIO()
     try:
         sys.stdout = output
         tar.list(verbose=True)
diff --git a/diffoscope/comparators/utils.py b/diffoscope/comparators/utils.py
index 3b912cd..cf5dd02 100644
--- a/diffoscope/comparators/utils.py
+++ b/diffoscope/comparators/utils.py
@@ -19,12 +19,12 @@
 
 from abc import ABCMeta, abstractmethod
 from contextlib import contextmanager
+from io import StringIO
 from itertools import starmap
 # The following would be shutil.which in Python 3.3
 import os
 import shutil
 from stat import S_ISCHR, S_ISBLK
-from StringIO import StringIO
 import subprocess
 import tempfile
 from threading import Thread
diff --git a/diffoscope/difference.py b/diffoscope/difference.py
index 3a9bc14..4cb6d66 100644
--- a/diffoscope/difference.py
+++ b/diffoscope/difference.py
@@ -18,13 +18,13 @@
 # along with diffoscope.  If not, see <http://www.gnu.org/licenses/>.
 
 from contextlib import contextmanager
+from io import StringIO
 import os
 import os.path
 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

-- 
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