diff libervia/frontends/quick_frontend/constants.py @ 4074:26b7ed2817da

refactoring: rename `sat_frontends` to `libervia.frontends`
author Goffi <goffi@goffi.org>
date Fri, 02 Jun 2023 14:12:38 +0200
parents sat_frontends/quick_frontend/constants.py@4b842c1fb686
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libervia/frontends/quick_frontend/constants.py	Fri Jun 02 14:12:38 2023 +0200
@@ -0,0 +1,120 @@
+#!/usr/bin/env python3
+
+
+# Primitivus: a SAT 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 libervia.backend.core import constants
+from libervia.backend.core.i18n import _
+from collections import OrderedDict  # only available from python 2.7
+
+
+class Const(constants.Const):
+
+    PRESENCE = OrderedDict(
+        [
+            ("", _("Online")),
+            ("chat", _("Free for chat")),
+            ("away", _("Away from keyboard")),
+            ("dnd", _("Do not disturb")),
+            ("xa", _("Extended away")),
+        ]
+    )
+
+    # from plugin_misc_text_syntaxes
+    SYNTAX_XHTML = "XHTML"
+    SYNTAX_CURRENT = "@CURRENT@"
+    SYNTAX_TEXT = "text"
+
+    # XMLUI
+    SAT_FORM_PREFIX = "SAT_FORM_"
+    SAT_PARAM_SEPARATOR = "_XMLUI_PARAM_"  # used to have unique elements names
+    XMLUI_STATUS_VALIDATED = "validated"
+    XMLUI_STATUS_CANCELLED = constants.Const.XMLUI_DATA_CANCELLED
+
+    # Roster
+    CONTACT_GROUPS = "groups"
+    CONTACT_RESOURCES = "resources"
+    CONTACT_MAIN_RESOURCE = "main_resource"
+    CONTACT_SPECIAL = "special"
+    CONTACT_SPECIAL_GROUP = "group"  # group chat special entity
+    CONTACT_SELECTED = "selected"
+    # used in handler to track where the contact is coming from
+    CONTACT_PROFILE = "profile"
+    CONTACT_SPECIAL_ALLOWED = (CONTACT_SPECIAL_GROUP,)  # allowed values for special flag
+    # set of forbidden names for contact data
+    CONTACT_DATA_FORBIDDEN = {
+        CONTACT_GROUPS,
+        CONTACT_RESOURCES,
+        CONTACT_MAIN_RESOURCE,
+        CONTACT_SELECTED,
+        CONTACT_PROFILE,
+    }
+
+    # Chats
+    CHAT_STATE_ICON = {
+        "": " ",
+        "active": "✔",
+        "inactive": "☄",
+        "gone": "✈",
+        "composing": "✎",
+        "paused": "…",
+    }
+
+    # Blogs
+    ENTRY_MODE_TEXT = "text"
+    ENTRY_MODE_RICH = "rich"
+    ENTRY_MODE_XHTML = "xhtml"
+
+    # Widgets management
+    # FIXME: should be in quick_frontend.constant, but Libervia doesn't inherit from it
+    WIDGET_NEW = "NEW"
+    WIDGET_KEEP = "KEEP"
+    WIDGET_RAISE = "RAISE"
+    WIDGET_RECREATE = "RECREATE"
+
+    # Updates (generic)
+    UPDATE_DELETE = "DELETE"
+    UPDATE_MODIFY = "MODIFY"
+    UPDATE_ADD = "ADD"
+    UPDATE_SELECTION = "SELECTION"
+    # high level update (i.e. not item level but organisation of items)
+    UPDATE_STRUCTURE = "STRUCTURE"
+
+    LISTENERS = {
+        "avatar",
+        "nicknames",
+        "presence",
+        "selected",
+        "notification",
+        "notificationsClear",
+        "widgetNew",
+        "widgetDeleted",
+        "profile_plugged",
+        "contactsFilled",
+        "disconnect",
+        "gotMenus",
+        "menu",
+        "progress_finished",
+        "progress_error",
+    }
+
+    # Notifications
+    NOTIFY_MESSAGE = "MESSAGE"  # a message has been received
+    NOTIFY_MENTION = "MENTION"  # user has been mentionned
+    NOTIFY_PROGRESS_END = "PROGRESS_END"  # a progression has finised
+    NOTIFY_GENERIC = "GENERIC"  # a notification which has not its own type
+    NOTIFY_ALL = (NOTIFY_MESSAGE, NOTIFY_MENTION, NOTIFY_PROGRESS_END, NOTIFY_GENERIC)