This script converts an ical calendar (for instance, as exported from google calendar) into an org-mode document. It is conceived as a replacement of the awk script located here:
http://orgmode.org/worg/org-tutorials/org-google-sync.html
The main difference is that ical2orgpy correctly manages recurring events of "yearly", "daily" and "weekly" types. ical2orgpy duplicates all recurring events falling into a specified time-frame into the exported org-document.
The command ical2orgpy
is provided by means of python package ical2orgpy
.
You can install with pip
(preferably into its own into virtualenv):
$ pip install ical2orgpy
Installation with pipx is recommended because this will manage the virtualenv for you.
You can install the package directly from git source like this:
$ cd <to project folder> $ pip install --user .
To use the script, just call:
$ ~/.local/bin/ical2orgpy
Simply use the ical2orgpy
command:
$ ical2orgpy --help
or, if installed locally from the git repo:
$ ~/.local/bin/ical2orgpy --help
The script requires two files, the input ics and the output org
document. Usually, ical2orgpy
is called within a script that grabs the
ical file from some source (i.e. Google Calendar), and generates the
appropriate org document. Such an script would have the following shape:
#!/bin/bash # customize these WGET=<path to wget> ICS2ORG=<path to ical2org> ICSFILE=$(mktemp) ORGFILE=<path to orgfile> URL=<url to your private Google calendar> # no customization needed below $WGET -O $ICSFILE $URL $ICS2ORG $ICSFILE $ORGFILE rm -f $ICSFILE
See further instructions here:
http://orgmode.org/worg/org-tutorials/org-google-sync.html
Clone the repository and cd into it.
Create a virtualenv and install dependencies:
$ pip install . $ pip install -r test_requirements.txt
Run tests to check everything is working:
$ pytest
You can also use tox to create the virtualenv e.g.:
$ tox -e py39
Then activate the virtualenv:
$ source .tox/py39/bin/activate (py39)$
And use the package.