From 00fe99d7142c555aa76015d98835cef1e8018ef7 Mon Sep 17 00:00:00 2001 From: Pavel Raiskup Date: Sun, 12 May 2019 08:54:01 +0200 Subject: urlgrabber-ext-down: another python 3 compat Expect that _readlines() returns array of bytes objects in Python 3 environments. Fixes rhbz #1707657 and #1688173 --- scripts/urlgrabber-ext-down | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/urlgrabber-ext-down b/scripts/urlgrabber-ext-down index bbaebd5..13d6dc7 100755 --- a/scripts/urlgrabber-ext-down +++ b/scripts/urlgrabber-ext-down @@ -19,12 +19,17 @@ # Boston, MA 02111-1307 USA import time, os, errno, sys +import six from urlgrabber.grabber import \ _readlines, URLGrabberOptions, _loads, \ PyCurlFileObject, URLGrabError def write(fmt, *arg): - try: os.write(1, fmt % arg) + buf = fmt % arg + if six.PY3: + buf = buf.encode() + try: + os.write(1, buf) except OSError as e: if e.args[0] != errno.EPIPE: raise sys.exit(1) @@ -46,6 +51,8 @@ def main(): lines = _readlines(0) if not lines: break for line in lines: + if not isinstance(line, six.string_types): + line = line.decode('utf-8') cnt += 1 opts = URLGrabberOptions() opts._id = cnt -- cgit v1.2.1