diff options
author | John Estabrook <jestabro@vyos.io> | 2024-06-07 22:06:56 -0500 |
---|---|---|
committer | John Estabrook <jestabro@vyos.io> | 2024-06-10 22:48:55 -0500 |
commit | 1a164852d2cb4cb8db80274d8b1fba90854e9b20 (patch) | |
tree | 59c32f2ce9c04d153316898ce08ca4766033541b /python/vyos/utils | |
parent | 3f931cca3c5dac40a2ea097caf323a05b3e45ca0 (diff) | |
download | vyos-1x-1a164852d2cb4cb8db80274d8b1fba90854e9b20.tar.gz vyos-1x-1a164852d2cb4cb8db80274d8b1fba90854e9b20.zip |
op-mode: T6471: add optimized get_config_dict
Diffstat (limited to 'python/vyos/utils')
-rw-r--r-- | python/vyos/utils/dict.py | 7 | ||||
-rw-r--r-- | python/vyos/utils/error.py | 24 |
2 files changed, 31 insertions, 0 deletions
diff --git a/python/vyos/utils/dict.py b/python/vyos/utils/dict.py index d36b6fcfb..062ab9c81 100644 --- a/python/vyos/utils/dict.py +++ b/python/vyos/utils/dict.py @@ -307,6 +307,13 @@ def dict_to_paths(d: dict) -> list: for r in func(d, []): yield r +def embed_dict(p: list[str], d: dict) -> dict: + path = p.copy() + ret = d + while path: + ret = {path.pop(): ret} + return ret + def check_mutually_exclusive_options(d, keys, required=False): """ Checks if a dict has at most one or only one of mutually exclusive keys. diff --git a/python/vyos/utils/error.py b/python/vyos/utils/error.py new file mode 100644 index 000000000..8d4709bff --- /dev/null +++ b/python/vyos/utils/error.py @@ -0,0 +1,24 @@ +# Copyright 2024 VyOS maintainers and contributors <maintainers@vyos.io> +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License, or (at your option) any later version. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this library. If not, see <http://www.gnu.org/licenses/>. + +from enum import IntEnum + +class cli_shell_api_err(IntEnum): + """ vyatta-cfg/src/vyos-errors.h """ + VYOS_SUCCESS = 0 + VYOS_GENERAL_FAILURE = 1 + VYOS_INVALID_PATH = 2 + VYOS_EMPTY_CONFIG = 3 + VYOS_CONFIG_PARSE_ERROR = 4 |