split off requests and env handling

This commit is contained in:
2026-01-02 16:30:29 +01:00
parent da494835cb
commit 0407393eda
3 changed files with 63 additions and 49 deletions
+24
View File
@@ -0,0 +1,24 @@
from dataclasses import dataclass
from os import environ
@dataclass
class EnvVar:
"""
Environment Variable fetcher for use in dataclass ``field(default_factory=...)``
>>> @dataclass
>>> class SomeDataclass:
... field_name: str = field(default_factory=EnvVar("SOME_VAR_NAME", "err msg"))
"""
var_name: str
err_msg: str = ""
def __call__(self) -> str:
try:
return environ[self.var_name]
except KeyError as e:
e.add_note(self.err_msg)
raise