mirror of
https://github.com/Kozea/Radicale.git
synced 2025-09-15 20:36:55 +00:00
Merge branch 'master' into react0r
This commit is contained in:
commit
3cba4b32a3
23 changed files with 134 additions and 59 deletions
|
@ -49,6 +49,12 @@ def read_components(s: str) -> List[vobject.base.Component]:
|
|||
s = re.sub(r"^(PHOTO(?:;[^:\r\n]*)?;ENCODING=b(?:;[^:\r\n]*)?:)"
|
||||
r"data:[^;,\r\n]*;base64,", r"\1", s,
|
||||
flags=re.MULTILINE | re.IGNORECASE)
|
||||
# Workaround for bug with malformed ICS files containing control codes
|
||||
# Filter out all control codes except those we expect to find:
|
||||
# * 0x09 Horizontal Tab
|
||||
# * 0x0A Line Feed
|
||||
# * 0x0D Carriage Return
|
||||
s = re.sub(r'[\x00-\x08\x0B\x0C\x0E-\x1F]', '', s)
|
||||
return list(vobject.readComponents(s, allowQP=True))
|
||||
|
||||
|
||||
|
@ -298,7 +304,7 @@ def find_time_range(vobject_item: vobject.base.Component, tag: str
|
|||
Returns a tuple (``start``, ``end``) where ``start`` and ``end`` are
|
||||
POSIX timestamps.
|
||||
|
||||
This is intened to be used for matching against simplified prefilters.
|
||||
This is intended to be used for matching against simplified prefilters.
|
||||
|
||||
"""
|
||||
if not tag:
|
||||
|
|
|
@ -241,7 +241,7 @@ def visit_time_ranges(vobject_item: vobject.base.Component, child_name: str,
|
|||
|
||||
"""
|
||||
|
||||
# HACK: According to rfc5545-3.8.4.4 an recurrance that is resheduled
|
||||
# HACK: According to rfc5545-3.8.4.4 a recurrence that is rescheduled
|
||||
# with Recurrence ID affects the recurrence itself and all following
|
||||
# recurrences too. This is not respected and client don't seem to bother
|
||||
# either.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue