User:Firefly/code/yearinbaseball

From Wikipedia, the free encyclopedia

<source lang="python">

  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, '

')

               transclusion.put(text, comment='Bot: Updating templates, changing sidebar to navbox')
       

if __name__ == '__main__':

   try:
       main()
   finally:
       wikipedia.stopme()