annotate README.txt @ 79:0ccf3fd49181

Add license and some documentation.
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 13 Jul 2016 12:59:50 +0300
parents 8ef792b573a9
children 286ccecf9257
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
79
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
1 Google Calendar MultiMerge
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
2 ==========================
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
3 Programmed and designed by Matti 'ccr' Hämäläinen <ccr@tnsp.org>
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
4 (C) Copyright 2016 Tecnic Software productions (TNSP)
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
5
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
6 For license information, see file "COPYING".
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
7
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
8 Introduction
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
9 ============
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
10
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
11 Google Calendar Multimerge (GCMM) is a simple Python utility for
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
12 creating a "merged" calendar from a number of "source" calendars.
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
13 Through Google Calendar API, events are copied from source calendars
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
14 to the target calendar and updated on each run. Deleted events will
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
15 be accordingly deleted from the target.
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
16
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
17 In practice, the target is always an amalgamate of the sources, if
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
18 any events are added or deleted from it manually, they will be deleted
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
19 or re-added accordingly from it on the next run of GCMM.
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
20
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
21 The reason for GCMM is that while an amalgamate view of all calendars
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
22 (shared or not) can be viewed through the main calendar site, the
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
23 amalgamate view can't be shared or viewed as an embedded element
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
24 directly.
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
25
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
26
79
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
27 How to use
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
28 ==========
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
29
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
30 First, we need to install the required Python tools in order to
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
31 install the required Google API Python modules ... in Debian/Ubuntu,
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
32 chant the following magic incantations:
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
33
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
34 $ sudo apt-get install python-pip python-setuptools python-wheel
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
35
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
36 Then, use PIP to install Google API stuff locally for the user ..
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
37
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
38 $ pip install --upgrade google-api-python-client
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
39
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
40 --
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
41
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
42 At this point, you will need to enable the Calendar API from
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
43 Google's control panel. Refer to the following web page:
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
44
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
45 https://developers.google.com/google-apps/calendar/quickstart/python
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
46
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
47 The section "Step 1" has the instructions. We've already done "Step 2",
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
48 which is incomplete in the guide anyway.
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
49
16
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
50 --
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
51
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
52 Finally, edit example.cfg and run multimerge with config file as
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
53 command line parameter (if no configuration file is specified,
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
54 certain default settings will be used):
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
55
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
56 $ ./multimerge.py example.cfg
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
57
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
58 On first run, you will need to authenticate Multimerge to allow
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
59 access to the target calendar. You copy & paste the generated URL
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
60 to browser, authenticate and copy & paste the given "key" to
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
61 the Multimerge's prompt and hit ENTER.
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
62
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
63 After first time authentication the program can be run from a
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
64 Cron task, if preferred.
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
65