mirror of
https://github.com/samsonjs/vdirsyncer.git
synced 2026-04-27 14:57:41 +00:00
Fix a unicode bug
This commit is contained in:
parent
6ef94e512e
commit
24ab255f41
1 changed files with 13 additions and 26 deletions
|
|
@ -158,47 +158,34 @@ class DavStorage(Storage):
|
||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def update(self, href, obj, etag):
|
def _put(self, href, obj, etag):
|
||||||
href = self._normalize_href(href)
|
|
||||||
headers = self._default_headers()
|
headers = self._default_headers()
|
||||||
headers.update({
|
headers['Content-Type'] = self.item_mimetype,
|
||||||
'Content-Type': self.item_mimetype,
|
if etag is None:
|
||||||
'If-Match': etag
|
headers['If-None-Match'] = '*'
|
||||||
})
|
else:
|
||||||
|
headers['If-Match'] = etag
|
||||||
|
|
||||||
response = self._request(
|
response = self._request(
|
||||||
'PUT',
|
'PUT',
|
||||||
href,
|
href,
|
||||||
data=obj.raw,
|
data=obj.raw.encode('utf-8'),
|
||||||
headers=headers
|
headers=headers
|
||||||
)
|
)
|
||||||
self._check_response(response)
|
self._check_response(response)
|
||||||
|
|
||||||
etag = response.headers.get('etag', None)
|
etag = response.headers.get('etag', None)
|
||||||
if not etag:
|
if not etag:
|
||||||
obj2, etag = self.get(href)
|
obj2, etag = self.get(href)
|
||||||
assert obj2.raw == obj.raw
|
assert obj2.raw == obj.raw
|
||||||
return href, etag
|
return href, etag
|
||||||
|
|
||||||
|
def update(self, href, obj, etag):
|
||||||
|
href = self._normalize_href(href)
|
||||||
|
return self._put(href, obj, etag)
|
||||||
|
|
||||||
def upload(self, obj):
|
def upload(self, obj):
|
||||||
href = self._get_href(obj.uid)
|
href = self._get_href(obj.uid)
|
||||||
headers = self._default_headers()
|
return self._put(href, obj, None)
|
||||||
headers.update({
|
|
||||||
'Content-Type': self.item_mimetype,
|
|
||||||
'If-None-Match': '*'
|
|
||||||
})
|
|
||||||
response = self._request(
|
|
||||||
'PUT',
|
|
||||||
href,
|
|
||||||
data=obj.raw,
|
|
||||||
headers=headers
|
|
||||||
)
|
|
||||||
self._check_response(response)
|
|
||||||
|
|
||||||
etag = response.headers.get('etag', None)
|
|
||||||
if not etag:
|
|
||||||
obj2, etag = self.get(href)
|
|
||||||
assert obj2.raw == obj.raw
|
|
||||||
return href, etag
|
|
||||||
|
|
||||||
def delete(self, href, etag):
|
def delete(self, href, etag):
|
||||||
href = self._normalize_href(href)
|
href = self._normalize_href(href)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue