Workaround for bug in Lightning (fixes #985)
This commit is contained in:
parent
c99a1f53df
commit
428e4be0b8
@ -25,6 +25,7 @@ Module for address books and calendar entries (see ``Item``).
|
|||||||
|
|
||||||
import math
|
import math
|
||||||
import sys
|
import sys
|
||||||
|
from datetime import timedelta
|
||||||
from hashlib import sha256
|
from hashlib import sha256
|
||||||
from random import getrandbits
|
from random import getrandbits
|
||||||
|
|
||||||
@ -32,6 +33,7 @@ import vobject
|
|||||||
|
|
||||||
from radicale import pathutils
|
from radicale import pathutils
|
||||||
from radicale.item import filter as radicale_filter
|
from radicale.item import filter as radicale_filter
|
||||||
|
from radicale.log import logger
|
||||||
|
|
||||||
|
|
||||||
def predict_tag_of_parent_collection(vobject_items):
|
def predict_tag_of_parent_collection(vobject_items):
|
||||||
@ -118,6 +120,15 @@ def check_and_sanitize_items(vobject_items, is_collection=False, tag=None):
|
|||||||
raise ValueError(
|
raise ValueError(
|
||||||
"Multiple %s components with different UIDs in object: "
|
"Multiple %s components with different UIDs in object: "
|
||||||
"%r, %r" % (component_name, object_uid, component_uid))
|
"%r, %r" % (component_name, object_uid, component_uid))
|
||||||
|
# Workaround for bug in Lightning (Thunderbird)
|
||||||
|
# Rescheduling a single occurrence from a repeating event creates
|
||||||
|
# an event with DTEND and DURATION:PT0S
|
||||||
|
if (hasattr(component, "dtend") and
|
||||||
|
hasattr(component, "duration") and
|
||||||
|
component.duration.value == timedelta(0)):
|
||||||
|
logger.debug("Quirks: Removing zero duration from %s in "
|
||||||
|
"object %r", component_name, component_uid)
|
||||||
|
del component.duration
|
||||||
# vobject interprets recurrence rules on demand
|
# vobject interprets recurrence rules on demand
|
||||||
try:
|
try:
|
||||||
component.rruleset
|
component.rruleset
|
||||||
|
Loading…
Reference in New Issue
Block a user