-
Notifications
You must be signed in to change notification settings - Fork 218
Open
Description
See
def _request_is_redirected(self, request): |
def _request_is_redirected(self, request):
return request.meta.get(b'redirect_times', 0) > 0
^^ in Python 2 this is the same as checking for 'redirect_times' key, but in Python 3 b'redirect_times' != 'redirect_times', so this condition won't work with Scrapy's redirect middlewares in Python 3.
Tests are not catching that because in scheduler tests scrapy.Request objects are created with bytes keys in meta:
frontera/tests/test_frontera_scheduler.py
Line 20 in d91e056
rr1 = Request('http://www.example.com', meta={b'redirect_times': 1}) |
str
, i.e. bytes in Python 2 and uncode in Python 3) as meta keys.Metadata
Metadata
Assignees
Labels
No labels