aboutsummaryrefslogtreecommitdiff
path: root/aero-dav/src/caldecoder.rs
diff options
context:
space:
mode:
authorQuentin Dufour <quentin@deuxfleurs.fr>2024-03-18 22:56:49 +0100
committerQuentin Dufour <quentin@deuxfleurs.fr>2024-03-18 22:56:49 +0100
commit5bf3517acfea3694fbe586e69a0e02b94c61eb1b (patch)
treeef2f576b94af7366bb7ae6d31e9e95e34ae6f224 /aero-dav/src/caldecoder.rs
parent2c9ea0f09c88c902c189cedaaeb9ccafcd226977 (diff)
downloadaerogramme-5bf3517acfea3694fbe586e69a0e02b94c61eb1b.tar.gz
aerogramme-5bf3517acfea3694fbe586e69a0e02b94c61eb1b.zip
Pass thunderbird autodetect...
Diffstat (limited to 'aero-dav/src/caldecoder.rs')
-rw-r--r--aero-dav/src/caldecoder.rs9
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)