С одним из модулей, которые я сейчас использую ( astroplan ), он должен загрузить таблицу IERS, чтобы время в объектах Observer было точным. (Я использую его для тренировки времени восхода / захода солнца и т. Д.). Проблема в том, что через 14 дней или около того таблица становится устаревшей, и необходимо загрузить новую. Если таблица устарела, при импорте модуля выдается предупреждение OldEarthOrientationDataWarning .
Что я хотел бы сделать, так это определить, возникло ли предупреждение, и обновить таблицу, если есть предупреждение.
Обычно модуль импортируется с использованием:
>>> from astroplan import Observer
Я знаю, как обновить таблицу вручную, используя:
>>> from astroplan import download_IERS_A
>>> download_IERS_A()
>>> from astroplan import Observer
Я также знаю, что в Python есть модуль warnings , из которого я думаю, что функция catch_warnings - это то, что мне нужно использовать. Есть довольно много примеров того, как заставить код игнорировать предупреждения об устаревании, но я не хочу скрывать предупреждение. Я просто не могу понять, как это сделать, чтобы я делал то, что хочу.
Я использую Python 3, и мне нужен код для работы на машинах UNIX.
Любая помощь будет оценена, спасибо.