server/web/tweetgserver/views.py
changeset 33 98ffc58f0bd3
parent 32 1e47b1f9f42d
child 34 735e0411e648
equal deleted inserted replaced
32:1e47b1f9f42d 33:98ffc58f0bd3
    40     return jsonpwrap(res)
    40     return jsonpwrap(res)
    41 
    41 
    42 @app.route('/podium/<int:since>/<tokens>', methods=['GET'])
    42 @app.route('/podium/<int:since>/<tokens>', methods=['GET'])
    43 def podium(since, tokens):
    43 def podium(since, tokens):
    44     sincetime = datetime.fromtimestamp(since)
    44     sincetime = datetime.fromtimestamp(since)
       
    45     delta_td = datetime.now() - sincetime
       
    46     delta_s = delta_td.total_seconds()
    45     token_list = tokens.split(",")
    47     token_list = tokens.split(",")
    46     query_base = db.session.query(func.count(Tweet.id)).filter(Tweet.created_at >= sincetime)  #@UndefinedVariable
    48     query_base = db.session.query(func.count(Tweet.id)).filter(Tweet.created_at >= sincetime)  #@UndefinedVariable
    47     podium_res = {}
    49     podium_res = {}
    48     for token in token_list:
    50     for token in token_list:
    49         query = query_base.filter(Tweet.text.op('~*')(token)) #@UndefinedVariable
    51         query = query_base.filter(Tweet.text.op('~*')(token)) #@UndefinedVariable
    50         podium_res[token] = query.scalar()
    52         podium_res[token] = query.scalar()
    51     res = {
    53     res = {
    52         "podium" : podium_res,
    54         "podium" : podium_res,
    53         "total" : query_base.scalar()
    55         "total" : query_base.scalar(),
       
    56         "delta": int(delta_s),
       
    57         "tweets_per_minute": 60. * ts_list_count / delta_s
    54     }
    58     }
    55     return jsonpwrap(res)
    59     return jsonpwrap(res)
    56     
    60