Simplify and document the type of MagicFolder._download_scan_batch.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
This commit is contained in:
Daira Hopwood 2015-07-23 23:15:24 +01:00
parent 5e8105fa91
commit 4045f5844f

View File

@ -51,7 +51,7 @@ class MagicFolder(service.MultiService):
self._local_dir = local_dir self._local_dir = local_dir
self._upload_lazy_tail = defer.succeed(None) self._upload_lazy_tail = defer.succeed(None)
self._upload_pending = set() self._upload_pending = set()
self._download_scan_batch = {} self._download_scan_batch = {} # path -> [(filenode, metadata)]
self._download_lazy_tail = defer.succeed(None) self._download_lazy_tail = defer.succeed(None)
self._download_pending = set() self._download_pending = set()
self._collective_dirnode = None self._collective_dirnode = None
@ -168,9 +168,9 @@ class MagicFolder(service.MultiService):
for name in listing_map.keys(): for name in listing_map.keys():
file_node, metadata = listing_map[name] file_node, metadata = listing_map[name]
if self._download_scan_batch.has_key(name): if self._download_scan_batch.has_key(name):
self._download_scan_batch[name] += [(name, file_node, metadata)] self._download_scan_batch[name] += [(file_node, metadata)]
else: else:
self._download_scan_batch[name] = [(name, file_node, metadata)] self._download_scan_batch[name] = [(file_node, metadata)]
listing_d.addCallback(scan_listing) listing_d.addCallback(scan_listing)
return listing_d return listing_d
@ -200,11 +200,11 @@ class MagicFolder(service.MultiService):
self._download_pending.update(map(lambda x: x[0], result)) self._download_pending.update(map(lambda x: x[0], result))
def _filter_scan_batch(self, result): def _filter_scan_batch(self, result):
extension = [] extension = [] # consider whether this should be a dict
for name in self._download_scan_batch.keys(): for name in self._download_scan_batch.keys():
if name in self._download_pending: if name in self._download_pending:
continue continue
name, file_node, metadata = max(self._download_scan_batch[name], key=lambda x: x[2]['version']) file_node, metadata = max(self._download_scan_batch[name], key=lambda x: x[1]['version'])
if self._should_download(name, metadata['version']): if self._should_download(name, metadata['version']):
extension += [(name, file_node, metadata)] extension += [(name, file_node, metadata)]
return extension return extension