Page MenuHomePhabricator

KeyError: 'simple' raised when Site is constructed using fromDBName
Closed, DuplicatePublic

Description

>>> site = pywikibot.site.APISite.fromDBName('simplewikiquote')
>>> page = pywikibot.Page(site, 'Main page')
>>> page.exists()
  File ".\scripts\userscripts\myscripts\check_disambigs.py", line 70, in treat_page_and_item
    if not page.exists():
  File "C:\Users\admin\Documents\core\pywikibot\page.py", line 803, in exists
    return self.site.page_exists(self)
  File "C:\Users\admin\Documents\core\pywikibot\page.py", line 227, in site
    return self._link.site
  File "C:\Users\admin\Documents\core\pywikibot\page.py", line 5587, in site
    self.parse()
  File "C:\Users\admin\Documents\core\pywikibot\page.py", line 5572, in parse
    if self._site.namespaces[self._namespace].case == 'first-letter':
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 1018, in namespaces
    self._namespaces = NamespacesDict(self._build_namespaces())
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 2625, in _build_namespaces
    is_mw114 = MediaWikiVersion(self.version()) >= MediaWikiVersion('1.14')
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 2739, in version
    expiry=1).split(' ')[1]
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 1681, in get
    preloaded = self._get_general(key, expiry)
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 1627, in _get_general
    default_info = self._get_siteinfo(props, expiry)
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 1552, in _get_siteinfo
    data = request.submit()
  File "C:\Users\admin\Documents\core\pywikibot\data\api.py", line 2350, in submit
    self._data = super(CachedRequest, self).submit()
  File "C:\Users\admin\Documents\core\pywikibot\data\api.py", line 1897, in submit
    self.site.is_oauth_token_available()):  # work around T108182
  File "C:\Users\admin\Documents\core\pywikibot\site.py", line 2038, in is_oauth_token_available
    auth_token = get_authentication(self.base_url(''))
  File "C:\Users\admin\Documents\core\pywikibot\family.py", line 1123, in base_url
    protocol, host = self._hostname(code, protocol)
  File "C:\Users\admin\Documents\core\pywikibot\family.py", line 1107, in _hostname
    host = self.ssl_hostname(code)
  File "C:\Users\admin\Documents\core\pywikibot\family.py", line 1082, in ssl_hostname
    return self.hostname(code)
  File "C:\Users\admin\Documents\core\pywikibot\family.py", line 1078, in hostname
    return self.langs[code]
KeyError: 'simple'

simplewikiquote is a closed wiki.

Event Timeline

No direct relation actually, hence removing. Thanks.

Is this reproducible also on openned wikis or only a case of closed ones?

$ ./load.sh python /shared/pywikipedia/core/pwb.py shell
Welcome to the Pywikibot interactive shell!
>>> site = pywikibot.site.APISite.fromDBName('simplewiki')
>>> page = pywikibot.Page(site, 'Main page')
>>> page.exists()
True
>>> site = pywikibot.site.APISite.fromDBName('simplewikiquote')
>>> page = pywikibot.Page(site, 'Main page')
>>> page.exists()
Traceback (most recent call last):
[...]