import os import re import sys args = sys.argv[1:] if len(args) not in (2, 3, 4, 5): print 'Usage: get.py site name [index] [prefix] [number]' sys.exit() number = None if len(args) == 2: site, name = args elif len(args) == 3: if args[2].isdigit(): site, name, number = args else: site, name, prefix = args elif len(args) == 4: site, name, prefix, number = args elif len(args) == 5: site, name, index, prefix, number = args logfile = open('log.txt', 'a') print >>logfile, ' '.join(args) logfile.close() metafile = open('meta.txt', 'r') for line in metafile: if line.strip() == site: break meta = {} for line in metafile: if not line.strip(): break key, value = line.split() meta[key] = value metafile.close() if not os.path.exists(site): os.mkdir(site) dir = os.path.join(site, name) if os.path.isdir(dir): print 'Directory exists!' sys.exit() os.mkdir(dir) urlfilename = os.path.join(dir, 'url') urlfile = open(urlfilename, 'w') index_pattern = meta['Index'] argcount = index_pattern.count('%') if argcount == 1: url = index_pattern % name elif argcount == 2: url = index_pattern % (name, index) print >>urlfile, url urlfile.close() image_pattern = meta['Image'] argcount = image_pattern.count('%') number = number or meta['Number'] number = int(number) for i in range(1, number+1): if argcount == 2: image = image_pattern % (name, i) elif argcount == 3: image = image_pattern % (name, prefix, i) filename = os.path.join(dir, '%02d.jpg' % i) command = 'curl -e %s -s %s -o %s &' % (url, image, filename) os.system(command)