Since the question was just raised on the IRC channel, I thought I'd share our procedure with everybody.

First, some background information: We have nine jurors in Germany, eight of them being Wikipedians from various fields and backgrounds and one expert. The jury will meet at the end of October for two days and will compile a top 100.

To prepare this weekend (they have to reach a decision then no matter what ;) ) it's obviously necessary to previously review all the pictures, there shouldn't be more than say 600-900 pictures to judge from. So we decided to do the following: Each of the eight Wikipedians will get his or her share of the almost 30000 uploads and will have to select at most 100 to bring to the final round.

Each juror receives his or her 3750 pictures on a usb flash drive. This allows me to "randomize" what each juror gets and is also very convenient for the jurors since they don't have to download anything. On the flash drive, each juror can handle the pictures in whatever way they like. They can delete some, create folders, use the image viewer of their choice, tag the pictures etc. For the final meeting, they can just bring the flash drive with them and the jury can quickly and easily create a shortlist.

The files still have their original name, so after the jury made their decision, they can go to commons and check whether each selected picture really fulfills all requirements.

So how does it work exactly?

I got a chronological list from the commons API with all files uploaded for WLM in Germany. I asked german Wikipedian DerHexer for the list, he claims it's quite easy to do, we already asked him to provide examples or - even better - a small form.

The list comes as one long line separated by spaces (which in my opinion is weird ;) ) and I wrote a short python script to handle it:

print "importing modules"
import os
print "reading monument list"
file = open("komplett.txt","r")
inhalt = file.read()
liste = inhalt.split()
print "starting download"
juror = 1
counter = 0
for monument in liste:
print counter
# going to destination
os.chdir(str(juror))
# preparing wget
call = "wget " + monument
# call wget
os.system(call)
# mess with jurors
juror = juror + 1
if juror > 8: juror = 1
counter = counter + 1
os.chdir("..")
print "Done. " + str(counter) + " files processed."

It's a little messed up in terms of language, but I guess you can see what it does. komplett.txt is the file with all the urls in it, i split it up and process each url. As I already mentioned, we have eight jurors, so I created eight folders named "1", "2", ..., "8" and the script walks through these folders. It works quite well, currently I'm at number 1600 ;)

So if there are any questions, let me know, I'll try to answer them.

Best regards,

Kilian