def get_response(msg,fb_id): try: msg = msg.strip().lower() #normalize service.add_user_if_not_exists(fb_id) if(len(msg)==0): return "Sorry, I did not receive your message. Try again?" if(_help_re.match(msg)): return get_help_message() if (_cancel_re.match(msg)): cancel_result = service.cancel_reminder(fb_id) if(cancel_result > 0): return "Cancelled the %d reminder(s) that you set" % cancel_result else: return "No reminders were set, no need to cancel" request_info = request_analyzer.parse_request(msg) show_result = _show_re.match(msg) if (show_result and request_info): posts = service.filter_carpool_posts(request_info) return get_post_list_message(posts) elif(show_result): return get_invalid_request_info_message() remind_result = _remind_re.match(msg) if (remind_result and request_info): service.store_reminder(fb_id,request_info) return get_reminder_set_message(request_info) elif (remind_result): return get_invalid_request_info_message() return get_not_recognized_command_message() except Exception as e: print(e) exc_type, exc_value, exc_traceback = sys.exc_info() print "*** print_tb:" traceback.print_tb(exc_traceback, limit=1, file=sys.stdout) print "*** print_exception:" traceback.print_exception(exc_type, exc_value, exc_traceback, limit=2, file=sys.stdout) print "*** print_exc:" traceback.print_exc() return get_error_message()