Esempio n. 1
0
    def _add_rec_mp_field_mapping(cls, mp_field_mappings=None):
        if not mp_field_mappings:
            mp_field_mappings = []

        marketplace = 'tokopedia'
        mp_field_mapping = {
            'mp_external_id': ('basic/productID', lambda env, r: str(r)),
            'tp_variant_id': ('basic/productID', lambda env, r: str(r)),
            'name': ('basic/name', None),
            'default_code': ('other/sku', lambda env, r: r if r else False),
            'list_price': ('price/value', None),
            'weight': ('weight/value', None),
            'length': ('volume/length', None),
            'width': ('volume/width', None),
            'height': ('volume/height', None),
            'image': ('pictures/OriginalURL',
                      lambda env, r: get_mp_asset(r[0]) if env.context.get('store_product_img') else None),
        }

        def _handle_parent_id(env, data):
            mp_product_obj = env['mp.product']
            mp_product = mp_product_obj.search_mp_records('tokopedia', data)
            if mp_product:
                return mp_product.id
            return None

        mp_field_mapping.update({
            'mp_product_id': ('variant/parentID', _handle_parent_id),
        })

        mp_field_mappings.append((marketplace, mp_field_mapping))
        super(MarketplaceProductVariant, cls)._add_rec_mp_field_mapping(mp_field_mappings)
Esempio n. 2
0
 def _handle_product_images(env, data):
     pictures = [(5, 0, 0)]
     for index, pic in enumerate(data['image_url_list']):
         base_data_image = {
             'mp_account_id': env.context['mp_account_id'],
             'mp_external_id': data['image_id_list'][index],
             'sp_image_id': data['image_id_list'][index],
             'sequence': index,
             'name': pic,
         }
         if env.context.get('store_product_img'):
             base_data_image.update({'image': get_mp_asset(pic)})
         pictures.append((0, 0, base_data_image))
     return pictures
    def _add_rec_mp_field_mapping(cls, mp_field_mappings=None):
        if not mp_field_mappings:
            mp_field_mappings = []

        marketplace = 'tokopedia'
        mp_field_mapping = {
            'name': ('OriginalURL', None),
            'image': ('OriginalURL', lambda env, r: get_mp_asset(r)
                      if env.context.get('store_product_img') else None),
            'mp_external_id': ('picID', lambda env, r: str(r)),
            'tp_image_id': ('picID', lambda env, r: str(r)),
            'tp_filename': ('fileName', None),
        }

        mp_field_mappings.append((marketplace, mp_field_mapping))
        super(MarketplaceProductImage,
              cls)._add_rec_mp_field_mapping(mp_field_mappings)
Esempio n. 4
0
 def _handle_product_images(env, data):
     if data:
         pictures = [(5, 0, 0)]
         for index, pic in enumerate(data[0]['images']):
             base_data_image = {
                 'mp_account_id': env.context['mp_account_id'],
                 'mp_external_id': data[0]['merchantSku'] + str(index),
                 'bli_image_id': data[0]['merchantSku'] + str(index),
                 'name': pic['locationPath']
             }
             if env.context.get('store_product_img'):
                 base_data_image.update(
                     {'image': get_mp_asset(pic['locationPath'])})
             pictures.append((0, 0, base_data_image))
         return pictures
     else:
         return None
Esempio n. 5
0
 def _handle_product_images(env, data):
     if data and env.context.get('store_product_img'):
         return get_mp_asset(data)
     else:
         return None
 def _handle_image(env, data):
     if data:
         if env.context.get('store_product_img'):
             return get_mp_asset(data['images'][0]['locationPath'])
     else:
         return None