Ejemplo n.º 1
0
def merge_objs(*objs, ex=[], suffix=None):
    """
    合并对象
    :param objs:
    :param ex: 排除掉的字段
    :param suffix: 如果有重复字段则加这个作为后缀
    :return:
    """
    r = BaseObj()
    for obj in objs:
        for k, v in vars(obj).items():
            if not hasattr(r, k):
                setattr(r, k, v)
            elif k in ex:
                continue
            elif suffix:
                setattr(r, k + str(suffix), v)
    return r
Ejemplo n.º 2
0
    def convert_to_normal_obj(self, obj, is_convert_camel=False):
        """
        将pw对象转换成普通对象
        :param obj:
        :param is_convert_camel: 是否要转换成驼峰
        :return:
        """

        # class IterItems(BaseObj):
        #     def __init__(self, **kwargs):
        #         super(IterItems, self).__init__(**kwargs)
        #
        #     def __iter__(self):
        #         return self

        new_obj = BaseObj()

        for k, v in obj.__data__.items():
            # if k == 'order':
            #     k = k + '_id'
            if is_convert_camel:
                k = str_convert_to_camel(k, "_")
            setattr(new_obj, k, v)
        return new_obj
Ejemplo n.º 3
0
def to_obj(j):
    try:
        return BaseObj(**j)
    except Exception as e:
        return j