Subversion Repositories SmartDukaan

Rev

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

Rev 18282 Rev 18722
Line 19... Line 19...
19
 
19
 
20
config_client = ConfigClient()
20
config_client = ConfigClient()
21
host_memCache = config_client.get_property('mem_cache_host_dtr')
21
host_memCache = config_client.get_property('mem_cache_host_dtr')
22
host = config_client.get_property('mongo_dtr_host')
22
host = config_client.get_property('mongo_dtr_host')
23
 
23
 
-
 
24
saholicPricingHost = config_client.get_property('dtr_pricing_host')
-
 
25
 
24
mc = MemCache(host_memCache)
26
mc = MemCache(host_memCache)
25
 
27
 
26
 
28
 
27
con  = None
29
con  = None
28
SOURCE_MAP = {'AMAZON':1,'FLIPKART':2,'SNAPDEAL':3,'SAHOLIC':4, 'SHOPCLUES.COM':5,'PAYTM.COM':6,'HOMESHOP18':7}
30
SOURCE_MAP = {'AMAZON':1,'FLIPKART':2,'SNAPDEAL':3,'SAHOLIC':4, 'SHOPCLUES.COM':5,'PAYTM.COM':6,'HOMESHOP18':7}
Line 114... Line 116...
114
                return {}
116
                return {}
115
            
117
            
116
            if data.get('ignorePricing') ==1:
118
            if data.get('ignorePricing') ==1:
117
                return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':4,'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']}
119
                return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':4,'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']}
118
            
120
            
119
            try:
121
#             try:
120
                if ignoreLastUpdated and data['priceUpdatedOn'] > to_java_date(now - timedelta(minutes=5)):
122
#                 if ignoreLastUpdated and data['priceUpdatedOn'] > to_java_date(now - timedelta(minutes=5)):
121
                    print "sku id is already updated",data['_id'] 
123
#                     print "sku id is already updated",data['_id'] 
122
                    return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':4,'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']}
124
#                     return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':4,'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']}
123
            except:
125
#             except:
124
                pass
126
#                 pass
125
            
127
#             
126
            url = "http://173.255.209.200:8080/mobileapi/dtr-pricing?id=%s"%(data['identifier'])
128
            url = "http://"+saholicPricingHost+":8080/mobileapi/dtr-pricing?id=%s"%(data['identifier'])
127
            lowestPrice = 0.0
129
            lowestPrice = 0.0
128
            instock = 0
130
            instock = 0
129
            req = urllib2.Request(url,headers=headers)
131
            req = urllib2.Request(url,headers=headers)
130
            response = urllib2.urlopen(req)
132
            response = urllib2.urlopen(req)
131
            json_input = response.read()
133
            json_input = response.read()
132
            response.close()
134
            response.close()
133
            priceInfo = json.loads(json_input)
135
            priceInfo = json.loads(json_input)
134
            print "PriceInfo ",data['identifier']
136
            print "PriceInfo ",data['identifier']
135
            print priceInfo
137
            print priceInfo
136
            lowestPrice = priceInfo['response']['sellingPrice']
138
            lowestPrice = priceInfo['response']['sellingPrice']
-
 
139
            cheapestBulkPrice = None
-
 
140
            try:
-
 
141
                bulkPricing = priceInfo['response']['bulkPricing']
-
 
142
                for k,v in bulkPricing.iteritems():
-
 
143
                    if cheapestBulkPrice is None:
-
 
144
                        cheapestBulkPrice = v
-
 
145
                        continue
-
 
146
                    if cheapestBulkPrice > v:
-
 
147
                        cheapestBulkPrice = v
-
 
148
            except:
-
 
149
                cheapestBulkPrice = 0
-
 
150
            
137
            if lowestPrice > 0:
151
            if lowestPrice > 0:
138
                instock = 1
152
                instock = 1
139
            if instock  == 1:
153
            if instock  == 1:
140
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'available_price':lowestPrice,'updatedOn':to_java_date(now),'priceUpdatedOn':to_java_date(now),'in_stock':instock}}, multi=True)
154
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'available_price':lowestPrice,'updatedOn':to_java_date(now),'priceUpdatedOn':to_java_date(now),'in_stock':instock}}, multi=True)
141
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'available_price':lowestPrice , 'in_stock':instock,'codAvailable':data['codAvailable']}}, multi=True)
155
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'available_price':lowestPrice , 'in_stock':instock,'codAvailable':data['codAvailable']}}, multi=True)
142
            else:
156
            else:
143
                lowestPrice = data['available_price']
157
                lowestPrice = data['available_price']
144
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(now),'in_stock':instock,'priceUpdatedOn':to_java_date(now)}}, multi=True)
158
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(now),'in_stock':instock,'priceUpdatedOn':to_java_date(now)}}, multi=True)
145
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':instock,'codAvailable':data['codAvailable']}}, multi=True)
159
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':instock,'codAvailable':data['codAvailable']}}, multi=True)
146
            
160
            
147
            return {'_id':data['_id'],'available_price':lowestPrice,'in_stock':instock,'source_id':4,'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']}
161
            return {'_id':data['_id'],'available_price':lowestPrice,'in_stock':instock,'source_id':4,'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'], 'cheapestBulkPrice': cheapestBulkPrice}
148
        
162
        
149
        except Exception as e:
163
        except Exception as e:
150
            print "Exception for _id %d and source %s"%(data['_id'], source_id)
164
            print "Exception for _id %d and source %s"%(data['_id'], source_id)
151
            print e
165
            print e
152
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':4,'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']}
166
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':4,'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']}
Line 672... Line 686...
672
        info = returnLatestPrice(item, item['source_id'],False)
686
        info = returnLatestPrice(item, item['source_id'],False)
673
        print info
687
        print info
674
 
688
 
675
def main():
689
def main():
676
    print datetime.now()
690
    print datetime.now()
677
    print "retuned %s"%(str(getLatestPriceById(277)))
691
    print "retuned %s"%(str(getLatestPriceById(8840)))
678
    print datetime.now()
692
    print datetime.now()
679
if __name__=='__main__':
693
if __name__=='__main__':
680
    main()
694
    main()
681
    
695