Strainu created this task.
Strainu added a project: Pywikibot.
Restricted Application added subscribers: pywikibot-bugs-list, Aklapper.
TASK DESCRIPTION
**Sample code** (simplified):
user.mylang = 'ro'
user.family = 'wikipedia'
site = pywikibot.Site()
page = pywikibot.Page(site, result['page_title'])
pywikibot.output(page.title())
if page.exists() and page.isRedirectPage():
page = page.getRedirectTarget()
elif not page.exists():
pass # DO stuff
**Expected outcome:** get the redirect target or handle non-existent pages
**Actual outcome:**
Traceback (most recent call last):
File "pwb.py", line 420, in <module>
if not main():
File "pwb.py", line 415, in main
module)
File "pwb.py", line 113, in run_python_file
main_mod.__dict__)
File "./wikiro/robots/python/pywikipedia/localitati/create_shortcuts.py",
line 80, in <module>
main()
File "./wikiro/robots/python/pywikipedia/localitati/create_shortcuts.py",
line 64, in main
if page.exists() and page.isRedirectPage():
File "/home/andrei/pywikibot-core/pywikibot/page/__init__.py", line 717,
in exists
raise InvalidPageError(self)
Trying to debug, we add a print:
$ git diff pywikibot/page/__init__.py
diff --git a/pywikibot/page/__init__.py b/pywikibot/page/__init__.py
index ee06a0203..fa52faec5 100644
--- a/pywikibot/page/__init__.py
+++ b/pywikibot/page/__init__.py
@@ -714,6 +714,7 @@ class BasePage(ComparableMixin):
"""
with suppress(AttributeError):
return self.pageid > 0
+ print(self.pageid)
raise InvalidPageError(self)
@property
Sure enough, we had an AttributeError:
Traceback (most recent call last):
File "pwb.py", line 420, in <module>
if not main():
File "pwb.py", line 415, in main
module)
File "pwb.py", line 113, in run_python_file
main_mod.__dict__)
File "./wikiro/robots/python/pywikipedia/localitati/create_shortcuts.py",
line 80, in <module>
main()
File "./wikiro/robots/python/pywikipedia/localitati/create_shortcuts.py",
line 64, in main
if source_page.exists():
File "/home/andrei/pywikibot-core/pywikibot/page/__init__.py", line 717,
in exists
print(self.pageid)
File "/home/andrei/pywikibot-core/pywikibot/page/__init__.py", line 261,
in pageid
self.site.loadpageinfo(self)
File "/home/andrei/pywikibot-core/pywikibot/site/_apisite.py", line 1107,
in loadpageinfo
self._update_page(page, query)
File "/home/andrei/pywikibot-core/pywikibot/site/_apisite.py", line 1081,
in _update_page
for pageitem in query:
File "/home/andrei/pywikibot-core/pywikibot/data/api.py", line 2740, in
__iter__
yield from super().__iter__()
File "/home/andrei/pywikibot-core/pywikibot/data/api.py", line 2582, in
__iter__
prev_limit, new_limit, previous_result_had_data)
File "/home/andrei/pywikibot-core/pywikibot/data/api.py", line 2507, in
_handle_query_limit
self.request[self.prefix + 'limit'] = str(new_limit)
AttributeError: 'PropertyGenerator' object has no attribute 'prefix'
CRITICAL: Exiting due to uncaught exception <class 'AttributeError'>
**Pywikibot version**:
=== Pywikibot framework v7.0.0.dev0 -- Logging header ===
[80/1812]
COMMAND: ['pwb.py', '-v']
DATE: 2021-11-02 13:35:29.761891 UTC
VERSION: [https] r-pywikibot-core (28e31f9, g15398, 2021/09/21, 11:52:45,
n/a)
SYSTEM: <anonymized>
TASK DETAIL
https://phabricator.wikimedia.org/T294836
EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/
To: Strainu
Cc: Aklapper, pywikibot-bugs-list, Strainu, Jyoo1011, JohnsonLee01, SHEKH,
Dijkstra, Khutuck, Zkhalido, Viztor, Wenyi, Tbscho, MayS, Mdupont, JJMC89,
Dvorapa, Altostratus, Avicennasis, mys_721tx, jayvdb, Masti, Alchimista
_______________________________________________
pywikibot-bugs mailing list -- [email protected]
To unsubscribe send an email to [email protected]