Parcourir la source

timezone is a part of the VCALENDAR file

Lukasz Langa il y a 14 ans
Parent
commit
1e6a4e7fb4
1 fichiers modifiés avec 7 ajouts et 1 suppressions
  1. 7 1
      radicale/xmlutils.py

+ 7 - 1
radicale/xmlutils.py

@@ -265,6 +265,8 @@ def _propfind_response(path, item, props):
                 element.text = item.owner_url
             elif tag == _tag("CS", "getctag"):
                 element.text = item.etag
+            elif tag == _tag("C", "calendar-timezone"):
+                element.text = ical.serialize(item.headers, item.timezones)
             else:
                 human_tag = _tag_from_clark(tag)
                 if human_tag in calendar_props:
@@ -340,7 +342,11 @@ def proppatch(path, xml_request, calendar):
 
     with calendar.props as calendar_props:
         for short_name, value in props_to_set.items():
-            calendar_props[short_name] = value
+            if short_name == 'C:calendar-timezone':
+                calendar.replace('', value)
+                calendar.write()
+            else:
+                calendar_props[short_name] = value
             _add_propstat_to(response, short_name, 200)
         for short_name in props_to_remove:
             try: