Python:Transwiki.py

From Botwiki

Jump to: navigation, search
""" 
Script to change links after transwiki movements of pages
 (from Wikipedia or another sister project, to Wiktionary).
""" 
import os, sys 
import wikipedia, pagegenerators, replace 
 
def main(): 
    oldTitle = None 
    newTitle = None 
    # read command line parameters 
    for arg in wikipedia.handleArgs(): 
	if oldTitle == None: 
	    oldTitle = arg 
	elif newTitle == None: 
	    newTitle  = arg 
	else: 
	    # too many parameters 
	    wikipedia.output('ERROR: Too many parameters')
	    return 
 
    if not oldTitle or not newTitle: 
	# not enough parameters 
	wikipedia.showHelp('transwiki') 
	return 
 
    page = wikipedia.Page(wikipedia.getSite(), oldTitle) 
 
    gen = pagegenerators.ReferringPageGenerator(page) 
    gen = pagegenerators.PreloadingGenerator(gen) 
 
    oldPattern = '[%s%s]%s' % (oldTitle[0].lower(), oldTitle[0].upper(), oldTitle[1:]) 
 
    replacements = [ 
	("\[\[(%s)\]\]" % oldPattern, "[[wikt:%s|\\1]]" % newTitle), 
	("\[\[[%s\|(.*?)\]\]" % oldPattern, "[[wikt:%s|\\1]]" % newTitle), 
    ] 
 
    replaceBot = replace.ReplaceRobot(gen, replacements) 
    replaceBot.run() 
 
if __name__ == "__main__": 
    try: 
	main() 
    finally: 
	wikipedia.stopme()
Personal tools