def _post_process_dict(self, dict_val):
if dict_val is None:
return
for key, value in tuple(dict_val.items()):
if value is None:
continue
if isinstance(value, Summarizable):
dict_val[key] = value = value.summarize()
if isinstance(value, dict):
self._post_process_dict(value)
elif (
isinstance(value, Sequence) and
len(value) > 0 and
all(
val is None or isinstance(val, dict)
for val in value)):
for val in value:
self._post_process_dict(val)
else:
if isinstance(value, Const):
dict_val[key] = value = value.value
self._post_process_other(dict_val, key, value)
评论列表
文章目录