User:Legoktm/BOTFAQ/Code/redir.py
Appearance
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# (C) Compwhizii, Legoktm, 2008
# Original code at [[User:John Bot II/Code]]
# Modified by Legoktm
#
# Distributed under the terms of the MIT license.
#
__version__ = '$Id: $'
#
import wikipedia, pagegenerators, catlib
import re
from wikipedia import Page
site = wikipedia.getSite()
def main():
yearnumber = 1953
yearset1 = yearnumber - 1
if yearnumber <= 2000: #if above 2000, then subtract by 2000, not 1900
yearset2 = yearnumber - 1900
else:
yearset3 = yearnumber - 2000
yearset2 = "0" + str(yearset3) #add preceding 0
yearsetfinal = str(yearset1) + "-" + str(yearset2)
loopsat = True # loop
for arg in wikipedia.handleArgs():
if arg.startswith('-year'):
if len(arg) == 5:
yearnumber = int(wikipedia.input('What year do you want to start at?'))
elif len(arg) > 5:
yearnumber = int(arg[6:])
while loopsat == True: #start loop
if yearnumber >= 2008:
return
listpage = wikipedia.Page(site, "DFB Cup " + yearsetfinal)
if listpage.exists() == True:
wikipedia.setAction("Making redirects per [[WP:BOTREQ#DFB Cups]]")
wikipedia.output("> The target for [[" + str(yearnumber) + " DFB Cup Final]] exists")
rd = "#REDIRECT [[DFB Cup " + yearsetfinal + "#Final]]"
p1 = wikipedia.Page(site, str(yearnumber) + " DFB Cup Final")
pagelist = [p1]
for i in pagelist:
if i.exists() == False:
wikipedia.output(">>Creating [[%s]]" % i.title() )
i.put(rd)
else:
wikipedia.output(">>[[en:%s]] already exsists" % i.title() )
else:
wikipedia.output(">DFB Cup " + yearsetfinal + " does not exist")
#Redefine values
yearnumber = yearnumber + 1
yearset1 = yearnumber - 1
yearset2 = yearnumber - 1900
yearsetfinal = str(yearset1) + "-" + str(yearset2)
if '<div class="usermessage">' in text: #check talk page for messages
wikipedia.output(u'NOTE: You have unread messages on %s' % self)
wikipedia.crash() #stop
wikipedia.output("Done!")
def update():
scriptpage = Page(site, "User:Legoktm/BOTFAQ/Code/redir.py")
text = file('redir.py').read()
text = '<syntaxhighlight lang="python">\n' + text + '</sou' + 'rce>' # Split to confuse MW parser
if scriptpage.get() != text:
summary = 'Updating source'
scriptpage.put(text, summary)
if __name__ == "__main__":
try:
main()
update()
finally:
wikipedia.stopme()