webprint.nl foto-uploader in Python

Door stereohead op zondag 16 augustus 2009 22:36 - Reacties (11)
Categorie: Python, Views: 4.965

Ik druk regelmatig wat foto's af via de online foto-afdruk dienst van webprint.nl. Meestal gaat dit om kleine hoeveelheden van max. 20 stuks. Je foto's moet je daar uploaden via een flashformulier, allemaal leuk en aardig, maar het moet allemaal een voor een.

Binnenkort wil ik een grote hoeveelheid foto's afdrukken, zeker > 100, en ik heb niet bepaald zin om een hele dag bezig te zijn met het uploaden van een stapel foto's.

Dat moet dus makkelijker, tijd om Wireshark erbij te pakken, en eens te bekijken hoe de foto's worden verstuurd.

Na wat zoeken bleek dat er drie dingen moeten gebeuren om een foto te uploaden.

1) Inloggen
2) Upload-id verkrijgen
3) Foto-uploaden

Deze drie dingen moesten dus worden omgezet in een python script. Gelukkig gaat dat super makkelijk met de hulp van httplib en minidom, en een paar uur en 328 regels code verder had ik een simpel programma dat m'n foto's upload.

Handig voor mij, maar ik wil het graag delen met de rest van de wereld dus bij deze:
broncode download (opslaan als webprint-uploader.py)

Je gebruikt het als volgt:

python webprint-uploader -u username -p password -d foto-directory -f map-waarin-je-fotos-komen


username en password spreken voorzich, dat zijn de inloggegevens voor webprint.nl
met -d geef je de map aan waarin je foto's staan, en met -f geef je aan in welke map op webprint.nl de foto's komen. Deze map wordt zonodig aangemaakt.

Ik heb het alleen getest op linux (ubuntu 9.04) maar dikke kans dat het ook op windows werkt.

That's it, ik hoop dat jullie er wat aan hebben :)