malo čiščenja kode in robustnostni popravek (kreiranje prazne sheme)

This commit is contained in:
2026-03-22 16:42:28 +01:00
parent 48536d57ab
commit dbf4c2da16
3 changed files with 24 additions and 8 deletions

15
db_schema.py Normal file
View File

@@ -0,0 +1,15 @@
import sqlite3
def create_tables(conn):
"""
Ustvari potrebne tabele v bazi, če še ne obstajajo.
"""
cursor = conn.cursor()
cursor.execute('''
CREATE TABLE IF NOT EXISTS songs (
id INTEGER PRIMARY KEY,
title TEXT,
lyrics TEXT
)
''')
conn.commit()

View File

@@ -31,6 +31,7 @@ import tkinter.messagebox as messagebox
from web.server import start_server_thread from web.server import start_server_thread
import urllib.request import urllib.request
import tempfile import tempfile
from db_schema import create_tables
DB_PATH = 'songs.db' DB_PATH = 'songs.db'
SETTINGS_PATH = 'settings.json' SETTINGS_PATH = 'settings.json'
@@ -46,6 +47,7 @@ class SongProjector:
# Odpri read-only; ne bo ustvaril prazne baze, če datoteka manjka # Odpri read-only; ne bo ustvaril prazne baze, če datoteka manjka
# check_same_thread=False omogoča uporabo v večih nitih # check_same_thread=False omogoča uporabo v večih nitih
self.conn = sqlite3.connect(DB_PATH, check_same_thread=False) self.conn = sqlite3.connect(DB_PATH, check_same_thread=False)
create_tables(self.conn)
self.cursor = self.conn.cursor() self.cursor = self.conn.cursor()
except sqlite3.OperationalError as e: except sqlite3.OperationalError as e:
# Jasno sporočilo in varen izhod # Jasno sporočilo in varen izhod

View File

@@ -5,6 +5,11 @@ import sqlite3
import json import json
import os import os
import urllib.request import urllib.request
import sys
# Dodajanje poti do korenskega imenika, da lahko uvozimo db_schema
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from db_schema import create_tables
DB_PATH = 'songs.db' DB_PATH = 'songs.db'
SETTINGS_PATH = 'settings.json' SETTINGS_PATH = 'settings.json'
@@ -15,22 +20,16 @@ EXPORT_PATH = 'pesmi_export.txt'
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
if not os.path.exists(SETTINGS_PATH): if not os.path.exists(SETTINGS_PATH):
print("Nastavitve manjkajo! Zaženi 'nastavitve.bat' najprej.") print("Nastavitve manjkajo! Zaženi program za prjekcijo, da jih pripravi.")
exit() exit()
with open(SETTINGS_PATH, "r", encoding="utf-8") as f: with open(SETTINGS_PATH, "r", encoding="utf-8") as f:
settings = json.load(f) settings = json.load(f)
conn = sqlite3.connect(DB_PATH) conn = sqlite3.connect(DB_PATH)
create_tables(conn)
cursor = conn.cursor() cursor = conn.cursor()
cursor.execute('''CREATE TABLE IF NOT EXISTS songs (
id INTEGER PRIMARY KEY,
title TEXT,
lyrics TEXT
)''')
conn.commit()
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# POMOŽNE FUNKCIJE # POMOŽNE FUNKCIJE
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------