List of steps to reproduce (step by step, including full links if applicable):
- Run ./pwb.py touch -page:Main\ Page
What happens?:
File "/home/user/src/pywikibot/./pwb.py", line 414, in <module> if not main(): File "/home/user/src/pywikibot/./pwb.py", line 406, in main run_python_file(filename, File "/home/user/src/pywikibot/./pwb.py", line 106, in run_python_file exec(compile(source, filename, 'exec', dont_inherit=True), File "./scripts/touch.py", line 117, in <module> main() File "./scripts/touch.py", line 111, in main bot_class(generator=gen, **options).run() File "/home/user/src/pywikibot/pywikibot/bot.py", line 1600, in run self.treat(page) File "./scripts/touch.py", line 55, in treat page.touch(botflag=self.opt.botflag) File "/home/user/src/pywikibot/pywikibot/page/__init__.py", line 1368, in touch self.save(summary=summary, watch='nochange', File "/home/user/src/pywikibot/pywikibot/tools/_deprecate.py", line 404, in wrapper return obj(*__args, **__kw) File "/home/user/src/pywikibot/pywikibot/tools/_deprecate.py", line 404, in wrapper return obj(*__args, **__kw) File "/home/user/src/pywikibot/pywikibot/page/__init__.py", line 1211, in save self._save(summary=summary, watch=watch, minor=minor, botflag=botflag, File "/home/user/src/pywikibot/pywikibot/page/_decorators.py", line 54, in wrapper handle(func, self, *args, **kwargs) File "/home/user/src/pywikibot/pywikibot/page/_decorators.py", line 33, in handle func(self, *args, **kwargs) File "/home/user/src/pywikibot/pywikibot/page/__init__.py", line 1223, in _save done = self.site.editpage(self, summary=summary, minor=minor, File "/home/user/src/pywikibot/pywikibot/site/_decorators.py", line 92, in callee return fn(self, *args, **kwargs) File "/home/user/src/pywikibot/pywikibot/site/_apisite.py", line 1608, in editpage token = self.tokens['edit'] File "/home/user/src/pywikibot/pywikibot/site/_tokenwallet.py", line 58, in __getitem__ key = self.site.validate_tokens([key])[0] File "/home/user/src/pywikibot/pywikibot/site/_apisite.py", line 1307, in validate_tokens types_wiki_old = self._paraminfo.parameter('query+info', TypeError: 'NoneType' object is not subscriptable CRITICAL: Exiting due to uncaught exception <class 'TypeError'>
This is after clearing the ~/.pywikibot/apcache-py3 cache, before that, it was
File "/home/john/src/pywikibot/pywikibot/data/api.py", line 572, in parameter raise ValueError("paraminfo for '{}' not loaded".format(module)) ValueError: paraminfo for 'tokens' not loaded CRITICAL: Exiting due to uncaught exception <class 'ValueError'>
Software version (if not a Wikimedia wiki), browser information, screenshots, other information, etc:
- Pywikibot 6.6.0, locally and on PAWS
- Site: enwikisource, wikidata (both group1)
Not on Commons or enwiki (group2) so it could be MW .23 deployment issue.
- enwikisource: https://en.wikisource.org/w/api.php?action=paraminfo&format=json&modules=query%2Binfo
- enwiki: https://en.wikipedia.org/w/api.php?action=paraminfo&format=json&modules=query%2Binfo
enwiki has the following, enwikisource does not:
{ "index": 5, "name": "token", "type": [ "block", "delete", "edit", "email", "import", "move", "protect", "unblock", "watch" ], "deprecated": "", "multi": "", "lowlimit": 50, "highlimit": 500, "limit": 50 },