Subversion Repositories SmartDukaan

Rev

Rev 16410 | Rev 16422 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 16410 Rev 16415
Line 13... Line 13...
13
import threading
13
import threading
14
from dtr.utils.utils import getCashBack
14
from dtr.utils.utils import getCashBack
15
import traceback
15
import traceback
16
from shop2020.config.client.ConfigClient import ConfigClient
16
from shop2020.config.client.ConfigClient import ConfigClient
17
import chardet
17
import chardet
-
 
18
from dtr.CouponMaster import addToPaytmMaster
18
 
19
 
19
config_client = ConfigClient()
20
config_client = ConfigClient()
20
host_memCache = config_client.get_property('mem_cache_host_dtr')
21
host_memCache = config_client.get_property('mem_cache_host_dtr')
21
host = config_client.get_property('mongo_dtr_host')
22
host = config_client.get_property('mongo_dtr_host')
22
 
23
 
Line 348... Line 349...
348
                result = paytmScraper.read(url)
349
                result = paytmScraper.read(url)
349
                effective_price = result.get('offerPrice')
350
                effective_price = result.get('offerPrice')
350
                coupon = ""
351
                coupon = ""
351
                try:
352
                try:
352
                    offers = PaytmOfferScraper.fetchOffers(result['offerUrl'])
353
                    offers = PaytmOfferScraper.fetchOffers(result['offerUrl'])
-
 
354
                    try:
-
 
355
                        addToPaytmMaster(offers.get('codes'))
-
 
356
                    except:
-
 
357
                        print "Error in adding coupon"
-
 
358
                        traceback.print_exc()
353
                    bestOffer = {}
359
                    bestOffer = {}
354
                    for offer_data in offers.get('codes'):
360
                    for offer_data in offers.get('codes'):
355
                        if effective_price < offer_data.get('effective_price'):
361
                        if effective_price > offer_data.get('effective_price'):
356
                            effective_price = offer_data.get('effective_price')
362
                            effective_price = offer_data.get('effective_price')
357
                            bestOffer = offer_data
363
                            bestOffer = offer_data
358
                            coupon = bestOffer.get('code')
364
                            coupon = bestOffer.get('code')
359
                except:
365
                except:
360
                    pass
366
                    pass
361
                available_price = effective_price 
367
                available_price = effective_price 
362
                if result['inStock']:
368
                if result['inStock']:
363
                    inStock = 1
369
                    inStock = 1
364
                    get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'available_price':available_price,'updatedOn':to_java_date(datetime.now()),'priceUpdatedOn':to_java_date(datetime.now()),'in_stock':1,'buyBoxFlag':1,'codAvailable':result.get('cod'),'coupon':coupon}})
370
                    get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'available_price':available_price,'updatedOn':to_java_date(datetime.now()),'priceUpdatedOn':to_java_date(datetime.now()),'in_stock':1,'buyBoxFlag':1,'codAvailable':result.get('codAvailable'),'coupon':coupon}})
365
                    get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'available_price':available_price , 'in_stock':1,'codAvailable':result.get('cod')}})
371
                    get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'available_price':available_price , 'in_stock':1,'codAvailable':result.get('codAvailable')}})
366
                else:
372
                else:
367
                    inStock = 0
373
                    inStock = 0
368
                    get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(datetime.now()),'in_stock':0,'priceUpdatedOn':to_java_date(datetime.now()),'buyBoxFlag':1,'codAvailable':result.get('cod'),'coupon':coupon}})
374
                    get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(datetime.now()),'in_stock':0,'priceUpdatedOn':to_java_date(datetime.now()),'buyBoxFlag':1,'codAvailable':result.get('codAvailable'),'coupon':coupon}})
369
                    get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':0,'codAvailable':result.get('cod')}})
375
                    get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':0,'codAvailable':result.get('codAvailable')}})
370
                
376
                
371
            except:
377
            except:
372
                inStock = 0
378
                inStock = 0
373
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(datetime.now()),'in_stock':0,'priceUpdatedOn':to_java_date(datetime.now()),'buyBoxFlag':1}})
379
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(datetime.now()),'in_stock':0,'priceUpdatedOn':to_java_date(datetime.now()),'buyBoxFlag':1}})
374
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':0}})
380
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':0}})
375
                
381
                
376
                    
382
                    
377
            return {'_id':data['_id'],'available_price':available_price,'in_stock':inStock,'source_id':6,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail'], 'coupon':coupon,'codAvailable':result['cod'], 'tagline': data['tagline'], 'offer': data['offer']}
383
            return {'_id':data['_id'],'available_price':available_price,'in_stock':inStock,'source_id':6,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail'], 'coupon':coupon,'codAvailable':result['codAvailable'], 'tagline': data['tagline'], 'offer': data['offer']}
378
        except Exception as e:
384
        except Exception as e:
379
            print "Exception for _id %d and source %s"%(data['_id'], source_id)
385
            print "Exception for _id %d and source %s"%(data['_id'], source_id)
380
            traceback.print_exc()
386
            traceback.print_exc()
381
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':6,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail'],'coupon':data['coupon'], 'codAvailable':data['codAvailable'], 'tagline': data['tagline'], 'offer': data['offer']}
387
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':6,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail'],'coupon':data['coupon'], 'codAvailable':data['codAvailable'], 'tagline': data['tagline'], 'offer': data['offer']}
382
 
388