It has been done intentionally and I think it's a right thing to do, you can bypass it by saving a dot instead of nothing
Best On Wed, May 28, 2014 at 9:13 AM, Ian Kelling <[email protected]> wrote: > My first experience with pywikibot, downloaded core, i wanted to change > a few pages. Immediately ran into an error when trying to set a page's > text to empty. The error message was unhelpful, but I dug through the > source and found the issue. I'd like to suggest that 2 things: > > 1. Setting a page's text to be empty should be allowed > > 2. If not, at least the error should be fixed to actually show the > correct error, explained below. > > 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") > > This error should be shown instead of the one that is actually shown. > > > _______________________________________________ > Pywikipedia-l mailing list > [email protected] > https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l > -- Amir
_______________________________________________ Pywikipedia-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/pywikipedia-l
