Rev 19437 | Blame | Compare with Previous | Last modification | View Log | RSS feed
from datetime import datetimefrom dtr.utils.utils import to_java_date, CATEGORY_MAP, SUB_CATEGORY_MAP, get_mongo_connection_cms, get_mongo_connectionfrom shop2020.config.client.ConfigClient import ConfigClientfrom dtr.dao import ProductInfofrom pymongo import DESCENDINGimport tracebackconfig_client = ConfigClient()mongo_cms_host = config_client.get_property('mongo_cms_host')def addData(bulkItemsList):notAdded = []for item in bulkItemsList: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,None)v. _id = Nonev.addedOn = to_java_date(datetime.now())v.available_price = item.available_pricev.brand = item.brandv.cashback = ""v.category= CATEGORY_MAP.get(item.category_id)v.category_id = item.category_idv.identifier = item.identifierv.in_stock = 0v.marketPlaceUrl = Nonev.model_name = item.model_namev.mrp = item.mrp if item.mrp else 0v.product_name = item.product_namev.rank = 0v.secondaryIdentifier = ""v.skuBundleId = Nonev.source = "saholic.com"v.sourceCategoryId=""v.sourceProductId=""v.source_id=4v.source_product_name = item.source_product_namev.source_url = ""v.status = 1v.stock_status = "Out of stock"v.thumbnail = Nonev.updatedOn = to_java_date(datetime.now())v.url = Nonev.priceUpdatedOn = 0v.offer = item.offerv.tagline = item.taglinev.is_shortage = 0v.brand_id = item.brand_idv.maxPrice = 0v.buyBoxFlag = 1v.coupon = ""v.codAvailable = 1v.gross_price = 0v.ignorePricing = 0v.quantity = item.quantityv.videoLink = ""v.showVideo = 0v.subCategoryId = item.subCategoryIdv.subCategory= SUB_CATEGORY_MAP.get(item.subCategoryId)v.showMrp = 1 if item.showMrpFlag else 0v.shippingCost = 0v.showNetPrice = 1 if item.showNetPrice else 0v.internalRank = item.internalRanktry:col = list(get_mongo_connection_cms(host=mongo_cms_host).CONTENT.siteContent.find({'_id':long(v.identifier)}))if len(col) ==0:print "Content not found for %s"%(v.identifier)notAdded.append(v.identifier)continueelse:v.url = "http://saholic.com/"+col[0]['url']v.thumbnail = col[0]['defaultImageUrl']v.marketPlaceUrl = "http://saholic.com/"+col[0]['url']except:traceback.print_exc()print "Exception in %s"%(v.identifier)notAdded.append(v.identifier)continueexist = list(get_mongo_connection().Catalog.MasterData.find({'identifier':v.identifier}))if len(exist) > 0:notAdded.append(v.identifier)continuemax_id = list(get_mongo_connection().Catalog.MasterData.find().sort([('_id',DESCENDING)]).limit(1))max_bundle = list(get_mongo_connection().Catalog.MasterData.find().sort([('skuBundleId',DESCENDING)]).limit(1))v._id = max_id[0]['_id'] + 1v.skuBundleId = max_bundle[0]['skuBundleId'] + 1get_mongo_connection().Catalog.MasterData.insert(v.__dict__)return notAdded