User:Firefly/code/yearinbaseball


 * 1) !/usr/bin/python
 * 2) -*- coding: utf-8  -*-
 * 3) Relevant BRFA: Wikipedia:Bots/Requests_for_approval/Bot0612_6
 * 4) Coded by: User:Richard0612 using pywikipedia library
 * 5) Description:
 * 6) Updates two templates relating to years in baseball, essentially a simple find/replace/add operation.
 * 7) uses 'logerrors', a custom error-logging system
 * 8) uses 'insertat', a system for inserting text at a given position

import wikipedia import re import logerrors import insertat def main: site = wikipedia.getSite page = wikipedia.Page(site, 'Template:Year in baseball')

for transclusion in page.getReferences(onlyTemplateInclusion=True): try: text = transclusion.get except wikipedia.Error: wikipedia.output(u'Error: skipping..') logerrors.logbasic('onetimeruns', page, 'Error in loading page') text = '' re.IGNORECASE if re.search('\{\{(Template:)?Year in baseball top',text): wikipedia.output('Template already on page, skipping') else: text = re.sub('\{\{(Template:)?Year in baseball(\s*[|}])', '{{Year in baseball top\g<2>', text) text = insertat.endofprose(text, '{{Year in baseball}}') transclusion.put(text, comment='Bot: Updating templates, changing sidebar to navbox') if __name__ == '__main__': try: main finally: wikipedia.stopme