Command line icalendar utility.
This program can manage icalendar data from and to ICS, CSV an Json files.
Quick view of an ICS file:
$ comical --input samples/calendar_test.ics
DTSTART SUMMARY
------------------------- ---------
2021-07-20 20:00:00+00:00 Event 2
2021-07-14 17:00:00+00:00 Event 1
Select properties from a calendar events, sort them and ouptut them in a CSV file:
$ comical --input samples/calendar_test.ics --select DTSTART,SUMMARY,LOCATION --order-by DTSTART,DTEND --format csv > mycalendar.csv
$ cat mycalendar.csv
DTSTART,SUMMARY,LOCATION
2021-07-14 17:00:00+00:00,Event 1,"Place de la Bastille, Paris"
2021-07-20 20:00:00+00:00,Event 2,
Loads a CSV into an ICS file (not supported yet):
$ comical --input mycalendar.csv --format ics > mycalendar.ics
--input
File to read
--select PROPERTIES_NAMES
Comma separated list of properties to extract from the input file. Defaults depends to format
--order-by PROPERTIES_NAMES
Comma separated list of properties to sort on the result
--format {pretty,csv,json,ics}
Output format. Defaults to pretty
-h --help
Output some help and exit
This is still under heavy development and compatibility is likely to break in the future.
- Load an ICS file to a DataFrame
- Outut to CSV or Json
- Output to a pretty table
- Order by list of columns
- Load CSV and Json
- Output to ICS format
- Proper module architecture
- Detect input file encoding for vText properties
- Support for descending order by
- Unit tests
- Handle VALARM components
- Proper error management
- Load multiple files
- --where parameter to filter the events
- config.cfg for package creation, linting and tests
- Programmable pipeline
This program offers no warranty. See license for details.
Please note data read from the input file is interpreted and might undego transfomation.
Copyright © 2021 Pierre Faivre. This is free software, and may be redistributed under the terms specified in the LICENSE file.