blob: 3853abd622e4be3c88414738a27f7bd7fa306b32 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# this needs python 3
import re
import sys
import postgresql
from urllib.parse import urlparse
import redis
db = postgresql.open("pq://postgres:root@localhost/dumpfm")
db.execute("SET CLIENT_ENCODING to 'UNICODE'")
r = redis.Redis("localhost")
def clear_redis():
r.delete("hiscore.day")
def fetch_favs():
ps = db.prepare("SELECT user_id, message_id, created_on FROM tags WHERE created_on > (now() - INTERVAL '7 day') AND LOWER(tag) = 'favorite'")
rows = ps()
return rows
def add_favs_to_redis(favs):
for fav in favs:
user_id = fav[0]
message_id = fav[1]
r.zincrby("hiscore.week", message_id, 1)
def rm_low_scores():
r.zremrangebyscore("hiscore.week", 0, 5)
if __name__ == "__main__":
clear_redis()
favs = fetch_favs()
add_favs_to_redis(favs)
rm_low_scores()
|