Subversion Repositories SmartDukaan

Rev

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

Rev 16320 Rev 16364
Line 1260... Line 1260...
1260
    if skuData is None:
1260
    if skuData is None:
1261
        return {}
1261
        return {}
1262
    else:
1262
    else:
1263
        return skuData
1263
        return skuData
1264
    
1264
    
-
 
1265
def getDealsForNotification(skuBundleIds):
-
 
1266
    bundles= [int(skuBundleId) for skuBundleId in skuBundleIds.split(',')]
-
 
1267
    print bundles
-
 
1268
    dealsListMap = []
-
 
1269
    outer_query = []
-
 
1270
    outer_query.append({ "$or": [ { "showDeal": 1} , { "prepaidDeal": 1 } ] })
-
 
1271
    outer_query.append({'skuBundleId':{"$in":bundles}})
-
 
1272
    print outer_query
-
 
1273
    deals = get_mongo_connection().Catalog.Deals.find({"$and":outer_query})
-
 
1274
    sortedMap = {}
-
 
1275
    rankMap = {}
-
 
1276
    rank = 0
-
 
1277
    for sorted_deal in deals:
-
 
1278
        if sortedMap.get(sorted_deal['skuBundleId']) is None:
-
 
1279
            sortedMap[sorted_deal['skuBundleId']] = {rank:[sorted_deal]}
-
 
1280
            rankMap[rank] = (sortedMap[sorted_deal['skuBundleId']].values())[0]
-
 
1281
            rank = rank +1
-
 
1282
        else:
-
 
1283
            for temp_list in sortedMap.get(sorted_deal['skuBundleId']).itervalues():
-
 
1284
                temp_list.append(sorted_deal)
-
 
1285
            rankMap[(sortedMap.get(sorted_deal['skuBundleId']).keys())[0]] = temp_list
-
 
1286
                
-
 
1287
    for dealList in [rankMap.get(k, []) for k in range(0, len(bundles)-1)]:
-
 
1288
        temp = []
-
 
1289
        for d in dealList:
-
 
1290
            item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
-
 
1291
            if len(item) ==0:
-
 
1292
                continue
-
 
1293
            if d['dealType'] == 1 and d['source_id'] ==1:
-
 
1294
                item[0]['marketPlaceUrl'] = "http://www.amazon.in/dp/%s"%(item[0]['identifier'].strip())
-
 
1295
            elif d['source_id'] ==3:
-
 
1296
                item[0]['marketPlaceUrl'] = item[0]['marketPlaceUrl']+'?supc='+item[0].get('identifier')
-
 
1297
            else:
-
 
1298
                pass 
-
 
1299
            try:
-
 
1300
                cashBack = getCashBack(item[0]['_id'], item[0]['source_id'], item[0]['category_id'])
-
 
1301
                if not cashBack or cashBack.get('cash_back_status')!=1:
-
 
1302
                    item[0]['cash_back_type'] = 0
-
 
1303
                    item[0]['cash_back'] = 0
-
 
1304
                else:
-
 
1305
                    item[0]['cash_back_type'] = int(cashBack['cash_back_type'])
-
 
1306
                    item[0]['cash_back'] = cashBack['cash_back']
-
 
1307
            except:
-
 
1308
                print "Error in adding cashback to deals"
-
 
1309
                item[0]['cash_back_type'] = 0
-
 
1310
                item[0]['cash_back'] = 0
-
 
1311
            try:
-
 
1312
                item[0]['dp'] = d['dp']
-
 
1313
                item[0]['showDp'] = d['showDp']
-
 
1314
            except:
-
 
1315
                item[0]['dp'] = 0.0
-
 
1316
                item[0]['showDp'] = 0
-
 
1317
            temp.append(item[0])
-
 
1318
        if len(temp) > 1:
-
 
1319
            temp = sorted(temp, key = lambda x: (x['available_price']),reverse=False)
-
 
1320
        dealsListMap.append(temp)
-
 
1321
    return dealsListMap
-
 
1322
 
-
 
1323
    
-
 
1324
    
1265
def main():
1325
def main():
1266
    print getItem(1)
1326
    print getDealsForNotification("2,4,8,9")
1267
    
1327
    
1268
    
1328
    
1269
    
1329
    
1270
if __name__=='__main__':
1330
if __name__=='__main__':
1271
    main()
1331
    main()