'lst_price': mapper.num('public_price'), 'default_code': mapper.val('ref'), 'name': mapper.val('name'), } processor.process(template_map, 'data%sproduct.template.csv' % os.sep, {'worker': 4, 'batch_size': 10, 'context': context}, 'set') # STEP 4: Attribute List attribute_list = ['Color', 'Gender', 'Size_H', 'Size_W'] processor.process_attribute_data(attribute_list, ATTRIBUTE_PREFIX, 'data%sproduct.attribute.csv' % os.sep, {'worker': 4, 'batch_size': 10, 'context': context}) # STEP 5: Attribute Value attribue_value_mapping = { 'id': mapper.m2m_id_list(ATTRIBUTE_VALUE_PREFIX, *[mapper.concat_field_value_m2m('_', f) for f in attribute_list]), 'name': mapper.m2m_value_list(*attribute_list), 'attribute_id/id': mapper.m2m_id_list(ATTRIBUTE_PREFIX, *[mapper.field(f) for f in attribute_list]), } processor.process(attribue_value_mapping, 'data%sproduct.attribute.value.csv' % os.sep, {'worker': 3, 'batch_size': 50, 'context': context, 'groupby': 'attribute_id/id'}, m2m=True) # STEP 6: Attribute Value Line line_mapping = { 'id': mapper.m2m_id_list(ATTRIBUTE_LINE_PREFIX, *[mapper.concat_mapper_all('_', mapper.field(f), mapper.val('ref')) for f in attribute_list]), 'product_tmpl_id/id': mapper.m2o(TEMPLATE_PREFIX, 'ref'), 'attribute_id/id': mapper.m2m_id_list(ATTRIBUTE_PREFIX, *[mapper.field(f) for f in attribute_list]), 'value_ids/id': mapper.m2m_id_list(ATTRIBUTE_VALUE_PREFIX, *[mapper.concat_field_value_m2m('_', f) for f in attribute_list]), } context['update_many2many'] = True processor.process(line_mapping, 'data%sproduct.attribute.line.csv' % os.sep, {'worker': 3, 'batch_size': 50, 'context': dict(context),
'data%sproduct.attribute.csv' % os.sep, { 'worker': 4, 'batch_size': 10, 'context': context }) #STEP 5: Attribute Value attribue_value_mapping = { 'id': mapper.m2m_id_list( ATTRIBUTE_VALUE_PREFIX, *[mapper.concat_field_value_m2m('_', f) for f in attribute_list]), 'name': mapper.m2m_value_list(*attribute_list), 'attribute_id/id': mapper.m2m_id_list(ATTRIBUTE_PREFIX, *[mapper.field(f) for f in attribute_list]), } processor.process(attribue_value_mapping, 'data%sproduct.attribute.value.csv' % os.sep, { 'worker': 3, 'batch_size': 50, 'context': context, 'groupby': 'attribute_id/id' }, m2m=True) #STEP 6: Attribute Value Line line_mapping = { 'id': mapper.m2m_id_list( ATTRIBUTE_LINE_PREFIX, *[
'default_code': mapper.val('ref'), 'name': mapper.val('name'), } processor.process(template_map, 'data%sproduct.template.csv' % os.sep, {'worker': 4, 'batch_size': 10, 'context': context}, 'set') # STEP 4: Attribute List attribute_list = ['Color', 'Gender', 'Size_H', 'Size_W'] processor.process_attribute_data(attribute_list, ATTRIBUTE_PREFIX, 'data%sproduct.attribute.csv' % os.sep, {'worker': 4, 'batch_size': 10, 'context': context}) # STEP 5: Attribute Value attribue_value_mapping = { 'id': mapper.m2m_id_list(ATTRIBUTE_VALUE_PREFIX, *[mapper.concat_field_value_m2m('_', f) for f in attribute_list]), 'name': mapper.m2m_value_list(*attribute_list), 'attribute_id/id': mapper.m2m_id_list(ATTRIBUTE_PREFIX, *[mapper.field(f) for f in attribute_list]), } processor.process(attribue_value_mapping, 'data%sproduct.attribute.value.csv' % os.sep, {'worker': 3, 'batch_size': 50, 'context': context, 'groupby': 'attribute_id/id'}, m2m=True) # STEP 6: Attribute Value Line line_mapping = { 'id': mapper.m2m_id_list(ATTRIBUTE_LINE_PREFIX, *[mapper.concat_mapper_all('_', mapper.field(f), mapper.val('ref')) for f in attribute_list]), 'product_tmpl_id/id': mapper.m2o(TEMPLATE_PREFIX, 'ref'), 'attribute_id/id': mapper.m2m_id_list(ATTRIBUTE_PREFIX, *[mapper.field(f) for f in attribute_list]), 'value_ids/id': mapper.m2m_id_list(ATTRIBUTE_VALUE_PREFIX, *[mapper.concat_field_value_m2m('_', f) for f in attribute_list]),