From: David Stainton Date: Fri, 17 Apr 2015 18:38:30 +0000 (+0100) Subject: Simply upload queue API X-Git-Url: https://git.rkrishnan.org/?a=commitdiff_plain;h=0be65c4e05d413e5c0a446bdc7701cc286b8ba5f;p=tahoe-lafs%2Ftahoe-lafs.git Simply upload queue API --- diff --git a/src/allmydata/frontends/drop_upload.py b/src/allmydata/frontends/drop_upload.py index 66bb0a2b..47ab0301 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._append_to_deque(self._process, childpath, None) # XXX which event mask? + self._append_to_deque(childpath) else: if os.path.islink(childpath): self.warn("WARNING: cannot backup symlink %s" % quote_local_unicode_path(childpath)) @@ -132,9 +132,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() @@ -142,9 +141,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 @@ -152,9 +150,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