Page MenuHomePhabricator

interwikidata fails with TypeError: 'Page' object is not subscriptable when it tries to add a link to WD item
Closed, ResolvedPublicBUG REPORT

Description

Adding link to Q420

991 pages read
0 pages written
0 pages skipped
Execution time: 42 seconds
Read operation time: 0.0 seconds
Script terminated by exception:

ERROR: TypeError: 'Page' object is not subscriptable
Traceback (most recent call last):
  File "pwb.py", line 360, in <module>
    if not main():
  File "pwb.py", line 355, in main
    file_package)
  File "pwb.py", line 74, in run_python_file
    main_mod.__dict__)
  File "./scripts/interwikidata.py", line 245, in <module>
    main()
  File "./scripts/interwikidata.py", line 239, in main
    bot.run()
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/bot.py", line 1417, in run
    self.treat(page)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/bot.py", line 1702, in treat
    self.treat_page()
  File "./scripts/interwikidata.py", line 91, in treat_page
    item = self.try_to_add()
  File "./scripts/interwikidata.py", line 188, in try_to_add
    self.current_page.title(as_link=True, insite=item.site)))
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 4855, in setSitelink
    self.setSitelinks([sitelink], **kwargs)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 4887, in setSitelinks
    self.editEntity(data, **kwargs)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 120, in wrapper
    handle(func, self, *args, **kwargs)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 99, in handle
    func(self, *args, **kwargs)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 4460, in editEntity
    super().editEntity(data, baserevid=baserevid, **kwargs)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 4176, in editEntity
    data = self._normalizeData(data)
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 4115, in _normalizeData
    norm_data[key] = attr.normalizeData(data[key])
  File "/home/urbanecm/Documents/git/gerrit/pywikibot/core/pywikibot/page/__init__.py", line 3924, in normalizeData
    db_name = obj['site']
TypeError: 'Page' object is not subscriptable
CRITICAL: Exiting due to uncaught exception <class 'TypeError'>
urbanecm@titanium (master u=) ~/Documents/git/gerrit/pywikibot/core
$

Details

Event Timeline

Xqt triaged this task as High priority.Aug 2 2020, 5:57 AM
Xqt changed the subtype of this task from "Task" to "Bug Report".
Xqt added a subscriber: matej_suchanek.
matej_suchanek moved this task from Backlog to Needs Review on the Pywikibot board.

A typo: db_name = obj['site'] -> db_name = json['site'].

Change 617856 had a related patch set uploaded (by Matěj Suchánek; owner: Matěj Suchánek):
[pywikibot/core@master] [bugfix] Read correct object in normalizeData

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

Change 617856 merged by jenkins-bot:
[pywikibot/core@master] [bugfix] Read correct object in normalizeData

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