Dvorapa created this task.
Dvorapa added a project: Pywikibot.
Restricted Application added subscribers: pywikibot-bugs-list, Aklapper.

TASK DESCRIPTION

Steps to reproduce

$ python pwb.py shell
>>> s=pywikibot.Site('cs')
>>> l='voy:Main page'
>>> p=pywikibot.Page(s, l)
>>> p.exists()
Traceback (most recent call last):
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5639, in parse
    newsite = self._site.interwiki(prefix)
  File "/home/pavel/pywikibot/pywikibot/site.py", line 977, in interwiki
    return self._interwikimap[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 723, in __getitem__
    raise self._iw_sites[prefix].site
  File "/home/pavel/pywikibot/pywikibot/site.py", line 673, in site
    self._site = pywikibot.Site(url="">
  File "/home/pavel/pywikibot/pywikibot/__init__.py", line 1235, in Site
    code, fam = _code_fam_from_url(url)
  File "/home/pavel/pywikibot/pywikibot/__init__.py", line 1192, in _code_fam_from_url
    raise SiteDefinitionError("Unknown URL '{0}'.".format(url))
pywikibot.exceptions.SiteDefinitionError: Unknown URL 'https://cs.wikivoyage.org/wiki/$1'.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/pavel/pywikibot/pywikibot/page.py", line 806, in exists
    return self.pageid > 0
  File "/home/pavel/pywikibot/pywikibot/page.py", line 287, in pageid
    self.site.loadpageinfo(self)
  File "/home/pavel/pywikibot/pywikibot/page.py", line 222, in site
    return self._link.site
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5735, in site
    self.parse()
  File "/home/pavel/pywikibot/pywikibot/page.py", line 5646, in parse
    .format(self._text, self._site, prefix, e))
pywikibot.exceptions.SiteDefinitionError: voy:Main page is not a local page on wikipedia:cs, and the interwiki prefix voy is not supported by Pywikibot!
Unknown URL 'https://cs.wikivoyage.org/wiki/$1'.

Expected behavior
This should be handled by some skippable warning as you don't want your link-examination script be interrupted by a SiteDefinitionError

Configuration
Python 3.7.2, Link found on cswiki: {{Refn|Mantrou Wikicest je [[voy:Wikivoyage:Welcome,_Wikipedians#Style_differences|férovost]]}} on cs:w:Nadace WIkimedia


TASK DETAIL
https://phabricator.wikimedia.org/T215298

EMAIL PREFERENCES
https://phabricator.wikimedia.org/settings/panel/emailpreferences/

To: Dvorapa
Cc: Aklapper, pywikibot-bugs-list, Dvorapa, Wenyi, Mahveotm, Tbscho, MayS, Mdupont, JJMC89, Avicennasis, mys_721tx, jayvdb, Dalba, Masti, Alchimista, Rxy
_______________________________________________
pywikibot-bugs mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/pywikibot-bugs

Reply via email to