From: David Stainton Date: Wed, 29 Jul 2015 00:02:51 +0000 (-0700) Subject: Teach downloader to stop when told to stop X-Git-Url: https://git.rkrishnan.org/pf/content/simplejson/frontends/somewhere?a=commitdiff_plain;h=825e8d9e9ab65f7458b8db105ac195c98ba14495;p=tahoe-lafs%2Ftahoe-lafs.git Teach downloader to stop when told to stop --- diff --git a/src/allmydata/frontends/magic_folder.py b/src/allmydata/frontends/magic_folder.py index 34aef4c8..000b5dd9 100644 --- a/src/allmydata/frontends/magic_folder.py +++ b/src/allmydata/frontends/magic_folder.py @@ -388,6 +388,7 @@ class Downloader(QueueMixin): self._remote_scan_delay = 3 # XXX self._download_scan_batch = {} # path -> [(filenode, metadata)] + self._stopped = False print "Downloader init" def start_scanning(self): @@ -397,6 +398,7 @@ class Downloader(QueueMixin): def stop(self): print "downloader stop" + self._stopped = True d = defer.succeed(None) d.addCallback(lambda ign: self._lazy_tail) def _print(res): @@ -469,7 +471,6 @@ class Downloader(QueueMixin): print "name ", name file_node, metadata = listing_map[name] local_version = self._get_local_latest(name) # XXX we might need to convert first? - if local_version is None: return None if local_version >= metadata['version']: @@ -577,8 +578,8 @@ class Downloader(QueueMixin): # FIXME move to QueueMixin def _turn_deque(self): print "downloader _turn_deque" - #if self._stopped: - # return + if self._stopped: + return try: file_path, file_node, metadata = self._deque.pop() except IndexError: