Subversion Repositories SmartDukaan

Rev

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

Rev 14355 Rev 14367
Line 80... Line 80...
80
            else:
80
            else:
81
                lowestPrice = data['available_price']
81
                lowestPrice = data['available_price']
82
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(now),'in_stock':0,'priceUpdatedOn':to_java_date(now)}}, multi=True)
82
                get_mongo_connection().Catalog.MasterData.update({'_id':data['_id']}, {'$set' : {'updatedOn':to_java_date(now),'in_stock':0,'priceUpdatedOn':to_java_date(now)}}, multi=True)
83
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':0,'dealType':data['dealType']}}, multi=True)
83
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':0,'dealType':data['dealType']}}, multi=True)
84
            
84
            
85
            try:
-
 
86
                thread = threading.Thread(target=partial(recomputeDeal, data['skuBundleId']))
-
 
87
                thread.daemon = True
-
 
88
                thread.start()    
-
 
89
            except:
-
 
90
                print "Unable to compute deal for ",data['skuBundleId']
-
 
91
            
-
 
92
            print "Returning info"
85
            print "Returning info"
93
            return {'_id':data['_id'],'available_price':lowestPrice,'in_stock':inStock,'source_id':1,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
86
            return {'_id':data['_id'],'available_price':lowestPrice,'in_stock':inStock,'source_id':1,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
94
        except:
87
        except:
95
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':1,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
88
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':1,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
96
        
89
        
Line 124... Line 117...
124
            else:
117
            else:
125
                lowestPrice = data['available_price']
118
                lowestPrice = data['available_price']
126
                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)
119
                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)
127
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':instock}}, multi=True)
120
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':instock}}, multi=True)
128
            
121
            
129
            try:
-
 
130
                thread = threading.Thread(target=partial(recomputeDeal, data['skuBundleId']))
-
 
131
                thread.daemon = True
-
 
132
                thread.start()
-
 
133
            except:
-
 
134
                print "Unable to compute deal for ",data['skuBundleId']
-
 
135
            
-
 
136
            print "Returning info"    
122
            print "Returning info"    
137
            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']}
123
            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']}
138
    
124
    
139
        except:
125
        except:
140
            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']}
126
            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']}
Line 180... Line 166...
180
            else:
166
            else:
181
                lowestOfferPrice = data['available_price']
167
                lowestOfferPrice = data['available_price']
182
                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)
168
                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)
183
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':inStock}}, multi=True)
169
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':inStock}}, multi=True)
184
            
170
            
185
            try:
-
 
186
                thread = threading.Thread(target=partial(recomputeDeal, data['skuBundleId']))
-
 
187
                thread.daemon = True
-
 
188
                thread.start()    
-
 
189
            except:
-
 
190
                print "Unable to compute deal for ",data['skuBundleId']
-
 
191
            
-
 
192
            print "Returning info"
171
            print "Returning info"
193
            return {'_id':data['_id'],'available_price':lowestOfferPrice,'in_stock':inStock,'source_id':3,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
172
            return {'_id':data['_id'],'available_price':lowestOfferPrice,'in_stock':inStock,'source_id':3,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
194
        except:
173
        except:
195
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':3,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
174
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':3,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
196
        
175
        
Line 238... Line 217...
238
            else:
217
            else:
239
                lowestSp = data['available_price']
218
                lowestSp = data['available_price']
240
                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)
219
                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)
241
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':inStock}}, multi=True)
220
                get_mongo_connection().Catalog.Deals.update({'_id':data['_id']}, {'$set' : {'in_stock':inStock}}, multi=True)
242
                
221
                
243
            
-
 
244
            try:
-
 
245
                thread = threading.Thread(target=partial(recomputeDeal, data['skuBundleId']))
-
 
246
                thread.daemon = True
-
 
247
                thread.start()    
-
 
248
            except:
-
 
249
                print "Unable to compute deal for ",data['skuBundleId']
-
 
250
            
-
 
251
            print "returning"    
222
            print "returning"    
252
            return {'_id':data['_id'],'available_price':lowestSp,'in_stock':inStock,'source_id':2,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
223
            return {'_id':data['_id'],'available_price':lowestSp,'in_stock':inStock,'source_id':2,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
253
            
224
            
254
        except:
225
        except:
255
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':2,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
226
            return {'_id':data['_id'],'available_price':data['available_price'],'in_stock':data['in_stock'],'source_id':2,'source_product_name':data['source_product_name'],'marketPlaceUrl':data['marketPlaceUrl'],'thumbnail':data['thumbnail']}
Line 305... Line 276...
305
        manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':source_id, 'sku':item['_id']}))
276
        manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':source_id, 'sku':item['_id']}))
306
        if len(manualDeals) > 0:
277
        if len(manualDeals) > 0:
307
            item['dealFlag'] = 1
278
            item['dealFlag'] = 1
308
            item['dealType'] =manualDeals[0]['dealType'] 
279
            item['dealType'] =manualDeals[0]['dealType'] 
309
        temp.append(returnLatestPrice(item, source_id))
280
        temp.append(returnLatestPrice(item, source_id))
-
 
281
    try:
-
 
282
        thread = threading.Thread(target=recomputeDeal, args = (skuBundleId,))
-
 
283
        thread.daemon = True
-
 
284
        thread.start()    
-
 
285
    except:
-
 
286
        print "Unable to compute deal for ",skuBundleId
310
    return temp
287
    return temp
311
 
288
 
312
def getLatestPriceById(id):
289
def getLatestPriceById(id):
313
    item = list(get_mongo_connection().Catalog.MasterData.find({'_id':id}))
290
    item = list(get_mongo_connection().Catalog.MasterData.find({'_id':id}))
314
    item[0]['dealFlag'] = 0
291
    item[0]['dealFlag'] = 0
315
    item[0]['dealType'] = 0
292
    item[0]['dealType'] = 0
316
    manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':item[0]['source_id'], 'sku':item[0]['_id']}))
293
    manualDeals = list(get_mongo_connection().Catalog.ManualDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())},'source_id':item[0]['source_id'], 'sku':item[0]['_id']}))
317
    if len(manualDeals) > 0:
294
    if len(manualDeals) > 0:
318
        item[0]['dealFlag'] = 1
295
        item[0]['dealFlag'] = 1
319
        item[0]['dealType'] =manualDeals[0]['dealType'] 
296
        item[0]['dealType'] =manualDeals[0]['dealType'] 
-
 
297
    
-
 
298
    try:
-
 
299
        thread = threading.Thread(target=recomputeDeal, args = (item[0]['skuBundleId'],))
-
 
300
        thread.daemon = True
-
 
301
        thread.start()    
-
 
302
    except:
-
 
303
        print "Unable to compute deal for ",item[0]['skuBundleId']
320
    return returnLatestPrice(item[0], item[0]['source_id'])
304
    return returnLatestPrice(item[0], item[0]['source_id'])
321
 
305
 
322
 
306
 
323
def main():
307
def main():
324
    print getLatestPriceById(22746)
308
    print getLatestPriceById(22746)
325
 
309
 
326
if __name__=='__main__':
310
if __name__=='__main__':
327
    main()
311
    main()
328
    
312
    
329
"""21.06$"""
-
 
330
313