mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-04-27 14:57:41 +00:00
Skip broken props in get_multi
This commit is contained in:
parent
25aff68b50
commit
ee3f0ad300
1 changed files with 12 additions and 8 deletions
|
|
@ -310,14 +310,18 @@ class DavStorage(Storage):
|
||||||
for element in root.iter('{DAV:}response'):
|
for element in root.iter('{DAV:}response'):
|
||||||
href = self._normalize_href(
|
href = self._normalize_href(
|
||||||
element.find('{DAV:}href').text)
|
element.find('{DAV:}href').text)
|
||||||
raw = element \
|
|
||||||
.find('{DAV:}propstat') \
|
try:
|
||||||
.find('{DAV:}prop') \
|
prop = element.find('{DAV:}propstat').find('{DAV:}prop')
|
||||||
.find(self.get_multi_data_query).text
|
raw = prop.find(self.get_multi_data_query).text
|
||||||
etag = element \
|
etag = prop.find('{DAV:}getetag').text
|
||||||
.find('{DAV:}propstat') \
|
if not raw or not etag:
|
||||||
.find('{DAV:}prop') \
|
raise AttributeError()
|
||||||
.find('{DAV:}getetag').text
|
except AttributeError:
|
||||||
|
dav_logger.warning('Skipping {}, properties are missing.'
|
||||||
|
.format(href))
|
||||||
|
continue
|
||||||
|
|
||||||
if isinstance(raw, bytes):
|
if isinstance(raw, bytes):
|
||||||
raw = raw.decode(response.encoding)
|
raw = raw.decode(response.encoding)
|
||||||
if isinstance(etag, bytes):
|
if isinstance(etag, bytes):
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue