| 14 | |
| 15 | |
| 16 | class SplitNamespace(argparse.Namespace): |
| 17 | def __init__(self, standard_namespace: object, alt_namespace: object, alt_prefix: str) -> None: |
| 18 | self.__dict__["_standard_namespace"] = standard_namespace |
| 19 | self.__dict__["_alt_namespace"] = alt_namespace |
| 20 | self.__dict__["_alt_prefix"] = alt_prefix |
| 21 | |
| 22 | def _get(self) -> tuple[Any, Any]: |
| 23 | return (self._standard_namespace, self._alt_namespace) |
| 24 | |
| 25 | def __setattr__(self, name: str, value: Any) -> None: |
| 26 | if name.startswith(self._alt_prefix): |
| 27 | setattr(self._alt_namespace, name[len(self._alt_prefix) :], value) |
| 28 | else: |
| 29 | setattr(self._standard_namespace, name, value) |
| 30 | |
| 31 | def __getattr__(self, name: str) -> Any: |
| 32 | if name.startswith(self._alt_prefix): |
| 33 | return getattr(self._alt_namespace, name[len(self._alt_prefix) :]) |
| 34 | else: |
| 35 | return getattr(self._standard_namespace, name) |
no outgoing calls
no test coverage detected
searching dependent graphs…