diff --git a/core/database.py b/core/database.py index 3e50c8f..c3ce18d 100644 --- a/core/database.py +++ b/core/database.py @@ -49,7 +49,7 @@ class DatabaseManager: CREATE TABLE IF NOT EXISTS media ( id INTEGER PRIMARY KEY AUTOINCREMENT, color_id INTEGER NOT NULL, - filename TEXT NOT NULL, + media_path TEXT NOT NULL, file_type TEXT CHECK(file_type IN ('photo','video')), timestamp TEXT DEFAULT CURRENT_TIMESTAMP, FOREIGN KEY(color_id) REFERENCES colors(id) ON DELETE CASCADE @@ -112,7 +112,7 @@ class DatabaseManager: # ------------------------- # Operacje na plikach # ------------------------- - def add_media(self, color_id: int, filename: str, file_type: str, timestamp: str | None = None): + def add_media(self, color_id: int, media_path: str, file_type: str, timestamp: str | None = None): if timestamp is None: timestamp = datetime.now().isoformat() @@ -120,8 +120,8 @@ class DatabaseManager: raise RuntimeError("Database not connected") cur = self.conn.cursor() cur.execute( - "INSERT INTO media (color_id, filename, file_type, timestamp) VALUES (?, ?, ?, ?)", - (color_id, filename, file_type, timestamp), + "INSERT INTO media (color_id, media_path, file_type, timestamp) VALUES (?, ?, ?, ?)", + (color_id, media_path, file_type, timestamp), ) self.conn.commit() @@ -133,11 +133,11 @@ class DatabaseManager: rows = cur.fetchall() return [dict(r) for r in rows] - def delete_media(self, color_id: int, filename: str): + def delete_media(self, color_id: int, media_path: str): if self.conn is None: raise RuntimeError("Database not connected") cur = self.conn.cursor() - cur.execute("DELETE FROM media WHERE color_id = ? AND filename = ?", (color_id, filename)) + cur.execute("DELETE FROM media WHERE color_id = ? AND media_path = ?", (color_id, media_path)) self.conn.commit() def delete_all_media_for_color(self, color_id: int): diff --git a/core/media.py b/core/media.py index d14490f..2a17ca1 100644 --- a/core/media.py +++ b/core/media.py @@ -33,8 +33,8 @@ class MediaRepository: icon_file = color_dir / "icon.jpg" self.db.update_color_icon(color, icon_file.as_posix() if icon_file.exists() else DEFAULT_ICON.as_posix()) - disk_files = {f.name for f in color_dir.iterdir() if f.is_file() and f.name != "icon.jpg"} - db_files = {m["filename"] for m in self.db.get_media_for_color(color_id)} + disk_files = {f.as_posix() for f in color_dir.iterdir() if f.is_file() and f.name != "icon.jpg"} + db_files = {m["media_path"] for m in self.db.get_media_for_color(color_id)} # usuń brakujące for missing in db_files - disk_files: