示例#1
0
    def create_child_products(self, main_id, ids, sizes, prices, images_grouped):
        """Creating child products (both colors and sizes).
        Arguments it gets are: main_id as product id of the master product,
        images_grouped that is a dict of images grouped by color (field i field)
        and dicts ids, sizes and prices (e.g. dict with color names as keys and
        fields of ids for it as values 'black': ['32854, '32855''])"""
        item = ExpressItem()
        i = 0
        for k in ids:
            cur_id = main_id + "_" + chr(i + 97)
            item['product_id'] = [cur_id]
            item['master_product_id'] = [main_id]
            item['color'] = [k]
            # use this for some other path (our server)
#            images, thumbs = self.get_image_url(images_grouped[i])
            if images_grouped:
                images = self.get_absolute_url(images_grouped[k])
    #            item['normal_image_url'], item['thumb_image_url'] = self.map_url_to_server(images,main_id)
                item['normal_image_url'] = basic.cdata_field(self.map_url_to_server(images, main_id))
            self.xml.create_xml(item)
            item.clear()
            j = 0
            for val in ids[k]:
                item['product_id'] = [cur_id + "_" + chr(j + 97)]
                item['master_product_id'] = [cur_id]
                if len(sizes):
                    item['size'] = [sizes[k][j]]
                item['size_option_id'] = [ids[k][j]]
                item['price'] = [prices[k][j]]
                self.xml.create_xml(item)
                j += 1
            i += 1
示例#2
0
 def parse_shop_look(self, hxs):
     products = hxs.select('//div[@id="cat-ens-prod-item"]')
     i = 0
     # do this with actual id
     item = ExpressItem()
     whole_page = hxs.extract()
     whole_page = "".join(whole_page)
     ensemble_id = basic.get_middle_text(whole_page, "ensembleId: '", "',")
     name = hxs.select('//div[@id="cat-ens-prod-con"]/h1/text()').extract()
     name = basic.clean_string_field(name)
     item['ensemble_id'] = ensemble_id
     item['normal_image_url'] = self.shl_get_image(hxs)
     item['product_id'] = ["DUMMIE1"]
     item['shop_look'] = ['True']
     item['normal'] = ['False']
     item['shop_line'] = ['False']
     item['in_stock'] = ['IN_STOCK']
     item['name'] = name
     xml.create_xml(item)
     item.clear()
     for p in products:
         i += 1
         item = ExpressItem()
         item['master_product_id'] = ['DUMMIE1']
         item['product_id'] = ["DUMMIE1_" + str(i)]
         item['name'], item['price'], item['style'] = self.shl_basic_info(p)
         page = p.extract()
         item['variants'] = basic.cdata_field([self.shl_create_variants(self.get_variants(page))])
         item['colors'] = basic.cdata_field(self.shl_get_swatches(p))
         xml.create_xml(item)