Subversion Repositories SmartDukaan

Rev

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

Rev 17616 Rev 17618
Line 629... Line 629...
629
def __populateFeaturedDeals():
629
def __populateFeaturedDeals():
630
    print "Populating featured deals....."
630
    print "Populating featured deals....."
631
    featuredDealsMobiles = {}
631
    featuredDealsMobiles = {}
632
    featuredDealsTablets = {}
632
    featuredDealsTablets = {}
633
    featuredDealsAccessories = {}
633
    featuredDealsAccessories = {}
634
    activeFeaturedDeals = get_mongo_connection().Catalog.FeaturedDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())}}).sort([('rank',pymongo.DESCENDING)])
634
    activeFeaturedDeals = get_mongo_connection().Catalog.FeaturedDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())}})
635
    for activeFeaturedDeal in activeFeaturedDeals:
635
    for activeFeaturedDeal in activeFeaturedDeals:
636
        deals = get_mongo_connection().Catalog.Deals.find({"skuBundleId":activeFeaturedDeal.get('skuBundleId'),"$or":[{"showDeal":1}, {"prepaidDeal":1}]})
636
        deals = get_mongo_connection().Catalog.Deals.find({"skuBundleId":activeFeaturedDeal.get('skuBundleId'),"$or":[{"showDeal":1}, {"prepaidDeal":1}]})
637
        for deal in deals:
637
        for deal in deals:
638
            if deal.get('available_price') <= activeFeaturedDeal.get('thresholdPrice'):
638
            if deal.get('available_price') <= activeFeaturedDeal.get('thresholdPrice'):
639
                for category_id, rank  in activeFeaturedDeal['otherInfo'].iteritems():
639
                for category_id, rank  in activeFeaturedDeal['otherInfo'].iteritems():
Line 654... Line 654...
654
#                 break
654
#                 break
655
                
655
                
656
        
656
        
657
    mc.set("featured_deals", {3:featuredDealsMobiles,5:featuredDealsTablets,6:featuredDealsAccessories}, 600)
657
    mc.set("featured_deals", {3:featuredDealsMobiles,5:featuredDealsTablets,6:featuredDealsAccessories}, 600)
658
 
658
 
-
 
659
def __populateFeaturedDealsForDealObject():
-
 
660
    print "Caching deal objects...."
-
 
661
    featuredDealObjectMobiles = {}
-
 
662
    featuredDealObjectTablets = {}
-
 
663
    featuredDealObjectAccessories = {}
-
 
664
    dealObjects = get_mongo_connection().Catalog.FeaturedDealsDealObject.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())}})
-
 
665
    for dealObject in dealObjects:
-
 
666
        d_object = list(get_mongo_connection().Catalog.DealObject.find({'_id':dealObject['_id']}))
-
 
667
        if len(d_object) == 0:
-
 
668
            continue
-
 
669
        for category_id, rank  in dealObject['otherInfo'].iteritems():
-
 
670
            d_object[0]['dealObject'] = 1
-
 
671
            f_deal = {'rank':rank,'category_id':int(category_id),'object':d_object[0]}
-
 
672
            if f_deal['category_id'] == 3:
-
 
673
                featuredDealObjectMobiles[rank] = f_deal
-
 
674
            elif f_deal['category_id']==5:
-
 
675
                featuredDealObjectTablets[rank] = f_deal
-
 
676
            elif f_deal['category_id']==6:
-
 
677
                featuredDealObjectAccessories[rank] = f_deal
-
 
678
    mc.set("featured_deals_deal_object", {3:featuredDealObjectMobiles,5:featuredDealObjectTablets,6:featuredDealObjectAccessories}, 600)
-
 
679
 
659
def getNewDeals(userId, category_id, offset, limit, sort, direction, filterData=None):
680
def getNewDeals(userId, category_id, offset, limit, sort, direction, filterData=None):
660
    if mc.get("category_cash_back") is None or not bool(mc.get("category_cash_back")):
681
    if mc.get("category_cash_back") is None or not bool(mc.get("category_cash_back")):
661
        populateCashBack()
682
        populateCashBack()
662
    
683
    
663
    dealsListMap = []
684
    dealsListMap = []
Line 682... Line 703...
682
            else:
703
            else:
683
                rev = False
704
                rev = False
684
            sorted_deals = sorted(category_specific_deals, key = lambda x: (x['available_price']),reverse=rev)
705
            sorted_deals = sorted(category_specific_deals, key = lambda x: (x['available_price']),reverse=rev)
685
    
706
    
686
    
707
    
687
    print "============================"
-
 
688
    filtered_deals = []
708
    filtered_deals = []
689
    if filterData is not None:
709
    if filterData is not None:
690
        try:
710
        try:
691
            filtered_deals = filterDeals(category_specific_deals, filterData)
711
            filtered_deals = filterDeals(category_specific_deals, filterData)
692
        except:
712
        except:
Line 720... Line 740...
720
            for k, v in od.iteritems():
740
            for k, v in od.iteritems():
721
                if v[0].get('skuBundleId') in filtered_deals:
741
                if v[0].get('skuBundleId') in filtered_deals:
722
                    filterMap[rank] = v
742
                    filterMap[rank] = v
723
                    rank =rank+1
743
                    rank =rank+1
724
            rankMap = filterMap
744
            rankMap = filterMap
-
 
745
    
725
                        
746
    rankCounter = offset + 1
726
    for dealList in [rankMap.get(k, []) for k in range(offset, offset+limit)]:
747
    for dealList in [rankMap.get(k, []) for k in range(offset, offset+limit)]:
-
 
748
        rankCounter = rankCounter+1
-
 
749
        if mc.get("featured_deals_deal_object") is None or not bool(mc.get("featured_deals_deal_object")):
-
 
750
            try:
-
 
751
                __populateFeaturedDealsForDealObject()
-
 
752
                fd_dealObject = mc.get("featured_deals_deal_object")
-
 
753
            except:
-
 
754
                fd_dealObject = {3:{},5:{},6:{}}
-
 
755
        else:
-
 
756
            fd_dealObject = mc.get("featured_deals_deal_object")
-
 
757
        
-
 
758
        if (fd_dealObject.get(category_id)).get(rankCounter) is not None:
-
 
759
            deal_object_temp = []
-
 
760
            deal_object_temp.append(fd_dealObject.get(category_id)).get(rankCounter).get('object')
-
 
761
            dealsListMap.append(deal_object_temp)
-
 
762
        
727
        temp = []
763
        temp = []
728
        if dealList is None or len(dealList)==0:
764
        if dealList is None or len(dealList)==0:
729
            print "Empty deal;lisr"
765
            print "Empty deal;lisr"
730
            continue
766
            continue
731
        for d in dealList:
767
        for d in dealList:
Line 798... Line 834...
798
                item[0]['filterLink'] = ""
834
                item[0]['filterLink'] = ""
799
            temp.append(item[0])
835
            temp.append(item[0])
800
        if len(temp) > 1:
836
        if len(temp) > 1:
801
            temp = sorted(temp, key = lambda x: (x['available_price']),reverse=False)
837
            temp = sorted(temp, key = lambda x: (x['available_price']),reverse=False)
802
        dealsListMap.append(temp)
838
        dealsListMap.append(temp)
-
 
839
        
-
 
840
        
-
 
841
             
-
 
842
            
-
 
843
        
-
 
844
        
-
 
845
        
-
 
846
        
-
 
847
        
803
    return dealsListMap
848
    return dealsListMap
804
 
849
 
805
def filterDeals(deals, filterData):
850
def filterDeals(deals, filterData):
806
    dealFiltered = []
851
    dealFiltered = []
807
    brandsFiltered = []
852
    brandsFiltered = []
Line 2207... Line 2252...
2207
    except:
2252
    except:
2208
        return {0:"Error in deleting object"}
2253
        return {0:"Error in deleting object"}
2209
 
2254
 
2210
 
2255
 
2211
def main():
2256
def main():
-
 
2257
    featuredDeals = mc.get("featured_deals")
2212
    data = {'hello':"ya"}
2258
    print resetCache("47")
-
 
2259
    print datetime.now()
-
 
2260
    x=  getNewDeals(47, 6, 0, 20, None, None, None)
-
 
2261
    print "=========================="
-
 
2262
    for y in x:
-
 
2263
        print y[0]['skuBundleId'],
2213
    addDealObject(data)
2264
        print '\t',
-
 
2265
        print y[0]['brand']
-
 
2266
    print datetime.now()
-
 
2267
 
2214
 
2268
 
2215
        
2269
        
2216
 
2270
 
2217
if __name__=='__main__':
2271
if __name__=='__main__':
2218
    main()
2272
    main()