view README.txt @ 117:2c94204a5dd2

Update documentation.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 18 Oct 2016 14:01:02 +0300
parents f6836a604322
children 84ff2570b1fc b33e3884182b
line wrap: on
line source

Google Calendar MultiMerge
==========================
Programmed and designed by Matti 'ccr' Hämäläinen <ccr@tnsp.org>
(C) Copyright 2016 Tecnic Software productions (TNSP)

For license information, see file "COPYING".

Mercurial repository: http://tnsp.org/hg/gcmultimerge/


Introduction
============

Google Calendar Multimerge (GCMM) is a simple Python utility for
creating a "merged" calendar from a number of "source" calendars.
Through Google Calendar API, events are copied from source calendars
to the target calendar and updated on each run. Deleted events will
be accordingly deleted from the target.

In practice, the target is always an amalgamate of the sources, if
any events are added or deleted from it manually, they will be deleted
or re-added accordingly from it on the next run of GCMM.

The reason for GCMM is that while an amalgamate view of all calendars
(shared or not) can be viewed through the main calendar site, the
amalgamate view can't be shared or viewed as an embedded element
directly.


Installation
============

First, we need to install the required Python tools in order to
install the required Google API Python modules ... in Debian 9.x,
chant the following magic incantations:

$ sudo apt-get install python-pip python-setuptools python-wheel

In older version of Debian, Ubuntu and other distributions package
names may be different. Most important is to have PIP installed,
and that the next step runs without fatal errors.


Then, use PIP to install Google API stuff locally for the user ..

$ pip install --upgrade google-api-python-client

If the installation passes without errors, you are good to go.
At this point, you will need to enable the Calendar API from
Google's control panel. Refer to the following web page:

https://developers.google.com/google-apps/calendar/quickstart/python

The section "Step 1" has the instructions. We've already done "Step 2",
which is incomplete in the guide anyway.


Configuration and usage
=======================

Edit example.cfg and run multimerge with config file as command line
parameter. At the very least, you will need to define the "dst_name"
and "dst_regex" settings in the configuration. The settings are
described in the example configuration file.

$ ./multimerge.py example.cfg

On first run, you will need to authenticate Multimerge to allow
access to the target calendar. You copy & paste the generated URL
to browser, authenticate and copy & paste the given "key" to
the Multimerge's prompt and hit ENTER.

After first time authentication the program can be run from a
Cron task, if preferred.