Исходный код 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): """Метка времени в файле водопада не разобрана."""