From 5bb478f7f65e551208b49b1b69e249d7479e646f Mon Sep 17 00:00:00 2001 From: Daira Hopwood Date: Thu, 16 Jul 2015 18:41:44 +0100 Subject: [PATCH] Fix some pyflakes errors and warnings. Signed-off-by: Daira Hopwood --- src/allmydata/frontends/magic_folder.py | 79 ++++++++++++--------- src/allmydata/scripts/magic_folder_cli.py | 6 +- src/allmydata/test/test_cli_magic_folder.py | 1 - 3 files changed, 49 insertions(+), 37 deletions(-) diff --git a/src/allmydata/frontends/magic_folder.py b/src/allmydata/frontends/magic_folder.py index f37e77c3..b535db91 100644 --- a/src/allmydata/frontends/magic_folder.py +++ b/src/allmydata/frontends/magic_folder.py @@ -199,7 +199,6 @@ class MagicFolder(service.MultiService): def _filter_scan_batch(self, result): extension = [] - max_version_dict = {} for name in self._download_scan_batch.keys(): if name in self._download_pending: continue @@ -246,44 +245,58 @@ class MagicFolder(service.MultiService): except FilenameEncodingError: raise(Exception("WARNING: magic folder: could not list directory %s due to a filename encoding error" % (quoted_path,))) + d = defer.succeed(None) for child in children: assert isinstance(child, unicode), child childpath = os.path.join(localpath, child) - # note: symlinks to directories are both islink() and isdir() - isdir = os.path.isdir(childpath) - isfile = os.path.isfile(childpath) - islink = os.path.islink(childpath) - - if islink: - self.warn("WARNING: cannot backup symlink %s" % quote_local_unicode_path(childpath)) - elif isdir: - # process directories unconditionally - self._append_to_upload_deque(childpath) - - # recurse on the child directory - self._scan(childpath) - elif isfile: - file_version = self._db.get_local_file_version(childpath) - if file_version is None: - # XXX upload if we didn't record our version in magicfolder db? + + def _process_child(ign, childpath=childpath): + # note: symlinks to directories are both islink() and isdir() + isdir = os.path.isdir(childpath) + isfile = os.path.isfile(childpath) + islink = os.path.islink(childpath) + + if islink: + self.warn("WARNING: cannot backup symlink %s" % quote_local_unicode_path(childpath)) + return None + elif isdir: + # process directories unconditionally self._append_to_upload_deque(childpath) - else: - file_node, metadata = self._get_collective_latest_file(childpath) - if collective_version is None: - continue - if file_version > collective_version: + + # recurse on the child directory + return self._scan(childpath) + elif isfile: + file_version = self._db.get_local_file_version(childpath) + if file_version is None: + # XXX upload if we didn't record our version in magicfolder db? self._append_to_upload_deque(childpath) - elif file_version < collective_version: - # if a collective version of the file is newer than ours - # we must download it and unlink the old file from our upload dirnode - self._append_to_download_deque(childpath) - # XXX where should we save the returned deferred? - d = self._upload_dirnode.delete(childpath, must_be_file=True) + return None else: - # XXX same version. do nothing. - pass - else: - self.warn("WARNING: cannot backup special file %s" % quote_local_unicode_path(childpath)) + d2 = self._get_collective_latest_file(childpath) + def _got_latest_file((file_node, metadata)): + collective_version = metadata['version'] + if collective_version is None: + return None + if file_version > collective_version: + self._append_to_upload_deque(childpath) + elif file_version < collective_version: + # if a collective version of the file is newer than ours + # we must download it and unlink the old file from our upload dirnode + self._append_to_download_deque(childpath) + # XXX where should we save the returned deferred? + return self._upload_dirnode.delete(childpath, must_be_file=True) + else: + # XXX same version. do nothing. + pass + d2.addCallback(_got_latest_file) + return d2 + else: + self.warn("WARNING: cannot backup special file %s" % quote_local_unicode_path(childpath)) + return None + d.addCallback(_process_child) + d.addErrback(log.err) + + return d def startService(self): self._db = backupdb.get_backupdb(self._dbfile, create_version=(backupdb.SCHEMA_v3, 3)) diff --git a/src/allmydata/scripts/magic_folder_cli.py b/src/allmydata/scripts/magic_folder_cli.py index ebe30a13..22a613c1 100644 --- a/src/allmydata/scripts/magic_folder_cli.py +++ b/src/allmydata/scripts/magic_folder_cli.py @@ -1,11 +1,11 @@ -import os, json +import os from cStringIO import StringIO from twisted.python import usage from .common import BaseOptions, BasedirOptions, get_aliases -from .cli import MakeDirectoryOptions, ListOptions, LnOptions -import tahoe_ls, tahoe_mv +from .cli import MakeDirectoryOptions, LnOptions +import tahoe_mv from allmydata.util import fileutil from allmydata import uri diff --git a/src/allmydata/test/test_cli_magic_folder.py b/src/allmydata/test/test_cli_magic_folder.py index 6199a3c3..7b526c95 100644 --- a/src/allmydata/test/test_cli_magic_folder.py +++ b/src/allmydata/test/test_cli_magic_folder.py @@ -1,6 +1,5 @@ import os.path import re -import json from twisted.trial import unittest from twisted.internet import defer -- 2.45.2