Основная функция модуля, предназначенная для преобразования содержимого объекта класса 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")