summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2025-08-05 09:55:07 -0500
committerGitHub <noreply@github.com>2025-08-05 09:55:07 -0500
commit8b9eabd3b636ab5bc1542843f265718c2e245baf (patch)
treefd9442397f96bb5b956e77dec88746a0b3eb06ee /python
parentb9743a6fb473400a8ded6543c37c018389f626a5 (diff)
parent3a502631ede8e1c841f9f40424dad21fb514f504 (diff)
downloadvyos-1x-8b9eabd3b636ab5bc1542843f265718c2e245baf.tar.gz
vyos-1x-8b9eabd3b636ab5bc1542843f265718c2e245baf.zip
Merge pull request #4646 from jestabro/fix-delete-paths
T7688: minor fixes related to management of delete paths
Diffstat (limited to 'python')
-rw-r--r--python/vyos/configsource.py7
-rw-r--r--python/vyos/vyconf_session.py5
2 files changed, 8 insertions, 4 deletions
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 3cf5fb4e3..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)
@@ -223,6 +219,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)