Mercurial > libervia-backend
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 |
rev | line source |
---|---|
3028 | 1 #!/usr/bin/env python3 |
3137 | 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 | 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 | 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 | 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 | 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 | 146 MESS_EXTRA_INFO = "info_type" |
147 EXTRA_INFO_DECR_ERR = "DECRYPTION_ERROR" | |
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 | 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 | 154 MESS_KEY_ENCRYPTED = "encrypted" |
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 | 192 COMPONENTS_DIR = "components" |
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 | 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 | 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 | 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 | 211 TEMPLATE_TPL_DIR = "templates" |
212 TEMPLATE_THEME_DEFAULT = "default" | |
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 | 223 PI_NAME = "name" |
224 PI_IMPORT_NAME = "import_name" | |
225 PI_MAIN = "main" | |
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 | 228 PI_MODES = "modes" |
229 PI_PROTOCOLS = "protocols" | |
230 PI_DEPENDENCIES = "dependencies" | |
231 PI_RECOMMENDATIONS = "recommendations" | |
232 PI_DESCRIPTION = "description" | |
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 | 367 AUTHENTICATE_PROFILE_ID = "b03bbfa8-a4ae-4734-a248-06ce6c7cf562" |
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 | 379 PROGRESS_ERROR_DECLINED = "declined" # session has been declined by peer user |
3040 | 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 | 389 ACCESS_PERM_READ = "read" |
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 | 392 ACCESS_TYPE_PUBLIC = "public" |
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 | 397 KEY_THUMBNAILS = "thumbnails" |
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 | 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 | 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 | 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 | 445 STREAM_HOOK_SEND = "send" |
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 | 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 | 472 |
473 | |
474 ## Configuration ## | |
475 if ( | |
476 BaseDirectory | |
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 | 479 # FIXME: hack to make config read from the right location on Android |
480 # TODO: fix it in a more proper way | |
481 | |
482 # we need to use Android API to get downloads directory | |
483 import os.path | |
484 from jnius import autoclass | |
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 | 492 Environment = autoclass("android.os.Environment") |
493 | |
494 BaseDirectory = None | |
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 | 498 # FIXME: temporary location for downloads, need to call API properly |
499 "downloads_dir": os.path.join( | |
500 Environment.getExternalStoragePublicDirectory( | |
501 Environment.DIRECTORY_DOWNLOADS | |
502 ).getAbsolutePath(), | |
503 Const.APP_NAME_FILE, | |
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 | 506 "log_dir": "%(local_dir)s", |
507 } | |
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 | 510 + Const.APP_NAME_FILE |
511 + ".conf" | |
512 ] | |
513 else: | |
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 | 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 | 524 + [ |
3480
7550ae9cfbac
Renamed the project from "Salut à Toi" to "Libervia":
Goffi <goffi@goffi.org>
parents:
3479
diff
changeset
|
525 "{}/".format(path) |
3028 | 526 for path in list(BaseDirectory.load_config_paths(Const.APP_NAME_FILE)) |
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 | 534 ) |
535 | |
536 # on recent versions of Flatpak, FLATPAK_ID is set at run time | |
537 # it seems that this is not the case on older versions, | |
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 | 540 # for Flatpak, the conf can't be set in /etc or $HOME, so we have |
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 | 543 |
544 ## Configuration ## | |
545 Const.DEFAULT_CONFIG = { | |
546 "media_dir": "/usr/share/" + Const.APP_NAME_FILE + "/media", | |
547 "local_dir": BaseDirectory.save_data_path(Const.APP_NAME_FILE), | |
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 | 550 "log_dir": "%(local_dir)s", |
551 } | |
552 | |
553 # List of the configuration filenames sorted by ascending priority | |
554 Const.CONFIG_FILES = [ | |
555 realpath(expanduser(path) + Const.APP_NAME_FILE + ".conf") | |
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 | 561 ] |