Повтор на всё подряд
Декоратор retry(times) повторяет вызов функции при сбое. С ним две проблемы:
он повторяет даже ошибки данных (ValueError), которые никогда не пройдут, а когда попытки
кончаются — молча возвращает None. Исправьте декоратор: повторяется только ConnectionError,
остальные ошибки сразу уходят наружу, а после последней неудачной попытки наружу уходит
последняя ConnectionError.
Подсказка 1 из 2
Ловите только ConnectionError — остальное пролетит само.
Подсказка 2 из 2
На последней попытке перевыбросьте ошибку голым raise.