summaryrefslogtreecommitdiff
path: root/persistence
diff options
context:
space:
mode:
Diffstat (limited to 'persistence')
-rw-r--r--persistence/__init__.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/persistence/__init__.py b/persistence/__init__.py
index 663522e..1c6057c 100644
--- a/persistence/__init__.py
+++ b/persistence/__init__.py
@@ -1,6 +1,6 @@
import sqlite3, typing
from app_types import *
-from datetime import date
+import datetime
class UserRepository:
@@ -58,17 +58,17 @@ class StatsRepository:
def __initialize(self):
cur = self.__get_connection().cursor()
- cur.execute("CREATE TABLE IF NOT EXISTS stats(user_id TEXT, stats_date DATE, display_name TEXT, level INT, matches_played INT, kills INT, wins INT)")
- cur.execute("CREATE UNIQUE INDEX IF NOT EXISTS user_id_date_idx ON stats(user_id, stats_date)")
+ cur.execute("CREATE TABLE IF NOT EXISTS stats(user_id TEXT, stats_datetime DATETIME, display_name TEXT, level INT, matches_played INT, kills INT, wins INT)")
+ cur.execute("CREATE UNIQUE INDEX IF NOT EXISTS user_id_date_idx ON stats(user_id, stats_datetime)")
- async def put_stats(self, user: User, stats_date: date = date.today()):
+ async def put_stats(self, user: User, stats_datetime: datetime.datetime = datetime.datetime.now()):
stats: UserStats = await user.fetch_stats()
connection = self.__get_connection()
cur = connection.cursor()
- query = "INSERT OR REPLACE INTO stats(user_id, stats_date, display_name, level, matches_played, kills, wins) VALUES('{user_id}', '{stats_date}', '{display_name}', {level}, {matches_played}, {kills}, {wins})".format(
+ query = "INSERT OR REPLACE INTO stats(user_id, stats_datetime, display_name, level, matches_played, kills, wins) VALUES('{user_id}', '{stats_datetime}', '{display_name}', {level}, {matches_played}, {kills}, {wins})".format(
user_id = user.id,
- stats_date = stats_date,
+ stats_datetime = stats_datetime,
display_name = user.display_name,
level = stats.level,
matches_played = stats.matches_played,
@@ -77,10 +77,10 @@ class StatsRepository:
cur.execute(query)
connection.commit()
- def get_stats(self, stats_date: date = date.today()) -> typing.List[UserStats]:
+ def get_stats(self, stats_datetime: datetime.datetime = datetime.datetime.now()) -> typing.List[UserStats]:
connection = self.__get_connection()
cur = connection.cursor()
- query = "SELECT * FROM stats WHERE stats_date IN (SELECT MIN(stats_date) FROM stats WHERE stats_date >= '{stats_date}')".format(stats_date = stats_date)
+ query = "SELECT * FROM stats WHERE stats_datetime IN (SELECT MIN(stats_datetime) FROM stats WHERE stats_datetime >= '{stats_datetime}')".format(stats_datetime = stats_datetime)
cur.execute(query)
result = cur.fetchall()
return [self.__map_from_db(stats) for stats in result]