annotate sat/core/constants.py @ 3234:78fea49735c5

core (memory/persistent): added `aset` method in LazyPersistentBinaryDict: this method does the same as `force` but is there to be consistent with PersistentDict. `force` should be removed in the future.
author Goffi <goffi@goffi.org>
date Fri, 27 Mar 2020 09:53:00 +0100
parents 163014f09bf4
children 6cf4bd6972c2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
1 #!/usr/bin/env python3
3137
559a625a236b fixed shebangs
Goffi <goffi@goffi.org>
parents: 3136
diff changeset
2
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
9d0df638c8b4 dates update
Goffi <goffi@goffi.org>
parents: 3127
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
32 APP_NAME = "Salut à Toi"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
33 APP_NAME_SHORT = "SàT"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
34 APP_NAME_FILE = "sat"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
41 APP_RELEASE_NAME = "La Cecília"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
2f264f3df280 core (menus): improvments:
Goffi <goffi@goffi.org>
parents: 2123
diff changeset
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
2f264f3df280 core (menus): improvments:
Goffi <goffi@goffi.org>
parents: 2123
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
126 MESS_EXTRA_INFO = "info_type"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
127 EXTRA_INFO_DECR_ERR = "DECRYPTION_ERROR"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
128 EXTRA_INFO_ENCR_ERR = "ENCRYPTION_ERROR"
1263
cfd636203e8f core: misc improvments:
Goffi <goffi@goffi.org>
parents: 1228
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
133 MESS_KEY_ENCRYPTED = "encrypted"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
174 COMPONENTS_DIR = "components"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
189 TEMPLATE_TPL_DIR = "templates"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
190 TEMPLATE_THEME_DEFAULT = "default"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
191 TEMPLATE_STATIC_DIR = "static"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
199 PI_NAME = "name"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
200 PI_IMPORT_NAME = "import_name"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
201 PI_MAIN = "main"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
202 PI_HANDLER = "handler"
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
203 PI_TYPE = (
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
206 PI_MODES = "modes"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
207 PI_PROTOCOLS = "protocols"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
208 PI_DEPENDENCIES = "dependencies"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
209 PI_RECOMMENDATIONS = "recommendations"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
210 PI_DESCRIPTION = "description"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
333 AUTHENTICATE_PROFILE_ID = "b03bbfa8-a4ae-4734-a248-06ce6c7cf562"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
345 PROGRESS_ERROR_DECLINED = "declined" #  session has been declined by peer user
3040
fee60f17ebac jp: jp asyncio port:
Goffi <goffi@goffi.org>
parents: 3028
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
355 ACCESS_PERM_READ = "read"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
358 ACCESS_TYPE_PUBLIC = "public"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
363 KEY_THUMBNAILS = "thumbnails"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
369 ORDER_BY_CREATION = 'creation'
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
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
2624
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
382 HASH_SHA1_EMPTY = "da39a3ee5e6b4b0d3255bfef95601890afd80709"
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
383 STANZA_NAMES = ("iq", "message", "presence")
2691
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
384
1ecceac3df96 plugin XEP-0198: Stream Management implementation:
Goffi <goffi@goffi.org>
parents: 2684
diff changeset
385 # Stream Hooks
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
386 STREAM_HOOK_SEND = "send"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
387 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
388
1010
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
389 @classmethod
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
390 def LOG_OPTIONS(cls):
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
391 """Return options checked for logs"""
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
392 # 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
393 return (
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
394 cls.LOG_OPT_COLORS,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
395 cls.LOG_OPT_TAINTS_DICT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
396 cls.LOG_OPT_LEVEL,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
397 cls.LOG_OPT_FORMAT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
398 cls.LOG_OPT_LOGGER,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
399 cls.LOG_OPT_OUTPUT,
56f94936df1e code style reformatting using black
Goffi <goffi@goffi.org>
parents: 2599
diff changeset
400 )
1010
73a0b7f94674 primitivus: use of new logging system:
Goffi <goffi@goffi.org>
parents: 1007
diff changeset
401
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
402 @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
403 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
404 """@return (bool): bool value for associated constant"""
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
405 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
406 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
407
2e1b4e7c8eb8 constants: split C.bool in C.bool and C.str so:
souliane <souliane@mailoo.org>
parents: 1227
diff changeset
408 @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
409 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
410 """@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
411 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
412 return cls.BOOL_TRUE if value else cls.BOOL_FALSE
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
413
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
414
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
415
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
416 ## Configuration ##
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
417 if (
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
418 BaseDirectory
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
419 ): # skipped when xdg module is not available (should not happen in backend)
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
420 if "org.salutatoi.cagou" in BaseDirectory.__file__:
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
421 # FIXME: hack to make config read from the right location on Android
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
422 # TODO: fix it in a more proper way
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
423
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
424 # we need to use Android API to get downloads directory
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
425 import os.path
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
426 from jnius import autoclass
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
427
3127
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
428 # 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
429 import logging
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
430 logging.getLogger('jnius').setLevel(logging.WARNING)
2798c86412e1 android: deactivate annoying jnius logs when DEBUG is set
Goffi <goffi@goffi.org>
parents: 3090
diff changeset
431 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
432
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
433 Environment = autoclass("android.os.Environment")
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
434
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
435 BaseDirectory = None
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
436 Const.DEFAULT_CONFIG = {
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
437 "local_dir": "/data/data/org.salutatoi.cagou/app",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
438 "media_dir": "/data/data/org.salutatoi.cagou/files/app/media",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
439 # FIXME: temporary location for downloads, need to call API properly
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
440 "downloads_dir": os.path.join(
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
441 Environment.getExternalStoragePublicDirectory(
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
442 Environment.DIRECTORY_DOWNLOADS
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
443 ).getAbsolutePath(),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
444 Const.APP_NAME_FILE,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
445 ),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
446 "pid_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
447 "log_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
448 }
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
449 Const.CONFIG_FILES = [
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
450 "/data/data/org.salutatoi.cagou/files/app/android/"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
451 + Const.APP_NAME_FILE
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
452 + ".conf"
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
453 ]
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
454 else:
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
455 import os
3147
c3e8ddf3a071 core (constants): use parent of "sat" module dir as last config path
Goffi <goffi@goffi.org>
parents: 3146
diff changeset
456 # 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
457 # 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
458 root_dir = dirname(dirname(sat.__file__)) + '/'
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
459 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
460 ["/etc/", "~/", "~/."]
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
461 + [
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
462 "%s/" % path
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
463 for path in list(BaseDirectory.load_config_paths(Const.APP_NAME_FILE))
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
464 ]
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
465 + [root_dir]
3028
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
466 )
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
467
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
468 # on recent versions of Flatpak, FLATPAK_ID is set at run time
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
469 # it seems that this is not the case on older versions,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
470 # but FLATPAK_SANDBOX_DIR seems set then
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
471 if os.getenv('FLATPAK_ID') or os.getenv('FLATPAK_SANDBOX_DIR'):
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
472 # for Flatpak, the conf can't be set in /etc or $HOME, so we have
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
473 # to add /app
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
474 Const.CONFIG_PATHS.append('/app/')
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
475
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
476 ## Configuration ##
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
477 Const.DEFAULT_CONFIG = {
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
478 "media_dir": "/usr/share/" + Const.APP_NAME_FILE + "/media",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
479 "local_dir": BaseDirectory.save_data_path(Const.APP_NAME_FILE),
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
480 "downloads_dir": "~/Downloads/" + Const.APP_NAME_FILE,
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
481 "pid_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
482 "log_dir": "%(local_dir)s",
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
483 }
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
484
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
485 # List of the configuration filenames sorted by ascending priority
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
486 Const.CONFIG_FILES = [
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
487 realpath(expanduser(path) + Const.APP_NAME_FILE + ".conf")
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
488 for path in Const.CONFIG_PATHS
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
489 ]
ab2696e34d29 Python 3 port:
Goffi <goffi@goffi.org>
parents: 3027
diff changeset
490