From a316a1ebc4a6271eab262012337b936419912e2f Mon Sep 17 00:00:00 2001 From: Jan Bergen Date: Mon, 9 Feb 2026 19:17:25 +0100 Subject: [PATCH] new notes --- autotodo/data/notes.md | 9 + autotodo/data/patterns.ron | 44 ++++- autotodo/src/main.rs | 72 ++++--- notes.md | 393 ++++++++++++++++++++++++++++++++++++- 4 files changed, 473 insertions(+), 45 deletions(-) diff --git a/autotodo/data/notes.md b/autotodo/data/notes.md index 6b79362..ed18fd7 100644 --- a/autotodo/data/notes.md +++ b/autotodo/data/notes.md @@ -25,3 +25,12 @@ - [ ] Test 2 - [ ] Test 3 +# 2026-02-09 + +- [ ] Rechnung Gertrudenhof +- [ ] Rechnung an lustige Leute +- [ ] Cornelius hauen +- [ ] Rechnung STG +- [ ] Test 2 +- [ ] Test 3 + diff --git a/autotodo/data/patterns.ron b/autotodo/data/patterns.ron index 41a2984..9e02f76 100644 --- a/autotodo/data/patterns.ron +++ b/autotodo/data/patterns.ron @@ -1,23 +1,51 @@ [ + ( + name: "Morello updaten", + pattern: Weekly(dow: "Monday"), + ), ( name: "Rechnung Gertrudenhof", pattern: Monthly(dom: 1), ), ( - name: "Rechnung an lustige Leute", - pattern: Monthly(dom: 4), - ), - ( - name: "Cornelius hauen", - pattern: Daily, + name: "Rechnung Sholti", + pattern: Monthly(dom: 1), ), ( name: "Rechnung STG", pattern: MonthlyOpt(dom: 1, months: ["February", "May", "August", "November"]), ), ( - name: "Kalender durchlesen", - pattern: Weekly(dow: 1), + name: "Überweisungen auf Local Benefits", + pattern: Monthly(dom: 1), + ), + ( + name: "Gehälter", + pattern: Monthly(dom: 25), + ), + ( + name: "TK Überweisung", + pattern: Monthly(dom: 25), + ), + ( + name: "UStVA - Belege hochladen", + pattern: MonthlyOpt(dom: 1, months: ["February", "May", "August", "November"]), + ), + ( + name: "UStVA - Umsatzsteuer zahlen", + pattern: MonthlyOpt(dom: 10, months: ["February", "May", "August", "November"]), + ), + ( + name: "Inflationsanpassung mitteilen GTH", + pattern: MonthlyOpt(dom: 1, months: ["June"]), + ), + ( + name: "Semesterbeitrag überweisen", + pattern: MonthlyOpt(dom: 10, months: ["February", "August"]), + ), + ( + name: "Semesterbescheinigung an Musikschule", + pattern: MonthlyOpt(dom: 1, months: ["April", "October"]), ), ] diff --git a/autotodo/src/main.rs b/autotodo/src/main.rs index b830ca2..b83736f 100644 --- a/autotodo/src/main.rs +++ b/autotodo/src/main.rs @@ -1,14 +1,14 @@ -use chrono::{self, Datelike, Duration, Local, NaiveDate}; +use chrono::{self, Datelike, Duration, Local, Month, NaiveDate, Weekday}; use clap::Parser; +use ron; +use serde::{Deserialize, Serialize}; use std::{ collections::HashSet, fmt::Write as _, fs::OpenOptions, io::{BufRead, BufReader, Read, Seek, Write as _}, - path::{PathBuf}, + path::PathBuf, }; -use ron; -use serde::{Serialize, Deserialize}; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] @@ -19,19 +19,9 @@ struct Args { #[derive(Serialize, Deserialize, Debug)] enum Pattern { - Yearly { - doy: u32, - }, - MonthlyOpt { - dom: u32, - months: Vec, - }, - Monthly { - dom: u32, - }, - Weekly { - dow: u32, - }, + MonthlyOpt { dom: u32, months: Vec }, + Monthly { dom: u32 }, + Weekly { dow: Weekday }, Daily, } @@ -41,10 +31,18 @@ struct Position { pattern: Pattern, } +fn month_from_date(date: NaiveDate) -> Month { + return Month::try_from( + u8::try_from(date.month()) + .expect("This should never happen: month into u8 should never fail"), + ) + .expect("This should never happen: month from u8 that is a month should never fail"); +} + fn is_todo(bytes: &[u8]) -> bool { return bytes == b"- [ ]" // done || bytes == b"- [r]" // tried unsucessfully, have to retry - || bytes == b"- [p]" // Made progress, but not done + || bytes == b"- [p]"; // Made progress, but not done } fn is_done(bytes: &[u8]) -> bool { @@ -69,7 +67,6 @@ fn update_notes(notes_path: &PathBuf, patterns_path: Option) { let mut latest_date = NaiveDate::MIN; let mut lines_to_not_use: Vec = Vec::new(); - // Find todo-type lines let mut n_lines = 0; while let Ok(n) = notes_bufreader.read_line(&mut str_buf1) { @@ -144,15 +141,16 @@ fn update_notes(notes_path: &PathBuf, patterns_path: Option) { .open(patterns) .expect("file should exist"); let notes_bufreader = BufReader::new(&patterns_file); - let positions: Vec = ron::de::from_reader(notes_bufreader).expect("File should be of correct ron syntax"); + let positions: Vec = + ron::de::from_reader(notes_bufreader).expect("File should be of correct ron syntax"); for p in &positions { match p.pattern { - Pattern::Yearly { doy } => {} Pattern::Monthly { dom } => { let mut date_idx = latest_date.clone(); while date_idx <= today { if date_idx.day() == dom { - writeln!(str_buf1, "- [ ] {}", &p.name).unwrap_or_else(|e| panic!("{e}")); + writeln!(str_buf1, "- [ ] {}", &p.name) + .unwrap_or_else(|e| panic!("{e}")); break; } date_idx += Duration::days(1); @@ -161,14 +159,27 @@ fn update_notes(notes_path: &PathBuf, patterns_path: Option) { Pattern::MonthlyOpt { dom, ref months } => { let mut date_idx = latest_date.clone(); while date_idx <= today { - if date_idx.day() == dom && months.contains(&chrono::Month::try_from(u8::try_from(date_idx.month()).unwrap()).unwrap()) { - writeln!(str_buf1, "- [ ] {}", &p.name).unwrap_or_else(|e| panic!("{e}")); + if date_idx.day() == dom && months.contains(&month_from_date(date_idx)) { + writeln!(str_buf1, "- [ ] {}", &p.name) + .unwrap_or_else(|e| panic!("{e}")); + break; + } + date_idx += Duration::days(1); + } + } + Pattern::Weekly { dow } => { + dbg!(dow, today); + let mut date_idx = latest_date.clone(); + while date_idx <= today { + dbg!(date_idx); + if date_idx.weekday() == dow { + writeln!(str_buf1, "- [ ] {}", &p.name) + .unwrap_or_else(|e| panic!("{e}")); break; } date_idx += Duration::days(1); } } - Pattern::Weekly { dow } => {} Pattern::Daily => { writeln!(str_buf1, "- [ ] {}", &p.name).unwrap_or_else(|e| panic!("{e}")); } @@ -188,14 +199,15 @@ fn update_notes(notes_path: &PathBuf, patterns_path: Option) { str_buf2.clear(); - notes_file.write_all(str_buf1.as_bytes()).unwrap_or_else(|e| panic!("Maaan look out for these files. Error is: {e}")); + notes_file + .write_all(str_buf1.as_bytes()) + .unwrap_or_else(|e| panic!("Maaan look out for these files. Error is: {e}")); } fn main() { let args = Args::parse(); - + if args.patterns == None { + dbg!("Warning: No patterns argument given. Will not generate any pattern-type todos"); + } update_notes(&args.notes, args.patterns); } - - -// TODO für Patterns alle Tage zwischen heute und letztem Mal ausführen scannen diff --git a/notes.md b/notes.md index 42f5369..6bd75c5 100644 --- a/notes.md +++ b/notes.md @@ -1,10 +1,12 @@ +x: done n: no i: into issue -d: someone else did it / took "assignment" (spiritual or actually in Gitea) +d: deferred: someone else did it / took "assignment" (spiritual or actually in Gitea) r: tried unsucessfully, have to retry m: moved to a later, specified time c: i will come back to this when i feel like it, but no need to track it now p: Made progress, but not done +q: deprecated / morphed into another todo # 2025-11-18 @@ -848,7 +850,7 @@ p: Made progress, but not done - [ ] AWH - [ ] Physik -- [ ] Aufräumen organisieren? +- [x] Aufräumen organisieren? - [ ] Bob @@ -937,12 +939,11 @@ Aktuelle Projekte: - [ ] Transparenzregister - [ ] Compliance Check -- [ ] 2 Mails - - [d] Batuhan -> Hassan - - [ ] Larbig Mortag -- [ ] Aufräumen +- [d] Batuhan -> Hassan +- [ ] Larbig Mortag +- [x] Aufräumen - [ ] autotodo - - [ ] Alte ToDos + - [x] Alte ToDos - [ ] Case handlen dass heute schonmal Programm ausgeführt wurde - [ ] Patternized ToDos - [ ] Remagen @@ -961,3 +962,381 @@ Aktuelle Projekte: - [ ] Hold GSV for Wojteks end at PL - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung - [ ] Change Handelsregister (Notar does this) + +# 2026-01-26 + +- [x] R1 issues neu strukturieren (Siehe R1 tracking issue letzte nachricht) +- [x] Wojtek Abfindungsrecherche +- [x] Wojtek Querstellungsszenario Recherche -> Nicht zu GSV erschienen, Mehrere Monate nicht zur Arbeit erschienen, Wesentliche Pflichten verletzt?) +- [x] Pretech Prototyp -> Scheint geklärt, Mika holt morgen früh ab + - [x] MacOS Probleme -> Webkit Browser kann reproduzieren + - [x] Siehe letzte Mail +- [x] TK Brief +- [x] PwC Unterlagen +- [x] Lattenrost bestellen +- [x] Lars / para + - [x] Auf iPad anschauen + - [x] Mobile bugs reproduzieren versuchen + - [x] siehe Issue +- [x] Lars / para (s. Issue) + - [x] Wojtek schreiben + - [x] Wojtek Abfindung in Morello + - [x] Wojtek Bescheid geben +- [x] Weitere Rechnungen? + - [x] Wisiorek + - [x] Create protocol dummy + - [x] Transfer shares to Mika and Corni +- [x] Anh-Tuan von Gridshift runter? +- [x] Anlesen für koeln0221 (Wie rechtlich aufsetzen (aus seiner Persp.), Zinsenumsatz?, welche Modelle möglich?) +- [x] Kreditrecherche -> Mail an HTB +- [x] Wojtek Zusammenfassung + Feedback zwei Unternehmen + Feedback Kredit + - [x] Write and send invitation (or not? if Wojtek is fine with it, we can waive the 2 weeks) + - [x] Change Handelsregister (Notar does this maybe?) +- [x] Lattenrost +- [x] Leads für Thomas +- [x] Aufräumzeugs besorgen + - [x] Change Handelsregister (Notar does this maybe? -> Yes he does) +- [x] Wann Deadline für unsere privaten Steuererklärungen +- [x] Wojtek +- [x] NEXT DOOR in Person besichtigen (bis Ende des Jahres) +- [x] Kreditbedingungen Wojtek herausfinden? +- [x] NEXT DOOR in Person besichtigen (bis 06.01.) +- [x] Bundesanzeiger Unstimmigkeitsmeldung + - [x] Website: Thomas auf Website +- [x] Thomas Mail Feedback + - [x] Lernplan +- [x] NEXT DOOR in Person besichtigen + - [x] Lernplan (GT, Prüfungen, P5, Recr) + - [x] GT +- [x] Anh-Tuan +- [x] DnD Character +- [x] Corni Brief +- [x] Mika Attest +- [x] Schild "keine Werbung" +- [x] E-Feld bei Kabeln +- [x] Retardiertes Feld +- [x] Akquise +- [x] Wojtek? + - [x] Kreditbedingungen herausfinden +- [x] AWH + +- [x] Cow hours +- [ ] Remagen + - [ ] Zwischenbericht an Elmar + Martin + - [ ] Interne Notizenaufbereitung + - [ ] Winweb Meeting teilnehmen? + - [ ] Vertrag + - [ ] Stundendoc + - [ ] Repo +- [ ] Aufräumen +- [ ] Solti Vertrag? +- [x] ToDo-Automatisierungsprogramm? +- [ ] Transparenzregister +- [ ] Compliance Check +- [x] Larbig Mortag +- [ ] Larbig Mortag anrufen +- [ ] autotodo + - [ ] Case handlen dass heute schonmal Programm ausgeführt wurde + - [ ] Patternized ToDos +- [ ] Bob +- [ ] Physik +- [ ] Orion + - [ ] Vertrag + - [ ] Rechnung über Odoo / 12 +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-01-27 + +- [ ] Remagen + - [x] Zwischenbericht an Elmar + Martin + - [x] Interne Notizenaufbereitung + - [x] Winweb Meeting teilnehmen? + - [ ] NDA + - [ ] Stundendoc + - [x] Repo + - [ ] Verträge + - [ ] ERP-Migration online-Recherche +- [r] Aufräumen +- [x] Solti Vertrag? +- [x] Transparenzregister +- [ ] EORI Mail (auf operations) +- [ ] Compliance Check +- [ ] Larbig Mortag anrufen +- [ ] autotodo + - [ ] Case handlen dass heute schonmal Programm ausgeführt wurde + - [ ] Patternized ToDos +- [ ] Bob +- [ ] Physik +- [ ] Orion + - [ ] Vertrag + - [ ] Rechnung über Odoo / 12 +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-01-29 + +- [x] Corni Arbeitszeit FW +- [x] Schokoladenmuseum Mail +- [ ] AldiTALK Guthaben nachbuchen +- [x] HTB UstVA + Umsätze nicht aktualisiert + - 16.10. Aldi: weg + - 16.10. Penny: weg + - 19.11. DHL: Transaktion scheint bei denen schon aus dem System gelöscht worden zu sein + - 26.11. Odoo: Kein login, muss verm. Support kontaktieren -> Corni +- [ ] Remagen + - [ ] NDA + - [ ] Stundendoc + - [ ] Verträge + - [ ] ERP-Migration online-Recherche +- [ ] EORI Mail (auf operations) +- [ ] Compliance Check +- [q] Larbig Mortag anrufen +- [c] autotodo + - [c] Case handlen dass heute schonmal Programm ausgeführt wurde + - [c] Patternized ToDos +- [ ] Bob +- [ ] Physik +- [ ] Orion + - [ ] Vertrag + - [ ] Rechnung über Odoo / 12 +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-01-30 + +- [x] AldiTALK Guthaben nachbuchen +- [ ] Ella Preisblatt +- [ ] Netcologne Dokument +- [ ] Remagen + - [x] NDA + - [ ] Stundendoc + - [x] Verträge + - [ ] ERP-Migration online-Recherche +- [ ] Orion + - [ ] Vertrag + - [ ] Rechnung über Odoo / 12 +- [ ] EORI Mail (auf operations) +- [ ] Compliance Check +- [x] Larbig Mortag schreiben +- [ ] Bob +- [ ] Physik +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-02-02 + +- [x] Rechnung GTH +- [x] Rechnung Sholti +- [x] Rechnung Save the Grain +- [x] Transparenzregister Mail +- [ ] Rundfunkbeitrag Brief +- [x] Tatjana Mail + - [x] UmsatzsteuerIDs in Qonto + - [x] DATEV Unterkonten eintragen +- [x] EORI Mail (auf operations) +- [x] Mail Rosa +- [x] Mail Thomas +- [x] CRM updaten +- [ ] Ella Preisblatt +- [x] Beleg hochladen Yummytown +- [ ] Netcologne Dokument +- [ ] Remagen + - [ ] Stundendoc + - [ ] ERP-Migration online-Recherche +- [ ] Orion + - [ ] Vertrag + - [x] Rechnung über Odoo / 12 +- [ ] Compliance Check +- [ ] Bob +- [ ] Physik +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-02-03 + +- [ ] localbenefits: 19.90 / 5 Jahre, 2.75 / Aufladung +- [ ] Rundfunkbeitrag Brief +- [r] Ella Preisblatt +- [ ] Netcologne Dokument +- [ ] Remagen + - [x] Stundendoc + - [ ] ERP-Migration online-Recherche +- [ ] Orion + - [ ] Vertrag +- [ ] Compliance Check +- [ ] Bob +- [ ] Physik +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-02-04 + +- [x] Julius +- [x] Cow Hours +- [q] Angebotsvorschlag JustFit +- [x] localbenefits: 19.90 / 5 Jahre, 2.75 / Aufladung +- [p] Rundfunkbeitrag Brief +- [x] Ella Preisblatt +- [ ] Netcologne Dokument +- [ ] Remagen + - [ ] ERP-Migration online-Recherche +- [ ] Orion + - [ ] Vertrag +- [ ] Compliance Check +- [ ] Versicherungscheck +- [ ] Bob +- [ ] Physik +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-02-05 + +Hier wurden r und p als "nicht erledigt" reimplementiert: +- [x] PwC Unterlagen -> Hassan fängt damit an +- [x] LinkedIn Banner -> Sieht alles scheiße aus +- [x] Mail Lars +- [x] Lattenrost bestellen -> Kleinanzeigen +- [x] Morello updaten +- [x] Aufräumzeugs besorgen -> Möbel entsorgen schwierig (insb Stühle) +- [x] env vars +- [x] GTH Doc anpassen +- [x] Netcologne Doc -> Draft +- [x] Uli? +- [x] Aufräumen + +- [ ] Helix + - [ ] Shift X + - [ ] Alt + ;? + - [ ] xcf? +- [ ] Morello updaten +- [x] HTB anrufen (06.02.) +- [x] Angebotsvorschlag JustFit -> 2200/Monat + 175/Fahrt + - [x] Überarbeitungen von Thomas +- [x] autotodo fertig +- [x] Wojtek schreiben +- [ ] RDSEED32 -> BIOS Update -> Version (1.0/1.1 oder 1.2?) steht auf Motherboard +- [x] Meeting Thomas + - [ ] Thomas Vertragsbearbeitungen zusenden +- [x] Meeting Forsberg +- [x] Rundfunkbeitrag Brief +- [q] Netcologne Dokument +- [ ] Local benefits beanspruchen +- [ ] Büro nochmal anfragen? +- [x] Justfit in CRM +- [ ] Remagen + - [ ] ERP-Migration online-Recherche +- [ ] Orion + - [ ] Vertrag +- [ ] Compliance Check +- [ ] Versicherungscheck +- [ ] Bob +- [ ] Physik +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-02-06 + +- [r] csv vernünftig bearbeiten aus Terminal +- [x] Thomas rückmelden +- [x] Helix + - [x] Shift X + - [x] Alt + ;? + - [n] xcf? +- [x] Morello updaten +- [q] HTB anrufen +- [ ] Todos in Gitea +- [ ] Thomas anrufen zu Forsberg +- [ ] RDSEED32 -> BIOS Update -> Version (1.0/1.1 oder 1.2?) steht auf Motherboard +- [ ] Thomas Vertragsbearbeitungen zusenden +- [ ] Local benefits beanspruchen +- [ ] Büro nochmal anfragen? +- [ ] Remagen + - [ ] ERP-Migration online-Recherche + - [ ] Zwischenbericht vervollständigen + - [ ] Martin anrufen: 8 oder 10? Fragen klären + - [ ] Bis Mittwoch: Genaueren Überblick über bisheriges; DB Schema versuchen? +- [q] Orion + - [q] Vertrag +- [ ] Adbelt Vertrag +- [ ] Compliance Check +- [ ] Versicherungscheck +- [ ] Bob +- [ ] Physik +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) + +# 2026-02-09 + +- [x] Überweisung Beitragsservice +- [x] Morello updaten +- [x] Keyboard Firmware -> Geht nicht mit meinem +- [x] Odoo Rechnungen? +- [ ] Physik +- [ ] Führerschein informieren + - [x] Zeitlicher Ablauf -> 2 - 2.5 Monate im Voraus anmelden (Fink) + - [ ] Finanzierung durch GmbH +- [x] Thomas Vertragsbearbeitungen zusenden +- [n] Thomas anrufen zu Forsberg +- [x] HTB anrufen +- [x] HTB: DATEV -> Auszüge +- [x] HTB: PWC Abruf +- [x] Rundfunkbeitrag -> Formular ausfüllen und übermitteln +- [ ] csv vernünftig bearbeiten aus Terminal +- [ ] Todos in Gitea +- [ ] RDSEED32 -> BIOS Update -> Version (1.0/1.1 oder 1.2?) steht auf Motherboard +- [x] Local benefits beanspruchen +- [ ] Büro nochmal anfragen? +- [ ] Remagen + - [ ] ERP-Migration online-Recherche + - [ ] Zwischenbericht vervollständigen + - [ ] Martin anrufen: 8 oder 10? Fragen klären + - [ ] Bis Mittwoch: Genaueren Überblick über bisheriges; DB Schema versuchen? +- [ ] Adbelt Vertrag +- [ ] Compliance Check +- [ ] Versicherungscheck +- [ ] Bob +- [ ] Big-Picture-Überblick machen (Kunden, Akquise, Verwaltung, Website & LinkedIn, Interne Projekte, Physik, Hassan (Orion, Blogartikel, eigene Entwicklungen, Google Zertifikat)) +- [ ] Neues Morello Programm? +- [ ] Wojtek & R1 + - [ ] Termin vereinbaren + - [ ] Hold GSV for Wojteks end at PL + - [ ] Hold notary appointment for both Anteilskauf and GF-Abberufung + - [ ] Change Handelsregister (Notar does this) +