This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
/target
|
||||
muell.ics
|
||||
|
18
src/main.rs
18
src/main.rs
@@ -1,7 +1,7 @@
|
||||
use regex::Regex;
|
||||
use chrono::{NaiveDate, Utc};
|
||||
use uuid::Uuid;
|
||||
use regex::Regex;
|
||||
use std::process;
|
||||
use uuid::Uuid;
|
||||
|
||||
fn parse_german_date(date_str: &str) -> Option<NaiveDate> {
|
||||
NaiveDate::parse_from_str(date_str, "%d.%m.%Y").ok()
|
||||
@@ -42,9 +42,9 @@ fn fetch_waste_dates() -> Result<String, Box<dyn std::error::Error>> {
|
||||
}
|
||||
|
||||
fn html_to_ics(html_content: &str) -> Result<String, &'static str> {
|
||||
let pattern = Regex::new(
|
||||
r#"td_kal.*?(\d{2}\.\d{2}\.\d{4}).*?<a[^>]*>([^<]+)</a>.*?<span>([^<]+)</span>"#
|
||||
).unwrap();
|
||||
let pattern =
|
||||
Regex::new(r"td_kal.*?(\d{2}\.\d{2}\.\d{4}).*?<a[^>]*>([^<]+)</a>.*?<span>([^<]+)</span>")
|
||||
.unwrap();
|
||||
|
||||
let mut ics_content = String::from(
|
||||
"BEGIN:VCALENDAR\n\
|
||||
@@ -54,7 +54,7 @@ fn html_to_ics(html_content: &str) -> Result<String, &'static str> {
|
||||
METHOD:PUBLISH\n\
|
||||
X-WR-CALNAME:Abfalltermine Luftenberg\n\
|
||||
X-WR-CALDESC:Waste collection dates for Luftenberg an der Donau\n\
|
||||
X-WR-TIMEZONE:Europe/Vienna\n"
|
||||
X-WR-TIMEZONE:Europe/Vienna\n",
|
||||
);
|
||||
|
||||
let mut event_count = 0;
|
||||
@@ -84,7 +84,7 @@ fn main() {
|
||||
let html_content = match fetch_waste_dates() {
|
||||
Ok(content) => content,
|
||||
Err(e) => {
|
||||
eprintln!("Error fetching waste dates: {}", e);
|
||||
eprintln!("Error fetching waste dates: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
};
|
||||
@@ -92,10 +92,10 @@ fn main() {
|
||||
let ics_output = match html_to_ics(&html_content) {
|
||||
Ok(content) => content,
|
||||
Err(e) => {
|
||||
eprintln!("Error: {}", e);
|
||||
eprintln!("Error: {e}");
|
||||
process::exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
println!("{}", ics_output);
|
||||
println!("{ics_output}");
|
||||
}
|
||||
|
Reference in New Issue
Block a user