- bsc#1067263 - virt-install: ERROR unicode argument expected, got

'str'
  virtinst-fix-replace-StringIO-with-io.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=377
This commit is contained in:
Charles Arnold 2017-11-08 21:26:19 +00:00 committed by Git OBS Bridge
parent ba698f40db
commit eb5d892eae
4 changed files with 56 additions and 30 deletions

View File

@ -10,10 +10,10 @@ Use either io.StringIO [2] for text or io.BytesIO [3] for bytes.
[2] https://docs.python.org/3/library/io.html#text-i-o [2] https://docs.python.org/3/library/io.html#text-i-o
[3] https://docs.python.org/3/library/io.html#binary-i-o [3] https://docs.python.org/3/library/io.html#binary-i-o
Index: virt-manager-1.4.3/tests/clitest.py diff --git a/tests/clitest.py b/tests/clitest.py
=================================================================== index bdc1b44..cf140a9 100644
--- virt-manager-1.4.3.orig/tests/clitest.py --- a/tests/clitest.py
+++ virt-manager-1.4.3/tests/clitest.py +++ b/tests/clitest.py
@@ -16,6 +16,7 @@ @@ -16,6 +16,7 @@
# MA 02110-1301 USA. # MA 02110-1301 USA.
@ -39,10 +39,10 @@ Index: virt-manager-1.4.3/tests/clitest.py
sys.stdout = out sys.stdout = out
sys.stderr = out sys.stderr = out
sys.argv = self.argv sys.argv = self.argv
Index: virt-manager-1.4.3/tests/virtconvtest.py diff --git a/tests/virtconvtest.py b/tests/virtconvtest.py
=================================================================== index f804883..3afb392 100644
--- virt-manager-1.4.3.orig/tests/virtconvtest.py --- a/tests/virtconvtest.py
+++ virt-manager-1.4.3/tests/virtconvtest.py +++ b/tests/virtconvtest.py
@@ -18,8 +18,8 @@ @@ -18,8 +18,8 @@
from __future__ import print_function from __future__ import print_function
@ -62,10 +62,10 @@ Index: virt-manager-1.4.3/tests/virtconvtest.py
def print_cb(msg): def print_cb(msg):
print(msg, file=outbuf) print(msg, file=outbuf)
Index: virt-manager-1.4.3/virtManager/create.py diff --git a/virtManager/create.py b/virtManager/create.py
=================================================================== index 8b4d75d..5629396 100644
--- virt-manager-1.4.3.orig/virtManager/create.py --- a/virtManager/create.py
+++ virt-manager-1.4.3/virtManager/create.py +++ b/virtManager/create.py
@@ -18,10 +18,10 @@ @@ -18,10 +18,10 @@
# MA 02110-1301 USA. # MA 02110-1301 USA.
# #
@ -87,10 +87,10 @@ Index: virt-manager-1.4.3/virtManager/create.py
# Get virt-bootstrap logger # Get virt-bootstrap logger
vbLogger = logging.getLogger('virtBootstrap') vbLogger = logging.getLogger('virtBootstrap')
Index: virt-manager-1.4.3/virtManager/snapshots.py diff --git a/virtManager/snapshots.py b/virtManager/snapshots.py
=================================================================== index eeb1a9f..0d905e3 100644
--- virt-manager-1.4.3.orig/virtManager/snapshots.py --- a/virtManager/snapshots.py
+++ virt-manager-1.4.3/virtManager/snapshots.py +++ b/virtManager/snapshots.py
@@ -20,9 +20,9 @@ @@ -20,9 +20,9 @@
import datetime import datetime
@ -111,10 +111,10 @@ Index: virt-manager-1.4.3/virtManager/snapshots.py
def _write_cb(_stream, data, userdata): def _write_cb(_stream, data, userdata):
ignore = stream ignore = stream
ignore = userdata ignore = userdata
Index: virt-manager-1.4.3/virtinst/urlfetcher.py diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py
=================================================================== index c57c9e1..ebc5c7a 100644
--- virt-manager-1.4.3.orig/virtinst/urlfetcher.py --- a/virtinst/urlfetcher.py
+++ virt-manager-1.4.3/virtinst/urlfetcher.py +++ b/virtinst/urlfetcher.py
@@ -21,11 +21,11 @@ @@ -21,11 +21,11 @@
import ConfigParser import ConfigParser
@ -128,16 +128,7 @@ Index: virt-manager-1.4.3/virtinst/urlfetcher.py
import subprocess import subprocess
import tempfile import tempfile
import urllib2 import urllib2
@@ -104,6 +104,8 @@ class _URLFetcher(object): @@ -169,7 +169,7 @@ class _URLFetcher(object):
buff = urlobj.read(self._block_size)
if not buff:
break
+ if isinstance(fileobj, io.StringIO) and type(buff) is str:
+ buff = unicode(buff)
fileobj.write(buff)
total += len(buff)
self.meter.update(total)
@@ -169,7 +171,7 @@ class _URLFetcher(object):
""" """
Grab the passed filename from self.location and return it as a string Grab the passed filename from self.location and return it as a string
""" """

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Wed Nov 8 13:59:11 MST 2017 - carnold@suse.com
- bsc#1067263 - virt-install: ERROR unicode argument expected, got
'str'
virtinst-fix-replace-StringIO-with-io.patch
------------------------------------------------------------------- -------------------------------------------------------------------
Fri Oct 27 14:19:35 MDT 2017 - carnold@suse.com Fri Oct 27 14:19:35 MDT 2017 - carnold@suse.com

View File

@ -111,6 +111,7 @@ Patch166: virtinst-check-date-format.patch
Patch167: virtinst-no-usb-tablet-for-xenpv.patch Patch167: virtinst-no-usb-tablet-for-xenpv.patch
Patch168: virtinst-add-sle15-detection-support.patch Patch168: virtinst-add-sle15-detection-support.patch
Patch169: virtinst-keep-install-iso-attached.patch Patch169: virtinst-keep-install-iso-attached.patch
Patch170: virtinst-fix-replace-StringIO-with-io.patch
BuildArch: noarch BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -267,6 +268,7 @@ machine).
%patch167 -p1 %patch167 -p1
%patch168 -p1 %patch168 -p1
%patch169 -p1 %patch169 -p1
%patch170 -p1
%build %build
%if %{qemu_user} %if %{qemu_user}

View File

@ -0,0 +1,26 @@
Commit 75210ed37c0c5de569de73e04488808a2521a011 changed the file
object type such that the write method requires a unicode value
instead of a string. This is a follow-up patch to that commmit.
Index: virt-manager-1.4.3/virtinst/urlfetcher.py
===================================================================
--- virt-manager-1.4.3.orig/virtinst/urlfetcher.py
+++ virt-manager-1.4.3/virtinst/urlfetcher.py
@@ -105,6 +105,8 @@ class _URLFetcher(object):
buff = urlobj.read(self._block_size)
if not buff:
break
+ if isinstance(fileobj, io.StringIO) and type(buff) is str:
+ buff = unicode(buff)
fileobj.write(buff)
total += len(buff)
self.meter.update(total)
@@ -207,6 +209,8 @@ class _HTTPURLFetcher(_URLFetcher):
"""
total = 0
for data in urlobj.iter_content(chunk_size=self._block_size):
+ if isinstance(fileobj, io.StringIO) and type(data) is str:
+ data = unicode(data)
fileobj.write(data)
total += len(data)
self.meter.update(total)