Maurus Cuelenaere has proposed merging lp:~mcuelenaere/duplicity/duplicity into
lp:duplicity.
Requested reviews:
duplicity-team (duplicity-team)
For more details, see:
https://code.launchpad.net/~mcuelenaere/duplicity/duplicity/+merge/358411
Make sure we don't load files completely into memory when transferring them
from/to the remote WebDAV endpoint.
This should fix https://bugs.launchpad.net/duplicity/+bug/1671755
--
Your team duplicity-team is requested to review the proposed merge of
lp:~mcuelenaere/duplicity/duplicity into lp:duplicity.
=== modified file 'duplicity/backends/webdavbackend.py'
--- duplicity/backends/webdavbackend.py 2018-07-23 14:55:39 +0000
+++ duplicity/backends/webdavbackend.py 2018-11-06 21:17:50 +0000
@@ -25,6 +25,7 @@
import httplib
import os
import re
+import shutil
import urllib
import urllib2
import urlparse
@@ -409,7 +410,7 @@
response = self.request(u"GET", url)
if response.status == 200:
# data=response.read()
- target_file.write(response.read())
+ shutil.copyfileobj(response, target_file)
# import hashlib
# log.Info("WebDAV GOT %s bytes with md5=%s" %
# (len(data),hashlib.md5(data).hexdigest()) )
@@ -432,7 +433,7 @@
response = None
try:
source_file = source_path.open(u"rb")
- response = self.request(u"PUT", url, source_file.read())
+ response = self.request(u"PUT", url, source_file)
# 200 is returned if a file is overwritten during restarting
if response.status in [200, 201, 204]:
response.read()
_______________________________________________
Mailing list: https://launchpad.net/~duplicity-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~duplicity-team
More help : https://help.launchpad.net/ListHelp