ensure successive calls work

This commit is contained in:
Damien Elmes 2011-10-06 13:25:01 +09:00
parent 0a52f55e50
commit 8c1f397459
3 changed files with 10 additions and 1 deletions

View file

@ -277,7 +277,7 @@ create table log (fname text primary key, type int);
self.db.execute("delete from media where fname = ?", f) self.db.execute("delete from media where fname = ?", f)
def syncAdd(self, zipData): def syncAdd(self, zipData):
"Extra zip data; true if finished." "Extract zip data; true if finished."
f = StringIO(zipData) f = StringIO(zipData)
z = zipfile.ZipFile(f, "r") z = zipfile.ZipFile(f, "r")
finished = False finished = False

View file

@ -560,6 +560,8 @@ class MediaSyncer(object):
break break
self.deck.media.setUsn(usn) self.deck.media.setUsn(usn)
self.deck.media.clearLog() self.deck.media.clearLog()
# clear cursor so successive calls work
self.added = None
def removed(self): def removed(self):
return self.deck.media.removed() return self.deck.media.removed()

View file

@ -356,3 +356,10 @@ def test_media():
client.sync() client.sync()
assert len(os.listdir(deck1.media.dir())) == 0 assert len(os.listdir(deck1.media.dir())) == 0
assert server.mediatest("count") == 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