Mercurial > libervia-web
annotate libervia/server/constants.py @ 1246:aaf28d45ae67
pages: browser code, first draft:
- code for browser can now be specified if a page subdirectory named `_browser` exists
- the default engine used is `Brython` (not yet implemented, so it will do nothing for
now)
- build_path now uses C.SITE_NAME_DEFAULT for default site instead of empty string, to
avoid collision with other sites
- ProtectedFile transtype path (first positional argument) to str, so a pathlib.Path can
be used
author | Goffi <goffi@goffi.org> |
---|---|
date | Sun, 26 Apr 2020 22:01:13 +0200 |
parents | f511f8fbbf8a |
children | 9b865f2604a9 |
rev | line source |
---|---|
1239 | 1 #!/usr/bin/env python3 |
2 | |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
3 |
449
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
445
diff
changeset
|
4 # Libervia: a SAT frontend |
1237 | 5 # Copyright (C) 2009-2020 Jérôme Poisson (goffi@goffi.org) |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
6 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
7 # This program is free software: you can redistribute it and/or modify |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
8 # it under the terms of the GNU Affero General Public License as published by |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
9 # the Free Software Foundation, either version 3 of the License, or |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
10 # (at your option) any later version. |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
11 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
12 # This program is distributed in the hope that it will be useful, |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
15 # GNU Affero General Public License for more details. |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
16 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
17 # You should have received a copy of the GNU Affero General Public License |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
18 # along with this program. If not, see <http://www.gnu.org/licenses/>. |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
19 |
860
05cd9dc775e6
server: use of relative import instead of try/except block in server/constants
Goffi <goffi@goffi.org>
parents:
856
diff
changeset
|
20 from ..common import constants |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
21 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
22 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
23 class Const(constants.Const): |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
24 |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
25 APP_NAME = "Libervia" |
512
750db9ff8525
server side: launching script improvments:
Goffi <goffi@goffi.org>
parents:
490
diff
changeset
|
26 APP_NAME_FILE = "libervia" |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
27 SERVICE_PROFILE = "libervia" # the SàT profile that is used for exporting the service |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
28 |
993
641664553a41
server: changed session timeout from 5 min to 2h, avoiding undesired disconnection on Libervia pages.
Goffi <goffi@goffi.org>
parents:
990
diff
changeset
|
29 SESSION_TIMEOUT = 7200 # Session's timeout, after that the user will be disconnected |
449
981ed669d3b3
/!\ reorganize all the file hierarchy, move the code and launching script to src:
souliane <souliane@mailoo.org>
parents:
445
diff
changeset
|
30 HTML_DIR = "html/" |
703
1a19ee7d8d8a
server_side: add default theme
souliane <souliane@mailoo.org>
parents:
685
diff
changeset
|
31 THEMES_DIR = "themes/" |
823
027139763511
server (blog): cleaning & improvments:
Goffi <goffi@goffi.org>
parents:
818
diff
changeset
|
32 THEMES_URL = "themes" |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
33 MEDIA_DIR = "media/" |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
34 CARDS_DIR = "games/cards/tarot" |
1216 | 35 PAGES_DIR = "pages" |
36 TASKS_DIR = "tasks" | |
37 LIBERVIA_CACHE = "libervia" | |
1246 | 38 SITE_NAME_DEFAULT = "default" |
1216 | 39 BUILD_DIR = "__b" |
1246 | 40 BUILD_DIR_DYN = "dyn" |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
41 |
1216 | 42 TPL_RESOURCE = '_t' |
1127
9234f29053b0
server, pages: update to handle multi sites themes, first draft:
Goffi <goffi@goffi.org>
parents:
1124
diff
changeset
|
43 |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
44 ERRNUM_BRIDGE_ERRBACK = 0 # FIXME |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
45 ERRNUM_LIBERVIA = 0 # FIXME |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
46 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
47 # Security limit for Libervia (get/set params) |
338
80016abf3ad3
server_side: raised default security_limit to 5
Goffi <goffi@goffi.org>
parents:
317
diff
changeset
|
48 SECURITY_LIMIT = 5 |
317
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
49 |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
50 # Security limit for Libervia server_side |
bbadd490e63c
misc: gather the constants in a single file, as it is done for other frontends
souliane <souliane@mailoo.org>
parents:
diff
changeset
|
51 SERVER_SECURITY_LIMIT = constants.Const.NO_SECURITY_LIMIT |
605
917e271975d9
server + browser side: implementation of new getEntitiesData bridge method + added a security check: only a white list of entities can be gotten
Goffi <goffi@goffi.org>
parents:
555
diff
changeset
|
52 |
917e271975d9
server + browser side: implementation of new getEntitiesData bridge method + added a security check: only a white list of entities can be gotten
Goffi <goffi@goffi.org>
parents:
555
diff
changeset
|
53 # keys for cache values we can get from browser |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
54 ALLOWED_ENTITY_DATA = {"avatar", "nick"} |
823
027139763511
server (blog): cleaning & improvments:
Goffi <goffi@goffi.org>
parents:
818
diff
changeset
|
55 |
027139763511
server (blog): cleaning & improvments:
Goffi <goffi@goffi.org>
parents:
818
diff
changeset
|
56 STATIC_RSM_MAX_LIMIT = 100 |
027139763511
server (blog): cleaning & improvments:
Goffi <goffi@goffi.org>
parents:
818
diff
changeset
|
57 STATIC_RSM_MAX_DEFAULT = 10 |
027139763511
server (blog): cleaning & improvments:
Goffi <goffi@goffi.org>
parents:
818
diff
changeset
|
58 STATIC_RSM_MAX_COMMENTS_DEFAULT = 10 |
917 | 59 |
60 ## Libervia pages ## | |
1216 | 61 PAGES_META_FILE = "page_meta.py" |
1246 | 62 PAGES_BROWSER_DIR = "_browser" |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
63 PAGES_ACCESS_NONE = ( |
1216 | 64 "none" |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
65 ) # no access to this page (using its path will return a 404 error) |
1216 | 66 PAGES_ACCESS_PUBLIC = "public" |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
67 PAGES_ACCESS_PROFILE = ( |
1216 | 68 "profile" |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
69 ) # a session with an existing profile must be started |
1216 | 70 PAGES_ACCESS_ADMIN = "admin" # only profiles set in admins_list can access the page |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
71 PAGES_ACCESS_ALL = ( |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
72 PAGES_ACCESS_NONE, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
73 PAGES_ACCESS_PUBLIC, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
74 PAGES_ACCESS_PROFILE, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
75 PAGES_ACCESS_ADMIN, |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
76 ) |
990
6daa59d44ee2
pages: menu implementation, first draft:
Goffi <goffi@goffi.org>
parents:
985
diff
changeset
|
77 # names of the page to use for menu |
1113
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
78 DEFAULT_MENU = [ |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
79 "login", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
80 "chat", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
81 "blog", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
82 "forums", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
83 "photos", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
84 "files", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
85 "events", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
86 "tickets", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
87 "merge-requests", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
88 "app", |
cdd389ef97bc
server: code style reformatting using black
Goffi <goffi@goffi.org>
parents:
1111
diff
changeset
|
89 ] |
922
16d1084d1371
server (pages): added "None" access (page is not rendered at all) and some HTTP code constants + helper methods to get session data
Goffi <goffi@goffi.org>
parents:
917
diff
changeset
|
90 |
957
67bf14c91d5c
server (pages): added a confirm flag on successful post:
Goffi <goffi@goffi.org>
parents:
956
diff
changeset
|
91 ## Session flags ## |
1216 | 92 FLAG_CONFIRM = "CONFIRM" |
962 | 93 |
94 ## Data post ## | |
1216 | 95 POST_NO_CONFIRM = "POST_NO_CONFIRM" |
957
67bf14c91d5c
server (pages): added a confirm flag on successful post:
Goffi <goffi@goffi.org>
parents:
956
diff
changeset
|
96 |
931
8a393ae90f8c
server (pages): post requests are now handled:
Goffi <goffi@goffi.org>
parents:
922
diff
changeset
|
97 ## HTTP methods ## |
1216 | 98 HTTP_METHOD_GET = b"GET" |
99 HTTP_METHOD_POST = b"POST" | |
931
8a393ae90f8c
server (pages): post requests are now handled:
Goffi <goffi@goffi.org>
parents:
922
diff
changeset
|
100 |
922
16d1084d1371
server (pages): added "None" access (page is not rendered at all) and some HTTP code constants + helper methods to get session data
Goffi <goffi@goffi.org>
parents:
917
diff
changeset
|
101 ## HTTP codes ## |
956
dabecab10faa
server (pages): impleted CSRF protection:
Goffi <goffi@goffi.org>
parents:
934
diff
changeset
|
102 HTTP_SEE_OTHER = 303 |
1019
34240d08f682
pages: HTTP cache headers handling:
Goffi <goffi@goffi.org>
parents:
1005
diff
changeset
|
103 HTTP_NOT_MODIFIED = 304 |
922
16d1084d1371
server (pages): added "None" access (page is not rendered at all) and some HTTP code constants + helper methods to get session data
Goffi <goffi@goffi.org>
parents:
917
diff
changeset
|
104 HTTP_BAD_REQUEST = 400 |
16d1084d1371
server (pages): added "None" access (page is not rendered at all) and some HTTP code constants + helper methods to get session data
Goffi <goffi@goffi.org>
parents:
917
diff
changeset
|
105 HTTP_UNAUTHORIZED = 401 |
1173
0f37b65fe7c2
server: replaced wrong usage of C.HTTP_UNAUTHORIZED by C.HTTP_FORBIDDEN
Goffi <goffi@goffi.org>
parents:
1146
diff
changeset
|
106 HTTP_FORBIDDEN = 403 |
922
16d1084d1371
server (pages): added "None" access (page is not rendered at all) and some HTTP code constants + helper methods to get session data
Goffi <goffi@goffi.org>
parents:
917
diff
changeset
|
107 HTTP_NOT_FOUND = 404 |
934
a21fee7e30ee
server (constants): added HTTP_INTERNAL_ERROR and HTTP_SERVICE_UNAVAILABLE
Goffi <goffi@goffi.org>
parents:
931
diff
changeset
|
108 HTTP_INTERNAL_ERROR = 500 |
a21fee7e30ee
server (constants): added HTTP_INTERNAL_ERROR and HTTP_SERVICE_UNAVAILABLE
Goffi <goffi@goffi.org>
parents:
931
diff
changeset
|
109 HTTP_SERVICE_UNAVAILABLE = 503 |
985
64826e69f365
pages: cache mechanism, first draft:
Goffi <goffi@goffi.org>
parents:
964
diff
changeset
|
110 |
64826e69f365
pages: cache mechanism, first draft:
Goffi <goffi@goffi.org>
parents:
964
diff
changeset
|
111 ## Cache ## |
64826e69f365
pages: cache mechanism, first draft:
Goffi <goffi@goffi.org>
parents:
964
diff
changeset
|
112 CACHE_PUBSUB = 0 |
1019
34240d08f682
pages: HTTP cache headers handling:
Goffi <goffi@goffi.org>
parents:
1005
diff
changeset
|
113 |
34240d08f682
pages: HTTP cache headers handling:
Goffi <goffi@goffi.org>
parents:
1005
diff
changeset
|
114 ## Date/Time ## |
34240d08f682
pages: HTTP cache headers handling:
Goffi <goffi@goffi.org>
parents:
1005
diff
changeset
|
115 HTTP_DAYS = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") |
1127
9234f29053b0
server, pages: update to handle multi sites themes, first draft:
Goffi <goffi@goffi.org>
parents:
1124
diff
changeset
|
116 HTTP_MONTH = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", |
9234f29053b0
server, pages: update to handle multi sites themes, first draft:
Goffi <goffi@goffi.org>
parents:
1124
diff
changeset
|
117 "Nov", "Dec") |