|
|
|
@ -3,20 +3,22 @@ from ssh_config_utils.parser import CamelCase_to_snake, KEYWORDS_LOWER_TRANSLATE |
|
|
|
|
|
|
|
|
|
|
|
class Host: |
|
|
|
__ignore__ = {"aliases", "name", "options", "parent"} |
|
|
|
|
|
|
|
def __init__(self, name: str, options): |
|
|
|
self.parent = None |
|
|
|
self.options = options |
|
|
|
self.name = name |
|
|
|
self.options = options |
|
|
|
self.parent = None |
|
|
|
|
|
|
|
def __getattr__(self, name): |
|
|
|
|
|
|
|
if name in {"name", "options"}: |
|
|
|
if name in Host.__ignore__: |
|
|
|
return super().__getattribute__(name) |
|
|
|
return self.options[name] |
|
|
|
|
|
|
|
def __setattr__(self, name, value): |
|
|
|
|
|
|
|
if name in {"options", "name"}: |
|
|
|
if name in Host.__ignore__: |
|
|
|
super().__setattr__(name, value) |
|
|
|
else: |
|
|
|
|
|
|
|
|