sync rettet
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
Reference in New Issue
Block a user