Subversion Repositories SmartDukaan

Rev

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

Rev 15908 Rev 16067
Line 301... Line 301...
301
    return result
301
    return result
302
 
302
 
303
def __populateCache(userId):
303
def __populateCache(userId):
304
    print "Populating memcache for userId",userId
304
    print "Populating memcache for userId",userId
305
    outer_query = []
305
    outer_query = []
306
    outer_query.append({"showDeal":1})
306
    outer_query.append({ "$or": [ { "showDeal": 1} , { "prepaidDeal": 1 } ] })
307
    query = {}
307
    query = {}
308
    query['$gte'] = -100
308
    query['$gte'] = -100
309
    outer_query.append({'totalPoints':query})
309
    outer_query.append({'totalPoints':query})
310
    brandPrefMap = {}
310
    brandPrefMap = {}
311
    pricePrefMap = {}
311
    pricePrefMap = {}
Line 431... Line 431...
431
    print "============================"
431
    print "============================"
432
    if filterData is not None:
432
    if filterData is not None:
433
        try:
433
        try:
434
            sorted_deals = filterDeals(sorted_deals, filterData)
434
            sorted_deals = filterDeals(sorted_deals, filterData)
435
        except:
435
        except:
436
            traceback.print_exc()    
436
            traceback.print_exc()
437
    
437
    
-
 
438
    
-
 
439
    sortedMap = {}
-
 
440
    rankMap = {}
-
 
441
    rank = 0
438
    for d in sorted_deals[offset:offset+limit]:
442
    for sorted_deal in sorted_deals:
-
 
443
        if sortedMap.get(sorted_deal['skuBundleId']) is None:
-
 
444
            sortedMap[sorted_deal['skuBundleId']] = {rank:[sorted_deal]}
-
 
445
            rankMap[rank] = (sortedMap[sorted_deal['skuBundleId']].values())[0]
-
 
446
            rank = rank +1
-
 
447
        else:
-
 
448
            for temp_list in sortedMap.get(sorted_deal['skuBundleId']).itervalues():
-
 
449
                temp_list.append(sorted_deal)
-
 
450
            rankMap[(sortedMap.get(sorted_deal['skuBundleId']).keys())[0]] = temp_list 
-
 
451
                
-
 
452
    for dealList in [rankMap.get(k, []) for k in range(offset, offset+limit)]:
-
 
453
        for d in dealList:
439
        item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
454
            item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
440
        if not dealsMap.has_key(item[0]['identifier']):
455
            if not dealsMap.has_key(item[0]['identifier']):
441
            item[0]['dealRank'] = rank
456
                item[0]['dealRank'] = rank
442
            item[0]['persPoints'] = d['persPoints']
457
                item[0]['persPoints'] = d['persPoints']
443
            if d['dealType'] == 1 and d['source_id'] ==1:
458
                if d['dealType'] == 1 and d['source_id'] ==1:
444
                item[0]['marketPlaceUrl'] = "http://www.amazon.in/dp/%s"%(item[0]['identifier'].strip())
459
                    item[0]['marketPlaceUrl'] = "http://www.amazon.in/dp/%s"%(item[0]['identifier'].strip())
445
            elif d['source_id'] ==3:
460
                elif d['source_id'] ==3:
446
                item[0]['marketPlaceUrl'] = item[0]['marketPlaceUrl']+'?supc='+item[0].get('identifier')
461
                    item[0]['marketPlaceUrl'] = item[0]['marketPlaceUrl']+'?supc='+item[0].get('identifier')
447
            else:
462
                else:
448
                pass 
463
                    pass 
449
            try:
464
                try:
450
                cashBack = getCashBack(item[0]['_id'], item[0]['source_id'], item[0]['category_id'])
465
                    cashBack = getCashBack(item[0]['_id'], item[0]['source_id'], item[0]['category_id'])
451
                if not cashBack or cashBack.get('cash_back_status')!=1:
466
                    if not cashBack or cashBack.get('cash_back_status')!=1:
-
 
467
                        item[0]['cash_back_type'] = 0
-
 
468
                        item[0]['cash_back'] = 0
-
 
469
                    else:
-
 
470
                        item[0]['cash_back_type'] = int(cashBack['cash_back_type'])
-
 
471
                        item[0]['cash_back'] = cashBack['cash_back']
-
 
472
                except:
-
 
473
                    print "Error in adding cashback to deals"
452
                    item[0]['cash_back_type'] = 0
474
                    item[0]['cash_back_type'] = 0
453
                    item[0]['cash_back'] = 0
475
                    item[0]['cash_back'] = 0
454
                else:
-
 
455
                    item[0]['cash_back_type'] = int(cashBack['cash_back_type'])
-
 
456
                    item[0]['cash_back'] = cashBack['cash_back']
-
 
457
            except:
-
 
458
                print "Error in adding cashback to deals"
-
 
459
                item[0]['cash_back_type'] = 0
-
 
460
                item[0]['cash_back'] = 0
-
 
461
            dealsMap[item[0]['identifier']] = item[0]
476
                dealsMap[item[0]['identifier']] = item[0]
462
            
477
                
463
            rank +=1
478
                rank +=1
464
    return sorted(dealsMap.values(), key=itemgetter('dealRank'))
479
    return sorted(dealsMap.values(), key=itemgetter('dealRank'))
465
 
480
 
466
 
481
 
467
def filterDeals(deals, filterData):
482
def filterDeals(deals, filterData):
468
    dealFiltered = []
483
    dealFiltered = []
Line 1197... Line 1212...
1197
 
1212
 
1198
def getItemObjForStaticDeals(item):
1213
def getItemObjForStaticDeals(item):
1199
    return {'marketPlaceUrl':item.get('marketPlaceUrl'),'available_price':item.get('available_price'),'source_product_name':item.get('source_product_name'),'thumbnail':item.get('thumbnail'),'source_id':int(item.get('source_id'))}
1214
    return {'marketPlaceUrl':item.get('marketPlaceUrl'),'available_price':item.get('available_price'),'source_product_name':item.get('source_product_name'),'thumbnail':item.get('thumbnail'),'source_id':int(item.get('source_id'))}
1200
    
1215
    
1201
def main():
1216
def main():
1202
    #print getNewDeals(47, 3, 0, 20, None, None, "brandFilter:64")
-
 
1203
    #mc.delete(str(-1))
1217
    __populateCache(47)
1204
    staticDeals = getStaticDeals(0,20,3)
1218
    getNewDeals(47, 0, 0, 20, None, None, None)
1205
    print "========="
-
 
1206
    for y in staticDeals:
-
 
1207
        print y
-
 
1208
    
1219
    
1209
    
1220
    
1210
    
1221
    
1211
if __name__=='__main__':
1222
if __name__=='__main__':
1212
    main()
1223
    main()