aboutsummaryrefslogtreecommitdiff
path: root/chat/chat_cache.py
blob: 08cbf178179d40df20f4156d4e989ecb20346e41 (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
36
37
38
39
40
41
42
43
import redis
import json

r = redis.Redis(host='localhost', port=6379, db=0)

def handle_connect():
    # increase number of connected users
    r.set('n_connected_lc_users', max(1, int(r.get('n_connected_lc_users')) + 1))
    print('There are now {} connected users.'.format(r.get('n_connected_lc_users')))

def handle_disconnect():
    # decrease number of connected users
    r.set('n_connected_lc_users', max(0, int(r.get('n_connected_lc_users')) - 1))
    print('There are now {} connected users.'.format(r.get('n_connected_lc_users')))

def handle_alone_user():
    if int(r.get('n_connected_lc_users')) == 1:
        return True
    else:
        return False
    
def save_user_messages(user_identifier, message):
    # get user_messages from redis
    user_messages = r.get(user_identifier)
    if user_messages:
        user_messages = json.loads(user_messages)
    else:
        user_messages = []
    # append new message
    user_messages.append(message)
    # save user_messages to redis
    r.set(user_identifier, json.dumps(user_messages))

def get_user_messages(user_identifier):
    # get user_messages from redis
    user_messages = r.get(user_identifier)
    if user_messages:
        return json.loads(user_messages)
    else:
        return []

def discard_user_messages(user_identifier):
    r.delete(user_identifier)