From bf4b08ea2c204a45295d2a34a88e6e4c03cf6328 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Mon, 4 Aug 2025 20:06:34 -0500 Subject: T7688: allow relative paths in save_config --- python/vyos/vyconf_session.py | 1 + 1 file changed, 1 insertion(+) (limited to 'python') diff --git a/python/vyos/vyconf_session.py b/python/vyos/vyconf_session.py index 3cf5fb4e3..6de10c468 100644 --- a/python/vyos/vyconf_session.py +++ b/python/vyos/vyconf_session.py @@ -223,6 +223,7 @@ class VyconfSession: @raise_exception def save_config(self, file: str, append_version: bool = False) -> tuple[str, int]: + file = os.path.realpath(file) out = vyconf_client.send_request('save', token=self.__token, location=file) if append_version: append_system_version(file) -- cgit v1.2.3 From 497d139a361777dd5e70bd1b4fea2d77c1a59f81 Mon Sep 17 00:00:00 2001 From: John Estabrook Date: Mon, 4 Aug 2025 20:07:08 -0500 Subject: T7688: owner of vyconf_session calls teardown --- python/vyos/configsource.py | 7 +++++++ python/vyos/vyconf_session.py | 4 ---- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'python') diff --git a/python/vyos/configsource.py b/python/vyos/configsource.py index 949216722..24a17c711 100644 --- a/python/vyos/configsource.py +++ b/python/vyos/configsource.py @@ -354,6 +354,13 @@ class ConfigSourceVyconfSession(ConfigSource): # cf. T7374 self._level = [] + def __del__(self): + try: + if not self._vyconf_session.in_session(): + self._vyconf_session.teardown() + except AttributeError: + pass + def get_level(self): return self._level diff --git a/python/vyos/vyconf_session.py b/python/vyos/vyconf_session.py index 6de10c468..4b79073ab 100644 --- a/python/vyos/vyconf_session.py +++ b/python/vyos/vyconf_session.py @@ -67,10 +67,6 @@ class VyconfSession: self.on_error = on_error - def __del__(self): - if not self.in_config_session: - self.teardown() - def teardown(self): vyconf_client.send_request('teardown', token=self.__token) -- cgit v1.2.3