remove a costy is_dir-check on obvious directories to speed up a pull
This commit is contained in:
parent
6415617852
commit
6b90e1d16c
1 changed files with 6 additions and 1 deletions
|
@ -691,6 +691,7 @@ class Client(object):
|
||||||
|
|
||||||
urn = Urn(remote_directory, directory=True)
|
urn = Urn(remote_directory, directory=True)
|
||||||
|
|
||||||
|
## here we check for the current directory
|
||||||
if not self.is_dir(urn.path()):
|
if not self.is_dir(urn.path()):
|
||||||
raise OptionNotValid(name="remote_path", value=remote_directory)
|
raise OptionNotValid(name="remote_path", value=remote_directory)
|
||||||
|
|
||||||
|
@ -699,6 +700,7 @@ class Client(object):
|
||||||
|
|
||||||
local_resource_names = listdir(local_directory)
|
local_resource_names = listdir(local_directory)
|
||||||
|
|
||||||
|
## here we get all files and directories in the current directory
|
||||||
paths = self.list(urn.path())
|
paths = self.list(urn.path())
|
||||||
expression = "{begin}{end}".format(begin="^", end=remote_directory)
|
expression = "{begin}{end}".format(begin="^", end=remote_directory)
|
||||||
remote_resource_names = prune(paths, expression)
|
remote_resource_names = prune(paths, expression)
|
||||||
|
@ -711,9 +713,12 @@ class Client(object):
|
||||||
|
|
||||||
remote_urn = Urn(remote_path)
|
remote_urn = Urn(remote_path)
|
||||||
|
|
||||||
if self.is_dir(remote_urn.path()):
|
## if the string ends with an "/" it *must* be a directory
|
||||||
|
## no need to check it here
|
||||||
|
if remote_urn.path().endswith("/"):
|
||||||
if not os.path.exists(local_path):
|
if not os.path.exists(local_path):
|
||||||
os.mkdir(local_path)
|
os.mkdir(local_path)
|
||||||
|
## nevertheless, since we pull the directory, it will be checked up there
|
||||||
self.pull(remote_directory=remote_path, local_directory=local_path)
|
self.pull(remote_directory=remote_path, local_directory=local_path)
|
||||||
else:
|
else:
|
||||||
if remote_resource_name in local_resource_names:
|
if remote_resource_name in local_resource_names:
|
||||||
|
|
Loading…
Add table
Reference in a new issue