Exemplo n.º 1
0
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
Exemplo n.º 2
0
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
Exemplo n.º 3
0
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
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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)