From: Daira Hopwood Date: Tue, 28 Apr 2015 18:39:35 +0000 (+0100) Subject: Simplify upload queue API X-Git-Url: https://git.rkrishnan.org/(%5B%5E?a=commitdiff_plain;h=af9a9fb4ae951db3e1947b86fc403ae7104f6e1d;p=tahoe-lafs%2Ftahoe-lafs.git Simplify upload queue API Signed-off-by: Daira Hopwood --- diff --git a/src/allmydata/frontends/drop_upload.py b/src/allmydata/frontends/drop_upload.py index e5174d04..ed16c893 100644 --- a/src/allmydata/frontends/drop_upload.py +++ b/src/allmydata/frontends/drop_upload.py @@ -105,7 +105,7 @@ class DropUploader(service.MultiService): elif os.path.isfile(childpath) and not os.path.islink(childpath): must_upload = self._check_db_file(childpath) if must_upload: - self._add_to_dequeue(childpath) + self._append_to_deque(childpath) else: if os.path.islink(childpath): self.warn("WARNING: cannot backup symlink %s" % quote_local_unicode_path(childpath)) @@ -137,9 +137,8 @@ class DropUploader(service.MultiService): self.is_upload_ready = True self._process_deque() - def _append_to_deque(self, func, path, event_mask): - thunk = (func, path, event_mask) - self._upload_deque.append(thunk) + def _append_to_deque(self, path): + self._upload_deque.append(path) self._pending.add(path) if self.is_upload_ready: self._process_deque() @@ -147,9 +146,8 @@ class DropUploader(service.MultiService): def _process_deque(self): while True: try: - fields = self._upload_deque.pop() - func = fields[0] - func(*fields[1:]) + path = self._upload_deque.pop() + self._process(path) except IndexError: break @@ -157,9 +155,9 @@ class DropUploader(service.MultiService): self._log("inotify event %r, %r, %r\n" % (opaque, path, ', '.join(self._inotify.humanReadableMask(events_mask)))) self._stats_provider.count('drop_upload.files_queued', 1) if path not in self._pending: - self._append_to_deque(self._process, path, events_mask) + self._append_to_deque(path) - def _process(self, path, events_mask): + def _process(self, path): d = defer.succeed(None) # FIXME (ticket #1712): if this already exists as a mutable file, we replace the