aboutsummaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/main.rs b/src/main.rs
index f9c9685..4aeca51 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -71,7 +71,12 @@ fn match_event(event: &ical::parser::ical::component::IcalEvent, pattern: &str)
}
else {
let parts: Vec<&str> = pattern.split(':').collect();
- let (key, pat) = (parts[0].to_uppercase(), parts[1]);
+
+ let (key, pat) = if parts.len() == 2 {
+ (parts[0].to_uppercase(), parts[1])
+ } else {
+ (String::from("*"), parts[0])
+ };
let re = RegexBuilder::new(&pat)
.case_insensitive(true)
@@ -79,7 +84,7 @@ fn match_event(event: &ical::parser::ical::component::IcalEvent, pattern: &str)
.unwrap();
event.properties.iter()
- .filter(|ref p| p.name == key && re.is_match(&p.value.clone().unwrap()))
+ .filter(|ref p| (&key == "*" || p.name == key) && re.is_match(&p.value.clone().unwrap()))
.count() > 0
}
}