parent
191f0c6fdf
commit
9178cf7597
@ -1,48 +0,0 @@
|
|||||||
From e7a01334f653661c657d4c4e6e1ad10aababfb5b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Pavel Raiskup <praiskup@redhat.com>
|
|
||||||
Date: Sun, 12 May 2019 08:54:01 +0200
|
|
||||||
Subject: [PATCH] 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
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1,40 +0,0 @@
|
|||||||
From 7607b9f408b71b6533ca4f8e8808090a5b930555 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Domonkos <mdomonko@redhat.com>
|
|
||||||
Date: Mon, 20 May 2019 15:06:38 +0200
|
|
||||||
Subject: [PATCH 2/4] Revert "Simplify mirror conversion to utf8"
|
|
||||||
|
|
||||||
This reverts commit be8ee10e35319e80200d4ff384434d46fe7783d9.
|
|
||||||
|
|
||||||
A list of dicts (as opposed to strings) is valid input as well; see the
|
|
||||||
module-level doc string for details (section 2 under CUSTOMIZATION). In
|
|
||||||
fact, the nested estimate() function in MirrorGroup.__init__() accounts
|
|
||||||
for that, too.
|
|
||||||
|
|
||||||
This fixes a traceback in YUM which does pass such a dict list.
|
|
||||||
|
|
||||||
Closes #10.
|
|
||||||
---
|
|
||||||
urlgrabber/mirror.py | 7 ++++++-
|
|
||||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/urlgrabber/mirror.py b/urlgrabber/mirror.py
|
|
||||||
index 75f0bcb..d95863e 100644
|
|
||||||
--- a/urlgrabber/mirror.py
|
|
||||||
+++ b/urlgrabber/mirror.py
|
|
||||||
@@ -297,7 +297,12 @@ class MirrorGroup:
|
|
||||||
self.default_action = kwargs.get('default_action')
|
|
||||||
|
|
||||||
def _parse_mirrors(self, mirrors):
|
|
||||||
- return [{'mirror':_to_utf8(m)} for m in mirrors]
|
|
||||||
+ parsed_mirrors = []
|
|
||||||
+ for m in mirrors:
|
|
||||||
+ if isinstance(m, string_types):
|
|
||||||
+ m = {'mirror': _to_utf8(m)}
|
|
||||||
+ parsed_mirrors.append(m)
|
|
||||||
+ return parsed_mirrors
|
|
||||||
|
|
||||||
def _load_gr(self, gr):
|
|
||||||
# OVERRIDE IDEAS:
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1,56 +0,0 @@
|
|||||||
From c696255c5f50341688d718b3547efb1a9971927b Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Domonkos <mdomonko@redhat.com>
|
|
||||||
Date: Tue, 21 May 2019 11:12:12 +0200
|
|
||||||
Subject: [PATCH 3/4] urlgrabber-ext-down: convert url into bytes
|
|
||||||
|
|
||||||
We need to convert the parsed url back into bytes before passing it to
|
|
||||||
the PyCurlFileObject constructor (since _set_opts() expects self.scheme,
|
|
||||||
constructed from the url, to be a bytes object).
|
|
||||||
|
|
||||||
This caused the unit test "bypassing proxy cache on failure" to fail
|
|
||||||
(together with a bug in the test itself which is also being fixed here).
|
|
||||||
|
|
||||||
Closes #14.
|
|
||||||
---
|
|
||||||
scripts/urlgrabber-ext-down | 4 ++--
|
|
||||||
test/test_mirror.py | 2 +-
|
|
||||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/scripts/urlgrabber-ext-down b/scripts/urlgrabber-ext-down
|
|
||||||
index 13d6dc7..40469a7 100755
|
|
||||||
--- a/scripts/urlgrabber-ext-down
|
|
||||||
+++ b/scripts/urlgrabber-ext-down
|
|
||||||
@@ -22,7 +22,7 @@ import time, os, errno, sys
|
|
||||||
import six
|
|
||||||
from urlgrabber.grabber import \
|
|
||||||
_readlines, URLGrabberOptions, _loads, \
|
|
||||||
- PyCurlFileObject, URLGrabError
|
|
||||||
+ PyCurlFileObject, URLGrabError, _to_utf8
|
|
||||||
|
|
||||||
def write(fmt, *arg):
|
|
||||||
buf = fmt % arg
|
|
||||||
@@ -65,7 +65,7 @@ def main():
|
|
||||||
|
|
||||||
dlsz = dltm = 0
|
|
||||||
try:
|
|
||||||
- fo = PyCurlFileObject(opts.url, opts.filename, opts)
|
|
||||||
+ fo = PyCurlFileObject(_to_utf8(opts.url), opts.filename, opts)
|
|
||||||
fo._do_grab()
|
|
||||||
fo.fo.close()
|
|
||||||
size = fo._amount_read
|
|
||||||
diff --git a/test/test_mirror.py b/test/test_mirror.py
|
|
||||||
index a2daf19..66cafd0 100644
|
|
||||||
--- a/test/test_mirror.py
|
|
||||||
+++ b/test/test_mirror.py
|
|
||||||
@@ -350,7 +350,7 @@ class HttpReplyCode(TestCase):
|
|
||||||
self.content = b'version1'
|
|
||||||
|
|
||||||
def checkfunc_read(obj):
|
|
||||||
- if obj.data == 'version1':
|
|
||||||
+ if obj.data == b'version1':
|
|
||||||
raise URLGrabError(-1, 'Outdated version of foo')
|
|
||||||
|
|
||||||
def checkfunc_grab(obj):
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
|||||||
From 2bdf588a20ee9d9175fb27a819d479284b7e5079 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Michal Domonkos <mdomonko@redhat.com>
|
|
||||||
Date: Tue, 21 May 2019 14:36:36 +0200
|
|
||||||
Subject: [PATCH 4/4] test: handle unknown file content in test_retry_no_cache
|
|
||||||
|
|
||||||
---
|
|
||||||
test/test_mirror.py | 7 ++++++-
|
|
||||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/test/test_mirror.py b/test/test_mirror.py
|
|
||||||
index 66cafd0..a175977 100644
|
|
||||||
--- a/test/test_mirror.py
|
|
||||||
+++ b/test/test_mirror.py
|
|
||||||
@@ -352,11 +352,16 @@ class HttpReplyCode(TestCase):
|
|
||||||
def checkfunc_read(obj):
|
|
||||||
if obj.data == b'version1':
|
|
||||||
raise URLGrabError(-1, 'Outdated version of foo')
|
|
||||||
+ elif obj.data != b'version2':
|
|
||||||
+ self.fail('Unexpected file content')
|
|
||||||
|
|
||||||
def checkfunc_grab(obj):
|
|
||||||
with open('foo') as f:
|
|
||||||
- if f.read() == 'version1':
|
|
||||||
+ data = f.read()
|
|
||||||
+ if data == 'version1':
|
|
||||||
raise URLGrabError(-1, 'Outdated version of foo')
|
|
||||||
+ elif data != 'version2':
|
|
||||||
+ self.fail('Unexpected file content')
|
|
||||||
|
|
||||||
self.process = process
|
|
||||||
self.reply = 200, b'OK'
|
|
||||||
--
|
|
||||||
2.21.0
|
|
||||||
|
|
@ -1 +1 @@
|
|||||||
SHA512 (urlgrabber-4.0.0.tar.gz) = 01579281b1548c71737166daa6dfb7eaafceaf4afd9703f8e5e3193c33613750cb4291e3c7939065e995a173925965a16e656c43324f3b599f9c83d9e479e8c1
|
SHA512 (urlgrabber-4.1.0.tar.gz) = ab2e2707eb45cf460e2d7cebb0669ea1d20d9edc33ba526c19961314b76a3d8dd2bd932627c17756eac773e2f8bc63e8c9bba35a26487fc50735066c6404611a
|
||||||
|
Loading…
Reference in new issue