diff options
Diffstat (limited to 'chat/chat_cache.py')
| -rw-r--r-- | chat/chat_cache.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/chat/chat_cache.py b/chat/chat_cache.py new file mode 100644 index 00000000..08cbf178 --- /dev/null +++ b/chat/chat_cache.py @@ -0,0 +1,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)
\ No newline at end of file |
