annotate libervia/backend/core/constants.py @ 4306:94e0968987cd

plugin XEP-0033: code modernisation, improve delivery, data validation: - Code has been rewritten using Pydantic models and `async` coroutines for data validation and cleaner element parsing/generation. - Delivery has been completely rewritten. It now works even if server doesn't support multicast, and send to local multicast service first. Delivering to local multicast service first is due to bad support of XEP-0033 in server (notably Prosody which has an incomplete implementation), and the current impossibility to detect if a sub-domain service handles fully multicast or only for local domains. This is a workaround to have a good balance between backward compatilibity and use of bandwith, and to make it work with the incoming email gateway implementation (the gateway will only deliver to entities of its own domain). - disco feature checking now uses `async` corountines. `host` implementation still use Deferred return values for compatibility with legacy code. rel 450
author Goffi <goffi@goffi.org>
date Thu, 26 Sep 2024 16:12:01 +0200
parents 0d7bb4df2343
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
1 #!/usr/bin/env python3
3137
559a625a236b fixed shebangs
Goffi <goffi@goffi.org>
parents: 3136
diff changeset
2
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
3 # Libervia: an XMPP client
3479
be6d91572633 date update
Goffi <goffi@goffi.org>
parents: 3433
diff changeset
4 # Copyright (C) 2009-2021 Jérôme Poisson (goffi@goffi.org)
914
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
5
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
6 # This program is free software: you can redistribute it and/or modify
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
7 # it under the terms of the GNU Affero General Public License as published by
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
8 # the Free Software Foundation, either version 3 of the License, or
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
9 # (at your option) any later version.
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
10
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
11 # This program is distributed in the hope that it will be useful,
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
14 # GNU Affero General Public License for more details.
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
15
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
16 # You should have received a copy of the GNU Affero General Public License
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
17 # along with this program. If not, see <http://www.gnu.org/licenses/>.
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
18
1112
e51e69b7732d core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents: 1111
diff changeset
19 try:
e51e69b7732d core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents: 1111
diff changeset
20 from xdg import BaseDirectory
1004
191f440d11b4 core (constants): use realpath instead of abspath + do not import it when building libervia
souliane <souliane@mailoo.org>
parents: 1003
diff changeset
21 from os.path import expanduser, realpath
1112
e51e69b7732d core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents: 1111
diff changeset
22 except ImportError:
e51e69b7732d core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents: 1111
diff changeset
23 BaseDirectory = None
4202
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
24 from os.path import dirname, join
4171
da7d360a87be core (constants): user platform temporary dir by default for PID files
Goffi <goffi@goffi.org>
parents: 4166
diff changeset
25 import tempfile
4056
1c4f4aa36d98 plugin XEP-0167: Jingle RTP Sessions implementation:
Goffi <goffi@goffi.org>
parents: 4038
diff changeset
26 from typing import Final
4171
da7d360a87be core (constants): user platform temporary dir by default for PID files
Goffi <goffi@goffi.org>
parents: 4166
diff changeset
27
4071
4b842c1fb686 refactoring: renamed `sat` package to `libervia.backend`
Goffi <goffi@goffi.org>
parents: 4056
diff changeset
28 from libervia import backend
930
cbf4122baae7 core, memory: use XDG recommended paths as the defaults for the config and local directories
souliane <souliane@mailoo.org>
parents: 926
diff changeset
29
4202
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
30 try:
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
31 from getpass import getuser
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
32 except ImportError:
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
33 logged_user = "unkonwn"
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
34 else:
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
35 logged_user = getuser()
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
36
914
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
37
4229
dd9bc7d791d7 core (constants): use `bool_type`:
Goffi <goffi@goffi.org>
parents: 4220
diff changeset
38 bool_type = bool
dd9bc7d791d7 core (constants): use `bool_type`:
Goffi <goffi@goffi.org>
parents: 4220
diff changeset
39
dd9bc7d791d7 core (constants): use `bool_type`:
Goffi <goffi@goffi.org>
parents: 4220
diff changeset
40
914
1a3ba959f0ab core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff changeset
41 class Const(object):
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
42
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
43 ## Application ##
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
44 APP_NAME = "Libervia"
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
45 APP_COMPONENT = "backend"
4038
c484c2609275 core (constants): fix URL, forgotten `SàT` reference + set new codename to "La Ruche"
Goffi <goffi@goffi.org>
parents: 4037
diff changeset
46 APP_NAME_ALT = "Libervia"
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
47 APP_NAME_FILE = "libervia"
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
48 APP_NAME_FULL = f"{APP_NAME} ({APP_COMPONENT})"
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
49 APP_VERSION = backend.__version__
4038
c484c2609275 core (constants): fix URL, forgotten `SàT` reference + set new codename to "La Ruche"
Goffi <goffi@goffi.org>
parents: 4037
diff changeset
50 APP_RELEASE_NAME = "La Ruche"
c484c2609275 core (constants): fix URL, forgotten `SàT` reference + set new codename to "La Ruche"
Goffi <goffi@goffi.org>
parents: 4037
diff changeset
51 APP_URL = "https://libervia.org"
994
652c01ca69b1 core (log): configuration and environment variables are now checked for log level and colors:
Goffi <goffi@goffi.org>
parents: 991
diff changeset
52
2105
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
53 ## Runtime ##
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
54 PLUGIN_EXT = "py"
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
55 HISTORY_SKIP = "skip"
2105
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
56
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
57 ## Main config ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
58 DEFAULT_BRIDGE = "dbus"
2088
c02f96756d5c core: bridge can now be changed in conf
Goffi <goffi@goffi.org>
parents: 2035
diff changeset
59
2105
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
60 ## Protocol ##
1089
8e0072754413 core, plugins, stdui, frontends: fixes handling of "Force server" and "Force port" parameters:
souliane <souliane@mailoo.org>
parents: 1088
diff changeset
61 XMPP_C2S_PORT = 5222
2691
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
62 XMPP_MAX_RETRIES = None
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
63 # default port used on Prosody, may differ on other servers
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
64 XMPP_COMPONENT_PORT = 5347
1089
8e0072754413 core, plugins, stdui, frontends: fixes handling of "Force server" and "Force port" parameters:
souliane <souliane@mailoo.org>
parents: 1088
diff changeset
65
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
66 ## Parameters ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
67 NO_SECURITY_LIMIT = -1 #  FIXME: to rename
2126
2f264f3df280 core (menus): improvments:
Goffi <goffi@goffi.org>
parents: 2123
diff changeset
68 SECURITY_LIMIT_MAX = 0
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
69 INDIVIDUAL = "individual"
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
70 GENERAL = "general"
1222
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
71 # General parameters
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
72 HISTORY_LIMIT = "History"
1227
4da2e4d58bd0 memory (params): add parameters "Show offline contacts" and "Show empty groups"
souliane <souliane@mailoo.org>
parents: 1222
diff changeset
73 SHOW_OFFLINE_CONTACTS = "Offline contacts"
4da2e4d58bd0 memory (params): add parameters "Show offline contacts" and "Show empty groups"
souliane <souliane@mailoo.org>
parents: 1222
diff changeset
74 SHOW_EMPTY_GROUPS = "Empty groups"
1088
b29452cab50b core, memory, plugins, stdui, frontends: look for DNS SRV records when server is not specified:
souliane <souliane@mailoo.org>
parents: 1043
diff changeset
75 # Parameters related to connection
b29452cab50b core, memory, plugins, stdui, frontends: look for DNS SRV records when server is not specified:
souliane <souliane@mailoo.org>
parents: 1043
diff changeset
76 FORCE_SERVER_PARAM = "Force server"
b29452cab50b core, memory, plugins, stdui, frontends: look for DNS SRV records when server is not specified:
souliane <souliane@mailoo.org>
parents: 1043
diff changeset
77 FORCE_PORT_PARAM = "Force port"
1030
15f43b54d697 core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents: 1020
diff changeset
78 # Parameters related to encryption
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
79 PROFILE_PASS_PATH = ("General", "Password")
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
80 MEMORY_CRYPTO_NAMESPACE = "crypto" # for the private persistent binary dict
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
81 MEMORY_CRYPTO_KEY = "personal_key"
1020
adbde4a3a52f plugin misc_static_blog: renamed from tmp_blog_banner, now also with page's title, meta keywords and description
souliane <souliane@mailoo.org>
parents: 1017
diff changeset
82 # Parameters for static blog pages
2126
2f264f3df280 core (menus): improvments:
Goffi <goffi@goffi.org>
parents: 2123
diff changeset
83 # FIXME: blog constants should not be in core constants
1020
adbde4a3a52f plugin misc_static_blog: renamed from tmp_blog_banner, now also with page's title, meta keywords and description
souliane <souliane@mailoo.org>
parents: 1017
diff changeset
84 STATIC_BLOG_KEY = "Blog page"
adbde4a3a52f plugin misc_static_blog: renamed from tmp_blog_banner, now also with page's title, meta keywords and description
souliane <souliane@mailoo.org>
parents: 1017
diff changeset
85 STATIC_BLOG_PARAM_TITLE = "Title"
adbde4a3a52f plugin misc_static_blog: renamed from tmp_blog_banner, now also with page's title, meta keywords and description
souliane <souliane@mailoo.org>
parents: 1017
diff changeset
86 STATIC_BLOG_PARAM_BANNER = "Banner"
adbde4a3a52f plugin misc_static_blog: renamed from tmp_blog_banner, now also with page's title, meta keywords and description
souliane <souliane@mailoo.org>
parents: 1017
diff changeset
87 STATIC_BLOG_PARAM_KEYWORDS = "Keywords"
adbde4a3a52f plugin misc_static_blog: renamed from tmp_blog_banner, now also with page's title, meta keywords and description
souliane <souliane@mailoo.org>
parents: 1017
diff changeset
88 STATIC_BLOG_PARAM_DESCRIPTION = "Description"
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
89
1092
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
90 ## Menus ##
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
91 MENU_GLOBAL = "GLOBAL"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
92 MENU_ROOM = "ROOM"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
93 MENU_SINGLE = "SINGLE"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
94 MENU_JID_CONTEXT = "JID_CONTEXT"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
95 MENU_ROSTER_JID_CONTEXT = "ROSTER_JID_CONTEXT"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
96 MENU_ROSTER_GROUP_CONTEXT = "MENU_ROSTER_GROUP_CONTEXT"
1357
f296a54af386 core (constants): add menu type MENU_ROOM_OCCUPANT_CONTEXT
souliane <souliane@mailoo.org>
parents: 1298
diff changeset
97 MENU_ROOM_OCCUPANT_CONTEXT = "MENU_ROOM_OCCUPANT_CONTEXT"
1092
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
98
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
99 ## Profile and entities ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
100 PROF_KEY_NONE = "@NONE@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
101 PROF_KEY_DEFAULT = "@DEFAULT@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
102 PROF_KEY_ALL = "@ALL@"
4184
50c919dfe61b plugin XEP-0050: small code quality improvements + add `C.ENTITY_ADMINS` magic key to allow administrators profiles
Goffi <goffi@goffi.org>
parents: 4171
diff changeset
103 #: anybody
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
104 ENTITY_ALL = "@ALL@"
4184
50c919dfe61b plugin XEP-0050: small code quality improvements + add `C.ENTITY_ADMINS` magic key to allow administrators profiles
Goffi <goffi@goffi.org>
parents: 4171
diff changeset
105 #: Bare jids of administrators
50c919dfe61b plugin XEP-0050: small code quality improvements + add `C.ENTITY_ADMINS` magic key to allow administrators profiles
Goffi <goffi@goffi.org>
parents: 4171
diff changeset
106 ENTITY_ADMINS = "@ADMIN@"
50c919dfe61b plugin XEP-0050: small code quality improvements + add `C.ENTITY_ADMINS` magic key to allow administrators profiles
Goffi <goffi@goffi.org>
parents: 4171
diff changeset
107 #: bare jid of client's profile
50c919dfe61b plugin XEP-0050: small code quality improvements + add `C.ENTITY_ADMINS` magic key to allow administrators profiles
Goffi <goffi@goffi.org>
parents: 4171
diff changeset
108 ENTITY_PROFILE_BARE = "@PROFILE_BAREJID@"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
109 ENTITY_ALL_RESOURCES = "@ALL_RESOURCES@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
110 ENTITY_MAIN_RESOURCE = "@MAIN_RESOURCE@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
111 ENTITY_CAP_HASH = "CAP_HASH"
2994
94708a7d3ecf core, plugin XEP-0045: fixed message type autodetection + ENTITY_TYPE_MUC constant:
Goffi <goffi@goffi.org>
parents: 2975
diff changeset
112 ENTITY_TYPE = "type"
94708a7d3ecf core, plugin XEP-0045: fixed message type autodetection + ENTITY_TYPE_MUC constant:
Goffi <goffi@goffi.org>
parents: 2975
diff changeset
113 ENTITY_TYPE_MUC = "MUC"
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
114
1450
7797dda847ae plugins xep-0277, groupblog: added subscriteToMany to replace massiveSubscribeGroupBlogs + added SatRosterProtocol.getJidsSet
Goffi <goffi@goffi.org>
parents: 1448
diff changeset
115 ## Roster jids selection ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
116 PUBLIC = "PUBLIC"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
117 ALL = (
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
118 "ALL" # ALL means all known contacts, while PUBLIC means everybody, known or not
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
119 )
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
120 GROUP = "GROUP"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
121 JID = "JID"
994
652c01ca69b1 core (log): configuration and environment variables are now checked for log level and colors:
Goffi <goffi@goffi.org>
parents: 991
diff changeset
122
1171
0abce7f17782 core: a new "info" type is used in newMessage for system messages (not comming from outside)
Goffi <goffi@goffi.org>
parents: 1143
diff changeset
123 ## Messages ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
124 MESS_TYPE_INFO = "info"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
125 MESS_TYPE_CHAT = "chat"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
126 MESS_TYPE_ERROR = "error"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
127 MESS_TYPE_GROUPCHAT = "groupchat"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
128 MESS_TYPE_HEADLINE = "headline"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
129 MESS_TYPE_NORMAL = "normal"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
130 MESS_TYPE_AUTO = "auto" # magic value to let the backend guess the type
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
131 MESS_TYPE_STANDARD = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
132 MESS_TYPE_CHAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
133 MESS_TYPE_ERROR,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
134 MESS_TYPE_GROUPCHAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
135 MESS_TYPE_HEADLINE,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
136 MESS_TYPE_NORMAL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
137 )
1963
a2bc5089c2eb backend, frontends: message refactoring (huge commit):
Goffi <goffi@goffi.org>
parents: 1959
diff changeset
138 MESS_TYPE_ALL = MESS_TYPE_STANDARD + (MESS_TYPE_INFO, MESS_TYPE_AUTO)
a2bc5089c2eb backend, frontends: message refactoring (huge commit):
Goffi <goffi@goffi.org>
parents: 1959
diff changeset
139
4148
a8a0fa678ce2 bridge: add `message_update` signal
Goffi <goffi@goffi.org>
parents: 4132
diff changeset
140 # Update
a8a0fa678ce2 bridge: add `message_update` signal
Goffi <goffi@goffi.org>
parents: 4132
diff changeset
141
a8a0fa678ce2 bridge: add `message_update` signal
Goffi <goffi@goffi.org>
parents: 4132
diff changeset
142 MESS_UPDATE_EDIT = "EDIT"
a8a0fa678ce2 bridge: add `message_update` signal
Goffi <goffi@goffi.org>
parents: 4132
diff changeset
143 MESS_UPDATE_REACTION = "REACTION"
4166
a1f7040b5a15 plugin XEP-0424: message retraction update:
Goffi <goffi@goffi.org>
parents: 4163
diff changeset
144 MESS_UPDATE_RETRACT = "RETRACT"
4148
a8a0fa678ce2 bridge: add `message_update` signal
Goffi <goffi@goffi.org>
parents: 4132
diff changeset
145
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
146 MESS_EXTRA_INFO = "info_type"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
147 EXTRA_INFO_DECR_ERR = "DECRYPTION_ERROR"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
148 EXTRA_INFO_ENCR_ERR = "ENCRYPTION_ERROR"
4163
3b3cd9453d9b plugin XEP-0308: implement Last Message Correction
Goffi <goffi@goffi.org>
parents: 4148
diff changeset
149 MESS_EXTRA_EDITIONS = "editions"
1263
cfd636203e8f core: misc improvments:
Goffi <goffi@goffi.org>
parents: 1228
diff changeset
150
2752
1fa615faec8b core (constants): added a constant for "encrypted"
Goffi <goffi@goffi.org>
parents: 2694
diff changeset
151 # encryption is a key for plugins
3911
8289ac1b34f4 plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo:
Syndace <me@syndace.dev>
parents: 3794
diff changeset
152 MESS_KEY_ENCRYPTION: Final = "ENCRYPTION"
2752
1fa615faec8b core (constants): added a constant for "encrypted"
Goffi <goffi@goffi.org>
parents: 2694
diff changeset
153 # encrypted is a key for frontends
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
154 MESS_KEY_ENCRYPTED = "encrypted"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
155 MESS_KEY_TRUSTED = "trusted"
2646
712cb4ff3e13 core: new EncryptionHandler class which manage encrypted session as a core feature:
Goffi <goffi@goffi.org>
parents: 2628
diff changeset
156
3090
4f8bdf50593f plugin sec aesgcm: new plugin handling `aesgcm:` scheme for e2e encrypted media sharing:
Goffi <goffi@goffi.org>
parents: 3066
diff changeset
157 # File encryption algorithms
4f8bdf50593f plugin sec aesgcm: new plugin handling `aesgcm:` scheme for e2e encrypted media sharing:
Goffi <goffi@goffi.org>
parents: 3066
diff changeset
158 ENC_AES_GCM = "AES-GCM"
4f8bdf50593f plugin sec aesgcm: new plugin handling `aesgcm:` scheme for e2e encrypted media sharing:
Goffi <goffi@goffi.org>
parents: 3066
diff changeset
159
2460
feaacc462fef core: moved CHAT_* constants from frontends to core constants + uses constants for MESS_TYPE_* in sendMessage
Goffi <goffi@goffi.org>
parents: 2414
diff changeset
160 ## Chat ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
161 CHAT_ONE2ONE = "one2one"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
162 CHAT_GROUP = "group"
2460
feaacc462fef core: moved CHAT_* constants from frontends to core constants + uses constants for MESS_TYPE_* in sendMessage
Goffi <goffi@goffi.org>
parents: 2414
diff changeset
163
1776
4fc1bf1af48f plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
164 ## Presence ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
165 PRESENCE_UNAVAILABLE = "unavailable"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
166 PRESENCE_SHOW_AWAY = "away"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
167 PRESENCE_SHOW_CHAT = "chat"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
168 PRESENCE_SHOW_DND = "dnd"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
169 PRESENCE_SHOW_XA = "xa"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
170 PRESENCE_SHOW = "show"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
171 PRESENCE_STATUSES = "statuses"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
172 PRESENCE_STATUSES_DEFAULT = "default"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
173 PRESENCE_PRIORITY = "priority"
1171
0abce7f17782 core: a new "info" type is used in newMessage for system messages (not comming from outside)
Goffi <goffi@goffi.org>
parents: 1143
diff changeset
174
1776
4fc1bf1af48f plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
175 ## Common namespaces ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
176 NS_XML = "http://www.w3.org/XML/1998/namespace"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
177 NS_CLIENT = "jabber:client"
4011
74d4c9ff893d plugin XEP-0277: when publisher is not found, check ancestor in both client and component namespaces
Goffi <goffi@goffi.org>
parents: 3934
diff changeset
178 NS_COMPONENT = "jabber:component:accept"
74d4c9ff893d plugin XEP-0277: when publisher is not found, check ancestor in both client and component namespaces
Goffi <goffi@goffi.org>
parents: 3934
diff changeset
179 NS_STREAM = (NS_CLIENT, NS_COMPONENT)
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
180 NS_FORWARD = "urn:xmpp:forward:0"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
181 NS_DELAY = "urn:xmpp:delay"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
182 NS_XHTML = "http://www.w3.org/1999/xhtml"
1776
4fc1bf1af48f plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
183
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
184 ## Common XPath ##
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
185
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
186 IQ_GET = '/iq[@type="get"]'
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
187 IQ_SET = '/iq[@type="set"]'
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
188
2109
85f3e12e984d core (memory/cache): file caching handling, first draft:
Goffi <goffi@goffi.org>
parents: 2105
diff changeset
189 ## Directories ##
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
190
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
191 # directory for components specific data
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
192 COMPONENTS_DIR = "components"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
193 CACHE_DIR = "cache"
4266
9fc3d28bc3f6 core (main): add a mechanism to have a shared temp directory:
Goffi <goffi@goffi.org>
parents: 4245
diff changeset
194 # Directory to share files between backend and frontends.
9fc3d28bc3f6 core (main): add a mechanism to have a shared temp directory:
Goffi <goffi@goffi.org>
parents: 4245
diff changeset
195 # It will be a sub-dir of <local_dir>/<cache_dir>
9fc3d28bc3f6 core (main): add a mechanism to have a shared temp directory:
Goffi <goffi@goffi.org>
parents: 4245
diff changeset
196 LOCAL_SHARED_DIR = "_SHARED_TMP"
9fc3d28bc3f6 core (main): add a mechanism to have a shared temp directory:
Goffi <goffi@goffi.org>
parents: 4245
diff changeset
197
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
198 # files in file dir are stored for long term
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
199 # files dir is global, i.e. for all profiles
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
200 FILES_DIR = "files"
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
201 # FILES_LINKS_DIR is a directory where files owned by a specific profile
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
202 # are linked to the global files directory. This way the directory can be
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
203 #  shared per profiles while keeping global directory where identical files
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
204 # shared between different profiles are not duplicated.
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
205 FILES_LINKS_DIR = "files_links"
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
206 # FILES_TMP_DIR is where profile's partially transfered files are put.
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
207 # Once transfer is completed, they are moved to FILES_DIR
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
208 FILES_TMP_DIR = "files_tmp"
994
652c01ca69b1 core (log): configuration and environment variables are now checked for log level and colors:
Goffi <goffi@goffi.org>
parents: 991
diff changeset
209
2169
f472179305a1 tools(templates): workflow improvments:
Goffi <goffi@goffi.org>
parents: 2154
diff changeset
210 ## Templates ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
211 TEMPLATE_TPL_DIR = "templates"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
212 TEMPLATE_THEME_DEFAULT = "default"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
213 TEMPLATE_STATIC_DIR = "static"
3269
1352564e0202 core (constants): added `theme` key
Goffi <goffi@goffi.org>
parents: 3254
diff changeset
214 # templates i18n
1352564e0202 core (constants): added `theme` key
Goffi <goffi@goffi.org>
parents: 3254
diff changeset
215 KEY_LANG = "lang"
1352564e0202 core (constants): added `theme` key
Goffi <goffi@goffi.org>
parents: 3254
diff changeset
216 KEY_THEME = "theme"
926
d609581bf74a plugin text commands: refactoring, text now only contain main commands, and other plugin can add commands themselve:
Goffi <goffi@goffi.org>
parents: 923
diff changeset
217
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
218 ## Plugins ##
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
219
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
220 # PLUGIN_INFO keys
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
221 # XXX: we use PI instead of PLUG_INFO which would normally be used
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
222 # to make the header more readable
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
223 PI_NAME = "name"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
224 PI_IMPORT_NAME = "import_name"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
225 PI_MAIN = "main"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
226 PI_HANDLER = "handler"
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
227 PI_TYPE = "type" #  FIXME: should be types, and should handle single unicode type or tuple of types (e.g. "blog" and "import")
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
228 PI_MODES = "modes"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
229 PI_PROTOCOLS = "protocols"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
230 PI_DEPENDENCIES = "dependencies"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
231 PI_RECOMMENDATIONS = "recommendations"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
232 PI_DESCRIPTION = "description"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
233 PI_USAGE = "usage"
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
234
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
235 # Types
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
236 PLUG_TYPE_XEP = "XEP"
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
237 PLUG_TYPE_MISC = "MISC"
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
238 PLUG_TYPE_EXP = "EXP"
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
239 PLUG_TYPE_SEC = "SEC"
1806
fd788d24277a plugin syntax dc_wiki: first draft:
Goffi <goffi@goffi.org>
parents: 1776
diff changeset
240 PLUG_TYPE_SYNTAXE = "SYNTAXE"
3597
5d108ce026d7 plugin pubsub cache: Pubsub Caching implementation
Goffi <goffi@goffi.org>
parents: 3587
diff changeset
241 PLUG_TYPE_PUBSUB = "PUBSUB"
1825
4e51f21c687f plugin blog import: this plugin is the base handling blog importers:
Goffi <goffi@goffi.org>
parents: 1822
diff changeset
242 PLUG_TYPE_BLOG = "BLOG"
2369
cdaa58e14553 plugin import: generic data import plugin:
Goffi <goffi@goffi.org>
parents: 2305
diff changeset
243 PLUG_TYPE_IMPORT = "IMPORT"
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
244 PLUG_TYPE_ENTRY_POINT = "ENTRY_POINT"
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
245
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
246 # Modes
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
247 PLUG_MODE_CLIENT = "client"
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
248 PLUG_MODE_COMPONENT = "component"
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
249 PLUG_MODE_DEFAULT = (PLUG_MODE_CLIENT,)
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
250 PLUG_MODE_BOTH = (PLUG_MODE_CLIENT, PLUG_MODE_COMPONENT)
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
251
926
d609581bf74a plugin text commands: refactoring, text now only contain main commands, and other plugin can add commands themselve:
Goffi <goffi@goffi.org>
parents: 923
diff changeset
252 # names of widely used plugins
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
253 TEXT_CMDS = "TEXT-COMMANDS"
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
254
1459
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
255 # PubSub event categories
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
256 PS_PEP = "PEP"
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
257 PS_MICROBLOG = "MICROBLOG"
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
258
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
259 # PubSub
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
260 PS_PUBLISH = "publish"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
261 PS_RETRACT = "retract" # used for items
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
262 PS_DELETE = "delete" # used for nodes
3587
2715da5b2aa7 plugin XEP-0060: handle purge notifications
Goffi <goffi@goffi.org>
parents: 3490
diff changeset
263 PS_PURGE = "purge" # used for nodes
1459
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
264 PS_ITEM = "item"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
265 PS_ITEMS = "items" # Can contain publish and retract items
3587
2715da5b2aa7 plugin XEP-0060: handle purge notifications
Goffi <goffi@goffi.org>
parents: 3490
diff changeset
266 PS_EVENTS = (PS_ITEMS, PS_DELETE, PS_PURGE)
1459
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
267
2956
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
268 ## MESSAGE/NOTIFICATION LEVELS ##
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
269
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
270 LVL_INFO = "info"
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
271 LVL_WARNING = "warning"
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
272 LVL_ERROR = "error"
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
273
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
274 ## XMLUI ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
275 XMLUI_WINDOW = "window"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
276 XMLUI_POPUP = "popup"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
277 XMLUI_FORM = "form"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
278 XMLUI_PARAM = "param"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
279 XMLUI_DIALOG = "dialog"
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
280 XMLUI_DIALOG_CONFIRM = "confirm"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
281 XMLUI_DIALOG_MESSAGE = "message"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
282 XMLUI_DIALOG_NOTE = "note"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
283 XMLUI_DIALOG_FILE = "file"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
284 XMLUI_DATA_ANSWER = "answer"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
285 XMLUI_DATA_CANCELLED = "cancelled"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
286 XMLUI_DATA_TYPE = "type"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
287 XMLUI_DATA_MESS = "message"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
288 XMLUI_DATA_LVL = "level"
2956
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
289 XMLUI_DATA_LVL_INFO = LVL_INFO
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
290 XMLUI_DATA_LVL_WARNING = LVL_WARNING
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
291 XMLUI_DATA_LVL_ERROR = LVL_ERROR
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
292 XMLUI_DATA_LVL_DEFAULT = XMLUI_DATA_LVL_INFO
2035
5c6db4329288 core (constants): added XMLUI_DATA_LVLS constants which group all available levels
Goffi <goffi@goffi.org>
parents: 2004
diff changeset
293 XMLUI_DATA_LVLS = (XMLUI_DATA_LVL_INFO, XMLUI_DATA_LVL_WARNING, XMLUI_DATA_LVL_ERROR)
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
294 XMLUI_DATA_BTNS_SET = "buttons_set"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
295 XMLUI_DATA_BTNS_SET_OKCANCEL = "ok/cancel"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
296 XMLUI_DATA_BTNS_SET_YESNO = "yes/no"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
297 XMLUI_DATA_BTNS_SET_DEFAULT = XMLUI_DATA_BTNS_SET_OKCANCEL
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
298 XMLUI_DATA_FILETYPE = "filetype"
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
299 XMLUI_DATA_FILETYPE_FILE = "file"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
300 XMLUI_DATA_FILETYPE_DIR = "dir"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
301 XMLUI_DATA_FILETYPE_DEFAULT = XMLUI_DATA_FILETYPE_FILE
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
302
991
05e02f8b7eb4 core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents: 990
diff changeset
303 ## Logging ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
304 LOG_LVL_DEBUG = "DEBUG"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
305 LOG_LVL_INFO = "INFO"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
306 LOG_LVL_WARNING = "WARNING"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
307 LOG_LVL_ERROR = "ERROR"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
308 LOG_LVL_CRITICAL = "CRITICAL"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
309 LOG_LEVELS = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
310 LOG_LVL_DEBUG,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
311 LOG_LVL_INFO,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
312 LOG_LVL_WARNING,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
313 LOG_LVL_ERROR,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
314 LOG_LVL_CRITICAL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
315 )
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
316 LOG_BACKEND_STANDARD = "standard"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
317 LOG_BACKEND_TWISTED = "twisted"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
318 LOG_BACKEND_BASIC = "basic"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
319 LOG_BACKEND_CUSTOM = "custom"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
320 LOG_BASE_LOGGER = "root"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
321 LOG_TWISTED_LOGGER = "twisted"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
322 LOG_OPT_SECTION = "DEFAULT" # section of sat.conf where log options should be
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
323 LOG_OPT_PREFIX = "log_"
994
652c01ca69b1 core (log): configuration and environment variables are now checked for log level and colors:
Goffi <goffi@goffi.org>
parents: 991
diff changeset
324 # (option_name, default_value) tuples
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
325 LOG_OPT_COLORS = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
326 "colors",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
327 "true",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
328 ) # true for auto colors, force to have colors even if stdout is not a tty, false for no color
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
329 LOG_OPT_TAINTS_DICT = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
330 "levels_taints_dict",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
331 {
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
332 LOG_LVL_DEBUG: ("cyan",),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
333 LOG_LVL_INFO: (),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
334 LOG_LVL_WARNING: ("yellow",),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
335 LOG_LVL_ERROR: ("red", "blink", r"/!\ ", "blink_off"),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
336 LOG_LVL_CRITICAL: ("bold", "red", "Guru Meditation ", "normal_weight"),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
337 },
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
338 )
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
339 LOG_OPT_LEVEL = ("level", "info")
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
340 LOG_OPT_FORMAT = ("fmt", "%(message)s") # similar to logging format.
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
341 LOG_OPT_LOGGER = ("logger", "") # regex to filter logger name
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
342 LOG_OPT_OUTPUT_SEP = "//"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
343 LOG_OPT_OUTPUT_DEFAULT = "default"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
344 LOG_OPT_OUTPUT_MEMORY = "memory"
2975
d86ecc34516e logs: increased defaut limit for memory output to 300
Goffi <goffi@goffi.org>
parents: 2974
diff changeset
345 LOG_OPT_OUTPUT_MEMORY_LIMIT = 300
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
346 LOG_OPT_OUTPUT_FILE = "file" # file is implicit if only output
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
347 LOG_OPT_OUTPUT = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
348 "output",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
349 LOG_OPT_OUTPUT_SEP + LOG_OPT_OUTPUT_DEFAULT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
350 ) # //default = normal output (stderr or a file with twistd), path/to/file for a file (must be the first if used), //memory for memory (options can be put in parenthesis, e.g.: //memory(500) for a 500 lines memory)
991
05e02f8b7eb4 core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents: 990
diff changeset
351
1599
e2ed8009e66e backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents: 1520
diff changeset
352 ## action constants ##
4220
5a0bddfa34ac plugin XEP-0234: fix action type when pre-flight file confirmation is confirmed:
Goffi <goffi@goffi.org>
parents: 4202
diff changeset
353 #: simple confirmation dialog
5a0bddfa34ac plugin XEP-0234: fix action type when pre-flight file confirmation is confirmed:
Goffi <goffi@goffi.org>
parents: 4202
diff changeset
354 META_TYPE_CONFIRM = "confirm"
1599
e2ed8009e66e backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents: 1520
diff changeset
355 META_TYPE_FILE = "file"
4056
1c4f4aa36d98 plugin XEP-0167: Jingle RTP Sessions implementation:
Goffi <goffi@goffi.org>
parents: 4038
diff changeset
356 META_TYPE_CALL = "call"
4245
a7d4007a8fa5 plugin XEP-0272: implement XEP-0272: Multiparty Jingle (Muji)
Goffi <goffi@goffi.org>
parents: 4241
diff changeset
357 META_TYPE_GROUP_CALL = "group-call"
4241
898db6daf0d0 core: Jingle Remote Control implementation:
Goffi <goffi@goffi.org>
parents: 4229
diff changeset
358 META_TYPE_REMOTE_CONTROL = "remote-control"
4245
a7d4007a8fa5 plugin XEP-0272: implement XEP-0272: Multiparty Jingle (Muji)
Goffi <goffi@goffi.org>
parents: 4241
diff changeset
359 META_TYPE_MUC_INVIRATION = "muc-invitation"
1599
e2ed8009e66e backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents: 1520
diff changeset
360 META_TYPE_OVERWRITE = "overwrite"
3405
ecdb3728749e plugin XEP-0353: Jingle Message Initiation implementation:
Goffi <goffi@goffi.org>
parents: 3379
diff changeset
361 META_TYPE_NOT_IN_ROSTER_LEAK = "not_in_roster_leak"
4056
1c4f4aa36d98 plugin XEP-0167: Jingle RTP Sessions implementation:
Goffi <goffi@goffi.org>
parents: 4038
diff changeset
362 META_SUBTYPE_CALL_AUDIO = "audio"
1c4f4aa36d98 plugin XEP-0167: Jingle RTP Sessions implementation:
Goffi <goffi@goffi.org>
parents: 4038
diff changeset
363 META_SUBTYPE_CALL_VIDEO = "video"
4241
898db6daf0d0 core: Jingle Remote Control implementation:
Goffi <goffi@goffi.org>
parents: 4229
diff changeset
364 META_SUBTYPE_CALL_REMOTE_CONTROL = "remote-control"
1599
e2ed8009e66e backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents: 1520
diff changeset
365
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
366 ## HARD-CODED ACTIONS IDS (generated with uuid.uuid4) ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
367 AUTHENTICATE_PROFILE_ID = "b03bbfa8-a4ae-4734-a248-06ce6c7cf562"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
368 CHANGE_XMPP_PASSWD_ID = "878b9387-de2b-413b-950f-e424a147bcd0"
1032
b262ae6d53af stdui: add ui_profile_manager to interact with frontends when profile authentication is needed
souliane <souliane@mailoo.org>
parents: 1030
diff changeset
369
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
370 ## Text values ##
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
371 BOOL_TRUE = "true"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
372 BOOL_FALSE = "false"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
373
1222
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
374 ## Special values used in bridge methods calls ##
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
375 HISTORY_LIMIT_DEFAULT = -1
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
376 HISTORY_LIMIT_NONE = -2
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
377
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
378 ## Progress error special values ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
379 PROGRESS_ERROR_DECLINED = "declined" #  session has been declined by peer user
3040
fee60f17ebac jp: jp asyncio port:
Goffi <goffi@goffi.org>
parents: 3028
diff changeset
380 PROGRESS_ERROR_FAILED = "failed" #  something went wrong with the session
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
381
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
382 ## Files ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
383 FILE_TYPE_DIRECTORY = "directory"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
384 FILE_TYPE_FILE = "file"
3187
d92a144f3589 plugin download: use cache if dest_path is empty:
Goffi <goffi@goffi.org>
parents: 3173
diff changeset
385 # when filename can't be found automatically, this one will be used
d92a144f3589 plugin download: use cache if dest_path is empty:
Goffi <goffi@goffi.org>
parents: 3173
diff changeset
386 FILE_DEFAULT_NAME = "unnamed"
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
387
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
388 ## Permissions management ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
389 ACCESS_PERM_READ = "read"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
390 ACCESS_PERM_WRITE = "write"
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
391 ACCESS_PERMS = {ACCESS_PERM_READ, ACCESS_PERM_WRITE}
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
392 ACCESS_TYPE_PUBLIC = "public"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
393 ACCESS_TYPE_WHITELIST = "whitelist"
2494
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
394 ACCESS_TYPES = (ACCESS_TYPE_PUBLIC, ACCESS_TYPE_WHITELIST)
d1df08c79a5d core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents: 2483
diff changeset
395
2513
2d3c9dcec384 plugin XEP-0264: thumbnails handling implementation
Goffi <goffi@goffi.org>
parents: 2494
diff changeset
396 ## Common data keys ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
397 KEY_THUMBNAILS = "thumbnails"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
398 KEY_PROGRESS_ID = "progress_id"
4023
78b5f356900c component AP gateway: handle attachments
Goffi <goffi@goffi.org>
parents: 4011
diff changeset
399 KEY_ATTACHMENTS = "attachments"
78b5f356900c component AP gateway: handle attachments
Goffi <goffi@goffi.org>
parents: 4011
diff changeset
400 KEY_ATTACHMENTS_MEDIA_TYPE = "media_type"
78b5f356900c component AP gateway: handle attachments
Goffi <goffi@goffi.org>
parents: 4011
diff changeset
401 KEY_ATTACHMENTS_PREVIEW = "preview"
78b5f356900c component AP gateway: handle attachments
Goffi <goffi@goffi.org>
parents: 4011
diff changeset
402 KEY_ATTACHMENTS_RESIZE = "resize"
78b5f356900c component AP gateway: handle attachments
Goffi <goffi@goffi.org>
parents: 4011
diff changeset
403
2760
3480d4fdf83a plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents: 2752
diff changeset
404 ## Common extra keys/values ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
405 KEY_ORDER_BY = "order_by"
3597
5d108ce026d7 plugin pubsub cache: Pubsub Caching implementation
Goffi <goffi@goffi.org>
parents: 3587
diff changeset
406 KEY_USE_CACHE = "use_cache"
3934
e345d93fb6e5 plugin OXPS: OpenPGP for XMPP Pubsub implementation:
Goffi <goffi@goffi.org>
parents: 3911
diff changeset
407 KEY_DECRYPT = "decrypt"
2760
3480d4fdf83a plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents: 2752
diff changeset
408
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
409 ORDER_BY_CREATION = "creation"
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
410 ORDER_BY_MODIFICATION = "modification"
2760
3480d4fdf83a plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents: 2752
diff changeset
411
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
412 # internationalisation
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
413 DEFAULT_LOCALE = "en_GB"
2599
5b26033c49a8 tools (common): moved date_fmt function from template filters to new date_utils module, so it can be used everywhere.
Goffi <goffi@goffi.org>
parents: 2591
diff changeset
414
3406
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
415 ## Command Line ##
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
416
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
417 # Exit codes used by CLI applications
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
418 EXIT_OK = 0
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
419 EXIT_ERROR = 1 # generic error, when nothing else match
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
420 EXIT_BAD_ARG = 2 # arguments given by user are bad
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
421 EXIT_BRIDGE_ERROR = 3 # can't connect to bridge
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
422 EXIT_BRIDGE_ERRBACK = 4 # something went wrong when calling a bridge method
3490
509f7a1c67dc frontends: use new EXIT_BACKEND_NOT_FOUND exit code:
Goffi <goffi@goffi.org>
parents: 3480
diff changeset
423 EXIT_BACKEND_NOT_FOUND = 5 # can't find backend with this bride
3406
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
424 EXIT_NOT_FOUND = 16 # an item required by a command was not found
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
425 EXIT_DATA_ERROR = 17 # data needed for a command is invalid
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
426 EXIT_MISSING_FEATURE = 18 # a needed plugin or feature is not available
3433
63d20854df3a core (constants): added EXIT_CONFLICT
Goffi <goffi@goffi.org>
parents: 3406
diff changeset
427 EXIT_CONFLICT = 19 # an item already exists
3406
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
428 EXIT_USER_CANCELLED = 20 # user cancelled action
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
429 EXIT_INTERNAL_ERROR = 111 # unexpected error
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
430 EXIT_FILE_NOT_EXE = 126 # a file to be executed was found, but it was not an executable utility (cf. man 1 exit)
3406
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
431 EXIT_CMD_NOT_FOUND = 127 # a utility to be executed was not found (cf. man 1 exit)
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
432 EXIT_CMD_ERROR = 127 # a utility to be executed returned an error exit code
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
433 EXIT_SIGNAL_INT = 128 # a command was interrupted by a signal (cf. man 1 exit)
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
434
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
435 ## Misc ##
1003
52ec79aa5bbe memory: fixes the method fixLocalDir for pid_dir and log_dir to use local_dir as default
souliane <souliane@mailoo.org>
parents: 1001
diff changeset
436 SAVEFILE_DATABASE = APP_NAME_FILE + ".db"
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
437 IQ_SET = '/iq[@type="set"]'
3188
a15773c6c273 memory(cache): extend EOL when a file metadata is retrieved
Goffi <goffi@goffi.org>
parents: 3187
diff changeset
438 ENV_PREFIX = "SAT_" # Prefix used for environment variables
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
439 IGNORE = "ignore"
3188
a15773c6c273 memory(cache): extend EOL when a file metadata is retrieved
Goffi <goffi@goffi.org>
parents: 3187
diff changeset
440 NO_LIMIT = -1 # used in bridge when a integer value is expected
a15773c6c273 memory(cache): extend EOL when a file metadata is retrieved
Goffi <goffi@goffi.org>
parents: 3187
diff changeset
441 DEFAULT_MAX_AGE = 1209600 # default max age of cached files, in seconds
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
442 STANZA_NAMES = ("iq", "message", "presence")
2691
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
443
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
444 # Stream Hooks
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
445 STREAM_HOOK_SEND = "send"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
446 STREAM_HOOK_RECEIVE = "receive"
994
652c01ca69b1 core (log): configuration and environment variables are now checked for log level and colors:
Goffi <goffi@goffi.org>
parents: 991
diff changeset
447
1010
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
448 @classmethod
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
449 def LOG_OPTIONS(cls):
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
450 """Return options checked for logs"""
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
451 # XXX: we use a classmethod so we can use Const inheritance to change default options
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
452 return (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
453 cls.LOG_OPT_COLORS,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
454 cls.LOG_OPT_TAINTS_DICT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
455 cls.LOG_OPT_LEVEL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
456 cls.LOG_OPT_FORMAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
457 cls.LOG_OPT_LOGGER,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
458 cls.LOG_OPT_OUTPUT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
459 )
1010
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
460
1143
3164b509bc99 core (constants): Bool method allow to convert from python bool to string constant for true/false (in both directions)
Goffi <goffi@goffi.org>
parents: 1113
diff changeset
461 @classmethod
4229
dd9bc7d791d7 core (constants): use `bool_type`:
Goffi <goffi@goffi.org>
parents: 4220
diff changeset
462 def bool(cls, value: str) -> bool_type:
1298
e2f71b715708 core: better use of C.bool: C.bool only accept basestring subclasses and return the associated constant, C.boolConst return the associated constant for a boolean value
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
463 """@return (bool): bool value for associated constant"""
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
464 assert isinstance(value, str)
4132
8e5333f1b430 core (constants): accept `y` and `t` as `True` values.
Goffi <goffi@goffi.org>
parents: 4079
diff changeset
465 return value.lower() in (cls.BOOL_TRUE, "1", "yes", "on", "y", "t")
1228
2e1b4e7c8eb8 constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents: 1227
diff changeset
466
2e1b4e7c8eb8 constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents: 1227
diff changeset
467 @classmethod
4229
dd9bc7d791d7 core (constants): use `bool_type`:
Goffi <goffi@goffi.org>
parents: 4220
diff changeset
468 def bool_const(cls, value: bool_type) -> str:
1298
e2f71b715708 core: better use of C.bool: C.bool only accept basestring subclasses and return the associated constant, C.boolConst return the associated constant for a boolean value
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
469 """@return (str): constant associated to bool value"""
e2f71b715708 core: better use of C.bool: C.bool only accept basestring subclasses and return the associated constant, C.boolConst return the associated constant for a boolean value
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
470 assert isinstance(value, bool)
e2f71b715708 core: better use of C.bool: C.bool only accept basestring subclasses and return the associated constant, C.boolConst return the associated constant for a boolean value
Goffi <goffi@goffi.org>
parents: 1290
diff changeset
471 return cls.BOOL_TRUE if value else cls.BOOL_FALSE
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
472
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
473
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
474 ## Configuration ##
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
475 if (
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
476 BaseDirectory
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
477 ): # skipped when xdg module is not available (should not happen in backend)
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
478 if "org.libervia.cagou" in BaseDirectory.__file__:
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
479 # FIXME: hack to make config read from the right location on Android
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
480 # TODO: fix it in a more proper way
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
481
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
482 # we need to use Android API to get downloads directory
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
483 import os.path
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
484 from jnius import autoclass
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
485
3127
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
486 # we don't want the very verbose jnius log when we are in DEBUG level
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
487 import logging
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
488
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
489 logging.getLogger("jnius").setLevel(logging.WARNING)
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
490 logging.getLogger("jnius.reflect").setLevel(logging.WARNING)
3127
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
491
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
492 Environment = autoclass("android.os.Environment")
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
493
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
494 BaseDirectory = None
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
495 Const.DEFAULT_CONFIG = {
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
496 "local_dir": "/data/data/org.libervia.cagou/app",
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
497 "media_dir": "/data/data/org.libervia.cagou/files/app/media",
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
498 # FIXME: temporary location for downloads, need to call API properly
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
499 "downloads_dir": os.path.join(
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
500 Environment.getExternalStoragePublicDirectory(
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
501 Environment.DIRECTORY_DOWNLOADS
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
502 ).getAbsolutePath(),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
503 Const.APP_NAME_FILE,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
504 ),
4202
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
505 "pid_dir": join(tempfile.gettempdir(), Const.APP_NAME_FILE, logged_user),
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
506 "log_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
507 }
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
508 Const.CONFIG_FILES = [
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
509 "/data/data/org.libervia.cagou/files/app/android/"
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
510 + Const.APP_NAME_FILE
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
511 + ".conf"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
512 ]
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
513 else:
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
514 import os
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
515
3147
c3e8ddf3a071 core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents: 3146
diff changeset
516 # we use parent of "sat" module dir as last config path, this is useful for
c3e8ddf3a071 core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents: 3146
diff changeset
517 # per instance configurations (e.g. a dev instance and a main instance)
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
518 root_dir = dirname(dirname(backend.__file__)) + "/"
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
519 Const.CONFIG_PATHS = (
3379
9081b6c41328 core: `sat.conf` is now first checked in `/etc/_sat.conf` for system-related settings
Goffi <goffi@goffi.org>
parents: 3269
diff changeset
520 # /etc/_sat.conf is used for system-related settings (e.g. when media_dir
9081b6c41328 core: `sat.conf` is now first checked in `/etc/_sat.conf` for system-related settings
Goffi <goffi@goffi.org>
parents: 3269
diff changeset
521 # is set by the distribution and has not reason to change, or in a Docker
9081b6c41328 core: `sat.conf` is now first checked in `/etc/_sat.conf` for system-related settings
Goffi <goffi@goffi.org>
parents: 3269
diff changeset
522 # image)
9081b6c41328 core: `sat.conf` is now first checked in `/etc/_sat.conf` for system-related settings
Goffi <goffi@goffi.org>
parents: 3269
diff changeset
523 ["/etc/_", "/etc/", "~/", "~/."]
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
524 + [
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
525 "{}/".format(path)
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
526 for path in list(BaseDirectory.load_config_paths(Const.APP_NAME_FILE))
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
527 ]
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
528 # this is to handle legacy sat.conf
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
529 + [
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
530 "{}/".format(path)
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
531 for path in list(BaseDirectory.load_config_paths("sat"))
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
532 ]
3145
3f414c897e70 core (constants): don't parse `sat.conf` from current dir anymore + parse root_dir last
Goffi <goffi@goffi.org>
parents: 3144
diff changeset
533 + [root_dir]
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
534 )
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
535
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
536 # on recent versions of Flatpak, FLATPAK_ID is set at run time
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
537 # it seems that this is not the case on older versions,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
538 # but FLATPAK_SANDBOX_DIR seems set then
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
539 if os.getenv("FLATPAK_ID") or os.getenv("FLATPAK_SANDBOX_DIR"):
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
540 # for Flatpak, the conf can't be set in /etc or $HOME, so we have
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
541 # to add /app
4270
0d7bb4df2343 Reformatted code base using black.
Goffi <goffi@goffi.org>
parents: 4266
diff changeset
542 Const.CONFIG_PATHS.append("/app/")
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
543
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
544 ## Configuration ##
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
545 Const.DEFAULT_CONFIG = {
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
546 "media_dir": "/usr/share/" + Const.APP_NAME_FILE + "/media",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
547 "local_dir": BaseDirectory.save_data_path(Const.APP_NAME_FILE),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
548 "downloads_dir": "~/Downloads/" + Const.APP_NAME_FILE,
4202
b26339343076 core: use a user specific directory for PID file:
Goffi <goffi@goffi.org>
parents: 4184
diff changeset
549 "pid_dir": join(tempfile.gettempdir(), Const.APP_NAME_FILE, logged_user),
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
550 "log_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
551 }
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
552
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
553 # List of the configuration filenames sorted by ascending priority
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
554 Const.CONFIG_FILES = [
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
555 realpath(expanduser(path) + Const.APP_NAME_FILE + ".conf")
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
556 for path in Const.CONFIG_PATHS
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
557 ] + [
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
558 # legacy sat.conf
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
559 realpath(expanduser(path) + "sat.conf")
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
560 for path in Const.CONFIG_PATHS
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
561 ]