Skip to content

🏠 На главную | 🧭 Руководство (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.
  • Прослеживаемость: Позволяет легко фильтровать логи по задаче или воркеру в вашей системе управления логами.