server/web/tweetgserver/views.py
changeset 34 735e0411e648
parent 33 98ffc58f0bd3
child 36 6e1ab6a00af1
equal deleted inserted replaced
33:98ffc58f0bd3 34:735e0411e648
    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()
       
    47     token_list = tokens.split(",")
    45     token_list = tokens.split(",")
    48     query_base = db.session.query(func.count(Tweet.id)).filter(Tweet.created_at >= sincetime)  #@UndefinedVariable
    46     query_base = db.session.query(func.count(Tweet.id)).filter(Tweet.created_at >= sincetime)  #@UndefinedVariable
    49     podium_res = {}
    47     podium_res = {}
    50     for token in token_list:
    48     for token in token_list:
    51         query = query_base.filter(Tweet.text.op('~*')(token)) #@UndefinedVariable
    49         query = query_base.filter(Tweet.text.op('~*')(token)) #@UndefinedVariable
    52         podium_res[token] = query.scalar()
    50         podium_res[token] = query.scalar()
    53     res = {
    51     res = {
    54         "podium" : podium_res,
    52         "podium" : podium_res,
    55         "total" : query_base.scalar(),
    53         "total" : query_base.scalar()
    56         "delta": int(delta_s),
       
    57         "tweets_per_minute": 60. * ts_list_count / delta_s
       
    58     }
    54     }
    59     return jsonpwrap(res)
    55     return jsonpwrap(res)
    60     
    56