Following on from bug 66120, we now get a TypeError during save (and other Page write methods). The test added in the last changeset is identifying the issue:
ERROR: test_page_methods (__main__.TestPageMethods)
Test ItemPage methods inherited from superclass Page.
Traceback (most recent call last):
File "tests/wikibase_tests.py", line 418, in test_page_methods
self.assertRaises(pywikibot.PageNotSaved, self.wdp.save)
File "/usr/local/lib/python2.6/site-packages/unittest2/case.py", line 475, in assertRaises
callableObj(*args, **kwargs)
File ".../pywikibot/__init__.py", line 476, in wrapper
return method(*__args, **__kw)
File ".../pywikibot/page.py", line 954, in save
if not force and not self.botMayEdit():
File ".../pywikibot/page.py", line 883, in botMayEdit
templates = self.templatesWithParams()
File ".../pywikibot/__init__.py", line 476, in wrapper
return method(*__args, **__kw)
File ".../pywikibot/page.py", line 1257, in templatesWithParams
templates = textlib.extract_templates_and_params(self.text)
File ".../pywikibot/textlib.py", line 923, in extract_templates_and_params
return extract_templates_and_params_regex(text)
File ".../pywikibot/textlib.py", line 943, in extract_templates_and_params_regex
thistxt = removeDisabledParts(text)
File ".../pywikibot/textlib.py", line 293, in removeDisabledParts
return toRemoveR.sub('', text)TypeError: expected string or buffer
That test hasnt caused an error for a while, but this test is against test.wikidata.org which has had a few other bugs needing fixing, and the server config appears to be changing frequently (getting better).
The error we see now is:
- Page.save method calls botMayEdit
- which calls templatesWithParams to look for {{nobots}}
- which loads 'self.text' and
- asks textlib.extract_templates_and_params() to extract all the templates
Page.text calls Page.get, which is supposed to return a string.
On a WikibasePage, .get returns a dict instead of a string.
Version: core-(2.0)
Severity: normal
See Also:
https://bugzilla.wikimedia.org/show_bug.cgi?id=70978
https://bugzilla.wikimedia.org/show_bug.cgi?id=55150