Mercurial > libervia-backend
annotate src/core/constants.py @ 991:05e02f8b7eb4
core: logging refactoring, first step:
- added a core.log module
- 3 backends can be used: basic, standard (python's logging module) or twisted
- colors can be used
- the module has been made to be used by frontends, it should work in exotic environments like pyjamas
- logging basic configuration is now made in sat.tac
- core.log configuration is inspired from python standard logging, and use it when possible
- getLogger should be used the same way as for standard logging
author | Goffi <goffi@goffi.org> |
---|---|
date | Sat, 19 Apr 2014 00:02:38 +0200 |
parents | f0e407709d8e |
children | 652c01ca69b1 |
rev | line source |
---|---|
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
|
1 #!/usr/bin/python |
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
|
2 # -*- coding: utf-8 -*- |
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 |
1a3ba959f0ab
core (memory): moved Params in its own module + introduced a new core/constants module, and moved some constants there
Goffi <goffi@goffi.org>
parents:
diff
changeset
|
5 # Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014 Jérôme Poisson (goffi@goffi.org) |
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 |
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
|
20 import os.path |
967
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
21 try: |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
22 from xdg import BaseDirectory |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
23 except ImportError: |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
24 # Catch JS runtime error while using Libervia |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
25 BaseDirectory = None |
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
|
26 |
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
|
27 |
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 class Const(object): |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
29 |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
30 ## Application ## |
923 | 31 APP_NAME = u'Salut à Toi' |
32 APP_NAME_SHORT = u'SàT' | |
33 APP_NAME_FULL = u'%s (%s)' % (APP_NAME_SHORT, APP_NAME) | |
967
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
34 APP_VERSION = u'0.4.1D' # Please add 'D' at the end for dev versions |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
35 APP_URL = 'http://salut-a-toi.org' |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
36 |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
37 ## Parameters ## |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
38 NO_SECURITY_LIMIT = -1 |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
39 INDIVIDUAL = "individual" |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
40 GENERAL = "general" |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
41 |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
42 |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
43 ## Profile and entities ## |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
44 PROF_KEY_NONE = '@NONE@' |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
45 PROF_KEY_DEFAULT = '@DEFAULT@' |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
46 ENTITY_ALL = '@ALL@' |
944
e1842ebcb2f3
core, plugin XEP-0115: discovery refactoring:
Goffi <goffi@goffi.org>
parents:
943
diff
changeset
|
47 ENTITY_LAST_RESOURCE = 'LAST_RESOURCE' |
e1842ebcb2f3
core, plugin XEP-0115: discovery refactoring:
Goffi <goffi@goffi.org>
parents:
943
diff
changeset
|
48 ENTITY_CAP_HASH = 'CAP_HASH' |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
49 |
967
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
50 if BaseDirectory: # skipped when imported from Libervia browser_side |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
51 |
967
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
52 ## Configuration ## |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
53 DEFAULT_CONFIG = { |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
54 'media_dir': '/usr/share/sat/media', |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
55 'pid_dir': '/tmp', |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
56 'log_dir': BaseDirectory.save_data_path('sat'), |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
57 } |
923 | 58 |
967
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
59 # XXX: tmp update code, will be removed in the future |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
60 # When you remove this, please add that in DEFAULT_CONFIG: |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
61 # 'local_dir': BaseDirectory.save_data_path('sat'), |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
62 # and also remove sat.memory.memory.Memory.__fixLocalDir |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
63 DEFAULT_LOCAL_DIR = BaseDirectory.save_data_path('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
|
64 |
967
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
65 # List of the configuration filenames sorted by ascending priority |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
66 CONFIG_FILES = [(os.path.expanduser(path) + 'sat.conf') for path in \ |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
67 ['/etc/', '~/', '~/.', '', '.'] + \ |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
68 ['%s/' % path for path in list(BaseDirectory.load_config_paths('sat'))] |
242bd4fc654c
core, frontends (constants): frontends Const inheritates from core Const
souliane <souliane@mailoo.org>
parents:
944
diff
changeset
|
69 ] |
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
|
70 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
71 ## Plugins ## |
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
|
72 # names of widely used plugins |
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
|
73 TEXT_CMDS = 'TEXT-COMMANDS' |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
74 |
991
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
75 ## Logging ## |
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
76 LOG_BACKEND_STANDARD = 'standard' |
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
77 LOG_BACKEND_TWISTED = 'twisted' |
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
78 LOG_BACKEND_BASIC = 'basic' |
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
79 LOG_BASE_LOGGER = 'root' |
05e02f8b7eb4
core: logging refactoring, first step:
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
80 |
942
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
81 ## Misc ## |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
82 SAVEFILE_DATABASE = "sat.db" |
598fc223cf59
core: more organisation in constants.py
Goffi <goffi@goffi.org>
parents:
930
diff
changeset
|
83 IQ_SET = '/iq[@type="set"]' |
990
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
84 |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
85 ## ANSI escape sequences ## |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
86 # XXX: used for logging |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
87 # XXX: there will be probably moved in a dedicated module in the future |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
88 ANSI_RESET = '\033[0m' |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
89 ANSI_NORMAL_WEIGHT = '\033[22m' |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
90 ANSI_FG_BLACK, ANSI_FG_RED, ANSI_FG_GREEN, ANSI_FG_YELLOW, ANSI_FG_BLUE, ANSI_FG_MAGENTA, ANSI_FG_CYAN, ANSI_FG_WHITE = ('\033[3%dm' % nb for nb in xrange(8)) |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
91 ANSI_BOLD = '\033[1m' |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
92 ANSI_BLINK = '\033[5m' |
f0e407709d8e
core (constants): added some basic ANSI escape codes
Goffi <goffi@goffi.org>
parents:
971
diff
changeset
|
93 ANSI_BLINK_OFF = '\033[25m' |