def handle_quick_reply(user_id, context, cmd): # Yelp YES response to "Do you want more result?" if cmd == 'yelp-more-yes': offset = g.user['yelp_offset'] + 5 Mongo.increment_yelp_offset(users, g.user, 5) # actually update result = yelp_search(context['terms'], context['location'], context['coordinates'], 5, offset) if result['status'] == 1: # Successful search FB.send_message(app.config['PAT'], user_id, "Okay, I've found %s places:"%(len(result['businesses']))) FB.send_yelp_results(app.config['PAT'], user_id, result['businesses']) FB.send_quick_replies_yelp_search(app.config['PAT'], user_id) return 'pseudo' else: Mongo.pop_context(users, g.user) Mongo.reset_yelp_offset(users, g.user) return "That's all I found for now :)" # Yelp NO response to "Do you want more result?" elif cmd == 'yelp-more-no': context = g.user['contexts'][-1] Mongo.reset_yelp_offset(users, g.user) if context['location_from_memory'] == 1: Mongo.pop_context(users, g.user) return "Glad I can help :)" if context['context'] == 'find-food' and context['location'] is not None and context['coordinates'] is not None: latest_location = context['location'] FB.send_quick_replies_yelp_save_location(app.config['PAT'], user_id, latest_location) return 'pseudo' elif context['context'] == 'find-food' and context['coordinates'] is not None and context['location'] is None: # Suggest saving this location FB.send_quick_replies_yelp_save_location(app.config['PAT'], user_id) return 'pseudo' else: Mongo.pop_context(users, g.user) return "Glad I can help :)" # Yelp YES response to "Do you want to save this location" elif cmd == 'yelp-save-location-yes': context = g.user['contexts'][-1] latest_coords = context['coordinates'] latest_location = context['location'] if context['location'] == None: # A search with only coordinates contextNow = {'context':'yelp-rename', 'name': 'untitled', 'coordinates': latest_coords, } Mongo.pop_context(users, g.user) # pop find-food context Mongo.add_context(users, g.user, contextNow) return "What do you want to call it? :D" else: Mongo.add_yelp_location_history(users, g.user, latest_coords, latest_location) Mongo.pop_context(users, g.user) Mongo.reset_yelp_offset(users, g.user) return "Ta da! I wrote it to my cloudy memory :D" # Yelp NO response to "Do you want to save this location" elif cmd == 'yelp-save-location-no': Mongo.pop_context(users, g.user) Mongo.reset_yelp_offset(users, g.user) return "OK (y) Hope you like those places I found :D" # Yelp RENAME response to "Do you want to save this location" elif cmd == 'yelp-save-location-rename': context = g.user['contexts'][-1] latest_location = context['location'] latest_coords = context['coordinates'] contextNow = {'context':'yelp-rename', 'name': latest_location, 'coordinates': latest_coords, } Mongo.pop_context(users, g.user) # pop find-food context Mongo.add_context(users, g.user, contextNow) return "What do you want to call it? :D" # Yelp choose one of the saved location elif 'yelp-cached-location-' in cmd: idx = int(cmd[-1]) # last character of payload string code location = get_recent_locations_yelp(idx) FB.send_message(app.config['PAT'], user_id, "Looking around %s :D"%(location['name'])) message = {} message['data'] = location['coordinates'] return handle_find_food(user_id, context, None, None, message, None, 'receive_location_gps', 1)
def handle_quick_reply(user_id, context, cmd): # Yelp YES response to "Do you want more result?" if cmd == 'yelp-more-yes': offset = g.user['yelp_offset'] + 5 Mongo.increment_yelp_offset(users, g.user, 5) # actually update result = yelp_search(context['terms'], context['location'], context['coordinates'], 5, offset) if result['status'] == 1: # Successful search FB.send_message( app.config['PAT'], user_id, "Okay, I've found %s places:" % (len(result['businesses']))) FB.send_yelp_results(app.config['PAT'], user_id, result['businesses']) FB.send_quick_replies_yelp_search(app.config['PAT'], user_id) return 'pseudo' else: Mongo.pop_context(users, g.user) Mongo.reset_yelp_offset(users, g.user) return "That's all I found for now :)" # Yelp NO response to "Do you want more result?" elif cmd == 'yelp-more-no': context = g.user['contexts'][-1] Mongo.reset_yelp_offset(users, g.user) if context['location_from_memory'] == 1: Mongo.pop_context(users, g.user) return "Glad I can help :)" if context['context'] == 'find-food' and context[ 'location'] is not None and context['coordinates'] is not None: latest_location = context['location'] FB.send_quick_replies_yelp_save_location(app.config['PAT'], user_id, latest_location) return 'pseudo' elif context['context'] == 'find-food' and context[ 'coordinates'] is not None and context['location'] is None: # Suggest saving this location FB.send_quick_replies_yelp_save_location(app.config['PAT'], user_id) return 'pseudo' else: Mongo.pop_context(users, g.user) return "Glad I can help :)" # Yelp YES response to "Do you want to save this location" elif cmd == 'yelp-save-location-yes': context = g.user['contexts'][-1] latest_coords = context['coordinates'] latest_location = context['location'] if context['location'] == None: # A search with only coordinates contextNow = { 'context': 'yelp-rename', 'name': 'untitled', 'coordinates': latest_coords, } Mongo.pop_context(users, g.user) # pop find-food context Mongo.add_context(users, g.user, contextNow) return "What do you want to call it? :D" else: Mongo.add_yelp_location_history(users, g.user, latest_coords, latest_location) Mongo.pop_context(users, g.user) Mongo.reset_yelp_offset(users, g.user) return "Ta da! I wrote it to my cloudy memory :D" # Yelp NO response to "Do you want to save this location" elif cmd == 'yelp-save-location-no': Mongo.pop_context(users, g.user) Mongo.reset_yelp_offset(users, g.user) return "OK (y) Hope you like those places I found :D" # Yelp RENAME response to "Do you want to save this location" elif cmd == 'yelp-save-location-rename': context = g.user['contexts'][-1] latest_location = context['location'] latest_coords = context['coordinates'] contextNow = { 'context': 'yelp-rename', 'name': latest_location, 'coordinates': latest_coords, } Mongo.pop_context(users, g.user) # pop find-food context Mongo.add_context(users, g.user, contextNow) return "What do you want to call it? :D" # Yelp choose one of the saved location elif 'yelp-cached-location-' in cmd: idx = int(cmd[-1]) # last character of payload string code location = get_recent_locations_yelp(idx) FB.send_message(app.config['PAT'], user_id, "Looking around %s :D" % (location['name'])) message = {} message['data'] = location['coordinates'] return handle_find_food(user_id, context, None, None, message, None, 'receive_location_gps', 1)
def handle_yelp_rename(user_id, user, context, name): Mongo.add_yelp_location_history(users, user, context['coordinates'], name)
def handle_yelp_rename(user_id, user, context, name): Mongo.add_yelp_location_history(users, user, context['coordinates'], name)