jstraitlets.py 文件源码

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

项目:schemapi 作者: altair-viz 项目源码 文件源码
def clsvisit_JSONHasTraits(self, cls, dct, *args, **kwargs):
        try:
            obj = cls()
        except TypeError:  # Argument missing
            obj = cls('')
        additional_traits = cls._get_additional_traits()

        # Extract all other items, assigning to appropriate trait
        reverse_name_map = {v:k for k, v in obj._trait_name_map.items()}
        for schema_key, val in dct.items():
            if schema_key in obj._metadata:
                obj._metadata[schema_key] = val
            else:
                trait_key = reverse_name_map.get(schema_key, schema_key)
                subtrait = obj.traits().get(trait_key, additional_traits)
                if not subtrait:
                    raise T.TraitError("trait {0} not valid in class {1}"
                                       "".format(trait_key, cls))
                obj.set_trait(trait_key,
                              self.visit(subtrait, val, *args, **kwargs))

        return obj
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号