View | Details | Raw Unified | Return to bug 60849
Collapse All | Expand All

(-)file_not_specified_in_diff (-3 / +13 lines)
Line  Link Here
0
-- a/etesync_dav/radicale/storage_etebase_collection.py
0
++ b/etesync_dav/radicale/storage_etebase_collection.py
Lines 1-3 Link Here
1
from email.utils import formatdate
1
import re
2
import re
2
3
3
import vobject
4
import vobject
Lines 274-280 Link Here
274
                    item.contents["version"][0].value = "3.0"
275
                    item.contents["version"][0].value = "3.0"
275
        except Exception as e:
276
        except Exception as e:
276
            raise RuntimeError("Failed to parse item %r in %r" % (href, self.path)) from e
277
            raise RuntimeError("Failed to parse item %r in %r" % (href, self.path)) from e
277
        last_modified = ""
278
        # radicale 3.8 asserts a non-empty Last-Modified in GET
279
        try:
280
            mtime = etesync_item.meta.get("mtime")
281
        except Exception:
282
            mtime = None
283
        last_modified = formatdate(mtime / 1000 if mtime else None, usegmt=True)
278
284
279
        return EteSyncItem(
285
        return EteSyncItem(
280
            collection=self, vobject_item=item, href=href, last_modified=last_modified, etesync_item=etesync_item
286
            collection=self, vobject_item=item, href=href, last_modified=last_modified, etesync_item=etesync_item
Lines 334-340 Link Here
334
            ret = {}
340
            ret = {}
335
            meta = self.collection.meta
341
            meta = self.collection.meta
336
            for key in meta.keys():
342
            for key in meta.keys():
337
                ret[key] = self.meta_mappings.map_get(meta, key)[1]
343
                # radicale 3.8 expects "NS:tag" property names here
344
                dav_key = self.meta_mappings._mapping_get(key)[0]
345
                if ":" not in dav_key:
346
                    continue
347
                ret[dav_key] = self.meta_mappings.map_get(meta, dav_key)[1]
338
            return ret
348
            return ret
339
        else:
349
        else:
340
            meta = self.collection.meta
350
            meta = self.collection.meta

Return to bug 60849