Wikipedia:Scripts/ImageFileMigrator/Main.py

From Wikipedia, the free encyclopedia
#!/usr/bin/env python
import Wiki
from ImageDownloader import ImageDownloader

def transfer_images(wiki_from, wiki_to):
    images = wiki_from.get_image_list()
    image_pages = [img[0] for img in images]
    image_urls = [img[1] for img in images]
    export = wiki_from.get_page_export(image_pages)
    down = ImageDownloader(wiki_from.domain, './images/')
    down.saveImages(image_urls)
    wiki_to.import_pages(export)
    filenames = ["./images/" + url.split("/")[-1] for url in image_urls]
    for file in filenames:
        print "Uploaded " + file 
        wiki_to.upload_image(file)
    print "Finished."
    
#Needs only user privileges    
wiki_domain = 'http://wiki1.example.com'
from_wiki = Wiki.Wiki(wiki_domain)
from_wiki.login("user1", "pass1")

#Must have sysop privileges
wiki_domain = 'http://wiki2.example.com'
to_wiki = Wiki.Wiki(wiki_domain)
to_wiki.login("user2", "pass2")

transfer_images(from_wiki, to_wiki)