#!/usr/bin/env python

import sys,re,string
import urllib,urllib2

def readFile(uri):
    request = urllib2.Request(uri)  
    try:
        response = urllib2.urlopen(request)  
    except urllib2.HTTPError, e:
        print 'ERR: ('+str(e.code)+') Error occured. Current URI:'+uri
    except urllib2.URLError, e:
        print 'ERR: Failed to reach the URI ('+str(e.reason[0])+':'+e.reason[1]+')'
    else:
        return response.read()

def getThumbs(data):
    global thumb_match
    
    for match in re.finditer(thumb_match,data):
        getImages(match.group(1))

def getImages(uri):
    global set_id,big_match
    
    pos = uri.find('in/set-'+set_id)
    uri = uri[0:pos-1]+'/sizes/o/'+uri[pos:]
    data = readFile('http://www.flickr.com'+uri)
    for match in re.finditer(big_match,data):
        print match.group(1)


if(len(sys.argv)>1):
   uri = sys.argv[1]
   if(uri.find('?page=') > 0):
      pos = uri.find('?page=')
      page = uri[pos:]
      uri = uri[0:pos-1]
      set_id = uri[uri.rfind('/')+1:]
      uri = uri+'/'+page
   else:
       if(uri[len(uri)-1:] == '/'):
           uri = uri[0:-1]
       set_id = uri[uri.rfind('/')+1:]
   
   thumb_match = re.compile(r'.*?<a.*?href="(.*?set-'+set_id+'/)".*?>.*?',re.IGNORECASE)
   big_match = re.compile(r'.*?<p><img.*?src="(.*?static.flickr.com.*?)".*? /></p>.*?',re.IGNORECASE)
   
   getThumbs(readFile(uri))
else:
    print 'lack of params'