Mercurial > libervia-web
diff libervia/web/server/constants.py @ 1518:eb00d593801d
refactoring: rename `libervia` to `libervia.web` + update imports following backend changes
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 02 Jun 2023 16:49:28 +0200 |
parents | libervia/server/constants.py@b8ed9726525b |
children | 7941444c1671 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libervia/web/server/constants.py Fri Jun 02 16:49:28 2023 +0200 @@ -0,0 +1,138 @@ +#!/usr/bin/env python3 + +# Libervia: a SàT frontend +# Copyright (C) 2009-2021 Jérôme Poisson (goffi@goffi.org) + +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. + +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +from ..common import constants + + +class Const(constants.Const): + + APP_NAME = "Libervia Web" + APP_COMPONENT = "web" + APP_NAME_ALT = APP_NAME + APP_NAME_FILE = "libervia_web" + CONFIG_SECTION = APP_COMPONENT.lower() + # the Libervia profile that is used for public operations (when nobody is connected) + SERVICE_PROFILE = "libervia" + + SESSION_TIMEOUT = 7200 # Session's timeout, after that the user will be disconnected + HTML_DIR = "html/" + THEMES_DIR = "themes/" + THEMES_URL = "themes" + MEDIA_DIR = "media/" + CARDS_DIR = "games/cards/tarot" + PAGES_DIR = "pages" + TASKS_DIR = "tasks" + LIBERVIA_CACHE = "libervia" + SITE_NAME_DEFAULT = "default" + # generated files will be accessible there + BUILD_DIR = "__b" + BUILD_DIR_DYN = "dyn" + # directory where build files are served to the client + PRODUCTION_BUILD_DIR = "sites" + # directory used for files needed temporarily (e.g. for compiling other files) + DEV_BUILD_DIR = "dev_build" + + TPL_RESOURCE = '_t' + + ERRNUM_BRIDGE_ERRBACK = 0 # FIXME + ERRNUM_LIBERVIA = 0 # FIXME + + # Security limit for Libervia (get/set params) + SECURITY_LIMIT = 5 + + # Security limit for Libervia server_side + SERVER_SECURITY_LIMIT = constants.Const.NO_SECURITY_LIMIT + + # keys for cache values we can get from browser + ALLOWED_ENTITY_DATA = {"avatar", "nick"} + + STATIC_RSM_MAX_LIMIT = 100 + STATIC_RSM_MAX_DEFAULT = 10 + STATIC_RSM_MAX_COMMENTS_DEFAULT = 10 + + ## Libervia pages ## + PAGES_META_FILE = "page_meta.py" + PAGES_BROWSER_DIR = "_browser" + PAGES_BROWSER_META_FILE = "browser_meta.json" + PAGES_ACCESS_NONE = ( + "none" + ) # no access to this page (using its path will return a 404 error) + PAGES_ACCESS_PUBLIC = "public" + PAGES_ACCESS_PROFILE = ( + "profile" + ) # a session with an existing profile must be started + PAGES_ACCESS_ADMIN = "admin" # only profiles set in admins_list can access the page + PAGES_ACCESS_ALL = ( + PAGES_ACCESS_NONE, + PAGES_ACCESS_PUBLIC, + PAGES_ACCESS_PROFILE, + PAGES_ACCESS_ADMIN, + ) + # names of the page to use for menu + DEFAULT_MENU = [ + "login", + "chat", + "blog", + "forums", + "photos", + "files", + "calendar", + "events", + "lists", + "merge-requests", + "calls" + # XXX: app is not available anymore since removal of pyjamas code with Python 3 + # port. It should come back at a later point with an alternative (Brython + # probably). + ] + + ## Session flags ## + FLAG_CONFIRM = "CONFIRM" + + ## Data post ## + POST_NO_CONFIRM = "POST_NO_CONFIRM" + + ## HTTP methods ## + HTTP_METHOD_GET = b"GET" + HTTP_METHOD_POST = b"POST" + + ## HTTP codes ## + HTTP_SEE_OTHER = 303 + HTTP_NOT_MODIFIED = 304 + HTTP_BAD_REQUEST = 400 + HTTP_UNAUTHORIZED = 401 + HTTP_FORBIDDEN = 403 + HTTP_NOT_FOUND = 404 + HTTP_INTERNAL_ERROR = 500 + HTTP_PROXY_ERROR = 502 + HTTP_SERVICE_UNAVAILABLE = 503 + + ## HTTP HEADERS ## + H_FORWARDED = "Forwarded" + H_X_FORWARDED_FOR = "X-Forwarded-For" + H_X_FORWARDED_HOST = "X-Forwarded-Host" + H_X_FORWARDED_PROTO = "X-Forwarded-Proto" + + + ## Cache ## + CACHE_PUBSUB = 0 + + ## Date/Time ## + HTTP_DAYS = ("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun") + HTTP_MONTH = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", + "Nov", "Dec")