[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/6] docker: Use BytesIO instead of StringIO
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PATCH 1/6] docker: Use BytesIO instead of StringIO |
Date: |
Tue, 26 Jun 2018 23:14:18 -0300 |
The file passed as argument to TarFile.addfile() must be a binary
file, so BytesIO is more appropriate than StringIO.
This is necessary to make the code work on Python 3.
Signed-off-by: Eduardo Habkost <address@hidden>
---
tests/docker/docker.py | 15 ++++++---------
1 file changed, 6 insertions(+), 9 deletions(-)
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 8e13f18e6c..0de7662146 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -24,10 +24,7 @@ import tempfile
import re
import signal
from tarfile import TarFile, TarInfo
-try:
- from StringIO import StringIO
-except ImportError:
- from io import StringIO
+from io import BytesIO
from shutil import copy, rmtree
from pwd import getpwuid
from datetime import datetime,timedelta
@@ -372,13 +369,13 @@ class UpdateCommand(SubCommand):
tmp_tar.add(os.path.realpath(l), arcname=l)
# Create a Docker buildfile
- df = StringIO()
- df.write("FROM %s\n" % args.tag)
- df.write("ADD . /\n")
- df.seek(0)
+ df = BytesIO()
+ df.write(b"FROM %s\n" % args.tag.encode())
+ df.write(b"ADD . /\n")
df_tar = TarInfo(name="Dockerfile")
- df_tar.size = len(df.buf)
+ df_tar.size = df.tell()
+ df.seek(0)
tmp_tar.addfile(df_tar, fileobj=df)
tmp_tar.close()
--
2.18.0.rc1.1.g3f1ff2140
- [Qemu-devel] [PATCH 0/6] docker: Port to Python 3, Eduardo Habkost, 2018/06/26
- [Qemu-devel] [PATCH 1/6] docker: Use BytesIO instead of StringIO,
Eduardo Habkost <=
- [Qemu-devel] [PATCH 2/6] docker: Always return int on run(), Eduardo Habkost, 2018/06/26
- [Qemu-devel] [PATCH 3/6] docker: Add type annotations, Eduardo Habkost, 2018/06/26
- [Qemu-devel] [PATCH 4/6] docker: Use os.environ.items() instead of .iteritems(), Eduardo Habkost, 2018/06/26
- [Qemu-devel] [PATCH 5/6] docker: Make _get_so_libs() work on Python 3, Eduardo Habkost, 2018/06/26
- [Qemu-devel] [PATCH 6/6] docker: Open dockerfiles in text mode, Eduardo Habkost, 2018/06/26