User:Conrad.Bot/iso-upload.py
wikimedia is a file containing my login details for mwclient, just returns en.wikt logged in as Conrad.Bot.
import codecs
import wikimedia
import time
import sys
wikt = wikimedia.mwclient_bot()
stop = []
for line in codecs.open('/0/wt/iso_stop.tab', 'r', 'utf-8').readlines():
stop.append(line.split('\t')[0])
for line in codecs.open('/0/wt/iso-639-3.tab','r','utf-8').readlines():
try:
code, name, rname = (x.strip() for x in line.split("\t"))
if code <= "gdu":
continue
if "(" in name:
print "HRM: Ignoring [[Template:%s]] with bracketed: %s" % (code, name.encode('utf-8'))
sys.stdout.flush()
if code in stop:
print "HRM: Ignoring [[Template:%s]] (%s) code in stop list: %s" % (code, name.encode('utf-8'))
sys.stdout.flush()
page = wikt.Pages[u'Template:%s' % code]
text = page.edit()
ideal = u"{{{l|[}}}{{{l|[}}}%s{{{l|]]}}}<noinclude>[[Category:Language templates|%s]]</noinclude>" % (name, code)
alright = u"%s<noinclude>[[Category:Language templates|%s]]</noinclude>" % (name,code)
if text:
if not (text == ideal or text == alright):
print "HRM: * [[Template:%s]] %s: %s\n----" % (code, name, text)
else:
print "* %s" % code
sys.stdout.flush()
else:
print "* [[Template:%s]]" % code
sys.stdout.flush()
page.save(ideal, u"(test) Creating language template for %s from http://www.sil.org/iso639-3/" % name)
time.sleep(30)
except Exception, e:
print "Error: %s" % line.encode('utf-8')