From: Aleš Mrázek Date: Fri, 9 Feb 2024 15:04:07 +0000 (+0100) Subject: modeling: parsing: data dump from instances of class 'Renamed' X-Git-Tag: v6.0.7~23^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b5b10e753491fee2283b3636b378e91082486bb0;p=thirdparty%2Fknot-resolver.git modeling: parsing: data dump from instances of class 'Renamed' --- diff --git a/manager/knot_resolver_manager/utils/modeling/parsing.py b/manager/knot_resolver_manager/utils/modeling/parsing.py index e33cca3a1..aaac68077 100644 --- a/manager/knot_resolver_manager/utils/modeling/parsing.py +++ b/manager/knot_resolver_manager/utils/modeling/parsing.py @@ -7,7 +7,7 @@ from yaml.constructor import ConstructorError from yaml.nodes import MappingNode from .exceptions import DataParsingError -from .renaming import renamed +from .renaming import Renamed, renamed # custom hook for 'json.loads()' to detect duplicate keys in data @@ -63,11 +63,14 @@ class DataFormat(Enum): else: raise NotImplementedError(f"Parsing of format '{self}' is not implemented") - def dict_dump(self, data: Dict[str, Any]) -> str: + def dict_dump(self, data: Union[Dict[str, Any], Renamed], indent: Optional[int] = None) -> str: + if isinstance(data, Renamed): + data = data.original() + if self is DataFormat.YAML: - return yaml.safe_dump(data) # type: ignore + return yaml.safe_dump(data, indent=indent) # type: ignore elif self is DataFormat.JSON: - return json.dumps(data) + return json.dumps(data, indent=indent) else: raise NotImplementedError(f"Exporting to '{self}' format is not implemented")