Icalutil is a project mainly written in Python, based on the GPL-3.0 license.
Utilities to manipulate .ics files and upload them into Google Calendar
This project contains the following modules:
This is a layer on top of vobject and provides some utility functions for traversing and manipulating iCalendar objects and files.
This provides some functions for mapping vobjects to Google Calendar event entry objects and calling the Google Calendar API.
RRULE
) with exceptions.RDATE
and EXRULE
components are not fully supported.EXDATE
children) are rejected by the Google Calendar API with an error
message of "RDATE too large
"; the icalutil
tools do not provide any
workaround.Split up a single ICS file into smaller ones more manageable by the Google Calendar 'import' tool.
The motivation for writing this was to use the Google Calendar 'import' tool to
import smaller .ics files. However, it turns out that this 'import' is also
subject to Google Calendar API quotas, so gcalfiltersplit
is not recommended
for bulk upload, since the error reporting is not very good.
For a dry run:
./gcalfiltersplit -n ical.ics
For the real thing:
./gcalfiltersplit ical.ics
Read an iCalendar file and upload its events into Google Calendar, with comprehensive logging and error reporting.
For a dry run:
./gcaluploader -n ical.ics
For the real thing:
./gcaluploader ical.ics
Inspiration from ics-gcal.py