"vscode:/vscode.git/clone" did not exist on "ee29e1162f1a87683f4164ef193ffbbc1dd3a243"
Commit 674611e9 authored by Baber's avatar Baber
Browse files

serialize better

parent 57adbd35
...@@ -357,20 +357,11 @@ class TaskConfig(dict): ...@@ -357,20 +357,11 @@ class TaskConfig(dict):
return setattr(self, item, value) return setattr(self, item, value)
def to_dict(self, keep_callable: bool = False) -> dict: def to_dict(self, keep_callable: bool = False) -> dict:
"""Return a printable dict with Nones stripped and callables serialised. def _ser(x):
if isinstance(x, dict):
:return: dict return {k: _ser(v) for k, v in x.items()}
A printable dictionary version of the TaskConfig object. if isinstance(x, (list, tuple, set)):
""" return type(x)(_ser(i) for i in x)
return maybe_serialize(x, keep_callable)
cfg = asdict(self)
return { return {k: _ser(v) for k, v in asdict(self).items() if v is not None}
k: [
{mk: maybe_serialize(mv, keep_callable) for mk, mv in md.items()}
for md in v
]
if k == "metric_list"
else maybe_serialize(v)
for k, v in cfg.items()
if v is not None
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment