| 19247 |
kshitij.so |
1 |
from datetime import datetime
|
|
|
2 |
from dtr.utils.utils import to_java_date, CATEGORY_MAP, SUB_CATEGORY_MAP, get_mongo_connection_cms, get_mongo_connection
|
|
|
3 |
from shop2020.config.client.ConfigClient import ConfigClient
|
|
|
4 |
from dtr.dao import ProductInfo
|
|
|
5 |
from pymongo import DESCENDING
|
| 19255 |
kshitij.so |
6 |
import traceback
|
| 19247 |
kshitij.so |
7 |
|
|
|
8 |
config_client = ConfigClient()
|
|
|
9 |
mongo_cms_host = config_client.get_property('mongo_cms_host')
|
|
|
10 |
|
|
|
11 |
|
|
|
12 |
|
|
|
13 |
def addData(bulkItemsList):
|
|
|
14 |
notAdded = []
|
|
|
15 |
for item in bulkItemsList:
|
|
|
16 |
v= ProductInfo(None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None,None)
|
|
|
17 |
v. _id = None
|
|
|
18 |
v.addedOn = to_java_date(datetime.now())
|
| 19254 |
kshitij.so |
19 |
v.available_price = item.available_price
|
| 19247 |
kshitij.so |
20 |
v.brand = item.brand
|
|
|
21 |
v.cashback = ""
|
|
|
22 |
v.category= CATEGORY_MAP.get(item.category_id)
|
|
|
23 |
v.category_id = item.category_id
|
|
|
24 |
v.identifier = item.identifier
|
|
|
25 |
v.in_stock = 0
|
|
|
26 |
v.marketPlaceUrl = None
|
|
|
27 |
v.model_name = item.model_name
|
| 19254 |
kshitij.so |
28 |
v.mrp = item.mrp if item.mrp else 0
|
| 19247 |
kshitij.so |
29 |
v.product_name = item.product_name
|
|
|
30 |
v.rank = 0
|
|
|
31 |
v.secondaryIdentifier = ""
|
|
|
32 |
v.skuBundleId = None
|
|
|
33 |
v.source = "saholic.com"
|
|
|
34 |
v.sourceCategoryId=""
|
|
|
35 |
v.sourceProductId=""
|
|
|
36 |
v.source_id=4
|
|
|
37 |
v.source_product_name = item.source_product_name
|
|
|
38 |
v.source_url = ""
|
|
|
39 |
v.status = 1
|
|
|
40 |
v.stock_status = "Out of stock"
|
|
|
41 |
v.thumbnail = None
|
|
|
42 |
v.updatedOn = to_java_date(datetime.now())
|
|
|
43 |
v.url = None
|
|
|
44 |
v.priceUpdatedOn = 0
|
|
|
45 |
v.offer = item.offer
|
|
|
46 |
v.tagline = item.tagline
|
|
|
47 |
v.is_shortage = 0
|
|
|
48 |
v.brand_id = item.brand_id
|
|
|
49 |
v.maxPrice = 0
|
|
|
50 |
v.buyBoxFlag = 1
|
|
|
51 |
v.coupon = ""
|
|
|
52 |
v.codAvailable = 1
|
|
|
53 |
v.gross_price = 0
|
|
|
54 |
v.ignorePricing = 0
|
|
|
55 |
v.quantity = item.quantity
|
|
|
56 |
v.videoLink = ""
|
|
|
57 |
v.showVideo = 0
|
|
|
58 |
v.subCategoryId = item.subCategoryId
|
|
|
59 |
v.subCategory= SUB_CATEGORY_MAP.get(item.subCategoryId)
|
|
|
60 |
v.showMrp = 1 if item.showMrpFlag else 0
|
|
|
61 |
v.shippingCost = 0
|
|
|
62 |
v.showNetPrice = 1 if item.showNetPrice else 0
|
|
|
63 |
|
|
|
64 |
|
|
|
65 |
try:
|
|
|
66 |
col = list(get_mongo_connection_cms(host=mongo_cms_host).CONTENT.siteContent.find({'_id':long(v.identifier)}))
|
|
|
67 |
if len(col) ==0:
|
| 19255 |
kshitij.so |
68 |
print "Content not found for %s"%(v.identifier)
|
| 19247 |
kshitij.so |
69 |
notAdded.append(v.identifier)
|
|
|
70 |
continue
|
|
|
71 |
else:
|
|
|
72 |
v.url = "http://saholic.com/"+col[0]['url']
|
|
|
73 |
v.thumbnail = col[0]['defaultImageUrl']
|
|
|
74 |
v.marketPlaceUrl = "http://saholic.com/"+col[0]['url']
|
|
|
75 |
except:
|
| 19255 |
kshitij.so |
76 |
traceback.print_exc()
|
|
|
77 |
print "Exception in %s"%(v.identifier)
|
| 19247 |
kshitij.so |
78 |
notAdded.append(v.identifier)
|
|
|
79 |
continue
|
|
|
80 |
|
|
|
81 |
|
|
|
82 |
exist = list(get_mongo_connection().Catalog.MasterData.find({'identifier':v.identifier}))
|
|
|
83 |
if len(exist) > 0:
|
|
|
84 |
notAdded.append(v.identifier)
|
|
|
85 |
continue
|
|
|
86 |
max_id = list(get_mongo_connection().Catalog.MasterData.find().sort([('_id',DESCENDING)]).limit(1))
|
|
|
87 |
max_bundle = list(get_mongo_connection().Catalog.MasterData.find().sort([('skuBundleId',DESCENDING)]).limit(1))
|
|
|
88 |
v._id = max_id[0]['_id'] + 1
|
|
|
89 |
v.skuBundleId = max_bundle[0]['skuBundleId'] + 1
|
|
|
90 |
get_mongo_connection().Catalog.MasterDataTest.insert(v.__dict__)
|
|
|
91 |
|
|
|
92 |
return notAdded
|