50 lines
1.7 KiB
Python
50 lines
1.7 KiB
Python
import json
|
|
from utilities.database.sqlite import SQLite
|
|
|
|
with open("config.json", 'r') as config_file:
|
|
config_json = json.loads(config_file.read())
|
|
|
|
my_db = SQLite(config_json["database"]["name"])
|
|
|
|
my_db.query("""
|
|
CREATE TABLE IF NOT EXISTS media (
|
|
media_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
media_name TEXT NOT NULL,
|
|
media_uri TEXT,
|
|
media_preparing INTEGER DEFAULT 0 CHECK(media_preparing IN (0, 1)),
|
|
media_active INTEGER DEFAULT 0 CHECK(media_active IN (0, 1)),
|
|
media_default INTEGER DEFAULT 0 CHECK(media_default IN (0, 1))
|
|
)
|
|
""")
|
|
|
|
my_db.query("""
|
|
CREATE TABLE IF NOT EXISTS media_preparation (
|
|
media_preparation_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
media_id INTEGER NOT NULL,
|
|
media_preparation_started INTEGER DEFAULT 0 CHECK(media_preparation_started IN (0, 1)),
|
|
media_preparation_progress INTEGER,
|
|
media_preparation_finished INTEGER DEFAULT 0 CHECK(media_preparation_finished IN (0, 1)),
|
|
media_preparation_time_between_components INTEGER
|
|
)
|
|
""")
|
|
|
|
my_db.query("""
|
|
CREATE TABLE IF NOT EXISTS media_component (
|
|
media_component_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
media_id INTEGER NOT NULL,
|
|
media_component_uri NOT NULL,
|
|
media_component_index INTEGER CHECK(media_component_index >= 1),
|
|
media_component_deleted INTEGER DEFAULT 0 CHECK(media_component_deleted IN (0, 1))
|
|
)
|
|
""")
|
|
|
|
my_db.query("""
|
|
CREATE TABLE IF NOT EXISTS media_playback_option (
|
|
media_playback_option_id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
media_id INTEGER NOT NULL,
|
|
media_playback_option TEXT NOT NULL,
|
|
media_playback_option_weight INTEGER NOT NULL CHECK(media_playback_option_weight >= 1)
|
|
)
|
|
""")
|
|
|
|
my_db.close() |