mirror of
https://github.com/Kozea/Radicale.git
synced 2025-06-26 16:45:52 +00:00
Honor start and end times expand
This commit is contained in:
parent
ae274911d5
commit
74f4412761
2 changed files with 16 additions and 3 deletions
|
@ -303,6 +303,10 @@ def _expand(
|
||||||
# then in the response we return the date, not datetime
|
# then in the response we return the date, not datetime
|
||||||
dt_format = '%Y%m%d'
|
dt_format = '%Y%m%d'
|
||||||
|
|
||||||
|
duration = None
|
||||||
|
if hasattr(item.vobject_item.vevent, "dtend"):
|
||||||
|
duration = item.vobject_item.vevent.dtend.value - item.vobject_item.vevent.dtstart.value
|
||||||
|
|
||||||
expanded_item, rruleset = _make_vobject_expanded_item(item, dt_format)
|
expanded_item, rruleset = _make_vobject_expanded_item(item, dt_format)
|
||||||
|
|
||||||
if rruleset:
|
if rruleset:
|
||||||
|
@ -319,6 +323,15 @@ def _expand(
|
||||||
name='RECURRENCE-ID',
|
name='RECURRENCE-ID',
|
||||||
value=recurrence_utc.strftime(dt_format), params={}
|
value=recurrence_utc.strftime(dt_format), params={}
|
||||||
)
|
)
|
||||||
|
vevent.dtstart = ContentLine(
|
||||||
|
name='DTSTART',
|
||||||
|
value=recurrence_utc.strftime(dt_format), params={}
|
||||||
|
)
|
||||||
|
if duration:
|
||||||
|
vevent.dtend = ContentLine(
|
||||||
|
name='DTEND',
|
||||||
|
value=(recurrence_utc + duration).strftime(dt_format), params={}
|
||||||
|
)
|
||||||
|
|
||||||
if is_expanded_filled is False:
|
if is_expanded_filled is False:
|
||||||
expanded.vevent = vevent
|
expanded.vevent = vevent
|
||||||
|
|
|
@ -1715,7 +1715,7 @@ permissions: RrWw""")
|
||||||
recurrence_ids.append(line)
|
recurrence_ids.append(line)
|
||||||
|
|
||||||
if line.startswith("DTSTART:"):
|
if line.startswith("DTSTART:"):
|
||||||
assert line == "DTSTART:20060102T170000Z"
|
assert line in ["DTSTART:20060103T170000Z", "DTSTART:20060104T170000Z"]
|
||||||
|
|
||||||
assert len(uids) == 2
|
assert len(uids) == 2
|
||||||
assert len(set(recurrence_ids)) == 2
|
assert len(set(recurrence_ids)) == 2
|
||||||
|
@ -1802,10 +1802,10 @@ permissions: RrWw""")
|
||||||
recurrence_ids.append(line)
|
recurrence_ids.append(line)
|
||||||
|
|
||||||
if line.startswith("DTSTART:"):
|
if line.startswith("DTSTART:"):
|
||||||
assert line == "DTSTART:20060102"
|
assert line in ["DTSTART:20060103", "DTSTART:20060104", "DTSTART:20060105"]
|
||||||
|
|
||||||
if line.startswith("DTEND:"):
|
if line.startswith("DTEND:"):
|
||||||
assert line == "DTEND:20060103"
|
assert line in ["DTEND:20060104", "DTEND:20060105", "DTEND:20060106"]
|
||||||
|
|
||||||
assert len(uids) == 3
|
assert len(uids) == 3
|
||||||
assert len(set(recurrence_ids)) == 3
|
assert len(set(recurrence_ids)) == 3
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue