summaryrefslogtreecommitdiff
path: root/persistence.py
diff options
context:
space:
mode:
Diffstat (limited to 'persistence.py')
-rw-r--r--persistence.py37
1 files changed, 36 insertions, 1 deletions
diff --git a/persistence.py b/persistence.py
index 92452ce..8003a41 100644
--- a/persistence.py
+++ b/persistence.py
@@ -91,4 +91,39 @@ class StatsRepository:
userStats.matches_played = int(record[3])
userStats.kills = int(record[4])
userStats.wins = int(record[5])
- return userStats \ No newline at end of file
+ return userStats
+
+class PresenceRepository:
+
+ def __init__(self):
+ self.__initialize()
+
+ def __getConnection(self):
+ return sqlite3.connect('db.sqlite')
+
+ def __initialize(self):
+ cur = self.__getConnection().cursor()
+ cur.execute("CREATE TABLE IF NOT EXISTS user_presence(display_name TEXT, last_online INT)")
+ cur.execute("CREATE UNIQUE INDEX IF NOT EXISTS display_name_idx ON user_presence(display_name)")
+
+ def getLastUserPresence(self, display_name):
+ connection = self.__getConnection()
+ cur = connection.cursor()
+ query = "select last_online from user_presence where display_name = '{display_name}'s".format(display_name = display_name)
+ cur.execute(query)
+ user_presence = cur.fetchone()
+
+ if user_presence:
+ return user_presence[0]
+ else:
+ return 0
+
+ def setLastUserPresence(self, display_name: str, last_online: int):
+ connection = self.__getConnection()
+ cur = connection.cursor()
+ query = "INSERT OR REPLACE INTO user_presence(display_name, last_online) VALUES('{display_name}', {last_online})".format(
+ display_name = display_name,
+ last_online = last_online)
+ cur.execute(query)
+ connection.commit()
+ \ No newline at end of file