Revision: 5817 Author: multichill Date: 2008-08-19 20:18:07 +0000 (Tue, 19 Aug 2008)
Log Message: ----------- filterDisambiguation & filterRedirects
Modified Paths: -------------- trunk/pywikipedia/imagerecat.py
Modified: trunk/pywikipedia/imagerecat.py =================================================================== --- trunk/pywikipedia/imagerecat.py 2008-08-19 19:20:14 UTC (rev 5816) +++ trunk/pywikipedia/imagerecat.py 2008-08-19 20:18:07 UTC (rev 5817) @@ -20,7 +20,8 @@ import pagegenerators, StringIO import socket
-category_blacklist = [u'Hidden categories'] +category_blacklist = [u'Hidden categories', + u'Stub pictures']
def categorizeImages(generator): for page in generator: @@ -31,8 +32,8 @@ currentCats = getCurrentCats(imagepage) commonshelperCats = getCommonshelperCats(imagepage) newcats = filterBlacklist(commonshelperCats+currentCats) - #newcats = filterDisambiguation(newcats) - #newcats = filterRedirects(newcats) + newcats = filterDisambiguation(newcats) + newcats = filterRedirects(newcats) #newcats = filterCountries(newcats) newcats = filterParents(newcats) if len(newcats) > 0: @@ -90,11 +91,21 @@
def filterDisambiguation(categories): result = [] + for cat in categories: + if(not wikipedia.Page(wikipedia.getSite(), u'Category:' + cat).isDisambig()): + result.append(cat) return result
- def filterRedirects(categories): result = [] + for cat in categories: + categoryPage = wikipedia.Page(wikipedia.getSite(), u'Category:' + cat) + if u'Category redirect' in categoryPage.templates() or u'Seecat' in categoryPage.templates(): + for template in categoryPage.templatesWithParams(): + if ((template[0]==u'Category redirect' or template[0]==u'Seecat') and (len(template[1]) > 0)): + result.append(template[1][0]) + else: + result.append(cat) return result
@@ -131,7 +142,7 @@ newtext = newtext + u'[[Category:' + category + u']]\n'
wikipedia.showDiff(imagepage.get(), newtext) - #imagepage.put(newtext, u'Image is categorized by a bot using data from [[Commons:Tools#CommonSense|CommonSense]]') + imagepage.put(newtext, u'Image is categorized by a bot using data from [[Commons:Tools#CommonSense|CommonSense]]') return