annotate sat/core/constants.py @ 3934:e345d93fb6e5

plugin OXPS: OpenPGP for XMPP Pubsub implementation: OpenPGP for XMPP Pubsub (https://xmpp.org/extensions/inbox/pubsub-encryption.html, currently a protoXEP) is implemented and activated when `encrypted` is set to `True` in pubsub's `extra` data. On item retrieval, the decryption is transparent if the key is known, except if the `decrypt` key in `extra` is set to `False` (notably useful when one wants to checks that data is well encrypted). Methods and corresponding bridge methods have been implemented to manage shared secrets (to share, revoke or rotate the secrets). plugin XEP-0060's `XEP-0060_publish` trigger point as been move before actual publish so item can be modified (here e2ee) by the triggers. A new `XEP-0060_items` trigger point has also been added. `encrypted` flag can be used with plugin XEP-0277's microblog data rel 380
author Goffi <goffi@goffi.org>
date Sat, 15 Oct 2022 20:36:53 +0200
parents 8289ac1b34f4
children 74d4c9ff893d
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
3146
320b762cbdf0 core (constants): missing trailing `/`
Goffi <goffi@goffi.org>
parents: 3145
diff changeset
24 from os.path import dirname
3911
8289ac1b34f4 plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo:
Syndace <me@syndace.dev>
parents: 3794
diff changeset
25 from typing_extensions import Final
2571
4aca060075b7 setup: version is now set in SAT/VERSION, sat is not imported anymore in setup
Goffi <goffi@goffi.org>
parents: 2565
diff changeset
26 import sat
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
27
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
28
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
29 class Const(object):
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
30
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
31 ## Application ##
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
32 APP_NAME = "Libervia"
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
33 APP_COMPONENT = "backend"
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
34 APP_NAME_ALT = "SàT"
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
35 APP_NAME_FILE = "libervia"
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
36 APP_NAME_FULL = f"{APP_NAME} ({APP_COMPONENT})"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
37 APP_VERSION = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
38 sat.__version__
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
39 ) # Please add 'D' at the end of version in sat/VERSION for dev versions
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
40 APP_RELEASE_NAME = "La Cecília"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
41 APP_URL = "https://salut-a-toi.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
42
2105
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
43 ## Runtime ##
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
44 PLUGIN_EXT = "py"
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
45 HISTORY_SKIP = "skip"
2105
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
46
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
47 ## Main config ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
48 DEFAULT_BRIDGE = "dbus"
2088
c02f96756d5c core: bridge can now be changed in conf
Goffi <goffi@goffi.org>
parents: 2035
diff changeset
49
2105
c96fe007ca41 core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents: 2089
diff changeset
50 ## Protocol ##
1089
8e0072754413 core, plugins, stdui, frontends: fixes handling of "Force server" and "Force port" parameters:
souliane <souliane@mailoo.org>
parents: 1088
diff changeset
51 XMPP_C2S_PORT = 5222
2691
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
52 XMPP_MAX_RETRIES = None
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
53 # 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
54 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
55
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
56 ## Parameters ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
57 NO_SECURITY_LIMIT = -1 #  FIXME: to rename
2126
2f264f3df280 core (menus): improvments:
Goffi <goffi@goffi.org>
parents: 2123
diff changeset
58 SECURITY_LIMIT_MAX = 0
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
59 INDIVIDUAL = "individual"
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
60 GENERAL = "general"
1222
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
61 # General parameters
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
62 HISTORY_LIMIT = "History"
1227
4da2e4d58bd0 memory (params): add parameters "Show offline contacts" and "Show empty groups"
souliane <souliane@mailoo.org>
parents: 1222
diff changeset
63 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
64 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
65 # 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
66 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
67 FORCE_PORT_PARAM = "Force port"
1030
15f43b54d697 core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents: 1020
diff changeset
68 # Parameters related to encryption
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
69 PROFILE_PASS_PATH = ("General", "Password")
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
70 MEMORY_CRYPTO_NAMESPACE = "crypto" # for the private persistent binary dict
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
71 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
72 # Parameters for static blog pages
2126
2f264f3df280 core (menus): improvments:
Goffi <goffi@goffi.org>
parents: 2123
diff changeset
73 # 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
74 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
75 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
76 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
77 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
78 STATIC_BLOG_PARAM_DESCRIPTION = "Description"
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
79
1092
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
80 ## Menus ##
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
81 MENU_GLOBAL = "GLOBAL"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
82 MENU_ROOM = "ROOM"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
83 MENU_SINGLE = "SINGLE"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
84 MENU_JID_CONTEXT = "JID_CONTEXT"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
85 MENU_ROSTER_JID_CONTEXT = "ROSTER_JID_CONTEXT"
0eefc74c346b core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents: 1089
diff changeset
86 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
87 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
88
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
89 ## Profile and entities ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
90 PROF_KEY_NONE = "@NONE@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
91 PROF_KEY_DEFAULT = "@DEFAULT@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
92 PROF_KEY_ALL = "@ALL@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
93 ENTITY_ALL = "@ALL@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
94 ENTITY_ALL_RESOURCES = "@ALL_RESOURCES@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
95 ENTITY_MAIN_RESOURCE = "@MAIN_RESOURCE@"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
96 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
97 ENTITY_TYPE = "type"
94708a7d3ecf core, plugin XEP-0045: fixed message type autodetection + ENTITY_TYPE_MUC constant:
Goffi <goffi@goffi.org>
parents: 2975
diff changeset
98 ENTITY_TYPE_MUC = "MUC"
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
99
1450
7797dda847ae plugins xep-0277, groupblog: added subscriteToMany to replace massiveSubscribeGroupBlogs + added SatRosterProtocol.getJidsSet
Goffi <goffi@goffi.org>
parents: 1448
diff changeset
100 ## Roster jids selection ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
101 PUBLIC = "PUBLIC"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
102 ALL = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
103 "ALL"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
104 ) # ALL means all known contacts, while PUBLIC means everybody, known or not
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
105 GROUP = "GROUP"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
106 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
107
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
108 ## Messages ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
109 MESS_TYPE_INFO = "info"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
110 MESS_TYPE_CHAT = "chat"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
111 MESS_TYPE_ERROR = "error"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
112 MESS_TYPE_GROUPCHAT = "groupchat"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
113 MESS_TYPE_HEADLINE = "headline"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
114 MESS_TYPE_NORMAL = "normal"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
115 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
116 MESS_TYPE_STANDARD = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
117 MESS_TYPE_CHAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
118 MESS_TYPE_ERROR,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
119 MESS_TYPE_GROUPCHAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
120 MESS_TYPE_HEADLINE,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
121 MESS_TYPE_NORMAL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
122 )
1963
a2bc5089c2eb backend, frontends: message refactoring (huge commit):
Goffi <goffi@goffi.org>
parents: 1959
diff changeset
123 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
124
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
125 MESS_EXTRA_INFO = "info_type"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
126 EXTRA_INFO_DECR_ERR = "DECRYPTION_ERROR"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
127 EXTRA_INFO_ENCR_ERR = "ENCRYPTION_ERROR"
1263
cfd636203e8f core: misc improvments:
Goffi <goffi@goffi.org>
parents: 1228
diff changeset
128
2752
1fa615faec8b core (constants): added a constant for "encrypted"
Goffi <goffi@goffi.org>
parents: 2694
diff changeset
129 # 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
130 MESS_KEY_ENCRYPTION: Final = "ENCRYPTION"
2752
1fa615faec8b core (constants): added a constant for "encrypted"
Goffi <goffi@goffi.org>
parents: 2694
diff changeset
131 # encrypted is a key for frontends
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
132 MESS_KEY_ENCRYPTED = "encrypted"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
133 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
134
3173
343b8076e967 core (xmpp): new message key to handle attachments
Goffi <goffi@goffi.org>
parents: 3147
diff changeset
135 MESS_KEY_ATTACHMENTS = "attachments"
3196
adf1aeaa0d37 core (constants): renamed `MESS_KEY_MEDIA_TYPE` to `MESS_KEY_ATTACHMENTS_MEDIA_TYPE`
Goffi <goffi@goffi.org>
parents: 3188
diff changeset
136 MESS_KEY_ATTACHMENTS_MEDIA_TYPE = "media_type"
3201
439e2f88c3a9 core, bridge: new `imageGeneratePreview` helped method to generate a thumbnail
Goffi <goffi@goffi.org>
parents: 3200
diff changeset
137 MESS_KEY_ATTACHMENTS_PREVIEW = "preview"
3223
163014f09bf4 plugin attach: handle large images resizing:
Goffi <goffi@goffi.org>
parents: 3201
diff changeset
138 MESS_KEY_ATTACHMENTS_RESIZE = "resize"
3173
343b8076e967 core (xmpp): new message key to handle attachments
Goffi <goffi@goffi.org>
parents: 3147
diff changeset
139
3090
4f8bdf50593f plugin sec aesgcm: new plugin handling `aesgcm:` scheme for e2e encrypted media sharing:
Goffi <goffi@goffi.org>
parents: 3066
diff changeset
140 # 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
141 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
142
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
143 ## Chat ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
144 CHAT_ONE2ONE = "one2one"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
145 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
146
1776
4fc1bf1af48f plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
147 ## Presence ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
148 PRESENCE_UNAVAILABLE = "unavailable"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
149 PRESENCE_SHOW_AWAY = "away"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
150 PRESENCE_SHOW_CHAT = "chat"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
151 PRESENCE_SHOW_DND = "dnd"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
152 PRESENCE_SHOW_XA = "xa"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
153 PRESENCE_SHOW = "show"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
154 PRESENCE_STATUSES = "statuses"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
155 PRESENCE_STATUSES_DEFAULT = "default"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
156 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
157
1776
4fc1bf1af48f plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
158 ## Common namespaces ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
159 NS_XML = "http://www.w3.org/XML/1998/namespace"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
160 NS_CLIENT = "jabber:client"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
161 NS_FORWARD = "urn:xmpp:forward:0"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
162 NS_DELAY = "urn:xmpp:delay"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
163 NS_XHTML = "http://www.w3.org/1999/xhtml"
1776
4fc1bf1af48f plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents: 1766
diff changeset
164
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
165 ## 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
166
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
167 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
168 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
169
2109
85f3e12e984d core (memory/cache): file caching handling, first draft:
Goffi <goffi@goffi.org>
parents: 2105
diff changeset
170 ## 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
171
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
172 # directory for components specific data
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
173 COMPONENTS_DIR = "components"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
174 CACHE_DIR = "cache"
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
175 # 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
176 # files dir is global, i.e. for all profiles
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
177 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
178 # 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
179 # 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
180 #  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
181 # shared between different profiles are not duplicated.
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
182 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
183 # 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
184 # Once transfer is completed, they are moved to FILES_DIR
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
185 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
186
2169
f472179305a1 tools(templates): workflow improvments:
Goffi <goffi@goffi.org>
parents: 2154
diff changeset
187 ## Templates ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
188 TEMPLATE_TPL_DIR = "templates"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
189 TEMPLATE_THEME_DEFAULT = "default"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
190 TEMPLATE_STATIC_DIR = "static"
3269
1352564e0202 core (constants): added `theme` key
Goffi <goffi@goffi.org>
parents: 3254
diff changeset
191 # templates i18n
1352564e0202 core (constants): added `theme` key
Goffi <goffi@goffi.org>
parents: 3254
diff changeset
192 KEY_LANG = "lang"
1352564e0202 core (constants): added `theme` key
Goffi <goffi@goffi.org>
parents: 3254
diff changeset
193 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
194
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
195 ## Plugins ##
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
196
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
197 # PLUGIN_INFO keys
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
198 # 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
199 # to make the header more readable
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
200 PI_NAME = "name"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
201 PI_IMPORT_NAME = "import_name"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
202 PI_MAIN = "main"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
203 PI_HANDLER = "handler"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
204 PI_TYPE = (
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
205 "type"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
206 ) #  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
207 PI_MODES = "modes"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
208 PI_PROTOCOLS = "protocols"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
209 PI_DEPENDENCIES = "dependencies"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
210 PI_RECOMMENDATIONS = "recommendations"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
211 PI_DESCRIPTION = "description"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
212 PI_USAGE = "usage"
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
213
1520
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
214 # Types
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
215 PLUG_TYPE_XEP = "XEP"
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
216 PLUG_TYPE_MISC = "MISC"
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
217 PLUG_TYPE_EXP = "EXP"
9667103a0c10 core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents: 1459
diff changeset
218 PLUG_TYPE_SEC = "SEC"
1806
fd788d24277a plugin syntax dc_wiki: first draft:
Goffi <goffi@goffi.org>
parents: 1776
diff changeset
219 PLUG_TYPE_SYNTAXE = "SYNTAXE"
3597
5d108ce026d7 plugin pubsub cache: Pubsub Caching implementation
Goffi <goffi@goffi.org>
parents: 3587
diff changeset
220 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
221 PLUG_TYPE_BLOG = "BLOG"
2369
cdaa58e14553 plugin import: generic data import plugin:
Goffi <goffi@goffi.org>
parents: 2305
diff changeset
222 PLUG_TYPE_IMPORT = "IMPORT"
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
223 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
224
2144
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
225 # Modes
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
226 PLUG_MODE_CLIENT = "client"
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
227 PLUG_MODE_COMPONENT = "component"
1d3f73e065e1 core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents: 2132
diff changeset
228 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
229 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
230
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
231 # names of widely used plugins
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
232 TEXT_CMDS = "TEXT-COMMANDS"
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
233
1459
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
234 # 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
235 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
236 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
237
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
238 # PubSub
4c4f88d7b156 plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents: 1454
diff changeset
239 PS_PUBLISH = "publish"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
240 PS_RETRACT = "retract" # used for items
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
241 PS_DELETE = "delete" # used for nodes
3587
2715da5b2aa7 plugin XEP-0060: handle purge notifications
Goffi <goffi@goffi.org>
parents: 3490
diff changeset
242 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
243 PS_ITEM = "item"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
244 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
245 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
246
2956
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
247 ## MESSAGE/NOTIFICATION LEVELS ##
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
248
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
249 LVL_INFO = "info"
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
250 LVL_WARNING = "warning"
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
251 LVL_ERROR = "error"
767e1ef6e1bd core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents: 2955
diff changeset
252
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
253 ## XMLUI ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
254 XMLUI_WINDOW = "window"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
255 XMLUI_POPUP = "popup"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
256 XMLUI_FORM = "form"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
257 XMLUI_PARAM = "param"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
258 XMLUI_DIALOG = "dialog"
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
259 XMLUI_DIALOG_CONFIRM = "confirm"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
260 XMLUI_DIALOG_MESSAGE = "message"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
261 XMLUI_DIALOG_NOTE = "note"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
262 XMLUI_DIALOG_FILE = "file"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
263 XMLUI_DATA_ANSWER = "answer"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
264 XMLUI_DATA_CANCELLED = "cancelled"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
265 XMLUI_DATA_TYPE = "type"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
266 XMLUI_DATA_MESS = "message"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
267 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
268 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
269 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
270 XMLUI_DATA_LVL_ERROR = LVL_ERROR
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
271 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
272 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
273 XMLUI_DATA_BTNS_SET = "buttons_set"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
274 XMLUI_DATA_BTNS_SET_OKCANCEL = "ok/cancel"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
275 XMLUI_DATA_BTNS_SET_YESNO = "yes/no"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
276 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
277 XMLUI_DATA_FILETYPE = "filetype"
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
278 XMLUI_DATA_FILETYPE_FILE = "file"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
279 XMLUI_DATA_FILETYPE_DIR = "dir"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
280 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
281
991
05e02f8b7eb4 core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents: 990
diff changeset
282 ## Logging ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
283 LOG_LVL_DEBUG = "DEBUG"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
284 LOG_LVL_INFO = "INFO"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
285 LOG_LVL_WARNING = "WARNING"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
286 LOG_LVL_ERROR = "ERROR"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
287 LOG_LVL_CRITICAL = "CRITICAL"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
288 LOG_LEVELS = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
289 LOG_LVL_DEBUG,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
290 LOG_LVL_INFO,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
291 LOG_LVL_WARNING,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
292 LOG_LVL_ERROR,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
293 LOG_LVL_CRITICAL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
294 )
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
295 LOG_BACKEND_STANDARD = "standard"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
296 LOG_BACKEND_TWISTED = "twisted"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
297 LOG_BACKEND_BASIC = "basic"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
298 LOG_BACKEND_CUSTOM = "custom"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
299 LOG_BASE_LOGGER = "root"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
300 LOG_TWISTED_LOGGER = "twisted"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
301 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
302 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
303 # (option_name, default_value) tuples
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
304 LOG_OPT_COLORS = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
305 "colors",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
306 "true",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
307 ) # 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
308 LOG_OPT_TAINTS_DICT = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
309 "levels_taints_dict",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
310 {
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
311 LOG_LVL_DEBUG: ("cyan",),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
312 LOG_LVL_INFO: (),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
313 LOG_LVL_WARNING: ("yellow",),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
314 LOG_LVL_ERROR: ("red", "blink", r"/!\ ", "blink_off"),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
315 LOG_LVL_CRITICAL: ("bold", "red", "Guru Meditation ", "normal_weight"),
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
316 },
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
317 )
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
318 LOG_OPT_LEVEL = ("level", "info")
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
319 LOG_OPT_FORMAT = ("fmt", "%(message)s") # similar to logging format.
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
320 LOG_OPT_LOGGER = ("logger", "") # regex to filter logger name
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
321 LOG_OPT_OUTPUT_SEP = "//"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
322 LOG_OPT_OUTPUT_DEFAULT = "default"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
323 LOG_OPT_OUTPUT_MEMORY = "memory"
2975
d86ecc34516e logs: increased defaut limit for memory output to 300
Goffi <goffi@goffi.org>
parents: 2974
diff changeset
324 LOG_OPT_OUTPUT_MEMORY_LIMIT = 300
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
325 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
326 LOG_OPT_OUTPUT = (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
327 "output",
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
328 LOG_OPT_OUTPUT_SEP + LOG_OPT_OUTPUT_DEFAULT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
329 ) # //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
330
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
331 ## action constants ##
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
332 META_TYPE_FILE = "file"
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
333 META_TYPE_OVERWRITE = "overwrite"
3405
ecdb3728749e plugin XEP-0353: Jingle Message Initiation implementation:
Goffi <goffi@goffi.org>
parents: 3379
diff changeset
334 META_TYPE_NOT_IN_ROSTER_LEAK = "not_in_roster_leak"
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
335
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
336 ## HARD-CODED ACTIONS IDS (generated with uuid.uuid4) ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
337 AUTHENTICATE_PROFILE_ID = "b03bbfa8-a4ae-4734-a248-06ce6c7cf562"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
338 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
339
1104
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
340 ## Text values ##
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
341 BOOL_TRUE = "true"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
342 BOOL_FALSE = "false"
490a8a4536b6 core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents: 1092
diff changeset
343
1222
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
344 ## Special values used in bridge methods calls ##
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
345 HISTORY_LIMIT_DEFAULT = -1
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
346 HISTORY_LIMIT_NONE = -2
e6e0ea4dc835 memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents: 1211
diff changeset
347
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
348 ## Progress error special values ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
349 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
350 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
351
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
352 ## Files ##
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
353 FILE_TYPE_DIRECTORY = "directory"
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
354 FILE_TYPE_FILE = "file"
3187
d92a144f3589 plugin download: use cache if dest_path is empty:
Goffi <goffi@goffi.org>
parents: 3173
diff changeset
355 # 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
356 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
357
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
358 ## Permissions management ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
359 ACCESS_PERM_READ = "read"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
360 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
361 ACCESS_PERMS = {ACCESS_PERM_READ, ACCESS_PERM_WRITE}
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
362 ACCESS_TYPE_PUBLIC = "public"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
363 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
364 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
365
2513
2d3c9dcec384 plugin XEP-0264: thumbnails handling implementation
Goffi <goffi@goffi.org>
parents: 2494
diff changeset
366 ## Common data keys ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
367 KEY_THUMBNAILS = "thumbnails"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
368 KEY_PROGRESS_ID = "progress_id"
2513
2d3c9dcec384 plugin XEP-0264: thumbnails handling implementation
Goffi <goffi@goffi.org>
parents: 2494
diff changeset
369
2760
3480d4fdf83a plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents: 2752
diff changeset
370 ## Common extra keys/values ##
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
371 KEY_ORDER_BY = "order_by"
3597
5d108ce026d7 plugin pubsub cache: Pubsub Caching implementation
Goffi <goffi@goffi.org>
parents: 3587
diff changeset
372 KEY_USE_CACHE = "use_cache"
3934
e345d93fb6e5 plugin OXPS: OpenPGP for XMPP Pubsub implementation:
Goffi <goffi@goffi.org>
parents: 3911
diff changeset
373 KEY_DECRYPT = "decrypt"
2760
3480d4fdf83a plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents: 2752
diff changeset
374
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
375 ORDER_BY_CREATION = 'creation'
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
376 ORDER_BY_MODIFICATION = 'modification'
2760
3480d4fdf83a plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents: 2752
diff changeset
377
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
378 # internationalisation
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
379 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
380
3406
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
381 ## Command Line ##
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
382
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
383 # 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
384 EXIT_OK = 0
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
385 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
386 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
387 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
388 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
389 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
390 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
391 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
392 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
393 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
394 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
395 EXIT_INTERNAL_ERROR = 111 # unexpected error
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
396 EXIT_FILE_NOT_EXE = (
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
397 126
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
398 ) # a file to be executed was found, but it was not an executable utility (cf. man 1 exit)
4c15271118a2 core (constants): moved shell exit code constants to core constants:
Goffi <goffi@goffi.org>
parents: 3405
diff changeset
399 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
400 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
401 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
402
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
403 ## 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
404 SAVEFILE_DATABASE = APP_NAME_FILE + ".db"
942
598fc223cf59 core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents: 930
diff changeset
405 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
406 ENV_PREFIX = "SAT_" # Prefix used for environment variables
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
407 IGNORE = "ignore"
3188
a15773c6c273 memory(cache): extend EOL when a file metadata is retrieved
Goffi <goffi@goffi.org>
parents: 3187
diff changeset
408 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
409 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
410 STANZA_NAMES = ("iq", "message", "presence")
2691
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
411
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
412 # Stream Hooks
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
413 STREAM_HOOK_SEND = "send"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
414 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
415
1010
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
416 @classmethod
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
417 def LOG_OPTIONS(cls):
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
418 """Return options checked for logs"""
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
419 # 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
420 return (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
421 cls.LOG_OPT_COLORS,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
422 cls.LOG_OPT_TAINTS_DICT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
423 cls.LOG_OPT_LEVEL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
424 cls.LOG_OPT_FORMAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
425 cls.LOG_OPT_LOGGER,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
426 cls.LOG_OPT_OUTPUT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
427 )
1010
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
428
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
429 @classmethod
3794
a58715ffa445 core (constants): type hints
Goffi <goffi@goffi.org>
parents: 3597
diff changeset
430 def bool(cls, value: str) -> bool:
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
431 """@return (bool): bool value for associated constant"""
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
432 assert isinstance(value, str)
2955
bb36cf6289c6 core (constants): "on" can now be used as True value in bool method.
Goffi <goffi@goffi.org>
parents: 2902
diff changeset
433 return value.lower() in (cls.BOOL_TRUE, "1", "yes", "on")
1228
2e1b4e7c8eb8 constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents: 1227
diff changeset
434
2e1b4e7c8eb8 constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents: 1227
diff changeset
435 @classmethod
3911
8289ac1b34f4 plugin XEP-0384: Fully reworked to adjust to the reworked python-omemo:
Syndace <me@syndace.dev>
parents: 3794
diff changeset
436 def boolConst(cls, value: bool) -> 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
437 """@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
438 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
439 return cls.BOOL_TRUE if value else cls.BOOL_FALSE
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
440
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
441
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
442
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
443 ## Configuration ##
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
444 if (
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
445 BaseDirectory
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
446 ): # 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
447 if "org.libervia.cagou" in BaseDirectory.__file__:
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
448 # FIXME: hack to make config read from the right location on Android
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
449 # TODO: fix it in a more proper way
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
450
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
451 # we need to use Android API to get downloads directory
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
452 import os.path
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
453 from jnius import autoclass
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
454
3127
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
455 # 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
456 import logging
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
457 logging.getLogger('jnius').setLevel(logging.WARNING)
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
458 logging.getLogger('jnius.reflect').setLevel(logging.WARNING)
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
459
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
460 Environment = autoclass("android.os.Environment")
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
461
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
462 BaseDirectory = None
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
463 Const.DEFAULT_CONFIG = {
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
464 "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
465 "media_dir": "/data/data/org.libervia.cagou/files/app/media",
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
466 # FIXME: temporary location for downloads, need to call API properly
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
467 "downloads_dir": os.path.join(
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
468 Environment.getExternalStoragePublicDirectory(
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
469 Environment.DIRECTORY_DOWNLOADS
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
470 ).getAbsolutePath(),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
471 Const.APP_NAME_FILE,
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 "pid_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
474 "log_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
475 }
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
476 Const.CONFIG_FILES = [
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
477 "/data/data/org.libervia.cagou/files/app/android/"
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
478 + Const.APP_NAME_FILE
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
479 + ".conf"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
480 ]
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
481 else:
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
482 import os
3147
c3e8ddf3a071 core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents: 3146
diff changeset
483 # 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
484 # per instance configurations (e.g. a dev instance and a main instance)
c3e8ddf3a071 core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents: 3146
diff changeset
485 root_dir = dirname(dirname(sat.__file__)) + '/'
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
486 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
487 # /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
488 # 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
489 # 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
490 ["/etc/_", "/etc/", "~/", "~/."]
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
491 + [
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
492 "{}/".format(path)
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
493 for path in list(BaseDirectory.load_config_paths(Const.APP_NAME_FILE))
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
494 ]
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
495 # this is to handle legacy sat.conf
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
496 + [
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
497 "{}/".format(path)
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
498 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
499 ]
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
500 + [root_dir]
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
501 )
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
502
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
503 # on recent versions of Flatpak, FLATPAK_ID is set at run time
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
504 # it seems that this is not the case on older versions,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
505 # but FLATPAK_SANDBOX_DIR seems set then
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
506 if os.getenv('FLATPAK_ID') or os.getenv('FLATPAK_SANDBOX_DIR'):
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
507 # 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
508 # to add /app
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
509 Const.CONFIG_PATHS.append('/app/')
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
510
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
511 ## Configuration ##
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
512 Const.DEFAULT_CONFIG = {
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
513 "media_dir": "/usr/share/" + Const.APP_NAME_FILE + "/media",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
514 "local_dir": BaseDirectory.save_data_path(Const.APP_NAME_FILE),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
515 "downloads_dir": "~/Downloads/" + Const.APP_NAME_FILE,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
516 "pid_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
517 "log_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
518 }
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
519
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
520 # List of the configuration filenames sorted by ascending priority
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
521 Const.CONFIG_FILES = [
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
522 realpath(expanduser(path) + Const.APP_NAME_FILE + ".conf")
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
523 for path in Const.CONFIG_PATHS
3480
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
524 ] + [
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
525 # legacy sat.conf
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
526 realpath(expanduser(path) + "sat.conf")
7550ae9cfbac Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents: 3479
diff changeset
527 for path in Const.CONFIG_PATHS
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
528 ]
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
529