From 4c32ddbf3dbda730ef80cba433497ee2e695266d Mon Sep 17 00:00:00 2001 From: Siddharth Ravikumar Date: Mon, 7 Sep 2015 16:58:09 -0400 Subject: combox.events: fixes a dropbox specific issue. --- combox/events.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/combox/events.py b/combox/events.py index 766b4e6..49a1c15 100644 --- a/combox/events.py +++ b/combox/events.py @@ -386,11 +386,14 @@ class NodeDirMonitor(LoggingEventHandler): print "Okay, %s (%s) was actually modified." % (cb_filename, event.dest_path) self.silo.node_rem('file_deleted', cb_filename) - # Next watchdog detects that the shard was modified - # and generates calls the on_modified method. So we - # don't have to store information in the silo about - # this shard being modified; we do that later in the - # on_modified method. + with self.lock: + self.silo.node_set('file_modified', file_cb_path) + num = self.silo.node_get('file_modified', file_cb_path) + if num == self.num_nodes: + decrypt_and_glue(file_cb_path, self.config) + # update db. + self.silo.update(file_cb_path) + self.silo.node_rem('file_modified', file_cb_path) return -- cgit v1.2.3