Subversion Repositories SmartDukaan

Rev

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

Rev 22269 Rev 22270
Line 950... Line 950...
950
    elif source=="deals":
950
    elif source=="deals":
951
        category_specific_deals = filter(lambda x: x['source_id'] == 4, category_specific_deals)        
951
        category_specific_deals = filter(lambda x: x['source_id'] == 4, category_specific_deals)        
952
 
952
 
953
    if filterData is not None or source:
953
    if filterData is not None or source:
954
        try:
954
        try:
955
            filtered_deals = filterDeals(category_specific_deals, filterData, source)
955
            filtered_deals = filterDeals(category_specific_deals, filterData)
956
            if len(filtered_deals)==0:
956
            if len(filtered_deals)==0:
957
                dataExist = False
957
                dataExist = False
958
        except:
958
        except:
959
            traceback.print_exc()
959
            traceback.print_exc()
960
    if dataExist:
960
    if dataExist:
Line 1169... Line 1169...
1169
 
1169
 
1170
def getAccesoryDeals(userId, category_id, offset, limit, sort, direction, filterData=None, source=None, tag_ids=None):
1170
def getAccesoryDeals(userId, category_id, offset, limit, sort, direction, filterData=None, source=None, tag_ids=None):
1171
    if mc.get("category_cash_back") is None or not bool(mc.get("category_cash_back")):
1171
    if mc.get("category_cash_back") is None or not bool(mc.get("category_cash_back")):
1172
        populateCashBack()
1172
        populateCashBack()
1173
    
1173
    
-
 
1174
 
-
 
1175
    if source is not None:
-
 
1176
        if source=="online":
-
 
1177
            sourceToFilter =   [str(i) for i in ONLINE_DEAL_SOURCE_MAP.keys()]  #filter categores on basis of source and tags
-
 
1178
        #For saholic specific deals
-
 
1179
        elif source=="deals":
-
 
1180
            sourceToFilter = ['4']
-
 
1181
        #we should override sourceFilterString
-
 
1182
        sourceFiterString = "sourceFilter:" + "^".join(sourceToFilter) 
-
 
1183
        
-
 
1184
        if filterData is None:
-
 
1185
            filterData = sourceFiterString
-
 
1186
        else:
-
 
1187
            a = filterData.split('sourceFilter:')
-
 
1188
            if len(a) > 1:
-
 
1189
                filterData =  a[0] + sourceFiterString
-
 
1190
                b = a[1].split("|")
-
 
1191
                if len(b) > 1:
-
 
1192
                    filterData = "|".join([filterData] + b[1:])
-
 
1193
            else:
-
 
1194
                filterData = a + "|" + sourceFiterString
-
 
1195
                    
-
 
1196
                
-
 
1197
        
-
 
1198
    
-
 
1199
    
-
 
1200
    
1174
    dealsListMap = []
1201
    dealsListMap = []
1175
    user_specific_deals = mc.get(str(userId)+'_acc')
1202
    user_specific_deals = mc.get(str(userId)+'_acc')
1176
    if user_specific_deals is None:
1203
    if user_specific_deals is None:
1177
        __populateCacheForAccessories(userId)
1204
        __populateCacheForAccessories(userId)
1178
        user_specific_deals = mc.get(str(userId)+'_acc')
1205
        user_specific_deals = mc.get(str(userId)+'_acc')
Line 1199... Line 1226...
1199
    dataExist = True
1226
    dataExist = True
1200
 
1227
 
1201
    if filterData is not None or source:
1228
    if filterData is not None or source:
1202
        
1229
        
1203
        try:
1230
        try:
1204
            filtered_deals = filterDeals(category_specific_deals, filterData, source)
1231
            filtered_deals = filterDeals(category_specific_deals, filterData)
1205
            if len(filtered_deals)==0:
1232
            if len(filtered_deals)==0:
1206
                dataExist = False
1233
                dataExist = False
1207
        except:
1234
        except:
1208
            traceback.print_exc()
1235
            traceback.print_exc()
1209
    if dataExist:
1236
    if dataExist:
Line 1419... Line 1446...
1419
        if len(temp) > 1:
1446
        if len(temp) > 1:
1420
            temp = sorted(temp, key = lambda x: (x['available_price']),reverse=False)
1447
            temp = sorted(temp, key = lambda x: (x['available_price']),reverse=False)
1421
        dealsListMap.append(temp)
1448
        dealsListMap.append(temp)
1422
    return dealsListMap
1449
    return dealsListMap
1423
 
1450
 
1424
def filterDeals(deals, filterData, source=None):
1451
def filterDeals(deals, filterData):
1425
    print "Filter data ",filterData
1452
    print "Filter data ",filterData
1426
    print "Length deals before filter ", len(deals)
1453
    print "Length deals before filter ", len(deals)
1427
    brandsToFilter = []
1454
    brandsToFilter = []
1428
    subCategoryToFilter = []
1455
    subCategoryToFilter = []
1429
    priceToFilter = []
1456
    priceToFilter = []
1430
    if source=="online":
-
 
1431
        sourceToFilter =   ONLINE_DEAL_SOURCE_MAP.keys()  #filter categores on basis of source and tags
-
 
1432
    #For saholic specific deals
-
 
1433
    elif source=="deals":
-
 
1434
        sourceToFilter = [4]
1457
    sourceToFilter = []
1435
        
1458
        
1436
    if filterData:
1459
    if filterData:
1437
        filterArray = filterData.split('|')
1460
        filterArray = filterData.split('|')
1438
        for data in filterArray:
1461
        for data in filterArray:
1439
            try:
1462
            try: