| 20 | |
| 21 | |
| 22 | class SettingsProxy: |
| 23 | def __init__(self, get_settings: typing.Callable[[], Settings]): |
| 24 | self._get_settings = get_settings |
| 25 | |
| 26 | def __getattr__(self, item: str) -> typing.Any: |
| 27 | global_settings = self._get_settings() |
| 28 | return getattr(global_settings, item) |
| 29 | |
| 30 | |
| 31 | settings: Settings = SettingsProxy(lambda: _settings) |