mirror of
https://github.com/Dvorinka/swingmusic-extended.git
synced 2026-06-03 20:13:02 +00:00
40 lines
955 B
Python
40 lines
955 B
Python
"""
|
|
Contains methods for reading and writing to the sqlite artists database.
|
|
"""
|
|
|
|
import json
|
|
from sqlite3 import Cursor
|
|
|
|
from .utils import SQLiteManager
|
|
|
|
|
|
class SQLiteArtistMethods:
|
|
@staticmethod
|
|
def insert_one_artist(cur: Cursor, artisthash: str, colors: str | list[str]):
|
|
"""
|
|
Inserts a single artist into the database.
|
|
"""
|
|
sql = """INSERT OR REPLACE INTO artists(
|
|
artisthash,
|
|
colors
|
|
) VALUES(?,?)
|
|
"""
|
|
colors = json.dumps(colors)
|
|
cur.execute(sql, (artisthash, colors))
|
|
cur.close()
|
|
|
|
@staticmethod
|
|
def get_all_artists():
|
|
"""
|
|
Get all artists from the database and return a generator of Artist objects
|
|
"""
|
|
sql = """SELECT * FROM artists"""
|
|
|
|
with SQLiteManager() as cur:
|
|
cur.execute(sql)
|
|
|
|
for artist in cur.fetchall():
|
|
yield artist
|
|
|
|
cur.close()
|