summaryrefslogtreecommitdiff
path: root/README
blob: 523e01c84cf2089204569c99618bea5296ca635b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
effitool - use effireg from the command line
=============================================================================

effitool is a command line tool to use the API of the effireg
membership register for the Effi association.

Installation
-----------------------------------------------------------------------------

effitool is a single-file Python3 program. Get a copy from anywhere,
and run it.

    ./effitool

Configuration
-----------------------------------------------------------------------------

In order to access the API, effitool needs API client credentials.
Specifically, it needs a client id and a client secret. These are
stored in the `~/.config/effitool/credentials.conf` file, which is an
INI format file:

    [effi]
    url = https://effi-reg.vm.liw.fi
    client_id = tapani
    client_secret = YOUWISH

The file may specify credentials for any number of instances of the
membership regiester. This is handy for the developers. If only one is
specified, effitool will use it automatically. If more than one server
is specified, the `--api` (`-a`) option is used to pick one.

    ./effitool -a effi ...

The list of known servers can be listed:

    ./effitool list-servers

Usage: 
-----------------------------------------------------------------------------

To check the status of the membership register:

    ./effitool status

To register a new API client:

    ./effitool register-admin-client ID SECRET

where `ID` is the client id and `SECRET` is the client secret. The new
client will automatically be allowed the scopes. Note that the
`credentials.conf` file is NOT updated: this command is for
registering API clients for other people, who do not have access to
the config file.

To list all known clients:

    ./effitool list-clients

To show the allowed scopes for a specific client:

    ./effitool show-client tomjon

To list all members (database ids):

    ./effitool list-members


Legalese
-----------------------------------------------------------------------------

Copyright 2019  Lars Wirzenius

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.