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
1diff --git a/lib/lp/translations/scripts/tests/test_reupload_translations.py b/lib/lp/translations/scripts/tests/test_reupload_translations.py
2index a802b42..c17224f 100644
3--- a/lib/lp/translations/scripts/tests/test_reupload_translations.py
4+++ b/lib/lp/translations/scripts/tests/test_reupload_translations.py
5@@ -7,8 +7,8 @@
6
7 __metaclass__ = type
8
9+import io
10 import re
11-from StringIO import StringIO
12 import tarfile
13
14 import six
15@@ -60,10 +60,10 @@ def upload_tarball(translation_files):
16 :param translation_files: A dict mapping filenames to file contents.
17 :return: A `LibraryFileAlias`.
18 """
19- buf = StringIO()
20+ buf = io.BytesIO()
21 tarball = tarfile.open('', 'w:gz', buf)
22 for name, contents in six.iteritems(translation_files):
23- pseudofile = StringIO(contents)
24+ pseudofile = io.BytesIO(contents)
25 tarinfo = tarfile.TarInfo()
26 tarinfo.name = name
27 tarinfo.size = len(contents)
28diff --git a/lib/lp/translations/utilities/tests/test_export_file_storage.py b/lib/lp/translations/utilities/tests/test_export_file_storage.py
29index 0cf05df..77d088f 100644
30--- a/lib/lp/translations/utilities/tests/test_export_file_storage.py
31+++ b/lib/lp/translations/utilities/tests/test_export_file_storage.py
32@@ -5,7 +5,7 @@
33
34 __metaclass__ = type
35
36-from cStringIO import StringIO
37+import io
38 from tarfile import TarFile
39 import unittest
40
41@@ -64,7 +64,7 @@ class ExportFileStorageTestCase(unittest.TestCase):
42 storage.addFile(
43 '/tmp/another/test.po', 'po', b'another test file', mime)
44 outfile = storage.export()
45- tarball = TarFile.open(mode='r|gz', fileobj=StringIO(outfile.read()))
46+ tarball = TarFile.open(mode='r|gz', fileobj=io.BytesIO(outfile.read()))
47 elements = set(tarball.getnames())
48 self.assertTrue('/tmp/a/test/file.po' in elements)
49 self.assertTrue('/tmp/another/test.po' in elements)

Subscribers

People subscribed via source and target branches

to status/vote changes: