duplicity-team team mailing list archive
-
duplicity-team team
-
Mailing list archive
-
Message #04864
[Merge] lp:~mcuelenaere/duplicity/duplicity into lp:duplicity
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()
Follow ups