Mercurial > hg > gcmultimerge
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 |
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 | 8 Mercurial repository: http://tnsp.org/hg/gcmultimerge/ |
9 | |
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 | 30 Installation |
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 | 42 |
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 | 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 | 57 |
58 Configuration and usage | |
59 ======================= | |
16 | 60 |
91 | 61 Edit example.cfg and run multimerge with config file as command line |
117 | 62 parameter. At the very least, you will need to define the "dst_name" |
63 and "dst_regex" settings in the configuration. The settings are | |
91 | 64 described in the example configuration file. |
16 | 65 |
66 $ ./multimerge.py example.cfg | |
67 | |
68 On first run, you will need to authenticate Multimerge to allow | |
69 access to the target calendar. You copy & paste the generated URL | |
70 to browser, authenticate and copy & paste the given "key" to | |
71 the Multimerge's prompt and hit ENTER. | |
72 | |
73 After first time authentication the program can be run from a | |
74 Cron task, if preferred. | |
75 |