File size: 1,925 Bytes
97c790a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
path = "./extraData/productData/"
# get all files
files = os.listdir(path)
products = []
for dataFile in files:
    data = json.load(open(path + dataFile))
    catLink = dataFile.split("_")[0] if len(dataFile.split("_")) > 1 else dataFile.split(".")[0]
    subLink = dataFile.split("_")[1].split(".")[0].split("_")[0] if len(dataFile.split("_")) > 1 else ""
    category = Category.objects.filter(link=catLink).first()
    if subLink != "":
        subcategory = SubCategory.objects.filter(link=subLink).first()
    for productData in data:
        try:
            newProduct = Product()
            newProduct.name = productData["attributes"]["name"]
            newProduct.category = category
            if subLink != "":
                newProduct.subcategory = subcategory
            newProduct.link = productData["id"]
            newProduct.product_label = productData["attributes"]["product_label"]
            newProduct.product_description = {}
            newProduct.varients = productData["attributes"]["facets"]
            newProduct.image_url = productData["attributes"]["image_url"]
            newProduct.image_urls = productData["attributes"]["image_urls"]
            newProduct.cashback_url = productData["attributes"]["cashback_url"]
            newProduct.is_compared = productData["attributes"]["is_compared"]
            newProduct.brand = productData["attributes"]["brand"]
            newProduct.offer_type = productData["attributes"]["offer_type"]
            newProduct.basePrice = productData["attributes"]["price"]
            newProduct.merchant = Merchant.objects.filter(name=productData["attributes"]["merchant_name"]).first()
            # newProduct.save()
            products.append(newProduct)
            print("Product Added: ", newProduct.name)
        except Exception as e:
            print("Error: ", e)
Product.objects.bulk_create(products)