User:BryanBot/movebackbot.py

From Wikimedia Commons, the free media repository
Jump to navigation Jump to search
import os, mwclient
#images = [i.decode('utf-8') for i in os.listdir('jorunn') if i.endswith('.jpg')]
images = [
	u'Joan Blaeu-Insula Qvæ Ioanne Mayen nomen sortita est.JPG',
	u'Albert Edelfelt - Sven Duva.jpg',
	u'Döbeln vid Jutas - teckning av Albert Edelfelt.jpg',
	u'Gustav IV Adolf - teckning av Albert Edelfelt.jpg',
	u'Sandels han satt i Pardala by, Åt frukost i allsköns ro - teckning av Albert Edelfelt.jpg',
	u'Georg Carl von Döbeln, teckning av Albert Edelfelt från 1903.jpg',
	u'Albert Edelfetl-Strandstenar på Haiko.jpeg',
	u'Albert Edelfelt-I vattnet .jpeg',
	u'Albert Edelfelt-Per Brahe.jpeg',
	u'Albert Edelfelt-Smultron.jpeg',
	u'Akseli Gallen-Kallela-MYRSKY.jpeg',
	u'Akseli Gallen-Kallela-TAPIOLAN NEITO.jpeg',
	u'Akseli Gallen-Kallela-HEIJASTUKSIA.jpeg',
	u'Akseli Gallen-Kallela-TULIPALON KATSELIJAT PITKÄNSILLAN RANNASSA.jpeg',
	u'Akseli Gallen-Kallela-Auringonlasku.jpeg',
	u'Albert Edelfelt-Den första snön.jpeg',
	u'Akseli Gallen-Kallela-Tyttö ja kukko.jpeg'
]

com = mwclient.Site('commons.wikimedia.org')
import getpass
p = getpass.getpass()

com.login('Bryan', p)
enw = mwclient.Site('en.wikipedia.org')
enw.login('BryanBot', )


images.remove(u'Albert Edelfelt - Sven Duva.jpg')
images.remove(u'Gustav IV Adolf - teckning av Albert Edelfelt.jpg')
images.remove(u'Döbeln vid Jutas - teckning av Albert Edelfelt.jpg')
images.remove(u'Sandels han satt i Pardala by, Åt frukost i allsköns ro - teckning av Albert Edelfelt.jpg')
images.remove(u'Georg Carl von Döbeln, teckning av Albert Edelfelt från 1903.jpg')

for image in images:
	img = com.Images[image]
	fdesc = open('jorunn/%s.txt' % image.encode('utf-8'), 'w')
	fdesc.write(img.edit().encode('utf-8'))
	fdesc.close()
	fimg = open('jorunn/%s' % image.encode('utf-8'), 'w')
	fs = img.download()
	while True:
		s = fs.read(16384)
		if not s: break
		fimg.write(s)
	fs.close()


reason = u'See [[Commons:Deletion requests/Images of Jorunn (uploaders request)]]: Not Public Domain in country of origin'
def do(img):
	print img.encode('utf-8')
	f = open('jorunn/%s.txt' % img.encode('utf-8'), 'r')
	desc = f.read()
	f.close()
	desc = desc.decode('utf-8') + u'\n{{Do not move to Commons}}'
	
	com.Images[img].delete(reason = reason)
	enw.Images.upload(open('jorunn/' + img.encode('utf-8')), img, desc, ignore = True)
	images.remove(img)
	
	
for image in images[:]:
	do(image)