From 8e583e24cb7fc7a0b86b30d17b52955baac95c3b Mon Sep 17 00:00:00 2001 From: Lennart K <18233294+lennart-k@users.noreply.github.com> Date: Wed, 7 Jan 2026 11:58:02 +0100 Subject: [PATCH] small fixes --- Cargo.lock | 2 +- .../report/calendar_query/comp_filter.rs | 23 +++++++++++++------ .../methods/report/calendar_query/tests.rs | 2 +- crates/caldav/src/calendar_object/resource.rs | 9 ++++---- crates/ical/src/address_object.rs | 15 ------------ crates/ical/src/calendar_object.rs | 16 ------------- crates/ical/src/timestamp.rs | 2 -- crates/ical/tests/test_cal_object.rs | 2 +- 8 files changed, 24 insertions(+), 47 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index becbd55..e912581 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1771,7 +1771,7 @@ dependencies = [ [[package]] name = "ical" version = "0.11.0" -source = "git+https://github.com/lennart-k/ical-rs?branch=dev#169df28e8065f26d61f33367279e2516dc882c89" +source = "git+https://github.com/lennart-k/ical-rs?branch=dev#5525818e2fca0fc99cbe0b0c0fb260d0d790f43f" dependencies = [ "chrono", "chrono-tz", diff --git a/crates/caldav/src/calendar/methods/report/calendar_query/comp_filter.rs b/crates/caldav/src/calendar/methods/report/calendar_query/comp_filter.rs index 7e773c8..27f10cc 100644 --- a/crates/caldav/src/calendar/methods/report/calendar_query/comp_filter.rs +++ b/crates/caldav/src/calendar/methods/report/calendar_query/comp_filter.rs @@ -139,7 +139,10 @@ END:VCALENDAR"; prop_filter: vec![], comp_filter: vec![], }; - assert!(!object.matches(&comp_filter), "filter: wants no VCALENDAR"); + assert!( + !object.get_inner().matches(&comp_filter), + "filter: wants no VCALENDAR" + ); let comp_filter = CompFilterElement { is_not_defined: None, @@ -154,7 +157,10 @@ END:VCALENDAR"; comp_filter: vec![], }], }; - assert!(!object.matches(&comp_filter), "filter matches VTODO"); + assert!( + !object.get_inner().matches(&comp_filter), + "filter matches VTODO" + ); let comp_filter = CompFilterElement { is_not_defined: None, @@ -169,7 +175,10 @@ END:VCALENDAR"; comp_filter: vec![], }], }; - assert!(object.matches(&comp_filter), "filter matches VEVENT"); + assert!( + object.get_inner().matches(&comp_filter), + "filter matches VEVENT" + ); let comp_filter = CompFilterElement { is_not_defined: None, @@ -216,7 +225,7 @@ END:VCALENDAR"; }], }; assert!( - object.matches(&comp_filter), + object.get_inner().matches(&comp_filter), "Some prop filters on VCALENDAR and VEVENT" ); } @@ -245,7 +254,7 @@ END:VCALENDAR"; }], }; assert!( - object.matches(&comp_filter), + object.get_inner().matches(&comp_filter), "event should lie in time range" ); @@ -270,7 +279,7 @@ END:VCALENDAR"; }], }; assert!( - !object.matches(&comp_filter), + !object.get_inner().matches(&comp_filter), "event should not lie in time range" ); } @@ -304,7 +313,7 @@ END:VCALENDAR"; }], }; assert!( - object.matches(&comp_filter), + object.get_inner().matches(&comp_filter), "Timezone should be Europe/Berlin" ); } diff --git a/crates/caldav/src/calendar/methods/report/calendar_query/tests.rs b/crates/caldav/src/calendar/methods/report/calendar_query/tests.rs index 9652c10..0163158 100644 --- a/crates/caldav/src/calendar/methods/report/calendar_query/tests.rs +++ b/crates/caldav/src/calendar/methods/report/calendar_query/tests.rs @@ -79,5 +79,5 @@ const FILTER_2: &str = r#" fn yeet(#[case] ics: &str, #[case] filter: &str, #[case] matches: bool) { let obj = CalendarObject::from_ics(ics.to_owned(), None).unwrap(); let filter = FilterElement::parse_str(filter).unwrap(); - assert_eq!(matches, filter.matches(&obj)); + assert_eq!(matches, filter.matches(obj.get_inner())); } diff --git a/crates/caldav/src/calendar_object/resource.rs b/crates/caldav/src/calendar_object/resource.rs index 475f1fa..995b537 100644 --- a/crates/caldav/src/calendar_object/resource.rs +++ b/crates/caldav/src/calendar_object/resource.rs @@ -54,10 +54,11 @@ impl Resource for CalendarObjectResource { } CalendarObjectPropName::CalendarData(CalendarData { expand, .. }) => { CalendarObjectProp::CalendarData(if let Some(expand) = expand.as_ref() { - self.object.expand_recurrence( - Some(expand.start.to_utc()), - Some(expand.end.to_utc()), - )? + todo!() + // self.object.get_inner().expand_recurrence( + // Some(expand.start.to_utc()), + // Some(expand.end.to_utc()), + // ) } else { self.object.get_ics().to_owned() }) diff --git a/crates/ical/src/address_object.rs b/crates/ical/src/address_object.rs index 9f63fb6..79c68ec 100644 --- a/crates/ical/src/address_object.rs +++ b/crates/ical/src/address_object.rs @@ -4,7 +4,6 @@ use ical::parser::{ Component, vcard::{self, component::VcardContact}, }; -use ical::types::CalDateTime; use sha2::{Digest, Sha256}; use std::{collections::HashMap, io::BufReader}; @@ -62,20 +61,6 @@ impl AddressObject { &self.vcf } - #[must_use] - pub fn get_anniversary(&self) -> Option<(CalDateTime, bool)> { - // let prop = self.vcard.get_property("ANNIVERSARY")?.value.as_deref()?; - // CalDateTime::parse_vcard(prop).ok() - todo!() - } - - #[must_use] - pub fn get_birthday(&self) -> Option<(CalDateTime, bool)> { - todo!() - // let prop = self.vcard.get_property("BDAY")?.value.as_deref()?; - // CalDateTime::parse_vcard(prop).ok() - } - #[must_use] pub fn get_full_name(&self) -> Option<&str> { let prop = self.vcard.get_property("FN")?; diff --git a/crates/ical/src/calendar_object.rs b/crates/ical/src/calendar_object.rs index 7035e49..59bea86 100644 --- a/crates/ical/src/calendar_object.rs +++ b/crates/ical/src/calendar_object.rs @@ -1,6 +1,4 @@ use crate::Error; -use chrono::DateTime; -use chrono::Utc; use derive_more::Display; use ical::component::CalendarInnerData; use ical::component::IcalCalendarObject; @@ -115,22 +113,8 @@ impl CalendarObject { &self.ics } - #[must_use] - pub fn get_component_name(&self) -> &str { - self.get_object_type().as_str() - } - #[must_use] pub fn get_object_type(&self) -> CalendarObjectType { (&self.inner).into() } - - pub fn expand_recurrence( - &self, - start: Option>, - end: Option>, - ) -> Result { - // Ok(self.inner.expand_recurrence(start, end)?) - todo!() - } } diff --git a/crates/ical/src/timestamp.rs b/crates/ical/src/timestamp.rs index bf053f1..1e31191 100644 --- a/crates/ical/src/timestamp.rs +++ b/crates/ical/src/timestamp.rs @@ -2,9 +2,7 @@ use chrono::{DateTime, NaiveDateTime, Utc}; use derive_more::derive::Deref; use rustical_xml::{ValueDeserialize, ValueSerialize}; -const LOCAL_DATE_TIME: &str = "%Y%m%dT%H%M%S"; const UTC_DATE_TIME: &str = "%Y%m%dT%H%M%SZ"; -pub const LOCAL_DATE: &str = "%Y%m%d"; #[derive(Debug, thiserror::Error, PartialEq, Eq)] pub enum CalDateTimeError { diff --git a/crates/ical/tests/test_cal_object.rs b/crates/ical/tests/test_cal_object.rs index 9fc4ffb..50b5a9f 100644 --- a/crates/ical/tests/test_cal_object.rs +++ b/crates/ical/tests/test_cal_object.rs @@ -26,5 +26,5 @@ END:VCALENDAR #[test] fn parse_calendar_object() { let object = CalendarObject::from_ics(MULTI_VEVENT.to_string(), None).unwrap(); - object.expand_recurrence(None, None).unwrap(); + object.get_inner().expand_recurrence(None, None); }