From 8c1f397459d37b5d4a0d34bd2b8bb25f5ec55830 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 6 Oct 2011 13:25:01 +0900 Subject: [PATCH] ensure successive calls work --- anki/media.py | 2 +- anki/sync.py | 2 ++ tests/test_sync.py | 7 +++++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/anki/media.py b/anki/media.py index 3fa5f5e67..be1cf1b9d 100644 --- a/anki/media.py +++ b/anki/media.py @@ -277,7 +277,7 @@ create table log (fname text primary key, type int); self.db.execute("delete from media where fname = ?", f) def syncAdd(self, zipData): - "Extra zip data; true if finished." + "Extract zip data; true if finished." f = StringIO(zipData) z = zipfile.ZipFile(f, "r") finished = False diff --git a/anki/sync.py b/anki/sync.py index f44400952..4803341ad 100644 --- a/anki/sync.py +++ b/anki/sync.py @@ -560,6 +560,8 @@ class MediaSyncer(object): break self.deck.media.setUsn(usn) self.deck.media.clearLog() + # clear cursor so successive calls work + self.added = None def removed(self): return self.deck.media.removed() diff --git a/tests/test_sync.py b/tests/test_sync.py index 74549e7d1..2c52e83b0 100644 --- a/tests/test_sync.py +++ b/tests/test_sync.py @@ -356,3 +356,10 @@ def test_media(): client.sync() assert len(os.listdir(deck1.media.dir())) == 0 assert server.mediatest("count") == 0 + # we should be able to add it again + time.sleep(1) + p = os.path.join(deck1.media.dir(), "foo.jpg") + open(p, "wb").write("foo") + client.sync() + assert len(os.listdir(deck1.media.dir())) == 1 + assert server.mediatest("count") == 1