https://bugzilla.wikimedia.org/show_bug.cgi?id=65971
Bug ID: 65971
Summary: saving a page with empty text should be allowed with
force flag
Product: Pywikibot
Version: core (2.0)
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
Priority: Unprioritized
Component: General
Assignee: Pywikipedia-bugs(a)lists.wikimedia.org
Reporter: ian(a)iankelling.org
Web browser: ---
Mobile Platform: ---
http://lists.wikimedia.org/pipermail/pywikipedia-l/2014-May/008740.html
There is a force flag, in the code, but it is not used to allow saving empty
pages. It should be. Probably an easy fix along with this is that the correct
exception is caught in Page._save and not re-raised - instead, a different
Exception is raised, which makes it harder to debug the code.
Here is an example script, and the error when running it
import pywikibot
site = pywikibot.Site()
page = pywikibot.Page(site, "MediaWiki:Lastmodifiedat")
page.text = ""
page.save()
Logging in to ianwiki:en as Ian Kelling
Traceback (most recent call last):
File "pwb.py", line 143, in <module>
run_python_file(fn, argv, argvu)
File "pwb.py", line 67, in run_python_file
exec(compile(source, filename, "exec"), main_mod.__dict__)
File "scripts/iansetup.py", line 5, in <module>
page.save()
File "/a/opt/pywikibot/pywikibot/page.py", line 858, in save
**kwargs)
File "/a/opt/pywikibot/pywikibot/page.py", line 884, in _save
raise pywikibot.PageNotSaved("%s: %s" % (link, err))
pywikibot.exceptions.PageNotSaved
CRITICAL: Waiting for 1 network thread(s) to finish. Press ctrl-c to abort
<class 'pywikibot.exceptions.PageNotSaved'>
The cause is in site.py, in def editpage, line 2699:
if not text:
raise Error("editpage: no text to be saved")
--
You are receiving this mail because:
You are the assignee for the bug.