Subversion Repositories SmartDukaan

Rev

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

Rev 14705 Rev 14741
Line 318... Line 318...
318
            toUpdate.remove(bestOne['_id'])
318
            toUpdate.remove(bestOne['_id'])
319
            get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDeal':1 }})
319
            get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDeal':1 }})
320
        if len(toUpdate) > 0:
320
        if len(toUpdate) > 0:
321
            get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDeal':0 }},upsert=False, multi=True)
321
            get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDeal':0 }},upsert=False, multi=True)
322
 
322
 
-
 
323
def elimiateSimilarDealsOld():
-
 
324
    allItems = get_mongo_connection().Catalog.Deals.find().distinct('skuBundleId')
-
 
325
    for skuBundleId in allItems:
-
 
326
        print skuBundleId
-
 
327
        similarItems = list(get_mongo_connection().Catalog.Deals.find({'skuBundleId':skuBundleId}).sort([('available_price',pymongo.ASCENDING)]))
-
 
328
        bestPrice = float("inf")
-
 
329
        bestOne = None
-
 
330
        bestSellerPoints = 0
-
 
331
        toUpdate = []
-
 
332
        for similarItem in similarItems:
-
 
333
            if mc.get("negative_deals") is None:
-
 
334
                populateNegativeDeals()
-
 
335
            if similarItem['in_stock'] == 0 or similarItem['maxprice'] is None or similarItem['maxprice'] < similarItem['available_price'] or similarItem['_id'] in mc.get("negative_deals"):
-
 
336
                get_mongo_connection().Catalog.Deals.update({ '_id' : similarItem['_id'] }, {'$set':{'showDealOld':0 }})
-
 
337
                continue
-
 
338
            if similarItem['available_price'] < bestPrice:
-
 
339
                bestOne = similarItem
-
 
340
                bestPrice = similarItem['available_price']
-
 
341
                bestSellerPoints = similarItem['bestSellerPoints']
-
 
342
            elif similarItem['available_price'] == bestPrice and bestSellerPoints < similarItem['bestSellerPoints']:
-
 
343
                bestOne = similarItem
-
 
344
                bestPrice = similarItem['available_price']
-
 
345
                bestSellerPoints = similarItem['bestSellerPoints']
-
 
346
            else:
-
 
347
                pass
-
 
348
        if bestOne is not None:
-
 
349
            for similarItem in similarItems:
-
 
350
                toUpdate.append(similarItem['_id'])
-
 
351
            toUpdate.remove(bestOne['_id'])
-
 
352
            get_mongo_connection().Catalog.Deals.update({ '_id' : bestOne['_id'] }, {'$set':{'showDealOld':1 }})
-
 
353
        if len(toUpdate) > 0:
-
 
354
            get_mongo_connection().Catalog.Deals.update({ '_id' : { "$in": toUpdate } }, {'$set':{'showDealOld':0 }},upsert=False, multi=True)
-
 
355
 
-
 
356
 
-
 
357
 
323
def main():
358
def main():
324
    try:
359
    try:
325
        populateStuff()
360
        populateStuff()
326
        calculateNlc()
361
        calculateNlc()
327
        addManualDealsInfo()
362
        addManualDealsInfo()
Line 329... Line 364...
329
        session.close()
364
        session.close()
330
    calculateNlcPoints()
365
    calculateNlcPoints()
331
    commitData()
366
    commitData()
332
    addBestSellerPoints()
367
    addBestSellerPoints()
333
    elimiateSimilarDeals()
368
    elimiateSimilarDeals()
-
 
369
    elimiateSimilarDealsOld()
334
 
370
 
335
 
371
 
336
if __name__=='__main__':
372
if __name__=='__main__':
337
    main()
373
    main()
338
374