From 0b9f30adea65ce86d422cec96544ac9c6e34a378 Mon Sep 17 00:00:00 2001 From: flan Date: Mon, 20 Aug 2018 18:02:09 +0200 Subject: [PATCH] Implement applyGraves --- ankisyncd/sync_app.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ankisyncd/sync_app.py b/ankisyncd/sync_app.py index 27b5424..fe46811 100644 --- a/ankisyncd/sync_app.py +++ b/ankisyncd/sync_app.py @@ -71,7 +71,7 @@ def old_client(cv): class SyncCollectionHandler(anki.sync.Syncer): - operations = ['meta', 'applyChanges', 'start', 'chunk', 'applyChunk', 'sanityCheck2', 'finish'] + operations = ['meta', 'applyChanges', 'start', 'applyGraves', 'chunk', 'applyChunk', 'sanityCheck2', 'finish'] def __init__(self, col): # So that 'server' (the 3rd argument) can't get set @@ -95,7 +95,9 @@ class SyncCollectionHandler(anki.sync.Syncer): def usnLim(self): return "usn >= %d" % self.minUsn - def start(self, minUsn, lnewer, graves): + # ankidesktop >=2.1rc2 sends graves in applyGraves, but still expects + # server-side deletions to be returned by start + def start(self, minUsn, lnewer, graves={"cards": [], "notes": [], "decks": []}): self.maxUsn = self.col._usn self.minUsn = minUsn self.lnewer = not lnewer @@ -103,6 +105,10 @@ class SyncCollectionHandler(anki.sync.Syncer): self.remove(graves) return lgraves + def applyGraves(self, chunk): + print(f"applyGraves chunk: {chunk}") + self.remove(chunk) + def applyChanges(self, changes): self.rchg = changes lchg = self.changes()