Initial commit
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
"""Delivery channels: local file archive (always) + Telegram (when configured)."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import logging
|
||||
|
||||
from us2kr.config import Settings
|
||||
from us2kr.deliver.base import Deliverer, DeliveryError
|
||||
from us2kr.deliver.file import FileDeliverer
|
||||
from us2kr.deliver.telegram import TelegramDeliverer
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
__all__ = ["Deliverer", "DeliveryError", "FileDeliverer", "TelegramDeliverer", "build_deliverers"]
|
||||
|
||||
|
||||
def build_deliverers(settings: Settings) -> list[Deliverer]:
|
||||
"""FileDeliverer always; TelegramDeliverer when both token and chat id are configured."""
|
||||
deliverers: list[Deliverer] = [FileDeliverer(settings.reports_dir)]
|
||||
if settings.telegram_enabled:
|
||||
assert settings.telegram_bot_token and settings.telegram_chat_id # guaranteed by telegram_enabled
|
||||
deliverers.append(TelegramDeliverer(settings.telegram_bot_token, settings.telegram_chat_id))
|
||||
log.info("deliverers: %s", ", ".join(d.name for d in deliverers))
|
||||
return deliverers
|
||||
Reference in New Issue
Block a user