Исходный код core.exceptions
"""Исключения клиента.
Служат не для всплытия наверх, а для выбора дальнейшей судьбы файлов
наблюдения: удалить, переместить в ``complete`` или отложить в
``incomplete`` до повторной отправки.
"""
[документация]
class ObservationNotFoundError(Exception):
"""Портал ответил 404: наблюдение удалено на его стороне.
Отправка прекращается. С первой попытки данные не удаляются — файлы
откладываются в ``incomplete``; удаляет директорию только повторная
отправка, получившая 404 второй раз.
"""
[документация]
class FileNotUploadedError(Exception):
"""Файл выгрузить не удалось: сеть, таймаут или ошибка портала.
Файл переезжает в ``incomplete`` и будет отправлен повторно.
"""
[документация]
class FileRejectedError(FileNotUploadedError):
"""Портал ответил 400: файл отвергнут, те же байты получат тот же ответ.
Подкласс ``FileNotUploadedError``, поэтому первый отказ ведёт себя как
любая ошибка выгрузки — файл ложится в ``incomplete``. Закрывает его, как и
второй 404, только повторная отправка, получившая 400 ещё раз.
"""
[документация]
class NoSessionParametersError(Exception):
"""Сессия связи запущена без параметров пролёта."""
[документация]
class RotatorPositionError(Exception):
"""Не удалось получить или задать положение поворотного устройства."""
[документация]
class EquipmentConnectionError(Exception):
"""Hamlib не смог открыть соединение с приёмником или ротатором.
Hamlib возвращает коды ошибок, а не исключения: без явной проверки
неудачный ``open()`` невидим, а все последующие команды становятся тихим
no-op. Сессия связи ловит это исключение и не начинает проход.
"""
[документация]
class NoCompatibleRxDeviceError(Exception):
"""Ни один приёмник не подходит под частоту прохода.
Наблюдение не начинается; см. ``OBSERVATION__SOAPY_RX_DEVICE``.
"""
[документация]
class EmptyWaterfallError(Exception):
"""Файл водопада прочитан, но не содержит отсчётов."""
[документация]
class WaterfallFileError(Exception):
"""Файл водопада не найден или не читается."""
[документация]
class TimestampError(Exception):
"""Метка времени в файле водопада не разобрана."""