utils.py 文件源码

python
阅读 16 收藏 0 点赞 0 评论 0

项目:pyoozie 作者: Shopify 项目源码 文件源码
def xml_to_comparable_dict(xml):

    def _sort_key(value):
        """Recursively sort lists embedded within dicts."""
        if hasattr(value, 'items'):
            return six.text_type(sorted([(k, _sort_key(v)) for k, v in value.items()]))
        elif isinstance(value, (tuple, set, list)):
            return six.text_type(sorted(value, key=_sort_key))
        else:
            return six.text_type(value)

    def _unorder(value):
        """Convert from a `collections.OrderedDict` to a `dict` with predictably sorted lists."""
        if hasattr(value, 'items'):
            return {k: _unorder(v) for k, v in value.items()}
        elif isinstance(value, (tuple, set, list)):
            return sorted(tuple(_unorder(v) for v in value), key=_sort_key)
        else:
            return value

    return _unorder(xmltodict.parse(xml))
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号