Merge ~cjwatson/launchpad:py3-tarfile-bytesio into launchpad:master

Proposed by Colin Watson
Status: Merged
Approved by: Colin Watson
Approved revision: 392516606cae640f99ecf1e28becca2905e5b000
Merge reported by: Otto Co-Pilot
Merged at revision: not available
Proposed branch: ~cjwatson/launchpad:py3-tarfile-bytesio
Merge into: launchpad:master
Diff against target: 49 lines (+5/-5)
2 files modified
lib/lp/translations/scripts/tests/test_reupload_translations.py (+3/-3)
lib/lp/translations/utilities/tests/test_export_file_storage.py (+2/-2)
Reviewer Review Type Date Requested Status
Cristian Gonzalez (community) Approve
Review via email: mp+398635@code.launchpad.net

Commit message

Use io.BytesIO when dealing with tarfiles

To post a comment you must log in.
Revision history for this message
Cristian Gonzalez (cristiangsp) wrote :

Looks good!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/lib/lp/translations/scripts/tests/test_reupload_translations.py b/lib/lp/translations/scripts/tests/test_reupload_translations.py
index a802b42..c17224f 100644
--- a/lib/lp/translations/scripts/tests/test_reupload_translations.py
+++ b/lib/lp/translations/scripts/tests/test_reupload_translations.py
@@ -7,8 +7,8 @@
77
8__metaclass__ = type8__metaclass__ = type
99
10import io
10import re11import re
11from StringIO import StringIO
12import tarfile12import tarfile
1313
14import six14import six
@@ -60,10 +60,10 @@ def upload_tarball(translation_files):
60 :param translation_files: A dict mapping filenames to file contents.60 :param translation_files: A dict mapping filenames to file contents.
61 :return: A `LibraryFileAlias`.61 :return: A `LibraryFileAlias`.
62 """62 """
63 buf = StringIO()63 buf = io.BytesIO()
64 tarball = tarfile.open('', 'w:gz', buf)64 tarball = tarfile.open('', 'w:gz', buf)
65 for name, contents in six.iteritems(translation_files):65 for name, contents in six.iteritems(translation_files):
66 pseudofile = StringIO(contents)66 pseudofile = io.BytesIO(contents)
67 tarinfo = tarfile.TarInfo()67 tarinfo = tarfile.TarInfo()
68 tarinfo.name = name68 tarinfo.name = name
69 tarinfo.size = len(contents)69 tarinfo.size = len(contents)
diff --git a/lib/lp/translations/utilities/tests/test_export_file_storage.py b/lib/lp/translations/utilities/tests/test_export_file_storage.py
index 0cf05df..77d088f 100644
--- a/lib/lp/translations/utilities/tests/test_export_file_storage.py
+++ b/lib/lp/translations/utilities/tests/test_export_file_storage.py
@@ -5,7 +5,7 @@
55
6__metaclass__ = type6__metaclass__ = type
77
8from cStringIO import StringIO8import io
9from tarfile import TarFile9from tarfile import TarFile
10import unittest10import unittest
1111
@@ -64,7 +64,7 @@ class ExportFileStorageTestCase(unittest.TestCase):
64 storage.addFile(64 storage.addFile(
65 '/tmp/another/test.po', 'po', b'another test file', mime)65 '/tmp/another/test.po', 'po', b'another test file', mime)
66 outfile = storage.export()66 outfile = storage.export()
67 tarball = TarFile.open(mode='r|gz', fileobj=StringIO(outfile.read()))67 tarball = TarFile.open(mode='r|gz', fileobj=io.BytesIO(outfile.read()))
68 elements = set(tarball.getnames())68 elements = set(tarball.getnames())
69 self.assertTrue('/tmp/a/test/file.po' in elements)69 self.assertTrue('/tmp/a/test/file.po' in elements)
70 self.assertTrue('/tmp/another/test.po' in elements)70 self.assertTrue('/tmp/another/test.po' in elements)

Subscribers

People subscribed via source and target branches

to status/vote changes: