| 74 | |
| 75 | |
| 76 | class Config: |
| 77 | def __init__( |
| 78 | self, |
| 79 | path: str, |
| 80 | defaults: Optional[Dict[str, Any]] = None, |
| 81 | ) -> None: |
| 82 | self.path = path |
| 83 | self.defaults = defaults or {} |
| 84 | self._data = load_config(self.path, self.defaults) |
| 85 | |
| 86 | def get(self, key: str, default: Any = None) -> Any: |
| 87 | return self._data.get(key, default) |
| 88 | |
| 89 | def __getitem__(self, key: str) -> Any: |
| 90 | return self._data[key] |
| 91 | |
| 92 | def reload(self, path: Optional[str] = None) -> None: |
| 93 | if path is not None: |
| 94 | self.path = path |
| 95 | self._data = load_config(self.path, self.defaults) |
| 96 | |
| 97 | |
| 98 | class BaseThread(threading.Thread): |
no outgoing calls
no test coverage detected