From 49181ee73801f4c120cab3f2967759018eb1b282 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Mon, 3 Oct 2011 12:59:35 +0900 Subject: [PATCH] fix media zipping and addFiles call --- anki/media.py | 3 ++- anki/sync.py | 5 +++-- tests/test_sync.py | 17 +++++++++-------- 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/anki/media.py b/anki/media.py index 37bee9d4f..87e706510 100644 --- a/anki/media.py +++ b/anki/media.py @@ -348,8 +348,9 @@ create table log (fname text primary key, type int); if not fname: z.writestr("_finished", "") break + fname = fname[0] z.write(fname, str(cnt)) - files[str(c)] = dict( + files[str(cnt)] = dict( name=fname, mod=self._mtime(fname)) sz += os.path.getsize(fname) if sz > SYNC_ZIP_SIZE: diff --git a/anki/sync.py b/anki/sync.py index 3b14fa79a..0ae471452 100644 --- a/anki/sync.py +++ b/anki/sync.py @@ -601,5 +601,6 @@ class RemoteMediaServer(MediaSyncer, HttpSyncer): return self.postData(self.con, "files", None, self._vars()) def addFiles(self, zip): - return self.postData(self.con, "files", StringIO(zip), - self._vars(), comp=0) + return simplejson.loads( + self.postData(self.con, "addFiles", StringIO(zip), + self._vars(), comp=0)) diff --git a/tests/test_sync.py b/tests/test_sync.py index ea003e042..9a692dc16 100644 --- a/tests/test_sync.py +++ b/tests/test_sync.py @@ -352,12 +352,13 @@ def setup_remoteMedia(): def test_remoteMediaNothing(): client.sync() -# @nose.with_setup(setup_media) -# def test_mediaAdd(): -# open(os.path.join(deck1.media.dir(), "foo.jpg"), "wb").write("foo") -# assert len(os.listdir(deck1.media.dir())) == 1 -# assert len(os.listdir(deck2.media.dir())) == 0 -# client.sync() -# assert len(os.listdir(deck1.media.dir())) == 1 -# assert len(os.listdir(deck2.media.dir())) == 1 +@nose.with_setup(setup_remoteMedia) +def test_mediaAdd(): + os.chdir(deck1.media.dir()) + open(os.path.join(deck1.media.dir(), "foo.jpg"), "wb").write("foo") + assert len(os.listdir(deck1.media.dir())) == 1 + #assert len(os.listdir(deck2.media.dir())) == 0 + client.sync() + assert len(os.listdir(deck1.media.dir())) == 1 + #assert len(os.listdir(deck2.media.dir())) == 1