Skip broken props in get_multi

This commit is contained in:
Markus Unterwaditzer 2014-12-07 17:15:52 +01:00
parent 25aff68b50
commit ee3f0ad300

View file

@ -310,14 +310,18 @@ class DavStorage(Storage):
for element in root.iter('{DAV:}response'):
href = self._normalize_href(
element.find('{DAV:}href').text)
raw = element \
.find('{DAV:}propstat') \
.find('{DAV:}prop') \
.find(self.get_multi_data_query).text
etag = element \
.find('{DAV:}propstat') \
.find('{DAV:}prop') \
.find('{DAV:}getetag').text
try:
prop = element.find('{DAV:}propstat').find('{DAV:}prop')
raw = prop.find(self.get_multi_data_query).text
etag = prop.find('{DAV:}getetag').text
if not raw or not etag:
raise AttributeError()
except AttributeError:
dav_logger.warning('Skipping {}, properties are missing.'
.format(href))
continue
if isinstance(raw, bytes):
raw = raw.decode(response.encoding)
if isinstance(etag, bytes):