Skip to content

A Rust library that watches ICS calendar files. You give ICS Watcher a URL pointing to an .ics calendar file and it will poll for changes and pass them onto your callback functions.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

OfficialFreak/ics-watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ICS Watcher

A Rust library that watches ICS calendar files. You give ICS Watcher a URL pointing to an .ics calendar file and it will poll for changes at regular intervals. When changes are detected, your callback functions get called with details about what changed.

Examples

  • Log all events: pass log_events as one of the callbacks
  • TUM to Google Calendar Proxy: pass tum_google_sync as one of the callbacks
    • This is already implemented in main.rs which means, you can create a .env with your TUM_URL and GOOGLE_CALENDAR_ID, put your Google Calendar API client secret in .secrets/client_secret.json and start syncing :)
    • Unlike https://github.com/TUM-Dev/CalendarProxy/, events in this implementation can be modified (which is the main reason for creating this crate)

TODO's

  • TUM Sync
    • Refactor TUM Sync creation and deletion of events
    • Introduce reminders for exams
  • Fix the examples in the docs (they work, they just don't pass the docs tests because they're async)

License

Licensed under either of:

at your option.

The TUM Google Sync can also function as a summary shortener using the replacements.json. Due to licensing restrictions, I do not distribute it myself, but you can find a good replacements.json here: https://github.com/TUM-Dev/CalendarProxy.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

A Rust library that watches ICS calendar files. You give ICS Watcher a URL pointing to an .ics calendar file and it will poll for changes and pass them onto your callback functions.

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages