diff --git a/apps/utils/tools.py b/apps/utils/tools.py index a983b7c..a95e729 100755 --- a/apps/utils/tools.py +++ b/apps/utils/tools.py @@ -9,6 +9,7 @@ import requests from io import BytesIO from rest_framework.serializers import ValidationError import ast +from typing import Dict class CodeAnalyzer(ast.NodeVisitor): def __init__(self): @@ -322,4 +323,17 @@ def build_tree_from_list(data, parent_field="parent"): else: tree.append(item) - return tree \ No newline at end of file + return tree + +def convert_ordereddict(item): + """递归地将 OrderedDict 转换为普通字典""" + if isinstance(item, list): + return [convert_ordereddict(i) for i in item] # 递归处理列表中的每个元素 + elif isinstance(item, dict): + # 如果是 OrderedDict 或普通字典,遍历所有键值对进行转换 + return {key: convert_ordereddict(value) for key, value in item.items()} + return item + +def update_dict(d, update_data:Dict) -> Dict: + d.update(update_data) + return d