annotate libervia/backend/core/constants.py @ 4303:a7ec325246fb

component email-gateway: first draft: Initial implementation of the Email Gateway. This component uses XEP-0100 for registration. Upon registration and subsequent startups, a connection is made to registered IMAP services, and incoming emails (in `INBOX` mailboxes) are immediately forwarded as XMPP messages. In the opposite direction, an SMTP connection is established to send emails on incoming XMPP messages. rel 449
author Goffi <goffi@goffi.org>
date Fri, 06 Sep 2024 18:07:17 +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 ]