Bedre tag sync
This commit is contained in:
@@ -774,34 +774,31 @@ class PlaylistPanel(QWidget):
|
||||
)
|
||||
if dlg.exec():
|
||||
chosen = dlg.get_dance()
|
||||
choreo = "" # Koreograf redigeres i tag-editoren, ikke her
|
||||
if chosen:
|
||||
song["active_dance"] = chosen
|
||||
song["active_choreo"] = choreo
|
||||
self._refresh()
|
||||
|
||||
# Gem permanent hvis sangen ikke allerede har denne dans tagget
|
||||
already_tagged = chosen in dances
|
||||
if not already_tagged:
|
||||
self._save_dance_permanently(idx, song, chosen, choreo)
|
||||
else:
|
||||
# Midlertidigt — kun dance_override på listen
|
||||
self._sync_dance_to_db(idx, song)
|
||||
# Dans-valg i playlisten er altid midlertidigt — kun dance_override
|
||||
song["active_dance"] = chosen # tom streng = ingen dans
|
||||
self._refresh()
|
||||
self._sync_dance_to_db(idx, song)
|
||||
|
||||
def _sync_dance_to_db(self, idx: int, song: dict):
|
||||
"""Gem dance_override til playlist_songs (midlertidigt valg)."""
|
||||
import logging
|
||||
_log = logging.getLogger(__name__)
|
||||
if not self._named_playlist_id:
|
||||
_log.warning("_sync_dance_to_db: ingen named_playlist_id")
|
||||
return
|
||||
try:
|
||||
from local.local_db import get_db
|
||||
dance_val = song.get("active_dance") or ""
|
||||
with get_db() as conn:
|
||||
conn.execute(
|
||||
rows_affected = conn.execute(
|
||||
"UPDATE playlist_songs SET dance_override=? "
|
||||
"WHERE playlist_id=? AND position=?",
|
||||
(song.get("active_dance", ""), self._named_playlist_id, idx + 1)
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
(dance_val, self._named_playlist_id, idx + 1)
|
||||
).rowcount
|
||||
_log.info(f"dance_override='{dance_val}' gemt på position {idx+1}, {rows_affected} rækker")
|
||||
except Exception as e:
|
||||
import logging
|
||||
logging.getLogger(__name__).warning(f"_sync_dance_to_db fejl: {e}")
|
||||
|
||||
def _save_dance_permanently(self, idx: int, song: dict, dance_name: str, choreo: str = ""):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user