-
Notifications
You must be signed in to change notification settings - Fork 1
/
redir.py
88 lines (81 loc) · 2.56 KB
/
redir.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# (C) Compwhizii, Legoktm, 2008-2011
# 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 = 1998
yearset1 = yearnumber - 1
if yearnumber >= 2000:
yearset2 = yearnumber - 2000
else:
yearset2 = yearnumber - 1900
if yearset2 < 10:
yearset2 = "0" + str(yearset2)
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 >= 2011:
return
listpage = wikipedia.Page(site, "DFB Cup " + yearsetfinal)
if listpage.exists() == True:
wikipedia.setAction("Making redirects per [[Wikipedia:Bot requests/Archive 22#DFB_Cups|Botreq]]")
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
if yearnumber >= 2000:
yearset2 = yearnumber - 2000
else:
yearset2 = yearnumber - 1900
if yearset2 < 10:
yearset2 = "0" + str(yearset2)
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!")
wikipage = "User:Legoktm/BOTFAQ/Code/redir.py"
code = "redir.py"
legoktm.upload(wikipage, code)
def update():
scriptpage = Page(site, "User:Legoktm/BOTFAQ/Code/redir.py")
text = file('redir.py').read()
text = '<source 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()