def main(options, args): if not 1 == len(args): print "No filename or path to upload supplied:" parser.print_help() exit(1) flickr = authenticate_to_flickr() # Upload a single file if not options.recursive: if already_uploaded(flickr, args[0]): print "Already uploaded, skipping" exit(1) else: print "Uploading" upload_file(flickr, args[0]) exit(0) # Use worker threads to upload a directory tree full of files queue = Queue() queue.done = False queue.count = itertools.count() def do_work(): upload_from_queue(flickr, queue) # Spawn workers workers = [Thread(target=do_work) for _ in range(options.workers)] for worker in workers: worker.start() # Use a watcher thread to print out status about tue queue def watch(): print_status(queue) watcher = Thread(target=watch) watcher.daemon = True watcher.start() # Enqueue work for the workers for path in files_to_upload(flickr, args[0]): queue.put(path) queue.done = True # Wait for everything to finish queue.join() print "\n\n DONE"
print "You must specify exactly one of '-a', '-m' or 's':" parser.print_help() sys.exit(1) if options.photo_page and options.size: print "options.photo_page is "+str(options.photo_page) print "You can specify at most one of -p and --size" parser.print_help() sys.exit(1) just_photo_page_url = not (options.size or options.short) if options.size and (options.size not in valid_size_codes): print "The argument to --size must be one of: "+valid_size_codes_sentence flickr = authenticate_to_flickr(configuration) if options.md5 or options.sha1: digest = options.md5 or options.sha1 if not re.search('^'+checksum_pattern+'$',digest): print "The checksum ('"+digest+"') was malformed." sys.exit(1) photo_elements = search_for_checksum(flickr, md5=options.md5, sha1=options.sha1) if 0 == len(photo_elements): print "nothing found for checksum %s" % digest sys.exit(2) if 1 != len(photo_elements): print "Expected exactly 1 result searching for tag "+search_tag+"; actually got "+str(len(photo_elements)) print "The photos were:" for p in photo_elements: print photo_page_url(p)
from flickr_common import authenticate_to_flickr from flickr_checksum_lib import search_for_checksum from flickrapi.shorturl import url as short_url all_filenames = sys.argv[1:] parser = OptionParser(usage="Usage: %prog [OPTION] [FILE]...") parser.add_option('-v', '--verbose', dest='verbose', default=False, action='store_true', help='Turn on verbose output') options, args = parser.parse_args() flickr = authenticate_to_flickr() for filename in args: md5sum = checksum(filename, "md5") if options.verbose: print "filename was: " + filename print " with md5sum: " + md5sum existing = search_for_checksum(flickr, md5=md5sum) if 1 == len(existing): if options.verbose: print " ... already uploaded" print short_url(existing[0].attrib['id']) elif len(existing) > 1: if options.verbose: print " ... multiple copies uploaded" else:
from subprocess import call, Popen, PIPE from optparse import OptionParser from common import checksum from flickr_common import authenticate_to_flickr from flickr_checksum_lib import search_for_checksum from flickrapi.shorturl import url as short_url all_filenames = sys.argv[1:] parser = OptionParser(usage="Usage: %prog [OPTION] [FILE]...") parser.add_option('-v', '--verbose', dest='verbose', default=False, action='store_true', help='Turn on verbose output') options, args = parser.parse_args() flickr = authenticate_to_flickr() for filename in args: md5sum = checksum(filename, "md5") if options.verbose: print "filename was: "+filename print " with md5sum: "+md5sum existing = search_for_checksum(flickr, md5=md5sum) if 1 == len(existing): if options.verbose: print " ... already uploaded" print short_url(existing[0].attrib['id']) elif len(existing) > 1: if options.verbose: print " ... multiple copies uploaded" else: