https://bugzilla.wikimedia.org/show_bug.cgi?id=72344
Bug ID: 72344
Summary: Page.previousRevision exception
Product: Pywikibot
Version: core (2.0)
Hardware: All
OS: All
Status: NEW
Severity: critical
Priority: Unprioritized
Component: General
Assignee: [email protected]
Reporter: [email protected]
Web browser: ---
Mobile Platform: ---
Page.previousRevision assumes many revisions are loaded by
Page.getVersionHistory.
$ python pwb.py shell
Welcome to the Pywikibot interactive shell!
>>> import pywikibot
>>> s = pywikibot.Site('en', 'wikipedia')
>>> p = pywikibot.Page(s, 'Main Page')
>>> p.previousRevision()
Traceback (most recent call last):
File "<console>", line 1, in <module>
File ".../pywikibot/page.py", line 550, in previousRevision
revkey = sorted(self._revisions, reverse=True)[1]
IndexError: list index out of range
Page.getVersionHistory loads all revisions only if total is not set, but if
total is set, it only fetches one revision.
>>> p = pywikibot.Page(s, 'Main Page')
>>> p.getVersionHistory()
[(615503846, Timestamp(2014, 7, 4, 0, 24, 48), u'Magioladitis', u'Reverted
edits by [[Special:Contribs/Magioladitis|Magioladitis]] ([[User
talk:Magioladitis|talk]]) to last version by David Levy')]
>>> p.getVersionHistory(total=2)
[(615503846, Timestamp(2014, 7, 4, 0, 24, 48), u'Magioladitis', u'Reverted
edits by [[Special:Contribs/Magioladitis|Magioladitis]] ([[User
talk:Magioladitis|talk]]) to last version by David Levy')]
This change occurred in 2009
http://git.wikimedia.org/commit/pywikibot%2Fcore.git/1946dc13
It can be seen by only running this single test method:
python -m unittest -v tests.page_tests.TestPageObject.testApiMethods
--
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l