Includes: API (Express/TypeScript), Astro site, Python workers, document generators, FCC compliance tools, Canada CRTC formation, Ansible infrastructure, and deployment scripts. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
28 lines
920 B
Python
28 lines
920 B
Python
"""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",
|
|
]
|