annotate 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
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
90
286ccecf9257 Add link to Mercurial repo.
Matti Hamalainen <ccr@tnsp.org>
parents: 79
diff changeset
8 Mercurial repository: http://tnsp.org/hg/gcmultimerge/
286ccecf9257 Add link to Mercurial repo.
Matti Hamalainen <ccr@tnsp.org>
parents: 79
diff changeset
9
286ccecf9257 Add link to Mercurial repo.
Matti Hamalainen <ccr@tnsp.org>
parents: 79
diff changeset
10
79
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
11 Introduction
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
12 ============
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
13
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
14 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
15 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
16 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
17 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
18 be accordingly deleted from the target.
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
19
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
20 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
21 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
22 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
23
0ccf3fd49181 Add license and some documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 69
diff changeset
24 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
25 (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
26 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
27 directly.
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
28
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
29
91
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
30 Installation
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
31 ============
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
32
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
33 First, we need to install the required Python tools in order to
94
f6836a604322 Work a bit on the documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 91
diff changeset
34 install the required Google API Python modules ... in Debian 9.x,
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
35 chant the following magic incantations:
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
36
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
37 $ 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
38
94
f6836a604322 Work a bit on the documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 91
diff changeset
39 In older version of Debian, Ubuntu and other distributions package
f6836a604322 Work a bit on the documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 91
diff changeset
40 names may be different. Most important is to have PIP installed,
f6836a604322 Work a bit on the documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 91
diff changeset
41 and that the next step runs without fatal errors.
91
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
42
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
43
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
44 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
45
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
46 $ pip install --upgrade google-api-python-client
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
47
91
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
48 If the installation passes without errors, you are good to go.
12
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
49 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
50 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
51
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
52 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
53
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
54 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
55 which is incomplete in the guide anyway.
a5f726b6782d Start writing some kind of documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 9
diff changeset
56
91
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
57
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
58 Configuration and usage
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
59 =======================
16
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
60
91
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
61 Edit example.cfg and run multimerge with config file as command line
117
2c94204a5dd2 Update documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
62 parameter. At the very least, you will need to define the "dst_name"
2c94204a5dd2 Update documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 94
diff changeset
63 and "dst_regex" settings in the configuration. The settings are
91
ae3f20933758 Update documentation a bit.
Matti Hamalainen <ccr@tnsp.org>
parents: 90
diff changeset
64 described in the example configuration file.
16
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
65
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
66 $ ./multimerge.py example.cfg
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
67
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
68 On first run, you will need to authenticate Multimerge to allow
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
69 access to the target calendar. You copy & paste the generated URL
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
70 to browser, authenticate and copy & paste the given "key" to
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
71 the Multimerge's prompt and hit ENTER.
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
72
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
73 After first time authentication the program can be run from a
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
74 Cron task, if preferred.
9a4dd2eb7701 More documentation.
Matti Hamalainen <ccr@tnsp.org>
parents: 12
diff changeset
75