from _xhr_tool._annotate import singleObj


@singleObj
class DataUtils:
    def datasHandle(self,func=lambda x:x,datas=[]):
        """
        类似于map函数。会对datas的数据集合，进行func的方法处理
        :param func:
        :param datas:
        :return:
        """
        return list(map(func,datas))

    def datasChange(self,items):
        """
         转换前items数据:
        {'产品型号': ['10-65-25-涤纶长丝/涤纶长丝-聚氨酯(主型)', '8-65-25-涤纶长丝/涤纶长丝-聚氨酯(主型)'],'公司名称': ['认证委托人 ：福建省广龙消防阀门有限公司', '认证委托人 ：福建省广龙消防阀门有限公司'],'准入状态': ['有效', '有效']}

        转换后items数据:
        [{'产品型号': '10-65-25-涤纶长丝/涤纶长丝-聚氨酯(主型)', '公司名称': '认证委托人 ：福建省广龙消防阀门有限公司', '准入状态': '有效'},{'产品型号': '8-65-25-涤纶长丝/涤纶长丝-聚氨酯(主型)', '公司名称': '认证委托人 ：福建省广龙消防阀门有限公司', '准入状态': '有效'}]

        :param items:数据。
        :return:{}
        """
        arr=[]
        keys = items.keys()
        i = -1
        while True:
            i = i + 1
            item = {}
            try:
                for key in keys:
                    item.setdefault(key, items[key][i])
            except IndexError:
                break
            arr.append(item)
        return arr

if __name__ == '__main__':
    obj = {'产品型号': ['10-65-25-涤纶长丝/涤纶长丝-聚氨酯(主型)', '8-65-25-涤纶长丝/涤纶长丝-聚氨酯(主型)', '25-65-20-聚乙烯纤维丝/聚乙烯纤维丝-聚氨酯(主型)',
                    '25-80-20-聚乙烯纤维丝/聚乙烯纤维丝-聚氨酯(主型)', '25-40-30-涤纶长丝/涤纶长丝-聚氨酯(主型)', '10-65-30-涤纶长丝/涤纶长丝-聚氨酯(主型)',
                    '25-65-30-涤纶长丝/涤纶长丝-聚氨酯(主型)', '25-80-30-涤纶长丝/涤纶长丝-聚氨酯(主型)', '20-80-30-涤纶长丝/涤纶长丝-聚氨酯(主型)',
                    '8-65-60-涤纶长丝/涤纶长丝-聚氨酯(主型)'],
           '公司名称': ['认证委托人 ：福建省广龙消防阀门有限公司', '认证委托人 ：福建省广龙消防阀门有限公司', '认证委托人 ：中裕软管科技股份有限公司', '认证委托人 ：中裕软管科技股份有限公司',
                    '认证委托人 ：辽宁弘锦消防科技有限公司', '认证委托人 ：辽宁弘锦消防科技有限公司', '认证委托人 ：辽宁弘锦消防科技有限公司', '认证委托人 ：辽宁弘锦消防科技有限公司',
                    '认证委托人 ：辽宁弘锦消防科技有限公司', '认证委托人 ：上海雨迪安全科技有限公司'],
           '准入状态': ['有效', '有效', '有效', '有效', '有效', '有效', '有效', '有效', '有效', '有效']}


    print(DataUtils().datasHandle(obj))