#!/usr/bin/python
import sys, os, re, urllib

def get(url):
	webFile = urllib.urlopen(url)
	content = webFile.read()
	webFile.close()
	return content

def download(url, fileName):
	if os.path.exists(fileName):
		print "Skipping %s ..." % fileName
	else:
		try:
			print "Downloading %s ---> %s ..." % (url, fileName)
			content = get(url)
			file = open(fileName, "w")
			file.write(content)
			file.close()
		except:
			print "failed."

flickrUrl = "http://flickr.com/search/?q=chaos+communication+camp&z=t&page=%d"
thumbnailRegexp = re.compile(r"(?P<thumb>http://farm[0-9]?\.static\.flickr\.com/[0-9]+/[0-9a-z]+_[0-9a-z]+_t\.jpg)")

def downloadPage(page):
	url = flickrUrl % page
	html = get(url)
	photos = []
	while True:
		searchObj = thumbnailRegexp.search(html)
		if not searchObj: break
		photos.append(searchObj.group("thumb")[:-6] + ".jpg")
		html = html[searchObj.end():]

	for i in range(len(photos)):
		download(photos[i], "%d_%d.jpg" % (page, i+1) )

if __name__ == "__main__":
	for pageNumber in range(1, 68):
		downloadPage(pageNumber)	
