Added option to specify chunk size
Nuwan Goonasekera authored 3 years ago
Evgeny Ezhov committed 3 years ago
333 | 333 |
raise RemoteResourceNotFound(urn.path())
|
334 | 334 |
|
335 | 335 |
response = self.execute_request(action='download', path=urn.quote())
|
336 | |
for chunk in response.iter_content(chunk_size=128):
|
|
336 |
for chunk in response.iter_content(chunk_size=self.webdav.chunk_size):
|
337 | 337 |
buff.write(chunk)
|
338 | 338 |
|
339 | 339 |
def download(self, remote_path, local_path, progress=None):
|
|
395 | 395 |
|
396 | 396 |
with open(local_path, 'wb') as local_file:
|
397 | 397 |
response = self.execute_request('download', urn.quote())
|
398 | |
for block in response.iter_content(1024):
|
|
398 |
for block in response.iter_content(chunk_size=self.webdav.chunk_size):
|
399 | 399 |
local_file.write(block)
|
400 | 400 |
|
401 | 401 |
def download_sync(self, remote_path, local_path, callback=None):
|
24 | 24 |
ns = "webdav:"
|
25 | 25 |
prefix = "webdav_"
|
26 | 26 |
keys = {'hostname', 'login', 'password', 'token', 'root', 'cert_path', 'key_path', 'recv_speed', 'send_speed',
|
27 | |
'verbose', 'disable_check', 'override_methods', 'timeout'}
|
|
27 |
'verbose', 'disable_check', 'override_methods', 'timeout', 'chunk_size'}
|
28 | 28 |
|
29 | 29 |
def __init__(self, options):
|
30 | 30 |
self.hostname = None
|
|
40 | 40 |
self.disable_check = False
|
41 | 41 |
self.override_methods = {}
|
42 | 42 |
self.timeout = 30
|
|
43 |
self.chunk_size = 65536
|
43 | 44 |
|
44 | 45 |
self.options = dict()
|
45 | 46 |
|