Revision: 5927 Author: cydeweys Date: 2008-10-02 02:37:56 +0000 (Thu, 02 Oct 2008)
Log Message: ----------- Fixing the Remove robot so that it also deletes a talk page, if one exists.
The default behavior of the Removal robot has been altered so that it uses a custom edit summary (if one is given) in preference to the default edit summary when performing a deletion of the category page. This behavior is most likely preferred because a custom edit summary is almost guaranteed to contain information that is more helpful than "Category was disbanded".
Modified Paths: -------------- trunk/pywikipedia/category.py
Modified: trunk/pywikipedia/category.py =================================================================== --- trunk/pywikipedia/category.py 2008-10-01 21:00:43 UTC (rev 5926) +++ trunk/pywikipedia/category.py 2008-10-02 02:37:56 UTC (rev 5927) @@ -31,9 +31,10 @@ * -summary: - Pick a custom edit summary for the bot. * -inplace - Use this flag to change categories in place rather than rearranging them. - * -delsum - An option for remove, this specifies to use the custom edit - summary as the deletion reason (rather than a canned - deletion reason) + * -nodelsum - An option for remove, this specifies not to use the custom + edit summary as the deletion reason. Instead, it uses the + default deletion reason for the language, which is "Category + was disbanded" in English. * -overwrite - An option for listify, this overwrites the current page with the list even if something is already there. * -showimages - An option for listify, this displays images rather than @@ -575,7 +576,7 @@ 'zh':u'機器人:移除目錄%s', }
- def __init__(self, catTitle, batchMode = False, editSummary = '', useSummaryForDeletion = False, titleRegex = None, inPlace = False): + def __init__(self, catTitle, batchMode = False, editSummary = '', useSummaryForDeletion = True, titleRegex = None, inPlace = False): self.editSummary = editSummary self.cat = catlib.Category(wikipedia.getSite(), 'Category:' + catTitle) # get edit summary message @@ -603,12 +604,16 @@ else: for subcategory in subcategories: catlib.change_category(subcategory, self.cat, None, inPlace = self.inPlace) + # Deletes the category page if self.cat.exists() and self.cat.isEmpty(): - if self.useSummaryForDeletion: + if self.useSummaryForDeletion and self.editSummary: reason = self.editSummary else: reason = wikipedia.translate(wikipedia.getSite(), self.deletion_reason_remove) + talkPage = self.cat.toggleTalkPage() self.cat.delete(reason, not self.batchMode) + if (talkPage.exists()): + talkPage.delete(reason=reason, prompt=not self.batchMode)
class CategoryTidyRobot: """ @@ -889,7 +894,7 @@
#If this is set to true then the custom edit summary given for removing #categories from articles will also be used as the deletion reason. - useSummaryForDeletion = False + useSummaryForDeletion = True try: catDB = CategoryDatabase() action = None @@ -923,7 +928,10 @@ elif arg == '-inplace': inPlace = True elif arg == '-delsum': - useSummaryForDeletion = True + # This parameter is kept for historical reasons, as it was not previously the default option. + pass + elif arg == '-nodelsum': + useSummaryForDeletion = False elif arg == '-overwrite': overwrite = True elif arg == '-showimages':