add recently played playlist

This commit is contained in:
cwilvx
2024-05-23 12:42:36 +03:00
parent 30768dd5d6
commit bbcacf81bd
10 changed files with 142 additions and 62 deletions
+17 -2
View File
@@ -1,11 +1,12 @@
from app.db.sqlite.utils import SQLiteManager
from app.models.logger import TrackLog as TrackLog
class SQLiteTrackLogger:
@classmethod
def insert_track(cls, trackhash: str, duration: int, source: str, timestamp: int, userid: int):
"""
Inserts a track into the database
Inserts a track play record into the database
"""
with SQLiteManager(userdata_db=True) as cur:
@@ -26,7 +27,7 @@ class SQLiteTrackLogger:
@classmethod
def get_all(cls):
"""
Returns all tracks from the database
Returns all track play records from the database
"""
with SQLiteManager(userdata_db=True) as cur:
@@ -36,3 +37,17 @@ class SQLiteTrackLogger:
rows = cur.fetchall()
return rows
@classmethod
def get_recently_played(cls, start: int = 0, limit: int = 100):
"""
Returns a list of recently played tracks
"""
with SQLiteManager(userdata_db=True) as cur:
sql = """SELECT * FROM track_logger ORDER BY timestamp DESC LIMIT ?,?"""
cur.execute(sql, (start, limit))
rows = cur.fetchall()
return [TrackLog(*row) for row in rows]