| | |
| | """Collects all file transmitters.""" |
| |
|
| | from .local_file_transmitter import LocalFileTransmitter |
| | from .dummy_file_transmitter import DummyFileTransmitter |
| |
|
| | __all__ = ['build_file_transmitter'] |
| |
|
| | _TRANSMITTERS = { |
| | 'local': LocalFileTransmitter, |
| | 'dummy': DummyFileTransmitter, |
| | } |
| |
|
| |
|
| | def build_file_transmitter(transmitter_type='local', **kwargs): |
| | """Builds a file transmitter. |
| | |
| | Args: |
| | transmitter_type: Type of the file transmitter_type, which is case |
| | insensitive. (default: `normal`) |
| | **kwargs: Additional arguments to build the file transmitter. |
| | |
| | Raises: |
| | ValueError: If the `transmitter_type` is not supported. |
| | """ |
| | transmitter_type = transmitter_type.lower() |
| | if transmitter_type not in _TRANSMITTERS: |
| | raise ValueError(f'Invalid transmitter type: `{transmitter_type}`!\n' |
| | f'Types allowed: {list(_TRANSMITTERS)}.') |
| | return _TRANSMITTERS[transmitter_type](**kwargs) |
| |
|