コード例 #1
0
ファイル: get_hashtag.py プロジェクト: go/geloge-lo
def application(environ, start_response):
    session = None

    form = cgi.FieldStorage(fp=environ["wsgi.input"], environ=environ)

    cookie = Cookie.SimpleCookie()

    if environ.has_key("HTTP_COOKIE"):
        cookie.load(environ["HTTP_COOKIE"])

    if form.has_key("hashname"):
        hashname = quote(form["hashname"].value)

    start_response("200 OK", [("Content-Type", "text/plain")])
    ret = []
    for page in xrange(1, 16):
        tweets = search(hashname, rpp="100", page=str(page))["results"]
        if not tweets:
            break

        for t in tweets:
            lat = None
            lng = None
            if t["geo"]:
                lat = float(t["geo"]["coordinates"][0])
                lng = float(t["geo"]["coordinates"][1])
            elem = []
            elem.append(str(datetime.strptime(t["created_at"], "%a, %d %b %Y %H:%M:%S +0000")))
            t["text"] = Thumbs.genThumbs(t["text"])
            elem.append(t["text"])
            if lat and lng:
                elem.append([lat, lng])
            ret.append(elem)

    return json.dumps(ret)
コード例 #2
0
def add_tweet(tweet_info):
    lat = None
    lng = None
    if tweet_info['coordinates']:
        lat = float(tweet_info['coordinates']['coordinates'][0])
        lng = float(tweet_info['coordinates']['coordinates'][1])
        
    new_tweet = Tweet()
    new_tweet.uid = tweet_info['user']['id']
    new_tweet.tid = tweet_info['id']
    new_tweet.text = Thumbs.genThumbs(tweet_info['text'])
    if lat and lng:
        new_tweet.lat = lat
        new_tweet.lng = lng
    new_tweet.time = datetime.strptime(tweet_info['created_at'], "%a %b %d %H:%M:%S +0000 %Y")

    new_tweet.put()
コード例 #3
0
ファイル: get_user_gelo.py プロジェクト: go/geloge-lo
def application ( environ, start_response ):
    data = []
    num_limit = 10
    before_tid = None

    start_response('200 OK', [('Content-Type', 'text/plain')])
    form = cgi.FieldStorage(fp=environ['wsgi.input'], 
                            environ=environ)

    if not form.has_key('account'):
        return json.dumps(data)

    if form.has_key('limit'):
        try:
            num_limit = int(form['limit'].value)
        except:
            pass

    if form.has_key('before_tid'):
        try:
            before_tid = int(form['before_tid'].value)
        except:
            pass


    account = form['account'].value

    user = User.get_user(account)
    if not user:
        return json.dumps(data)

    tweets = Tweet.getTweetsByUser(user, num_limit, before_tid)
    for tw in tweets:
        tw_data = []
        tw_data.append(str(tw.time))
        tw_data.append(Thumbs.genThumbs(tw.text))
        if tw.lat and tw.lng:
            tw_data.append([tw.lng, tw.lat])
        else:
            tw_data.append(None)
        tw_data.append(tw.tid)
        data.append(tw_data)
        
    return json.dumps(data)
コード例 #4
0
ファイル: get_user_gelo.py プロジェクト: alipapaa/geloge-lo
def application(environ, start_response):
    data = []
    num_limit = 10
    before_tid = None

    start_response('200 OK', [('Content-Type', 'text/plain')])
    form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

    if not form.has_key('account'):
        return json.dumps(data)

    if form.has_key('limit'):
        try:
            num_limit = int(form['limit'].value)
        except:
            pass

    if form.has_key('before_tid'):
        try:
            before_tid = int(form['before_tid'].value)
        except:
            pass

    account = form['account'].value

    user = User.get_user(account)
    if not user:
        return json.dumps(data)

    tweets = Tweet.getTweetsByUser(user, num_limit, before_tid)
    for tw in tweets:
        tw_data = []
        tw_data.append(str(tw.time))
        tw_data.append(Thumbs.genThumbs(tw.text))
        if tw.lat and tw.lng:
            tw_data.append([tw.lng, tw.lat])
        else:
            tw_data.append(None)
        tw_data.append(tw.tid)
        data.append(tw_data)

    return json.dumps(data)
コード例 #5
0
ファイル: get_timeline.py プロジェクト: alipapaa/geloge-lo
def application(environ, start_response):
    session = None

    form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

    cookie = Cookie.SimpleCookie()

    if environ.has_key('HTTP_COOKIE'):
        cookie.load(environ["HTTP_COOKIE"])

    if not cookie.has_key('sid'):
        return 'session not found'

    session = getGeloSession(cookie['sid'].value)
    session.time_updated = datetime.now()
    session.put()

    start_response('200 OK', [('Content-Type', 'text/plain')])
    tweets = user_timeline2(
        session.id,
        oauth_token=session.token_key.oauth_token,
        oauth_token_secret=session.token_key.oauth_token_secret)

    ret = []
    for t in tweets:
        lat = None
        lng = None
        if t['coordinates']:
            lat = float(t['coordinates']['coordinates'][0])
            lng = float(t['coordinates']['coordinates'][1])
        elem = []
        elem.append(
            str(
                datetime.strptime(t['created_at'],
                                  "%a %b %d %H:%M:%S +0000 %Y")))
        elem.append(Thumbs.genThumbs(t['text']))
        if lat and lng:
            elem.append([lat, lng])
        ret.append(elem)

    return json.dumps(ret)
コード例 #6
0
ファイル: get_timeline.py プロジェクト: go/geloge-lo
def application ( environ, start_response ):
    session = None
    
    form = cgi.FieldStorage(fp=environ['wsgi.input'], 
                            environ=environ)

    cookie = Cookie.SimpleCookie()

    if environ.has_key('HTTP_COOKIE'):
        cookie.load(environ["HTTP_COOKIE"])

    if not cookie.has_key('sid'):
        return 'session not found'

    session = getGeloSession(cookie['sid'].value)
    session.time_updated = datetime.now()
    session.put()

    start_response('200 OK', [('Content-Type', 'text/plain')])
    tweets = user_timeline2(session.id, 
                            oauth_token = session.token_key.oauth_token, 
                            oauth_token_secret = session.token_key.oauth_token_secret)

    ret = []
    for t in tweets:
        lat = None
        lng = None
        if t['coordinates']:
            lat = float(t['coordinates']['coordinates'][0])
            lng = float(t['coordinates']['coordinates'][1])
        elem = []
        elem.append(str(datetime.strptime(t['created_at'], "%a %b %d %H:%M:%S +0000 %Y")))
        elem.append(Thumbs.genThumbs(t['text']))
        if lat and lng:
            elem.append([lat, lng])
        ret.append(elem)

    return json.dumps(ret)
コード例 #7
0
ファイル: get_hashtag.py プロジェクト: alipapaa/geloge-lo
def application(environ, start_response):
    session = None

    form = cgi.FieldStorage(fp=environ['wsgi.input'], environ=environ)

    cookie = Cookie.SimpleCookie()

    if environ.has_key('HTTP_COOKIE'):
        cookie.load(environ["HTTP_COOKIE"])

    if form.has_key('hashname'):
        hashname = quote(form['hashname'].value)

    start_response('200 OK', [('Content-Type', 'text/plain')])
    ret = []
    for page in xrange(1, 16):
        tweets = search(hashname, rpp="100", page=str(page))['results']
        if not tweets:
            break

        for t in tweets:
            lat = None
            lng = None
            if t['geo']:
                lat = float(t['geo']['coordinates'][0])
                lng = float(t['geo']['coordinates'][1])
            elem = []
            elem.append(
                str(
                    datetime.strptime(t['created_at'],
                                      "%a, %d %b %Y %H:%M:%S +0000")))
            t['text'] = Thumbs.genThumbs(t['text'])
            elem.append(t['text'])
            if lat and lng:
                elem.append([lat, lng])
            ret.append(elem)

    return json.dumps(ret)