User:MonoBot/deletion script

From Wikibooks, open books for an open world
Jump to navigation Jump to search
import re, wikipedia, pagegenerators, catlib

def main():
    rationale = re.compile("\{\{Fairuse rationale(.*?)\}\}", re.I)
    site = wikipedia.getSite('wikibooks', 'en')
    cat = catlib.Category(site, 'Category:Images with no fair use rationale')
    gen = pagegenerators.CategorizedPageGenerator(cat)
    gen = pagegenerators.NamespaceFilterPageGenerator(gen,[6])
    gen = pagegenerators.PreloadingGenerator(gen)
    log_page = wikipedia.Page(site, 'User:MonoBot/Ok')
    for page in gen:
        try:
            log_text = log_page.get()
            text = page.get()
            if not re.search(rationale, text):
                page.delete(reason='In Category:Images with no fair use rationale', prompt=False, throttle=False)
            else:
                newtext = '*' + page.title() + 'might be okay\n'
                log_page.put(log_text+newtext, 'Logging okay page', True)
        except wikipedia.Error:
            continue

if __name__ == '__main__':
    try:
        main()
    finally:
        wikipedia.stopme()