Mercurial > libervia-backend
annotate sat/core/constants.py @ 3254:6cf4bd6972c2
core, frontends: avatar refactoring:
/!\ huge commit
Avatar logic has been reworked around the IDENTITY plugin: plugins able to handle avatar
or other identity related metadata (like nicknames) register to IDENTITY plugin in the
same way as for other features like download/upload. Once registered, IDENTITY plugin will
call them when suitable in order of priority, and handle caching.
Methods to manage those metadata from frontend now use serialised data.
For now `avatar` and `nicknames` are handled:
- `avatar` is now a dict with `path` + metadata like `media_type`, instead of just a string
path
- `nicknames` is now a list of nicknames in order of priority. This list is never empty,
and `nicknames[0]` should be the preferred nickname to use by frontends in most cases.
In addition to contact specified nicknames, user set nickname (the one set in roster) is
used in priority when available.
Among the side changes done with this commit, there are:
- a new `contactGet` bridge method to get roster metadata for a single contact
- SatPresenceProtocol.send returns a Deferred to check when it has actually been sent
- memory's methods to handle entities data now use `client` as first argument
- metadata filter can be specified with `getIdentity`
- `getAvatar` and `setAvatar` are now part of the IDENTITY plugin instead of XEP-0054 (and
there signature has changed)
- `isRoom` and `getBareOrFull` are now part of XEP-0045 plugin
- jp avatar/get command uses `xdg-open` first when available for `--show` flag
- `--no-cache` has been added to jp avatar/get and identity/get
- jp identity/set has been simplified, explicit options (`--nickname` only for now) are
used instead of `--field`. `--field` may come back in the future if necessary for extra
data.
- QuickContactList `SetContact` now handle None as a value, and doesn't use it to delete the
metadata anymore
- improved cache handling for `metadata` and `nicknames` in quick frontend
- new `default` argument in QuickContactList `getCache`
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 14 Apr 2020 21:00:33 +0200 |
parents | 163014f09bf4 |
children | 1352564e0202 |
rev | line source |
---|---|
3028 | 1 #!/usr/bin/env python3 |
3137 | 2 |
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
|
3 |
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
|
4 # SàT: a XMPP client |
3136 | 5 # Copyright (C) 2009-2020 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
|
6 |
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 # 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
|
8 # 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
|
9 # 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
|
10 # (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
|
11 |
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 # 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
|
13 # 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
|
14 # 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
|
15 # 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
|
16 |
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 # 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
|
18 # 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
|
19 |
1112
e51e69b7732d
core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
20 try: |
e51e69b7732d
core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
21 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
|
22 from os.path import expanduser, realpath |
1112
e51e69b7732d
core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
23 except ImportError: |
e51e69b7732d
core (constants): better management of xdg import
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
24 BaseDirectory = None |
3146
320b762cbdf0
core (constants): missing trailing `/`
Goffi <goffi@goffi.org>
parents:
3145
diff
changeset
|
25 from os.path import dirname |
2571
4aca060075b7
setup: version is now set in SAT/VERSION, sat is not imported anymore in setup
Goffi <goffi@goffi.org>
parents:
2565
diff
changeset
|
26 import sat |
930
cbf4122baae7
core, memory: use XDG recommended paths as the defaults for the config and local directories
souliane <souliane@mailoo.org>
parents:
926
diff
changeset
|
27 |
914
1a3ba959f0ab
core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
28 |
1a3ba959f0ab
core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
29 class Const(object): |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
30 |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
31 ## Application ## |
3028 | 32 APP_NAME = "Salut à Toi" |
33 APP_NAME_SHORT = "SàT" | |
34 APP_NAME_FILE = "sat" | |
35 APP_NAME_FULL = "{name_short} ({name})".format( | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
36 name_short=APP_NAME_SHORT, name=APP_NAME |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
37 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
38 APP_VERSION = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
39 sat.__version__ |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
40 ) # Please add 'D' at the end of version in sat/VERSION for dev versions |
3028 | 41 APP_RELEASE_NAME = "La Cecília" |
42 APP_URL = "https://salut-a-toi.org" | |
994
652c01ca69b1
core (log): configuration and environment variables are now checked for log level and colors:
Goffi <goffi@goffi.org>
parents:
991
diff
changeset
|
43 |
2105
c96fe007ca41
core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents:
2089
diff
changeset
|
44 ## Runtime ## |
c96fe007ca41
core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents:
2089
diff
changeset
|
45 PLUGIN_EXT = "py" |
3028 | 46 HISTORY_SKIP = "skip" |
2105
c96fe007ca41
core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents:
2089
diff
changeset
|
47 |
c96fe007ca41
core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents:
2089
diff
changeset
|
48 ## Main config ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
49 DEFAULT_BRIDGE = "dbus" |
2088
c02f96756d5c
core: bridge can now be changed in conf
Goffi <goffi@goffi.org>
parents:
2035
diff
changeset
|
50 |
2105
c96fe007ca41
core(constants): added a constant for profile extension (PLUGIN_EXT):
Goffi <goffi@goffi.org>
parents:
2089
diff
changeset
|
51 ## Protocol ## |
1089
8e0072754413
core, plugins, stdui, frontends: fixes handling of "Force server" and "Force port" parameters:
souliane <souliane@mailoo.org>
parents:
1088
diff
changeset
|
52 XMPP_C2S_PORT = 5222 |
2691
1ecceac3df96
plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents:
2684
diff
changeset
|
53 XMPP_MAX_RETRIES = None |
2144
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
54 # 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
|
55 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
|
56 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
57 ## Parameters ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
58 NO_SECURITY_LIMIT = -1 # FIXME: to rename |
2126 | 59 SECURITY_LIMIT_MAX = 0 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
60 INDIVIDUAL = "individual" |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
61 GENERAL = "general" |
1222
e6e0ea4dc835
memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents:
1211
diff
changeset
|
62 # General parameters |
e6e0ea4dc835
memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents:
1211
diff
changeset
|
63 HISTORY_LIMIT = "History" |
1227
4da2e4d58bd0
memory (params): add parameters "Show offline contacts" and "Show empty groups"
souliane <souliane@mailoo.org>
parents:
1222
diff
changeset
|
64 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
|
65 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
|
66 # 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
|
67 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
|
68 FORCE_PORT_PARAM = "Force port" |
1030
15f43b54d697
core, memory, bridge: added profile password + password encryption:
souliane <souliane@mailoo.org>
parents:
1020
diff
changeset
|
69 # Parameters related to encryption |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
70 PROFILE_PASS_PATH = ("General", "Password") |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
71 MEMORY_CRYPTO_NAMESPACE = "crypto" # for the private persistent binary dict |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
72 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
|
73 # Parameters for static blog pages |
2126 | 74 # 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
|
75 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
|
76 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
|
77 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
|
78 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
|
79 STATIC_BLOG_PARAM_DESCRIPTION = "Description" |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
80 |
1092
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
81 ## Menus ## |
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
82 MENU_GLOBAL = "GLOBAL" |
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
83 MENU_ROOM = "ROOM" |
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
84 MENU_SINGLE = "SINGLE" |
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
85 MENU_JID_CONTEXT = "JID_CONTEXT" |
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
86 MENU_ROSTER_JID_CONTEXT = "ROSTER_JID_CONTEXT" |
0eefc74c346b
core (menus): constants are used for menu types
Goffi <goffi@goffi.org>
parents:
1089
diff
changeset
|
87 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
|
88 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
|
89 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
90 ## Profile and entities ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
91 PROF_KEY_NONE = "@NONE@" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
92 PROF_KEY_DEFAULT = "@DEFAULT@" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
93 PROF_KEY_ALL = "@ALL@" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
94 ENTITY_ALL = "@ALL@" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
95 ENTITY_ALL_RESOURCES = "@ALL_RESOURCES@" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
96 ENTITY_MAIN_RESOURCE = "@MAIN_RESOURCE@" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
97 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
|
98 ENTITY_TYPE = "type" |
94708a7d3ecf
core, plugin XEP-0045: fixed message type autodetection + ENTITY_TYPE_MUC constant:
Goffi <goffi@goffi.org>
parents:
2975
diff
changeset
|
99 ENTITY_TYPE_MUC = "MUC" |
1520
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
100 |
1450
7797dda847ae
plugins xep-0277, groupblog: added subscriteToMany to replace massiveSubscribeGroupBlogs + added SatRosterProtocol.getJidsSet
Goffi <goffi@goffi.org>
parents:
1448
diff
changeset
|
101 ## Roster jids selection ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
102 PUBLIC = "PUBLIC" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
103 ALL = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
104 "ALL" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
105 ) # ALL means all known contacts, while PUBLIC means everybody, known or not |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
106 GROUP = "GROUP" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
107 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
|
108 |
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
|
109 ## Messages ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
110 MESS_TYPE_INFO = "info" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
111 MESS_TYPE_CHAT = "chat" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
112 MESS_TYPE_ERROR = "error" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
113 MESS_TYPE_GROUPCHAT = "groupchat" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
114 MESS_TYPE_HEADLINE = "headline" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
115 MESS_TYPE_NORMAL = "normal" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
116 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
|
117 MESS_TYPE_STANDARD = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
118 MESS_TYPE_CHAT, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
119 MESS_TYPE_ERROR, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
120 MESS_TYPE_GROUPCHAT, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
121 MESS_TYPE_HEADLINE, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
122 MESS_TYPE_NORMAL, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
123 ) |
1963
a2bc5089c2eb
backend, frontends: message refactoring (huge commit):
Goffi <goffi@goffi.org>
parents:
1959
diff
changeset
|
124 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
|
125 |
3028 | 126 MESS_EXTRA_INFO = "info_type" |
127 EXTRA_INFO_DECR_ERR = "DECRYPTION_ERROR" | |
128 EXTRA_INFO_ENCR_ERR = "ENCRYPTION_ERROR" | |
1263 | 129 |
2752
1fa615faec8b
core (constants): added a constant for "encrypted"
Goffi <goffi@goffi.org>
parents:
2694
diff
changeset
|
130 # encryption is a key for plugins |
3028 | 131 MESS_KEY_ENCRYPTION = "ENCRYPTION" |
2752
1fa615faec8b
core (constants): added a constant for "encrypted"
Goffi <goffi@goffi.org>
parents:
2694
diff
changeset
|
132 # encrypted is a key for frontends |
3028 | 133 MESS_KEY_ENCRYPTED = "encrypted" |
134 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
|
135 |
3173
343b8076e967
core (xmpp): new message key to handle attachments
Goffi <goffi@goffi.org>
parents:
3147
diff
changeset
|
136 MESS_KEY_ATTACHMENTS = "attachments" |
3196
adf1aeaa0d37
core (constants): renamed `MESS_KEY_MEDIA_TYPE` to `MESS_KEY_ATTACHMENTS_MEDIA_TYPE`
Goffi <goffi@goffi.org>
parents:
3188
diff
changeset
|
137 MESS_KEY_ATTACHMENTS_MEDIA_TYPE = "media_type" |
3201
439e2f88c3a9
core, bridge: new `imageGeneratePreview` helped method to generate a thumbnail
Goffi <goffi@goffi.org>
parents:
3200
diff
changeset
|
138 MESS_KEY_ATTACHMENTS_PREVIEW = "preview" |
3223
163014f09bf4
plugin attach: handle large images resizing:
Goffi <goffi@goffi.org>
parents:
3201
diff
changeset
|
139 MESS_KEY_ATTACHMENTS_RESIZE = "resize" |
3173
343b8076e967
core (xmpp): new message key to handle attachments
Goffi <goffi@goffi.org>
parents:
3147
diff
changeset
|
140 |
3090
4f8bdf50593f
plugin sec aesgcm: new plugin handling `aesgcm:` scheme for e2e encrypted media sharing:
Goffi <goffi@goffi.org>
parents:
3066
diff
changeset
|
141 # 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
|
142 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
|
143 |
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
|
144 ## Chat ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
145 CHAT_ONE2ONE = "one2one" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
146 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
|
147 |
1776
4fc1bf1af48f
plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents:
1766
diff
changeset
|
148 ## Presence ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
149 PRESENCE_UNAVAILABLE = "unavailable" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
150 PRESENCE_SHOW_AWAY = "away" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
151 PRESENCE_SHOW_CHAT = "chat" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
152 PRESENCE_SHOW_DND = "dnd" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
153 PRESENCE_SHOW_XA = "xa" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
154 PRESENCE_SHOW = "show" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
155 PRESENCE_STATUSES = "statuses" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
156 PRESENCE_STATUSES_DEFAULT = "default" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
157 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
|
158 |
1776
4fc1bf1af48f
plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents:
1766
diff
changeset
|
159 ## Common namespaces ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
160 NS_XML = "http://www.w3.org/XML/1998/namespace" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
161 NS_CLIENT = "jabber:client" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
162 NS_FORWARD = "urn:xmpp:forward:0" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
163 NS_DELAY = "urn:xmpp:delay" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
164 NS_XHTML = "http://www.w3.org/1999/xhtml" |
1776
4fc1bf1af48f
plugin XEP-0313: cleaning and improvments:
Goffi <goffi@goffi.org>
parents:
1766
diff
changeset
|
165 |
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
|
166 ## 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
|
167 |
d1df08c79a5d
core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents:
2483
diff
changeset
|
168 IQ_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
|
169 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
|
170 |
2109
85f3e12e984d
core (memory/cache): file caching handling, first draft:
Goffi <goffi@goffi.org>
parents:
2105
diff
changeset
|
171 ## 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
|
172 |
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
|
173 # directory for components specific data |
3028 | 174 COMPONENTS_DIR = "components" |
175 CACHE_DIR = "cache" | |
2494
d1df08c79a5d
core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents:
2483
diff
changeset
|
176 # 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
|
177 # files dir is global, i.e. for all profiles |
3028 | 178 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
|
179 # 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
|
180 # 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
|
181 # 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
|
182 # shared between different profiles are not duplicated. |
3028 | 183 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
|
184 # 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
|
185 # Once transfer is completed, they are moved to FILES_DIR |
3028 | 186 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
|
187 |
2169
f472179305a1
tools(templates): workflow improvments:
Goffi <goffi@goffi.org>
parents:
2154
diff
changeset
|
188 ## Templates ## |
3028 | 189 TEMPLATE_TPL_DIR = "templates" |
190 TEMPLATE_THEME_DEFAULT = "default" | |
191 TEMPLATE_STATIC_DIR = "static" | |
192 KEY_LANG = "lang" # templates i18n | |
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
|
193 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
194 ## Plugins ## |
1520
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
195 |
2144
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
196 # PLUGIN_INFO keys |
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
197 # 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
|
198 # to make the header more readable |
3028 | 199 PI_NAME = "name" |
200 PI_IMPORT_NAME = "import_name" | |
201 PI_MAIN = "main" | |
202 PI_HANDLER = "handler" | |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
203 PI_TYPE = ( |
3028 | 204 "type" |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
205 ) # FIXME: should be types, and should handle single unicode type or tuple of types (e.g. "blog" and "import") |
3028 | 206 PI_MODES = "modes" |
207 PI_PROTOCOLS = "protocols" | |
208 PI_DEPENDENCIES = "dependencies" | |
209 PI_RECOMMENDATIONS = "recommendations" | |
210 PI_DESCRIPTION = "description" | |
211 PI_USAGE = "usage" | |
2144
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
212 |
1520
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
213 # Types |
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
214 PLUG_TYPE_XEP = "XEP" |
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
215 PLUG_TYPE_MISC = "MISC" |
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
216 PLUG_TYPE_EXP = "EXP" |
9667103a0c10
core (contants): added PROF_KEY_ALL en PLUG_TYPE_* constants
Goffi <goffi@goffi.org>
parents:
1459
diff
changeset
|
217 PLUG_TYPE_SEC = "SEC" |
1806
fd788d24277a
plugin syntax dc_wiki: first draft:
Goffi <goffi@goffi.org>
parents:
1776
diff
changeset
|
218 PLUG_TYPE_SYNTAXE = "SYNTAXE" |
1825
4e51f21c687f
plugin blog import: this plugin is the base handling blog importers:
Goffi <goffi@goffi.org>
parents:
1822
diff
changeset
|
219 PLUG_TYPE_BLOG = "BLOG" |
2369
cdaa58e14553
plugin import: generic data import plugin:
Goffi <goffi@goffi.org>
parents:
2305
diff
changeset
|
220 PLUG_TYPE_IMPORT = "IMPORT" |
2144
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
221 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
|
222 |
2144
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
223 # Modes |
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
224 PLUG_MODE_CLIENT = "client" |
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
225 PLUG_MODE_COMPONENT = "component" |
1d3f73e065e1
core, jp: component handling + client handling refactoring:
Goffi <goffi@goffi.org>
parents:
2132
diff
changeset
|
226 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
|
227 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
|
228 |
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
|
229 # names of widely used plugins |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
230 TEXT_CMDS = "TEXT-COMMANDS" |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
231 |
1459
4c4f88d7b156
plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents:
1454
diff
changeset
|
232 # 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
|
233 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
|
234 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
|
235 |
4c4f88d7b156
plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents:
1454
diff
changeset
|
236 # PubSub |
4c4f88d7b156
plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents:
1454
diff
changeset
|
237 PS_PUBLISH = "publish" |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
238 PS_RETRACT = "retract" # used for items |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
239 PS_DELETE = "delete" # 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
|
240 PS_ITEM = "item" |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
241 PS_ITEMS = "items" # Can contain publish and retract items |
1459
4c4f88d7b156
plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents:
1454
diff
changeset
|
242 PS_EVENTS = (PS_ITEMS, PS_DELETE) |
4c4f88d7b156
plugins xep-0060, xep-0163, xep-0277, groupblog: bloging improvments (huge patch, sorry):
Goffi <goffi@goffi.org>
parents:
1454
diff
changeset
|
243 |
2956
767e1ef6e1bd
core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents:
2955
diff
changeset
|
244 ## MESSAGE/NOTIFICATION LEVELS ## |
767e1ef6e1bd
core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents:
2955
diff
changeset
|
245 |
767e1ef6e1bd
core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents:
2955
diff
changeset
|
246 LVL_INFO = "info" |
767e1ef6e1bd
core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents:
2955
diff
changeset
|
247 LVL_WARNING = "warning" |
767e1ef6e1bd
core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents:
2955
diff
changeset
|
248 LVL_ERROR = "error" |
767e1ef6e1bd
core (constants): added generic constants for "info", "warning" and "error" levels
Goffi <goffi@goffi.org>
parents:
2955
diff
changeset
|
249 |
1104
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
250 ## XMLUI ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
251 XMLUI_WINDOW = "window" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
252 XMLUI_POPUP = "popup" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
253 XMLUI_FORM = "form" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
254 XMLUI_PARAM = "param" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
255 XMLUI_DIALOG = "dialog" |
1104
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
256 XMLUI_DIALOG_CONFIRM = "confirm" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
257 XMLUI_DIALOG_MESSAGE = "message" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
258 XMLUI_DIALOG_NOTE = "note" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
259 XMLUI_DIALOG_FILE = "file" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
260 XMLUI_DATA_ANSWER = "answer" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
261 XMLUI_DATA_CANCELLED = "cancelled" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
262 XMLUI_DATA_TYPE = "type" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
263 XMLUI_DATA_MESS = "message" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
264 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
|
265 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
|
266 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
|
267 XMLUI_DATA_LVL_ERROR = LVL_ERROR |
1104
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
268 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
|
269 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
|
270 XMLUI_DATA_BTNS_SET = "buttons_set" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
271 XMLUI_DATA_BTNS_SET_OKCANCEL = "ok/cancel" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
272 XMLUI_DATA_BTNS_SET_YESNO = "yes/no" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
273 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
|
274 XMLUI_DATA_FILETYPE = "filetype" |
1104
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
275 XMLUI_DATA_FILETYPE_FILE = "file" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
276 XMLUI_DATA_FILETYPE_DIR = "dir" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
277 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
|
278 |
991
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
279 ## Logging ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
280 LOG_LVL_DEBUG = "DEBUG" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
281 LOG_LVL_INFO = "INFO" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
282 LOG_LVL_WARNING = "WARNING" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
283 LOG_LVL_ERROR = "ERROR" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
284 LOG_LVL_CRITICAL = "CRITICAL" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
285 LOG_LEVELS = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
286 LOG_LVL_DEBUG, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
287 LOG_LVL_INFO, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
288 LOG_LVL_WARNING, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
289 LOG_LVL_ERROR, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
290 LOG_LVL_CRITICAL, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
291 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
292 LOG_BACKEND_STANDARD = "standard" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
293 LOG_BACKEND_TWISTED = "twisted" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
294 LOG_BACKEND_BASIC = "basic" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
295 LOG_BACKEND_CUSTOM = "custom" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
296 LOG_BASE_LOGGER = "root" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
297 LOG_TWISTED_LOGGER = "twisted" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
298 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
|
299 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
|
300 # (option_name, default_value) tuples |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
301 LOG_OPT_COLORS = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
302 "colors", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
303 "true", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
304 ) # 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
|
305 LOG_OPT_TAINTS_DICT = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
306 "levels_taints_dict", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
307 { |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
308 LOG_LVL_DEBUG: ("cyan",), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
309 LOG_LVL_INFO: (), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
310 LOG_LVL_WARNING: ("yellow",), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
311 LOG_LVL_ERROR: ("red", "blink", r"/!\ ", "blink_off"), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
312 LOG_LVL_CRITICAL: ("bold", "red", "Guru Meditation ", "normal_weight"), |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
313 }, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
314 ) |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
315 LOG_OPT_LEVEL = ("level", "info") |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
316 LOG_OPT_FORMAT = ("fmt", "%(message)s") # similar to logging format. |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
317 LOG_OPT_LOGGER = ("logger", "") # regex to filter logger name |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
318 LOG_OPT_OUTPUT_SEP = "//" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
319 LOG_OPT_OUTPUT_DEFAULT = "default" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
320 LOG_OPT_OUTPUT_MEMORY = "memory" |
2975
d86ecc34516e
logs: increased defaut limit for memory output to 300
Goffi <goffi@goffi.org>
parents:
2974
diff
changeset
|
321 LOG_OPT_OUTPUT_MEMORY_LIMIT = 300 |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
322 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
|
323 LOG_OPT_OUTPUT = ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
324 "output", |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
325 LOG_OPT_OUTPUT_SEP + LOG_OPT_OUTPUT_DEFAULT, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
326 ) # //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
|
327 |
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
|
328 ## action constants ## |
e2ed8009e66e
backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents:
1520
diff
changeset
|
329 META_TYPE_FILE = "file" |
e2ed8009e66e
backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents:
1520
diff
changeset
|
330 META_TYPE_OVERWRITE = "overwrite" |
e2ed8009e66e
backend, bridge, frontends: actionNew has now a security_limit argument + added some docstring to explain data argument
Goffi <goffi@goffi.org>
parents:
1520
diff
changeset
|
331 |
1104
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
332 ## HARD-CODED ACTIONS IDS (generated with uuid.uuid4) ## |
3028 | 333 AUTHENTICATE_PROFILE_ID = "b03bbfa8-a4ae-4734-a248-06ce6c7cf562" |
334 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
|
335 |
1104
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
336 ## Text values ## |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
337 BOOL_TRUE = "true" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
338 BOOL_FALSE = "false" |
490a8a4536b6
core (constants): added constants mainly used in XMLUI
Goffi <goffi@goffi.org>
parents:
1092
diff
changeset
|
339 |
1222
e6e0ea4dc835
memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents:
1211
diff
changeset
|
340 ## Special values used in bridge methods calls ## |
e6e0ea4dc835
memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents:
1211
diff
changeset
|
341 HISTORY_LIMIT_DEFAULT = -1 |
e6e0ea4dc835
memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents:
1211
diff
changeset
|
342 HISTORY_LIMIT_NONE = -2 |
e6e0ea4dc835
memory: add Parameter "Chat history limit"
souliane <souliane@mailoo.org>
parents:
1211
diff
changeset
|
343 |
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
|
344 ## Progress error special values ## |
3028 | 345 PROGRESS_ERROR_DECLINED = "declined" # session has been declined by peer user |
3040 | 346 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
|
347 |
d1df08c79a5d
core (constants): new constants to handle files, progress, component, permissions (will be used in the upcoming patches)
Goffi <goffi@goffi.org>
parents:
2483
diff
changeset
|
348 ## Files ## |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
349 FILE_TYPE_DIRECTORY = "directory" |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
350 FILE_TYPE_FILE = "file" |
3187
d92a144f3589
plugin download: use cache if dest_path is empty:
Goffi <goffi@goffi.org>
parents:
3173
diff
changeset
|
351 # 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
|
352 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
|
353 |
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
|
354 ## Permissions management ## |
3028 | 355 ACCESS_PERM_READ = "read" |
356 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
|
357 ACCESS_PERMS = {ACCESS_PERM_READ, ACCESS_PERM_WRITE} |
3028 | 358 ACCESS_TYPE_PUBLIC = "public" |
359 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
|
360 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
|
361 |
2513
2d3c9dcec384
plugin XEP-0264: thumbnails handling implementation
Goffi <goffi@goffi.org>
parents:
2494
diff
changeset
|
362 ## Common data keys ## |
3028 | 363 KEY_THUMBNAILS = "thumbnails" |
364 KEY_PROGRESS_ID = "progress_id" | |
2513
2d3c9dcec384
plugin XEP-0264: thumbnails handling implementation
Goffi <goffi@goffi.org>
parents:
2494
diff
changeset
|
365 |
2760
3480d4fdf83a
plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents:
2752
diff
changeset
|
366 ## Common extra keys/values ## |
3028 | 367 KEY_ORDER_BY = "order_by" |
2760
3480d4fdf83a
plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents:
2752
diff
changeset
|
368 |
3028 | 369 ORDER_BY_CREATION = 'creation' |
370 ORDER_BY_MODIFICATION = 'modification' | |
2760
3480d4fdf83a
plugins XEP-0060, XEP-0313: implemented Order-By protoXEP:
Goffi <goffi@goffi.org>
parents:
2752
diff
changeset
|
371 |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
372 # internationalisation |
3028 | 373 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
|
374 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
375 ## 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
|
376 SAVEFILE_DATABASE = APP_NAME_FILE + ".db" |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
377 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
|
378 ENV_PREFIX = "SAT_" # Prefix used for environment variables |
2624
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
379 IGNORE = "ignore" |
3188
a15773c6c273
memory(cache): extend EOL when a file metadata is retrieved
Goffi <goffi@goffi.org>
parents:
3187
diff
changeset
|
380 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
|
381 DEFAULT_MAX_AGE = 1209600 # default max age of cached files, in seconds |
3028 | 382 STANZA_NAMES = ("iq", "message", "presence") |
2691
1ecceac3df96
plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents:
2684
diff
changeset
|
383 |
1ecceac3df96
plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents:
2684
diff
changeset
|
384 # Stream Hooks |
3028 | 385 STREAM_HOOK_SEND = "send" |
386 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
|
387 |
1010
73a0b7f94674
primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents:
1007
diff
changeset
|
388 @classmethod |
73a0b7f94674
primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents:
1007
diff
changeset
|
389 def LOG_OPTIONS(cls): |
73a0b7f94674
primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents:
1007
diff
changeset
|
390 """Return options checked for logs""" |
73a0b7f94674
primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents:
1007
diff
changeset
|
391 # 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
|
392 return ( |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
393 cls.LOG_OPT_COLORS, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
394 cls.LOG_OPT_TAINTS_DICT, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
395 cls.LOG_OPT_LEVEL, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
396 cls.LOG_OPT_FORMAT, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
397 cls.LOG_OPT_LOGGER, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
398 cls.LOG_OPT_OUTPUT, |
56f94936df1e
code style reformatting using black
Goffi <goffi@goffi.org>
parents:
2599
diff
changeset
|
399 ) |
1010
73a0b7f94674
primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents:
1007
diff
changeset
|
400 |
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
|
401 @classmethod |
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
|
402 def bool(cls, value): |
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
|
403 """@return (bool): bool value for associated constant""" |
3028 | 404 assert isinstance(value, str) |
2955
bb36cf6289c6
core (constants): "on" can now be used as True value in bool method.
Goffi <goffi@goffi.org>
parents:
2902
diff
changeset
|
405 return value.lower() in (cls.BOOL_TRUE, "1", "yes", "on") |
1228
2e1b4e7c8eb8
constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents:
1227
diff
changeset
|
406 |
2e1b4e7c8eb8
constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents:
1227
diff
changeset
|
407 @classmethod |
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
|
408 def boolConst(cls, 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
|
409 """@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
|
410 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
|
411 return cls.BOOL_TRUE if value else cls.BOOL_FALSE |
3028 | 412 |
413 | |
414 | |
415 ## Configuration ## | |
416 if ( | |
417 BaseDirectory | |
418 ): # skipped when xdg module is not available (should not happen in backend) | |
419 if "org.salutatoi.cagou" in BaseDirectory.__file__: | |
420 # FIXME: hack to make config read from the right location on Android | |
421 # TODO: fix it in a more proper way | |
422 | |
423 # we need to use Android API to get downloads directory | |
424 import os.path | |
425 from jnius import autoclass | |
426 | |
3127
2798c86412e1
android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents:
3090
diff
changeset
|
427 # 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
|
428 import logging |
2798c86412e1
android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents:
3090
diff
changeset
|
429 logging.getLogger('jnius').setLevel(logging.WARNING) |
2798c86412e1
android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents:
3090
diff
changeset
|
430 logging.getLogger('jnius.reflect').setLevel(logging.WARNING) |
2798c86412e1
android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents:
3090
diff
changeset
|
431 |
3028 | 432 Environment = autoclass("android.os.Environment") |
433 | |
434 BaseDirectory = None | |
435 Const.DEFAULT_CONFIG = { | |
436 "local_dir": "/data/data/org.salutatoi.cagou/app", | |
437 "media_dir": "/data/data/org.salutatoi.cagou/files/app/media", | |
438 # FIXME: temporary location for downloads, need to call API properly | |
439 "downloads_dir": os.path.join( | |
440 Environment.getExternalStoragePublicDirectory( | |
441 Environment.DIRECTORY_DOWNLOADS | |
442 ).getAbsolutePath(), | |
443 Const.APP_NAME_FILE, | |
444 ), | |
445 "pid_dir": "%(local_dir)s", | |
446 "log_dir": "%(local_dir)s", | |
447 } | |
448 Const.CONFIG_FILES = [ | |
449 "/data/data/org.salutatoi.cagou/files/app/android/" | |
450 + Const.APP_NAME_FILE | |
451 + ".conf" | |
452 ] | |
453 else: | |
454 import os | |
3147
c3e8ddf3a071
core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents:
3146
diff
changeset
|
455 # 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
|
456 # per instance configurations (e.g. a dev instance and a main instance) |
c3e8ddf3a071
core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents:
3146
diff
changeset
|
457 root_dir = dirname(dirname(sat.__file__)) + '/' |
3028 | 458 Const.CONFIG_PATHS = ( |
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
|
459 ["/etc/", "~/", "~/."] |
3028 | 460 + [ |
461 "%s/" % path | |
462 for path in list(BaseDirectory.load_config_paths(Const.APP_NAME_FILE)) | |
463 ] | |
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
|
464 + [root_dir] |
3028 | 465 ) |
466 | |
467 # on recent versions of Flatpak, FLATPAK_ID is set at run time | |
468 # it seems that this is not the case on older versions, | |
469 # but FLATPAK_SANDBOX_DIR seems set then | |
470 if os.getenv('FLATPAK_ID') or os.getenv('FLATPAK_SANDBOX_DIR'): | |
471 # for Flatpak, the conf can't be set in /etc or $HOME, so we have | |
472 # to add /app | |
473 Const.CONFIG_PATHS.append('/app/') | |
474 | |
475 ## Configuration ## | |
476 Const.DEFAULT_CONFIG = { | |
477 "media_dir": "/usr/share/" + Const.APP_NAME_FILE + "/media", | |
478 "local_dir": BaseDirectory.save_data_path(Const.APP_NAME_FILE), | |
479 "downloads_dir": "~/Downloads/" + Const.APP_NAME_FILE, | |
480 "pid_dir": "%(local_dir)s", | |
481 "log_dir": "%(local_dir)s", | |
482 } | |
483 | |
484 # List of the configuration filenames sorted by ascending priority | |
485 Const.CONFIG_FILES = [ | |
486 realpath(expanduser(path) + Const.APP_NAME_FILE + ".conf") | |
487 for path in Const.CONFIG_PATHS | |
488 ] | |
489 |