def geolocate_bot(stream_dump, enable_cache = False): """ Service method for Twitter bot account """ jobj = None err_msg = None try: jobj = json.loads(stream_dump.strip()) assert("user" in jobj) text = jobj["text"].lower().strip() if geoloc_cmd not in text: err_msg = 'No "{0}" in tweet'.format(geoloc_cmd) assert(jobj["user"]["screen_name"]) except (AssertionError, ValueError, KeyError): err_msg = "Invalid Streaming API dump" if err_msg: print err_msg return None sname = jobj["user"]["screen_name"] print sname gt_dict = stacked_logit.geolocate(sname, enable_cache) err_msg = gt_dict["error"] if err_msg: print err_msg return None else: dm = tailor_bot_output(sname, gt_dict) print dm twitter_adapter.post_direct_message(sname, dm) return dm
def geolocate_bot(stream_dump, enable_cache=False): """ Service method for Twitter bot account """ jobj = None err_msg = None try: jobj = json.loads(stream_dump.strip()) assert ("user" in jobj) text = jobj["text"].lower().strip() if geoloc_cmd not in text: err_msg = 'No "{0}" in tweet'.format(geoloc_cmd) assert (jobj["user"]["screen_name"]) except (AssertionError, ValueError, KeyError): err_msg = "Invalid Streaming API dump" if err_msg: print err_msg return None sname = jobj["user"]["screen_name"] print sname gt_dict = stacked_logit.geolocate(sname, enable_cache) err_msg = gt_dict["error"] if err_msg: print err_msg return None else: dm = tailor_bot_output(sname, gt_dict) print dm twitter_adapter.post_direct_message(sname, dm) return dm
def geolocate_cli(data, enable_cache = False): """ Service method for command line test """ gt_dict = stacked_logit.geolocate(data, enable_cache) #cli_output = tailor_cli_output(gt_dict) #print cli_output return gt_dict
def geolocate_web(sname, enable_cache = False): """ Service method for web demo """ gt_dict = stacked_logit.geolocate(sname, enable_cache) print "Error: ", gt_dict["error"] return tailor_web_output(gt_dict)
def geolocate_cli(data, enable_cache=False): """ Service method for command line test """ gt_dict = stacked_logit.geolocate(data, enable_cache) #cli_output = tailor_cli_output(gt_dict) #print cli_output return gt_dict
def geolocate_web(sname, enable_cache=False): """ Service method for web demo """ gt_dict = stacked_logit.geolocate(sname, enable_cache) print "Error: ", gt_dict["error"] return tailor_web_output(gt_dict)