GPQBot

Форк
0
/
strings.py 
109 строк · 4.4 Кб
1
from typing import Any, Protocol, cast
2

3
from mako.lookup import TemplateLookup
4

5

6
class FormatTemplate(Protocol):
7
    """
8
    Protocol for correct templates typing.
9

10
    Allow use format() instead of render() method that needed to maintain consistency
11
    with regular string formatting.
12
    """
13

14
    def format(self, **kwargs: Any) -> str:  # noqa: WPS125 A003
15
        """Render template."""
16

17

18
class TemplateFormatterLookup(TemplateLookup):
19
    """Represent a collection of templates from the local filesystem."""
20

21
    def get_template(self, uri: str) -> FormatTemplate:
22
        """Cast default mako template to FormatTemplate."""
23

24
        def _format(**kwargs: Any) -> str:  # noqa: WPS430
25
            return template.render(**kwargs).rstrip()
26

27
        template = super().get_template(uri)
28
        template.format = _format  # noqa: WPS125
29
        return cast(FormatTemplate, template)
30

31

32
lookup = TemplateFormatterLookup(
33
    directories=["app/resources/templates"],
34
    input_encoding="utf-8",
35
    strict_undefined=True,
36
)
37

38
BOT_PROJECT_NAME = "gpq-bot"
39
BOT_DISPLAY_NAME = "GPQBot"
40

41
INPUT_FIDBACK = "Запись выполнена"
42
FIDBACK_SUB = "Укажите свою площадку ПТЛ, ТП, ЗП"
43
FIDBACK_DIV = "Укажите свое подразделение (Цех)"
44
FIDBACK_TEXT = "Укажите выше предложение или замечание"
45

46
CANCEL_COMMAND = "CANCEL"
47
CANCEL_TASK_COMMAND = "NO"
48
CONFIRM_TASK_COMMAND = "YES"
49
CHAT_CREATED_TEMPLATE = lookup.get_template("chat_created.txt.mako")
50
INPUT_TASK_TITLE = "Введите название задачи:"
51
FILE_NOT_DESCRIPTION = "Чтобы указать **описание** задачи, введите его **текстом**"
52
FILE_NOT_TITLE = "Чтобы указать **название** задачи, введите его **текстом**"
53
HELP_COMMAND_MESSAGE_TEMPLATE = lookup.get_template("help.txt.mako")
54
HELP_COMMAND_DESCRIPTION = "Показать список команд"
55
HELP_LABEL = "/help"
56
INCORRECT_CONTACT = "Вы некорректно отметили коллегу. Пожалуйста, укажите **только одного** пользователя **через @@**"
57
LIST_TASKS_LABEL = "Показать список задач"
58
NEXT_PAGE_LABEL_TEMPLATE = lookup.get_template("forward.txt.mako")
59
PREV_PAGE_LABEL_TEMPLATE = lookup.get_template("back.txt.mako")
60
SKIP_COMMAND = "SKIP"
61
TASK_APPROVE_TEMPLATE = lookup.get_template("task_approve.txt.mako")
62
TASK_STATUS_TEMPLATE = lookup.get_template("status.txt.mako")
63
TASKS_NUM_TEMPLATE = lookup.get_template("tasks_num.txt.mako")
64
WITHOUT_FILE = (
65
    "Вы не прикрепили файл к сообщению. Прикрепите файл или пропустите этот шаг."
66
)
67

68
MAIN_MENU = "\n".join(
69
    [
70
        "Я чат-бот GPTQBot и ты в главном меню",
71
        "Раздел статистика КН и АИК покажет количество отклонений по интересующему цеху",
72
        "Обратная связь - здесь можно указать свои пожелания, вопросы к дирекции качества",
73
    ]
74
)
75

76
SUCCESS_FIDBACK = "Запись успешно создана!"
77
DIVISION = "Укажите свое подразделение"
78
SUBDIVISION = "Укажите вашу площадку"
79
RETURN_BACK = "Вернуться назад"
80

81
# Warnings
82
OTHER_CTS_WARNING = "\n".join(
83
    [
84
        "Данный бот зарегистрирован на другом CTS.",
85
        "Обратитесь к администратору, чтобы он зарегистрировал бота на вашем CTS",
86
    ]
87
)
88

89

90
OTHER_CTS_WITH_BOT_MENTION_WARNING = "\n".join(
91
    [
92
        "Данный бот зарегистрирован на другом CTS.",
93
        "Перейдите по `меншну`, чтобы попасть к вашему боту",
94
    ]
95
)
96

97
SOMETHING_GOES_WRONG = "\n".join(
98
    [
99
        "При обработке сообщения или нажатия на кнопку произошла непредвиденная ошибка.",
100
        "Пожалуйста, сообщите об этом вашему администратору бота.",
101
    ]
102
)
103

104
DEFAULT_MESSAGE = "\n\n".join(
105
    [
106
        "К сожалению, я не знаю данной команды.",
107
        "Для дальнейшей работы вернитесь в главное меню",
108
    ]
109
)

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.