From f0defdd91871b2755d9796da137c21373567cecc Mon Sep 17 00:00:00 2001 From: Simone Tesini Date: Fri, 1 Aug 2025 18:46:38 +0200 Subject: [PATCH 1/2] add classes --- backend/src/app.py | 5 ++--- backend/src/classes.py | 9 --------- backend/src/room.py | 18 ++++++++++++++++++ backend/src/song.py | 11 +++++++++++ 4 files changed, 31 insertions(+), 12 deletions(-) delete mode 100644 backend/src/classes.py create mode 100644 backend/src/room.py create mode 100644 backend/src/song.py diff --git a/backend/src/app.py b/backend/src/app.py index 8602d86..2484d2c 100644 --- a/backend/src/app.py +++ b/backend/src/app.py @@ -1,7 +1,6 @@ -from flask import Flask, request, Response, jsonify +from flask import Flask, Response, jsonify, request from flask_cors import CORS - -from .classes import Room +from room import Room app = Flask(__name__) CORS(app) diff --git a/backend/src/classes.py b/backend/src/classes.py deleted file mode 100644 index c607883..0000000 --- a/backend/src/classes.py +++ /dev/null @@ -1,9 +0,0 @@ -from dataclasses import dataclass - - -@dataclass -class Room: - id: int - coord: ... - name: str - pin: int | None diff --git a/backend/src/room.py b/backend/src/room.py new file mode 100644 index 0000000..bdf4026 --- /dev/null +++ b/backend/src/room.py @@ -0,0 +1,18 @@ +from dataclasses import dataclass + +from song import Song + +type UserScoredSong = tuple[Song, int] + + +@dataclass +class Room: + id: int + coord: tuple[float, float] + name: str + pin: int | None + tags: set[str] + creative: bool + + playlist: set[UserScoredSong] + history: list[Song] diff --git a/backend/src/song.py b/backend/src/song.py new file mode 100644 index 0000000..5ad3115 --- /dev/null +++ b/backend/src/song.py @@ -0,0 +1,11 @@ +from dataclasses import dataclass + + +@dataclass +class Song: + mbid: str + title: str + artist: str + tags: list[str] + image_id: str + youtube_id: str From b0be25aafb41d9274f017d845312bb5d7e04869b Mon Sep 17 00:00:00 2001 From: panzerotto Date: Fri, 1 Aug 2025 19:02:50 +0200 Subject: [PATCH 2/2] add db --- backend/src/connect.py | 6 ++++++ backend/src/song.py | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 backend/src/connect.py diff --git a/backend/src/connect.py b/backend/src/connect.py new file mode 100644 index 0000000..12e53d8 --- /dev/null +++ b/backend/src/connect.py @@ -0,0 +1,6 @@ +import sqlite3 + + +def get_connection(): + conn = sqlite3.connect("jukebox.db") + return conn diff --git a/backend/src/song.py b/backend/src/song.py index 5ad3115..2260838 100644 --- a/backend/src/song.py +++ b/backend/src/song.py @@ -1,4 +1,22 @@ from dataclasses import dataclass +from connect import get_connection + + +def init_db(): + conn = get_connection() + cursor = conn.cursor() + cursor.execute(""" + CREATE TABLE IF NOT EXISTS songs ( + mbid TEXT PRIMARY KEY, + title TEXT NOT NULL, + artist TEXT NOT NULL, + tags TEXT NOT NULL, + lastfm_image_id TEXT NOT NULL, + youtube_id TEXT NOT NULL + ); + """) + conn.commit() + conn.close() @dataclass