Участник:Maxim Razin/findimage.py
Материал из Википедии — свободной энциклопедии
- !/usr/bin/python
""" Find image with given name in other wps Arguments: -lang:xx Log in to the given wikipedia language to upload to Other arguments are images to be searched """ import sys import wikipedia, lib_images aliens=["en", "de", "fr", "ja"] def getnames(): fns = [] for arg in sys.argv[1:]: arg = wikipedia.argHandler(arg) if arg: fns.append(arg) if len(fns) == 0: fns.append(raw_input("Please enter a filename: ")) return fns def main(): mysite=wikipedia.getSite() commons=wikipedia.getSite(code="commons") aliensites=[wikipedia.getSite(cc) for cc in aliens] for name in getnames(): name="Image:"+name print "Looking for "+name image=wikipedia.Page(mysite, name) if image.exists(): # we have this image print "This image exists in our wikipedia" continue image=wikipedia.Page(commons, name) if image.exists() and image.isImage(): # it is in commons print "This image exists in commons" continue try: for alien in aliensites: image=wikipedia.Page(alien, name) if image.isImage(): # FOUND!!! try: print image.get() except wikipedia.NoPage: print "Description page is empty." except wikipedia.IsRedirectPage: print "Description page is redirect????" raise answer=wikipedia.input(u"Copy this image (y/N)?") if answer.lower().startswith('y'): lib_images.transfer_image(image) raise StopIteration except StopIteration: pass else: print "...No luck" if __name__ == "__main__": try: main() except: wikipedia.stopme() raise else: wikipedia.stopme() #