Page MenuHomePhabricator

interwiki.py script may raise a SectionError in page_empty_check
Closed, ResolvedPublic

Description

C:\pwb\GIT\core>py -3.13 -m pwb interwiki -site:minecraft:nl Alpha_1.0.1
Retrieving 1 pages from minecraft:nl.
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[ru:Alpha v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[en:Java Edition Alpha v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[zh:Java版Alpha v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[fr:Historique des versions Java/Alpha#1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[ko:자바 에디션 알파 v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[cs:Java edice Alpha v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[de:Versionen/Alpha#1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[tr:Java Edition Alpha v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[ja:Java Edition Alpha v1.0.1]]
[[nl:Alpha 1.0.1]]: [[nl:Alpha 1.0.1]] gives new interwiki [[pt:Edição Java Alpha v1.0.1]]
Retrieving 1 pages from minecraft:ru.
NOTE: [[ru:Alpha v1.0.1]] is redirect to [[ru:Alpha v1.0.1 (Java Edition)]]
[[nl:Alpha 1.0.1]]: [[ru:Alpha v1.0.1]] gives new redirect [[ru:Alpha v1.0.1 (Java Edition)]]
Retrieving 1 pages from minecraft:en.
[[nl:Alpha 1.0.1]]: [[en:Java Edition Alpha v1.0.1]] gives new interwiki [[es:Java Edition Alpha v1.0.1]]
NOTE: [[nl:Alpha 1.0.1]]: [[en:Java Edition Alpha v1.0.1]] gives duplicate interwiki on same site [[ko:Java Edition 알파 v1.0.1]]
Retrieving 2 pages from minecraft:ko.
NOTE: [[ko:자바 에디션 알파 v1.0.1]] is redirect to [[ko:Java Edition 알파 v1.0.1]]
Retrieving 1 pages from minecraft:zh.
Retrieving 1 pages from minecraft:fr.
ERROR: '1.0.1' is not a valid section of Historique des versions Java/Alpha
Traceback (most recent call last):
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 2383, in main
    bot.run()
    ~~~~~~~^^
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 2023, in run
    self.queryStep()
    ~~~~~~~~~~~~~~^^
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 2000, in queryStep
    self.oneQuery()
    ~~~~~~~~~~~~~^^
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 1995, in oneQuery
    subject.batchLoaded(self)
    ~~~~~~~~~~~~~~~~~~~^^^^^^
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 1279, in batchLoaded
    self.check_page(page, counter)
    ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 1132, in check_page
    if page_empty_check(page):
       ~~~~~~~~~~~~~~~~^^^^^^
  File "C:\pwb\GIT\core\scripts\interwiki.py", line 2111, in page_empty_check
    txt = page.text
          ^^^^^^^^^
  File "C:\pwb\GIT\core\pywikibot\page\_basepage.py", line 581, in text
    return self.get(get_redirect=True)
           ~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "C:\pwb\GIT\core\pywikibot\page\_basepage.py", line 396, in get
    raise SectionError(f'{page_section!r} is not a valid section '
                       f'of {self.title(with_section=False)}')
pywikibot.exceptions.SectionError: '1.0.1' is not a valid section of Historique des versions Java/AlphaDump nl (minecraft) appended.

Event Timeline

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

[pywikibot/core@master] [bugfix] Ignore SectionError in page_empty_check and count it as empty

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

Change #1167257 merged by jenkins-bot:

[pywikibot/core@master] [bugfix] Ignore SectionError in page_empty_check and count it as empty

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