mirror of
https://github.com/Kozea/Radicale.git
synced 2025-08-04 18:22:26 +00:00
all expanded components has the same view
This commit is contained in:
parent
72103c30c2
commit
513e04e636
1 changed files with 6 additions and 5 deletions
|
@ -196,35 +196,36 @@ def _expand(
|
||||||
start: datetime.datetime,
|
start: datetime.datetime,
|
||||||
end: datetime.datetime,
|
end: datetime.datetime,
|
||||||
) -> List[ET.Element]:
|
) -> List[ET.Element]:
|
||||||
|
expanded_item = _make_vobject_expanded_item(item)
|
||||||
|
element.text = expanded_item.vobject_item.serialize()
|
||||||
expanded = [element]
|
expanded = [element]
|
||||||
|
|
||||||
if hasattr(item.vobject_item.vevent, "rrule"):
|
if hasattr(item.vobject_item.vevent, "rrule"):
|
||||||
rulleset = item.vobject_item.vevent.getrruleset()
|
rulleset = item.vobject_item.vevent.getrruleset()
|
||||||
recurrences = rulleset.between(start, end)
|
recurrences = rulleset.between(start, end)
|
||||||
recurring_item = _make_vobject_recurring_item(item)
|
|
||||||
|
|
||||||
expanded = []
|
expanded = []
|
||||||
for recurrence_dt in recurrences:
|
for recurrence_dt in recurrences:
|
||||||
try:
|
try:
|
||||||
delattr(recurring_item.vobject_item.vevent, 'recurrence-id')
|
delattr(expanded_item.vobject_item.vevent, 'recurrence-id')
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
recurrence_utc = recurrence_dt.astimezone(datetime.timezone.utc)
|
recurrence_utc = recurrence_dt.astimezone(datetime.timezone.utc)
|
||||||
|
|
||||||
recurring_item.vobject_item.vevent.recurrence_id = ContentLine(
|
expanded_item.vobject_item.vevent.recurrence_id = ContentLine(
|
||||||
name='RECURRENCE-ID',
|
name='RECURRENCE-ID',
|
||||||
value=recurrence_utc.strftime('%Y%m%dT%H%M%SZ'), params={}
|
value=recurrence_utc.strftime('%Y%m%dT%H%M%SZ'), params={}
|
||||||
)
|
)
|
||||||
|
|
||||||
element = copy.copy(element)
|
element = copy.copy(element)
|
||||||
element.text = recurring_item.vobject_item.serialize()
|
element.text = expanded_item.vobject_item.serialize()
|
||||||
expanded.append(element)
|
expanded.append(element)
|
||||||
|
|
||||||
return expanded
|
return expanded
|
||||||
|
|
||||||
|
|
||||||
def _make_vobject_recurring_item(
|
def _make_vobject_expanded_item(
|
||||||
item: radicale_item.Item
|
item: radicale_item.Item
|
||||||
) -> radicale_item.Item:
|
) -> radicale_item.Item:
|
||||||
# https://www.rfc-editor.org/rfc/rfc4791#section-9.6.5
|
# https://www.rfc-editor.org/rfc/rfc4791#section-9.6.5
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue