<source lang="python">
- !/usr/bin/python
- -*- coding: utf-8 -*-
- Relevant BRFA: Wikipedia:Bots/Requests_for_approval/Bot0612_6
- Coded by: User:Richard0612 using pywikipedia library
- Description:
- Updates two templates relating to years in baseball, essentially a simple find/replace/add operation.
- uses 'logerrors', a custom error-logging system
- 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, '
')
transclusion.put(text, comment='Bot: Updating templates, changing sidebar to navbox')
if __name__ == '__main__':
try: main() finally: wikipedia.stopme()