🏠 На главную | 🧭 Руководство (RU) | 🛠️ Common API
🛠️ Common: Утилиты (Архитектура)
Этот раздел описывает общие утилиты, которые упрощают выполнение стандартных задач в экосистеме codex-core.
Цель домена
Домен common предоставляет коллекцию надежных, стандартизированных и независимых от фреймворка утилит для уменьшения дублирования кода и предотвращения ошибок в нескольких проектах.
1. Нормализация номеров телефонов
Стандартизированное форматирование номеров телефонов важно для связи и согласованности данных.
Особенности:
- Международная поддержка: Корректно обрабатывает префиксы
+49,0049и другие. - Локальные форматы: Автоматически преобразует локальные немецкие номера (начинающиеся на
0) в международный формат49. - Надежная очистка: Удаляет символы, не являющиеся цифрами, сохраняя при этом важную структуру.
from codex_core.common.phone import normalize_phone
# Выведет: "491511234567"
normalize_phone("0151 1234567")
normalize_phone("+49 151 1234567")
2. Нормализация имен
Утилита для корректного форматирования имен и фамилий, обеспечивающая согласованность в базах данных и сообщениях.
Ключевая логика:
- Коррекция регистра: Автоматически приводит имена к правильному регистру (например,
иван->Иван). - Составные имена: Корректно обрабатывает имена через дефис и пробел (например,
иванов-петров->Иванов-Петров). - Управление пробелами: Удаляет лишние пробелы, сохраняя необходимые разделители.
3. Структурированное логирование
Помощник TaskLogContext упрощает логирование для асинхронных воркеров и фоновых задач.
Преимущества:
- Автоматические поля: Добавляет имена
taskиworkerв каждую запись лога. - Совместимость: Бесшовно работает со стандартным
loggingи сторонними инструментами, такими какloguruи ELK. - Прослеживаемость: Позволяет легко фильтровать логи по задаче или воркеру в вашей системе управления логами.