command line tool for tracking ical changes
Project description
Ionical - keeping an eye on icals
Installing via pip:
$ pip install ionical
Command line usage:
Usage: ionical [-h] [-v]
[-g] [-s] [-l] [-c CSV_FILE]
[-i IDS [IDS ...]]
[-t TEXT_FILTERS [TEXT_FILTERS ...]] [-a START_DATE] [-b END_DATE]
[-f CALENDAR_LIST_FILE] [-d DIRECTORY]
[-n NUM_LOOKBACKS] [-x CSV_CONVERSION_FILE]
Help / Version Info:
-h, --help Print help message, then exit (ignoring below options).
-v, --version Print ionical version, then exit (ignoring below options).
Main Operations (can specify one or more, but at least one MUST be specified):
-g, --get_today Download current .ics files and label them with today's date.
This will be done prior to running any other Main Operations.
(If not specified, operations will use only .ics files
which have previously been downloaded.)
-s, --schedule Display events from the most recent version of each calendar.
-l, --changelog Show changelog(s) between schedule versions from multiple dates.
-c CSV_FILE, --csv_file CSV_FILE
Export current schedules to CSV_FILE (alpha status).
Calendar Filter Options (applies to all Main Operations):
-i IDS [IDS ...], --ids IDS [IDS ...]
Only operate on calendars specified in the list of calendar IDS.
(An ID is a 'nickname' specified in the calendar list config file.)
(Default behavior: no restrictions. I.e., include all calendars
listed in the config file.)
Event Filter Options (for changelogs, viewing schedules, and csv export):
-t TEXT_FILTERS [TEXT_FILTERS ...], --text_filters TEXT_FILTERS [TEXT_FILTERS ...]
Filter EVENTS by text that appears in event summary field.
(Default behavior: no text filters.)
-a START_DATE, --start_date START_DATE
Apply actions only to EVENTS occuring AFTER specified date.
Value must be EITHER a date in format YYYY-MM-DD, or a positive
integer representing # of days before today.
(Default behavior: 1 days before today's date.)
-b END_DATE, --end_date END_DATE
Apply actions only to EVENTS occuring BEFORE specified date.
Value must be EITHER a date in format YYYY-MM-DD, or a positive
integer representing # of days after today.
(Default behavior: no filter)
General File/Directory Configuration Options:
-f CALENDAR_LIST_FILE, --calendar_list_file CALENDAR_LIST_FILE
Filename containing list of calendars with associated info.
(In JSON format: [[NICKNAME, FULLNAME, URL, TIME_ZONE], ... ] )
(Default: ./calendar_list.json)
-d DIRECTORY, --directory DIRECTORY
Directory where downloaded .ics files are stored.
(Default: ./)
Changelog Options (only applicable when -l option also specified):
-n NUM_LOOKBACKS, --num_lookbacks NUM_LOOKBACKS
Number of past schedule versions (per person) to compare.
[Only used when displaying changelogs with -l option.]
(Default behavior: 2 'lookbacks')
CSV Options (only applicable when -c option also specified):
-x CSV_CONVERSION_FILE, --csv_conversion_file CSV_CONVERSION_FILE
JSON file w/ dictionary of conversion terms.
[Only used when generating CSV via -c option.]
(Default: ./csv_conversion_table.json)
Installing from respository:
$ git clone https://github.com/danyul/ionical
$ cd ionical
$ python -m venv env
$ source env/bin/activate
$ pip install -e ".[test]"
If on Windows, replace 'source env/bin/activate' with:
$ .\env\Scripts\activate
Note:
ionical has been successfully used to track schedules changes in ics files generated by Amion (http://amion.com/). However, it has not been extensively tested on ics files from other sources.
0.1.0
Initial release
0.1.10
Smattering of fixes/tweaks
0.2.0 (12/8/2020)
- Substantial help message cleanup
- Changed/renamed multiple CLI options
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ionical-0.2.1.tar.gz
(16.0 kB
view details)
Built Distribution
ionical-0.2.1-py3-none-any.whl
(16.1 kB
view details)
File details
Details for the file ionical-0.2.1.tar.gz
.
File metadata
- Download URL: ionical-0.2.1.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2144c75bd3f589923c1f1229c5d9194f347ba3962811898f532468c33db09615 |
|
MD5 | ecb6df9a258e1364c4161d8869c5b9f3 |
|
BLAKE2b-256 | 3fac32d9b284cdc229d7eda18779e46bafcca30eb5459cb15164ba8c7a04fc0d |
File details
Details for the file ionical-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: ionical-0.2.1-py3-none-any.whl
- Upload date:
- Size: 16.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.54.1 CPython/3.8.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb1b5babd304f51d1fa1a20c70ddb14c7383f0ecc851cf3ab1685667ec13e550 |
|
MD5 | 6fb5a7d9587f376d10816819907c70af |
|
BLAKE2b-256 | c4e70a216c8b52276f15861333345f4055ba6975d896462b52a7c0f5c81a2b84 |