示例#1
0
文件: products.py 项目: viorels/atex
 def get_recommended(self):
     recommended = self.request.api.products.get_recommended(limit=self.top_limit)
     for product in recommended:
         product_obj = Product(raw=product)
         product['name'] = product_obj.get_short_name()
         product['images'] = product_obj.images
         product['url'] = product_obj.get_absolute_url()
     return recommended
示例#2
0
文件: products.py 项目: viorels/atex
 def get_promotional(self):
     promotional = self.request.api.products.get_promotional(limit=self.top_limit)
     for product in promotional:
         product_obj = Product(raw=product)
         product['name'] = product_obj.get_short_name()
         product['images'] = product_obj.images
         product['url'] = product_obj.get_absolute_url()
     return promotional
示例#3
0
文件: products.py 项目: viorels/atex
    def get_products(self):
        products = self.get_products_page().get('products')
        for product in products:
            product_obj = Product(raw=product)
            product['name'] = product_obj.get_short_name()
            product['images'] = product_obj.images
            product['url'] = product_obj.get_absolute_url()
            product['stock_available'] = product['stock_status'] != Ancora.STOCK_UNAVAILABLE

        for idx, product in enumerate(products):
            if (idx+1) % PRODUCTS_PER_LINE == 0:
                product['last_in_line'] = True

        return products
示例#4
0
        def create_or_update_products(products):
            existing_products = Product.objects.in_bulk(products.keys())
            for product_id, new_product in products.items():
                products_status[product_id] = True

                old_product = existing_products.get(product_id)
                if old_product:
                    new_product_fields = Product.from_raw(new_product)
                    updated_product = old_product.updated_product(new_product_fields)
                    if updated_product:
                        logger.debug("Update %s", updated_product)
                        updated_product.save()

            insert_ids = set(products) - set(existing_products)
            if insert_ids:
                insert_list = [Product(raw=products[i]) for i in insert_ids]
                logger.debug("Insert %s", insert_list)
                Product.objects.bulk_create(insert_list)