через переменные окружения.
Вопрос: ассерты на переменные окружения прописывать в этом же модуле?
То есть просто внизу пачка:
assert Config.system.a, "задайте а"
assert Config.system.b, "задайте б"
А зачем там ассерты?
А как проверять наличие переменных? Хочется чтобы система запускалась и если есть проблемы не просто "ой я не могу законнектится", а на этапе инициализации говорила о проблемах
1. Писать нормальные проверки и кидать свои исключения. Ассерты вообще могут питоном игнорироваться. Можно брать либы валидации 2. Что значит "наличие переменных"?
Хорошо, а где эти проверки отписывать? Ближе к логике использования? Условно система логинится к серверу через API. В переменные окружения выносится URL/username/password. config.py - формирует датакласс Config, которыц хранит значения этих переменных(на этапе инициализации там подставляются значения по умолчанию через os.environ) И вот где-то есть логика входа в систему. Как правильнее(и в каком месте) написать, мол assert Config.URL, "ты не задал url"
Проверки имеет смысл описать поближе к месту чтения конфига
if not hasattr(Config, ‘URL’): raise YourError(’Your text’)
Сорь, что влезаю, но модуль envparse помогает
Обсуждают сегодня