def process_fn(key_dict): supplier = key_dict['Supplier'] supplierpn = key_dict['SupplierPartNumber'] if supplier in SupplierConfig.SupplierConfig: print("Fetching '%s' from '%s'" % (supplierpn, supplier)) fetcher = SupplierConfig.SupplierConfig[supplier][0] parametrics = fetcher.get_component_parametrics(supplierpn) return {'SupplierParametrics': Common.parametric_to_string(parametrics)} else: return {}
def inner(params): rewritten_params = {} parameter_key_map = {elt[0]: elt[1] for elt in parameter_key_rewrite} new_value_map = {} # TODO: refactor rewrite rules for key, val in parameter_value_map.items(): if type(key) is tuple: new_value_map[key[1]] = val parameter_key_map[key[0]] = key[1] else: new_value_map[key] = val for param_key, param_value in params.items(): if param_key in parameter_key_map: param_key = parameter_key_map[param_key] if param_key in new_value_map and param_value in new_value_map[param_key]: param_value = new_value_map[param_key][param_value] # TODO: make this preferred-agnostic rewritten_params[param_key] = simplify_value(param_value, package_preferred) out_dict = {} out_dict['Desc'] = desc_fmt % rewritten_params if '_rewrite_package' in rewritten_params: out_dict['Package'] = rewritten_params['_rewrite_package'] elif 'Package / Case' in rewritten_params: out_dict['Package'] = rewritten_params['Package / Case'] else: out_dict['Package'] = "" out_dict['MfrDesc'] = rewritten_params['Description'] out_dict['MfrPartNumber'] = rewritten_params['Manufacturer Part Number'] params_dict = collections.OrderedDict() for param in parameter_key_rewrite: param = param[1] if param in rewritten_params: params_dict[param] = rewritten_params[param] else: params_dict[param] = "??" out_dict['Parameters'] = Common.parametric_to_string(params_dict) return out_dict