https://github.com/jacobmischka/ews-to-fullcalendar
Converts EWS calendar events to FullCalendar or iCalendar feeds
https://github.com/jacobmischka/ews-to-fullcalendar
calendar exchange-web-services fullcalendar icalendar
Last synced: 5 months ago
JSON representation
Converts EWS calendar events to FullCalendar or iCalendar feeds
- Host: GitHub
- URL: https://github.com/jacobmischka/ews-to-fullcalendar
- Owner: jacobmischka
- Created: 2017-08-04T03:57:32.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-12-07T23:42:15.000Z (almost 3 years ago)
- Last Synced: 2025-05-09T00:52:10.135Z (5 months ago)
- Topics: calendar, exchange-web-services, fullcalendar, icalendar
- Language: Python
- Homepage:
- Size: 93.8 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ews-to-fullcalendar
Small wrapper library and associated CLI and web interface to convert Exchange Web Services calendar events to a [FullCalendar][fullcalendar] event JSON or iCalendar feed.
## Configuration
Uses the following env vars, which can be loaded from a `.env` file:
- `EWS_USERNAME`
- `EWS_PASSWORD`
- `EWS_EMAIL`
- `EWS_SERVER`
- `EWS_CALNAME`
- `EWS_CALDESC`
- `EWS_TIMEZONE`
- `EWS_ALLOWED_ORIGIN`## Usage
### CLI
```
$ ./ews_to_fullcalendar.py -h
usage: ews_to_fullcalendar.py [-h] [-o OUTPATH] [-i] [-s] [-q]Outputs all calendar events as FullCalendar events
optional arguments:
-h, --help show this help message and exit
-o OUTPATH Output file path (default stdout)
-i, --ical, --ics Get .ics instead
-s, --sync Save calendar events to local cache
-q, --quiet Don't output events (to be used with --sync)
```### Web
Intended to be used for [ics-merger][ics-merger] but should work for any FullCalendar or iCalendar consumer.
Serves events from local cache, which is updated every 3 hours by default (see `crontabs/root`).
### Library
```python
from ews_to_fullcalendar import get_account, sync_events, get_all_cached_fc_eventsaccount = get_account()
sync_events(account)
events = get_all_cached_fc_events()
```[fullcalendar]: https://fullcalendar.io/
[ics-merger]: https://github.com/jacobmischka/ics-merger