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 |