diff options
author | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-03-18 22:56:49 +0100 |
---|---|---|
committer | Quentin Dufour <quentin@deuxfleurs.fr> | 2024-03-18 22:56:49 +0100 |
commit | 5bf3517acfea3694fbe586e69a0e02b94c61eb1b (patch) | |
tree | ef2f576b94af7366bb7ae6d31e9e95e34ae6f224 /aero-dav/src/caldecoder.rs | |
parent | 2c9ea0f09c88c902c189cedaaeb9ccafcd226977 (diff) | |
download | aerogramme-5bf3517acfea3694fbe586e69a0e02b94c61eb1b.tar.gz aerogramme-5bf3517acfea3694fbe586e69a0e02b94c61eb1b.zip |
Pass thunderbird autodetect...
Diffstat (limited to 'aero-dav/src/caldecoder.rs')
-rw-r--r-- | aero-dav/src/caldecoder.rs | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/aero-dav/src/caldecoder.rs b/aero-dav/src/caldecoder.rs index dbc6e18..b124154 100644 --- a/aero-dav/src/caldecoder.rs +++ b/aero-dav/src/caldecoder.rs @@ -162,6 +162,11 @@ impl QRead<Violation> for Violation { impl QRead<Property> for Property { async fn qread(xml: &mut Reader<impl IRead>) -> Result<Self, ParsingError> { + if xml.maybe_open_start(CAL_URN, "calendar-home-set").await?.is_some() { + let href = xml.find().await?; + xml.close().await?; + return Ok(Property::CalendarHomeSet(href)) + } if xml.maybe_open_start(CAL_URN, "calendar-description").await?.is_some() { let lang = xml.prev_attr("xml:lang"); let text = xml.tag_string().await?; @@ -231,6 +236,10 @@ impl QRead<Property> for Property { impl QRead<PropertyRequest> for PropertyRequest { async fn qread(xml: &mut Reader<impl IRead>) -> Result<Self, ParsingError> { + if xml.maybe_open(CAL_URN, "calendar-home-set").await?.is_some() { + xml.close().await?; + return Ok(Self::CalendarHomeSet) + } if xml.maybe_open(CAL_URN, "calendar-description").await?.is_some() { xml.close().await?; return Ok(Self::CalendarDescription) |