Основная функция модуля, предназначенная для преобразования содержимого объекта класса WebHook в текстовое сообщение типа string
Параметры функции:
payload: объект классаWebhook, передаваемый для формирования сообщения,lang: объект типаstring- строка, содержащая “ключ” языка для выбора соответствующего шаблона при подготовке строки.
Результат работы функции:
- возвращает объект типа
string, содержащий информацию, извлеченную из объекта классаWebhook, в соответствии с заранее определенными шаблонами
Исключения:
MessageFormatterError: вызывается, для указанного сочетанияtype,actionне найден шаблон обработки.
Алгоритм работы функции:
Функция получает шаблон формирования сообщения (см.подробности) в соответствии со значениями атрибутов: type, action, переданного в функцию аргумента объекта класса Webhook.
Если шаблон для указанного сочетания type, action не найден, выполнение функции прерывается и вызывается исключение MessageFormatterError.
Если шаблон найден, производится перебор полей внутри шаблона, каждое из которых передается в функцию get_string для формирования строк текста. Поля и группы полей в шаблоне, соединяются через оператор переноса строки в итоговое текстовое сообщение, формируя вывод вида:
🆕 Событие: Создание объекта.
📌 Объект события: 🎯 Спринт: "Test sprint". URL: http://domain.com/...
📂 Проект: "Test project".
🕒 Время события: 00:00 01.01.2000
👤 Инициатор: Admin
⏳ Дедлайн: 2000-02-01
Отдельные поля в переданном объекте Webhook могут иметь значение null или false. В этом случае результатом вызова функции get_string будет пустая строка, которая игнорируется и не участвует в формировании итогового сообщения.
Пример вызова функции:
from src.utils.msg_formatter_utils import get_message
...
message = get_message(payload=webhook_object, lang="en")