chiark / gitweb /
note rather more conservative dependency versions
[gooswapper] / README.org
1 * Gooswapper - Exchange / Google calendar sync
2
3 This is a python script that synchronises between Exchange and Google
4 calendars. Currently only one-way synchronisation (from Exchange to
5 Google) is supported.
6
7 Upstream git located [[https://salsa.debian.org/matthew/gooswapper][on salsa]].
8
9 ** Dependencies
10
11 For the google API, install the ~python3-googleapi~ Debian/Ubuntu
12 package; for Exchange, install [[https://github.com/ecederstrand/exchangelib][Exchangelib]] version 1.12.2,
13 and make sure it's on your Python path (the code by default adds
14 ~/upstreams/exchangelib~ ). Tested with other dependencies as per
15 Ubuntu 16.04 and 18.04.
16
17 ** Usage
18
19 #+BEGIN_EXAMPLE
20 usage: gooswapper.py [-h] [--auth_host_name AUTH_HOST_NAME]
21                      [--noauth_local_webserver]
22                      [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
23                      [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
24                      [-g GCALID] [-l]
25                      exchuser exchemail
26
27 Gooswapper calendar sync
28
29 positional arguments:
30   exchuser              Exchange user e.g. 'SANGER\mv3'
31   exchemail             Exchange calendar email e.g. ISGGroup@sanger.ac.uk
32
33 optional arguments:
34   -h, --help            show this help message and exit
35   --auth_host_name AUTH_HOST_NAME
36                         Hostname when running a local web server.
37   --noauth_local_webserver
38                         Do not run a local web server.
39   --auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]
40                         Port web server should listen on.
41   --logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
42                         Set the logging level of detail.
43   -g GCALID, --gcalid GCALID
44                         google Calendar ID
45   -l, --loop            keep running indefinitely
46 #+END_EXAMPLE
47
48 To find the google ID for a calendar, go to "Settings and Sharing" and
49 then click (left-hand pane) or scroll to "Integrate calendar", and
50 you'll there see "Calendar ID", which is what you want.
51
52 ** Bugs / Limitations
53
54 See [[file:NOTES.org][NOTES.org]] in the distribution for things that I know need doing;
55 feel free to supply patches...