Page MenuHomePhabricator

AttributeError occurs in api_tests.TestPropertyGenerator.test_two_continuations_limited
Open, MediumPublicBUG REPORT

Description

What happens?:

07:27:24 ======================================================================
07:27:24 ERROR: test_two_continuations_limited (tests.api_tests.TestPropertyGenerator)
07:27:24 Test PropertyGenerator with many limited props and continuations.
07:27:24 ----------------------------------------------------------------------
07:27:24 Traceback (most recent call last):
07:27:24   File "/src/.tox/deeptest-py36/lib/python3.6/site-packages/requests/models.py", line 910, in json
07:27:24     return complexjson.loads(self.text, **kwargs)
07:27:24   File "/usr/lib/python3.6/json/__init__.py", line 354, in loads
07:27:24     return _default_decoder.decode(s)
07:27:24   File "/usr/lib/python3.6/json/decoder.py", line 339, in decode
07:27:24     obj, end = self.raw_decode(s, idx=_w(s, 0).end())
07:27:24   File "/usr/lib/python3.6/json/decoder.py", line 357, in raw_decode
07:27:24     raise JSONDecodeError("Expecting value", s, err.value) from None
07:27:24 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
07:27:24 
07:27:24 During handling of the above exception, another exception occurred:
07:27:24 
07:27:24 Traceback (most recent call last):
07:27:24   File "/src/pywikibot/data/api/_requests.py", line 718, in _json_loads
07:27:24     result = response.json()
07:27:24   File "/src/.tox/deeptest-py36/lib/python3.6/site-packages/requests/models.py", line 917, in json
07:27:24     raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
07:27:24 requests.exceptions.JSONDecodeError: [Errno Expecting value] upstream connect error or disconnect/reset before headers. reset reason: connection termination: 0
07:27:24 
07:27:24 During handling of the above exception, another exception occurred:
07:27:24 
07:27:24 Traceback (most recent call last):
07:27:24   File "/src/tests/api_tests.py", line 622, in test_two_continuations_limited
07:27:24     for count, pagedata in enumerate(gen, start=1):
07:27:24   File "/src/pywikibot/data/api/_generators.py", line 739, in __iter__
07:27:24     yield from super().__iter__()
07:27:24   File "/src/pywikibot/data/api/_generators.py", line 578, in __iter__
07:27:24     self.data = self.request.submit()
07:27:24   File "/src/pywikibot/data/api/_requests.py", line 994, in submit
07:27:24     result = self._json_loads(response)
07:27:24   File "/src/pywikibot/data/api/_requests.py", line 748, in _json_loads
07:27:24     if value.isdigit():
07:27:24 AttributeError: 'int' object has no attribute 'isdigit'

Software version:
Pywikibot 7.4 or earlier

Event Timeline

Xqt triaged this task as Medium priority.Jun 25 2022, 6:54 PM

Change 808407 had a related patch set uploaded (by Xqt; author: Xqt):

[pywikibot/core@master] [bugfix] Check whether value is an int in Request._json_loads()

https://gerrit.wikimedia.org/r/808407