OXIESEC PANEL
- Current Dir:
/
/
snap
/
core24
/
988
/
usr
/
lib
/
python3
/
dist-packages
/
netplan
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
π
..
-
05/04/2025 04:37:50 PM
rwxr-xr-x
π
__init__.py
2.91 KB
01/20/2025 06:19:16 PM
rw-r--r--
π
__pycache__
-
05/04/2025 04:37:50 PM
rwxr-xr-x
π
_netplan_cffi.abi3.so
87.42 KB
03/19/2025 10:40:11 AM
rw-r--r--
π
_utils.py
7.59 KB
01/20/2025 06:19:16 PM
rw-r--r--
π
netdef.py
13.38 KB
01/20/2025 06:19:16 PM
rw-r--r--
π
parser.py
2.46 KB
01/20/2025 06:19:16 PM
rw-r--r--
π
state.py
4.95 KB
01/20/2025 06:19:16 PM
rw-r--r--
Editing: parser.py
Close
# Copyright (C) 2023 Canonical, Ltd. # Author: Lukas MΓ€rdian <slyon@ubuntu.com> # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 3. # # This program 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 General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from enum import IntEnum from typing import Union, IO from ._netplan_cffi import ffi, lib from ._utils import _checked_lib_call class Flags(IntEnum): IGNORE_ERRORS = 1 << 0 class Parser(): def __init__(self): self._ptr = lib.netplan_parser_new() def __del__(self): ref = ffi.new('NetplanParser **', self._ptr) lib.netplan_parser_clear(ref) def load_yaml(self, input_file: Union[str, IO]): if isinstance(input_file, str): return _checked_lib_call(lib.netplan_parser_load_yaml, self._ptr, input_file.encode('utf-8')) else: return _checked_lib_call(lib.netplan_parser_load_yaml_from_fd, self._ptr, input_file.fileno()) def load_yaml_hierarchy(self, rootdir: str = None): root = rootdir.encode('utf-8') if rootdir else ffi.NULL return _checked_lib_call(lib.netplan_parser_load_yaml_hierarchy, self._ptr, root) def load_keyfile(self, input_file: str): # TODO: load from File/fd (i.e. input_file: Union[str, IO]) return _checked_lib_call(lib.netplan_parser_load_keyfile, self._ptr, input_file.encode('utf-8')) def load_nullable_fields(self, input_file: IO): return _checked_lib_call(lib.netplan_parser_load_nullable_fields, self._ptr, input_file.fileno()) def _load_nullable_overrides(self, input_file: IO, constraint: str): return _checked_lib_call(lib.netplan_parser_load_nullable_overrides, self._ptr, input_file.fileno(), constraint.encode('utf-8')) @property def flags(self) -> int: return lib.netplan_parser_get_flags(self._ptr) @flags.setter def flags(self, flags: int): _ = _checked_lib_call(lib.netplan_parser_set_flags, self._ptr, flags) @property def error_count(self) -> int: return lib.netplan_parser_get_error_count(self._ptr)