From afe1ad2b0b4d9244a5724bd38cd88d7a8bb1e8ed Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Thu, 6 Oct 2011 14:37:07 +0900 Subject: [PATCH] add resync test, fix zip meta --- anki/media.py | 2 +- tests/test_sync.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/anki/media.py b/anki/media.py index be1cf1b9d..0f25108c0 100644 --- a/anki/media.py +++ b/anki/media.py @@ -301,7 +301,7 @@ create table log (fname text primary key, type int); else: data = z.read(i) csum = checksum(data) - name = meta[i.filename]['name'] + name = meta[i.filename] # malicious chars? for c in '/\\': assert c not in name diff --git a/tests/test_sync.py b/tests/test_sync.py index 4f9e03baa..429dde2a8 100644 --- a/tests/test_sync.py +++ b/tests/test_sync.py @@ -372,3 +372,12 @@ def test_media(): client.sync() assert len(os.listdir(deck1.media.dir())) == 2 assert server.mediatest("count") == 2 + # if we lose our media db, we should be able to bring it back in sync + time.sleep(1) + deck1.media.close() + os.unlink(deck1.media.dir()+".db") + deck1.media.connect() + assert len(deck1.media.added().fetchall()) == 2 + client.sync() + assert len(os.listdir(deck1.media.dir())) == 2 + assert server.mediatest("count") == 2