Revision: 6460 Author: nicdumz Date: 2009-03-01 09:19:24 +0000 (Sun, 01 Mar 2009)
Log Message: ----------- * Bugfix for Page.delete : Site.delete doesn't exist -> Site.deletepage * Tweaking error handling in delete methods to catch NoUsername exceptions in Page and not in Site, to be able to implement mark support in Page itself.
Modified Paths: -------------- branches/rewrite/pywikibot/page.py branches/rewrite/pywikibot/site.py
Modified: branches/rewrite/pywikibot/page.py =================================================================== --- branches/rewrite/pywikibot/page.py 2009-03-01 09:16:30 UTC (rev 6459) +++ branches/rewrite/pywikibot/page.py 2009-03-01 09:19:24 UTC (rev 6460) @@ -963,6 +963,7 @@ speedy-deletion request on the page instead.
""" + # TODO: add support for mark if reason is None: pywikibot.output(u'Deleting %s.' % (self.title(asLink=True))) reason = pywikibot.input(u'Please enter a reason for the deletion:') @@ -977,7 +978,13 @@ answer = 'y' self.site()._noDeletePrompt = True if answer in ['y', 'Y']: - return self.site().delete(self, reason, mark=mark) + try: + return self.site().deletepage(self, reason) + except pywikibot.NoUsername, e: + if mark: + raise NotImplementedError("marking pages for deletions is not yet available.") + raise e +
def loadDeletedRevisions(self): """Retrieve all deleted revisions for this Page from Special/Undelete.
Modified: branches/rewrite/pywikibot/site.py =================================================================== --- branches/rewrite/pywikibot/site.py 2009-03-01 09:16:30 UTC (rev 6459) +++ branches/rewrite/pywikibot/site.py 2009-03-01 09:19:24 UTC (rev 6460) @@ -2420,11 +2420,11 @@ """ try: self.login(sysop=True) - except pywikibot.Error, e: - raise Error("delete: Unable to login as sysop (%s)" + except pywikibot.NoUsername, e: + raise NoUsername("delete: Unable to login as sysop (%s)" % e.__class__.__name__) if not self.logged_in(sysop=True): - raise Error("delete: Unable to login as sysop") + raise NoUsername("delete: Unable to login as sysop") token = self.token("delete") req = api.Request(site=self, action="delete", token=token, title=page.title(withSection=False),