Gebruiker:Gerbennn/catonderhoud.py
[bewerk] Doel
Deze bot:
- verplaatst artikelen en subcats van de categorieën in Categorie:Wikipedia:Redirect van categorie naar de bedoelde categorie (de redirect)
- Leegt de categorien in Categorie:Wikipedia:Opgeheven categorie
[bewerk] Licentie
Deze bot is vrijgegeven onder de CC-BY-SA 2.5 NL licentie
[bewerk] Code
################################## # For Cat Maintanance work # # By Gerben van der Stouwe # # Licensed under CC-BY-SA 2.5 NL # ################################## import re, sys, string, pickle import wikipedia, catlib, config, pagegenerators def redircats(): mastercat = catlib.Category(wikipedia.getSite(), 'Categorie:Wikipedia:Redirect van categorie') redircats = mastercat.subcategories() for werkcat in redircats: subcatwijz = werkcat.subcategories() artwijz = werkcat.articles() if len(subcatwijz) == 0 and len(artwijz) ==0: wikipedia.output(u'Geen verandering nodig in ' + werkcat.title()) else: targetcat = catlib.Category(wikipedia.getSite(), werkcat.getRedirectTarget()) gen = pagegenerators.CategorizedPageGenerator(werkcat, recurse = False) preloadingGen = pagegenerators.PreloadingGenerator(gen) for article in preloadingGen: catlib.change_category(article, werkcat, targetcat,'[[Categorie:Wikipedia:Redirect van categorie]] fix') for subcategory in subcatwijz: catlib.change_category(subcategory, werkcat, targetcat,'[[Categorie:Wikipedia:Redirect van categorie]] fix') def catschoon(): mastercat = catlib.Category(wikipedia.getSite(), 'Categorie:Wikipedia:Opgeheven categorie') opgehevencats = mastercat.subcategories() for werkcat in opgehevencats: subcatwijz = werkcat.subcategories() artwijz = werkcat.articles() if len(subcatwijz) == 0 and len(artwijz) ==0: wikipedia.output(u'Geen verandering nodig in ' + werkcat.title()) else: gen = pagegenerators.CategorizedPageGenerator(werkcat, recurse = False) preloadingGen = pagegenerators.PreloadingGenerator(gen) for article in preloadingGen: catlib.change_category(article, werkcat, None,'[[Categorie:Wikipedia:Opgeheven categorie]] leeg houden') for subcategory in subcatwijz: catlib.change_category(subcategory, werkcat, None,'[[Categorie:Wikipedia:Opgeheven categorie]] leeg houden') def updatepage(page): site = wikipedia.getSite() updpage = wikipedia.Page(site, page) updpage.put("~~~~~", "Robot: Update tijdstempel") redircats() catschoon() updatepage("Gebruiker:Gerbot/Catoexec")