This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import flickrapi | |
import urllib | |
import json | |
import random | |
import filecmp | |
import shutil | |
import os.path | |
from pprint import pprint | |
api_key = u'your api key' | |
api_secret = u'your api secret' | |
access_token = u'xxxxxxxxxxxxxxxxxx-xxxxxxxxxxxx' # these two get filled in in a bit | |
token_secret = u'xxxxxxxxxxxxx' | |
user_id = "your user id" # mine was 48889036627@N01 | |
flickr = flickrapi.FlickrAPI(api_key, api_secret,format='parsed-json') | |
photos = [] | |
print('Step 1: authenticate') | |
# Only do this if we don't have a valid token already | |
if not flickr.token_valid(perms='read'): | |
# Get a request token | |
flickr.get_request_token(oauth_callback='oob') | |
# Open a browser at the authentication URL. Do this however | |
# you want, as long as the user visits that URL. | |
authorize_url = flickr.auth_url(perms=u'read') | |
print(authorize_url) | |
# Get the verifier code from the user. Do this however you | |
# want, as long as the user gives the application the code. | |
verifier = unicode(raw_input('Verifier code: ')) | |
# Trade the request token for an access token | |
flickr.get_access_token(verifier) | |
print('Step 2: use Flickr') | |
# assumes you have a file from the output of flickrmirrorer, e.g. | |
# find . | grep "\.metadata" > list_of_photos.txt | |
with open("list_of_photos.txt") as f: | |
for line in f: | |
photo_id = line.rstrip() | |
photo_id = photo_id.replace("./data/photostream/","") | |
photo_id = photo_id.replace(".metadata","") | |
photo_id = photo_id.replace(".jpg","") | |
photo_id = photo_id.replace(".png","") | |
print(photo_id) | |
try: | |
resp = flickr.photos.getInfo(api_key=api_key,photo_id=photo_id,authenticated=True) | |
filen = "metadata/"+photo_id+".json" | |
file = open(filen,"w") | |
file.write(json.dumps(resp, indent=4)) | |
except: | |
e = sys.exc_info()[0] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment