"""Generic CDR transport adapters (pull side). Used when the customer's profile has ``switch_preset IS NULL`` — i.e. they picked "Other (configure manually)" in the portal. Switch-specific pulls go through ``scripts.workers.cdr_presets`` instead; those may internally reuse these transport classes for their mechanics. """ from .base import BaseTransport, RemoteFile from .sftp_transport import SFTPTransport from .ftp_transport import FTPTransport from .ftps_transport import FTPSTransport from .https_transport import HTTPSTransport from .s3_transport import S3Transport TRANSPORTS: dict[str, type[BaseTransport]] = { "sftp": SFTPTransport, "ftp": FTPTransport, "ftps": FTPSTransport, "https": HTTPSTransport, "s3": S3Transport, } __all__ = [ "BaseTransport", "RemoteFile", "TRANSPORTS", "SFTPTransport", "FTPTransport", "FTPSTransport", "HTTPSTransport", "S3Transport", ]