From 91d7cd4961c0e158d1dc57e16d243d2394e04d40 Mon Sep 17 00:00:00 2001 From: Victor Shyba Date: Thu, 9 Nov 2017 03:07:58 -0300 Subject: [bug] update pending_upload from server listing We were doing it for downloads, but not for uploads. --- src/leap/soledad/client/_db/blobs/sql.py | 6 ++++-- src/leap/soledad/client/_db/blobs/sync.py | 5 +++++ 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'src/leap/soledad/client/_db/blobs') diff --git a/src/leap/soledad/client/_db/blobs/sql.py b/src/leap/soledad/client/_db/blobs/sql.py index c9a025a2..c5b0b64b 100644 --- a/src/leap/soledad/client/_db/blobs/sql.py +++ b/src/leap/soledad/client/_db/blobs/sql.py @@ -156,9 +156,11 @@ class SQLiteBlobBackend(object): def update_batch_sync_status(self, blob_id_list, sync_status, namespace=''): - insert = 'INSERT INTO sync_state (blob_id, namespace, sync_status)' + if not blob_id_list: + return + insert = 'INSERT or REPLACE INTO sync_state' first_blob_id, blob_id_list = blob_id_list[0], blob_id_list[1:] - insert += ' VALUES (?, ?, ?)' + insert += ' (blob_id, namespace, sync_status) VALUES (?, ?, ?)' values = (first_blob_id, namespace, sync_status) for blob_id in blob_id_list: insert += ', (?, ?, ?)' diff --git a/src/leap/soledad/client/_db/blobs/sync.py b/src/leap/soledad/client/_db/blobs/sync.py index 838b87e5..bfdc5fbe 100644 --- a/src/leap/soledad/client/_db/blobs/sync.py +++ b/src/leap/soledad/client/_db/blobs/sync.py @@ -62,10 +62,15 @@ class BlobsSynchronizer(object): d2 = self.local_list(namespace=namespace) remote_list, local_list = yield defer.gatherResults([d1, d2]) pending_download_ids = tuple(set(remote_list) - set(local_list)) + pending_upload_ids = tuple(set(local_list) - set(remote_list)) yield self.local.update_batch_sync_status( pending_download_ids, SyncStatus.PENDING_DOWNLOAD, namespace=namespace) + yield self.local.update_batch_sync_status( + pending_upload_ids, + SyncStatus.PENDING_UPLOAD, + namespace=namespace) @defer.inlineCallbacks def send_missing(self, namespace=''): -- cgit v1.2.3