diff --git a/requirements.txt b/requirements.txt index c0eed9ba..03fc6311 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,5 @@ httplib2==0.9 python-instagram==1.1.3 redis==2.10.3 simplejson==3.6.3 -beaker==1.6.4 -six==1.8.0 +beaker==1.11.0 +six==1.8.0 \ No newline at end of file diff --git a/sample_app.py b/sample_app.py index 82cc13a9..88c1d076 100644 --- a/sample_app.py +++ b/sample_app.py @@ -21,39 +21,45 @@ unauthenticated_api = client.InstagramAPI(**CONFIG) + @hook('before_request') def setup_request(): request.session = request.environ['beaker.session'] + def process_tag_update(update): print(update) + reactor = subscriptions.SubscriptionsReactor() reactor.register_callback(subscriptions.SubscriptionType.TAG, process_tag_update) + @route('/') def home(): try: - url = unauthenticated_api.get_authorize_url(scope=["likes","comments"]) + url = unauthenticated_api.get_authorize_url(scope=["likes", "comments"]) return 'Connect with Instagram' % url except Exception as e: print(e) + def get_nav(): nav_menu = ("

Python Instagram

" "") return nav_menu + @route('/oauth_callback') def on_callback(): code = request.GET.get("code") @@ -69,6 +75,7 @@ def on_callback(): print(e) return get_nav() + @route('/recent') def on_recent(): content = "

User Recent Media

" @@ -81,15 +88,19 @@ def on_recent(): photos = [] for media in recent_media: photos.append('
') - if(media.type == 'video'): - photos.append('' % (media.get_standard_resolution_url())) + if (media.type == 'video'): + photos.append('' % ( + media.get_standard_resolution_url())) else: photos.append('' % (media.get_low_resolution_url())) - photos.append("
Like Un-Like LikesCount=%s
" % (media.id,media.id,media.like_count)) + photos.append( + "
Like Un-Like LikesCount=%s" % ( + media.id, media.id, media.like_count)) content += ''.join(photos) except Exception as e: print(e) - return "%s %s
Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/media_like/') def media_like(id): @@ -98,6 +109,7 @@ def media_like(id): api.like_media(media_id=id) redirect("/recent") + @route('/media_unlike/') def media_unlike(id): access_token = request.session['access_token'] @@ -105,6 +117,7 @@ def media_unlike(id): api.unlike_media(media_id=id) redirect("/recent") + @route('/user_media_feed') def on_user_media_feed(): access_token = request.session['access_token'] @@ -126,7 +139,8 @@ def on_user_media_feed(): content += ''.join(photos) except Exception as e: print(e) - return "%s %s
Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/location_recent_media') def location_recent_media(): @@ -143,7 +157,8 @@ def location_recent_media(): content += ''.join(photos) except Exception as e: print(e) - return "%s %s
Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/media_search') def media_search(): @@ -153,14 +168,15 @@ def media_search(): return 'Missing Access Token' try: api = client.InstagramAPI(access_token=access_token, client_secret=CONFIG['client_secret']) - media_search = api.media_search(lat="37.7808851",lng="-122.3948632",distance=1000) + media_search = api.media_search(lat="37.7808851", lng="-122.3948632", distance=1000) photos = [] for media in media_search: photos.append('' % media.get_standard_resolution_url()) content += ''.join(photos) except Exception as e: print(e) - return "%s %s
Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/media_popular') def media_popular(): @@ -177,7 +193,8 @@ def media_popular(): content += ''.join(photos) except Exception as e: print(e) - return "%s %s
Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/user_search') def user_search(): @@ -190,11 +207,12 @@ def user_search(): user_search = api.user_search(q="Instagram") users = [] for user in user_search: - users.append('
  • %s
  • ' % (user.profile_picture,user.username)) + users.append('
  • %s
  • ' % (user.profile_picture, user.username)) content += ''.join(users) except Exception as e: print(e) - return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/user_follows') def user_follows(): @@ -208,15 +226,16 @@ def user_follows(): user_follows, next = api.user_follows('25025320') users = [] for user in user_follows: - users.append('
  • %s
  • ' % (user.profile_picture,user.username)) + users.append('
  • %s
  • ' % (user.profile_picture, user.username)) while next: user_follows, next = api.user_follows(with_next_url=next) for user in user_follows: - users.append('
  • %s
  • ' % (user.profile_picture,user.username)) + users.append('
  • %s
  • ' % (user.profile_picture, user.username)) content += ''.join(users) except Exception as e: print(e) - return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/location_search') def location_search(): @@ -226,14 +245,16 @@ def location_search(): return 'Missing Access Token' try: api = client.InstagramAPI(access_token=access_token, client_secret=CONFIG['client_secret']) - location_search = api.location_search(lat="37.7808851",lng="-122.3948632",distance=1000) + location_search = api.location_search(lat="37.7808851", lng="-122.3948632", distance=1000) locations = [] for location in location_search: - locations.append('
  • %s Map
  • ' % (location.name,location.point.latitude,location.point.longitude)) + locations.append('
  • %s Map
  • ' % ( + location.name, location.point.latitude, location.point.longitude)) content += ''.join(locations) except Exception as e: print(e) - return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/tag_search') def tag_search(): @@ -251,7 +272,8 @@ def tag_search(): content += ''.join(photos) except Exception as e: print(e) - return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(),content,api.x_ratelimit_remaining,api.x_ratelimit) + return "%s %s
    Remaining API Calls = %s/%s" % (get_nav(), content, api.x_ratelimit_remaining, api.x_ratelimit) + @route('/realtime_callback') @post('/realtime_callback') @@ -269,4 +291,5 @@ def on_realtime_callback(): except subscriptions.SubscriptionVerifyError: print("Signature mismatch") + bottle.run(app=app, host='localhost', port=8515, reloader=True)