Mercurial > libervia-backend
annotate sat_frontends/primitivus/config.py @ 3743:54c249ec35ce
core (memory/migration): ignore FTS table when autogenerating script for migration:
SQLite Full-Text Search stable are not associated to Python object and can't be detected
by Alembic. To avoid the generation of unwanted drop commands, they are now ignored when
autogenerating migration scripts.
rel 364
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 22 Mar 2022 17:00:42 +0100 |
parents | be6d91572633 |
children | 524856bd7b19 |
rev | line source |
---|---|
3137 | 1 #!/usr/bin/env python3 |
2 | |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
3 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
4 # Primitivus: a SAT frontend |
3479 | 5 # Copyright (C) 2009-2021 Jérôme Poisson (goffi@goffi.org) |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
6 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
10 # (at your option) any later version. |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
11 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
15 # GNU Affero General Public License for more details. |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
16 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
19 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
20 """This module manage configuration specific to Primitivus""" |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
21 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
22 from sat_frontends.primitivus.constants import Const as C |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
23 from sat_frontends.primitivus.keys import action_key_map |
3028 | 24 import configparser |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
25 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
26 |
1165
ca15fb1abbc4
primitivus: added disable_mouse config option /!\ minimal Urwid version is now 1.2.0
Goffi <goffi@goffi.org>
parents:
1159
diff
changeset
|
27 def applyConfig(host): |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 """Parse configuration and apply found change |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
30 raise: can raise various Exceptions if configuration is not good |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
31 """ |
3028 | 32 config = configparser.SafeConfigParser() |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
33 config.read(C.CONFIG_FILES) |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
34 try: |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
35 options = config.items(C.CONFIG_SECTION) |
3028 | 36 except configparser.NoSectionError: |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
37 options = [] |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
38 shortcuts = {} |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
39 for name, value in options: |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
40 if name.startswith(C.CONFIG_OPT_KEY_PREFIX.lower()): |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2562
diff
changeset
|
41 action = name[len(C.CONFIG_OPT_KEY_PREFIX) :].upper() |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
42 shortcut = value |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
43 if not action or not shortcut: |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
44 raise ValueError("Bad option: {} = {}".format(name, value)) |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
45 shortcuts[action] = shortcut |
1165
ca15fb1abbc4
primitivus: added disable_mouse config option /!\ minimal Urwid version is now 1.2.0
Goffi <goffi@goffi.org>
parents:
1159
diff
changeset
|
46 if name == "disable_mouse": |
ca15fb1abbc4
primitivus: added disable_mouse config option /!\ minimal Urwid version is now 1.2.0
Goffi <goffi@goffi.org>
parents:
1159
diff
changeset
|
47 host.loop.screen.set_mouse_tracking(False) |
1159
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
48 |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
49 action_key_map.replace(shortcuts) |
85fd02356dba
primitivus: key can be changed in config:
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
50 action_key_map.check_namespaces() |