view README.txt @ 137:4bf07e58baa8

Some fixes to documentation.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 06 Oct 2020 09:04:19 +0300
parents aa3478847735
children
line wrap: on
line source

Google Calendar MultiMerge
==========================
Programmed and designed by Matti 'ccr' Hämäläinen <ccr@tnsp.org>
(C) Copyright 2016-2017 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
============

In Debian 10.x there are packaged versions of Google
API Python modules available:

$ apt-get install python3-google-auth python3-google-auth-httplib2 python3-googleapi

If you are on earlier version of Debian or some other distribution,
you may have to use PIP to install the modules locally.

$ pip3 install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib

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/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.