sync rettet

This commit is contained in:
2026-04-19 13:47:46 +02:00
parent e149fb3ce2
commit 0a3a6d44da

View File

@@ -105,17 +105,24 @@ class SyncManager:
threading.Thread(target=_run, daemon=True).start() threading.Thread(target=_run, daemon=True).start()
def push_and_pull(self, on_done=None, on_error=None): def push_and_pull(self, on_done=None, on_error=None):
"""Pull FØR push — server er sandhed for playlister.""" """Push FØR pull — så sletninger når serveren inden pull henter data ned."""
def _run(): def _run():
try: try:
# 1. Pull FØR push — hent server-data ned lokalt # 1. Push lokal data op — inkl. sletninger
pull_result = self._get("/sync/pull")
self._apply_pull(pull_result)
# 2. Push lokal data op (sange, danse, dans-tags)
# — playlister der kom fra serveren pushes IKKE
payload = self._build_push_payload() payload = self._build_push_payload()
push_result = self._post("/sync/push", payload) push_result = self._post("/sync/push", payload)
self._save_playlist_ids(push_result.get("playlist_id_map", {}))
# Ryd deleted_playlists nu de er sendt
if payload.get("deleted_playlists"):
conn = sqlite3.connect(self._db_path)
conn.execute("DELETE FROM deleted_playlists")
conn.commit()
conn.close()
# 2. Pull — nu er sletninger gennemført på serveren
pull_result = self._get("/sync/pull")
self._apply_pull(pull_result)
pl_count = len(pull_result.get("my_playlists", [])) pl_count = len(pull_result.get("my_playlists", []))
logger.info( logger.info(