From: Vasek Sraier Date: Thu, 15 Apr 2021 11:59:39 +0000 (+0200) Subject: manager: parser validator: skipping internal fields when parsing dataclasses X-Git-Tag: v6.0.0a1~171 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=67e89d0dc373c88a61298d804f334a2bf897bef5;p=thirdparty%2Fknot-resolver.git manager: parser validator: skipping internal fields when parsing dataclasses --- diff --git a/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py b/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py index 40ff6b702..ccb261f3d 100644 --- a/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py +++ b/manager/knot_resolver_manager/utils/dataclasses_parservalidator.py @@ -126,6 +126,10 @@ def _from_dictlike_obj(cls: Any, obj: Any, default: Any, use_default: bool) -> A anot = cls.__dict__.get("__annotations__", {}) kwargs = {} for name, python_type in anot.items(): + # skip internal fields + if name.startswith("_"): + continue + value = obj[name] if name in obj else None use_default = hasattr(cls, name) default = getattr(cls, name, ...)