Subversion Repositories SmartDukaan

Rev

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

Rev 14507 Rev 14531
Line 1... Line 1...
1
from bson.objectid import ObjectId
1
from bson.objectid import ObjectId
2
from datetime import datetime, timedelta
2
from datetime import datetime, timedelta
3
from dtr.config import PythonPropertyReader
3
from dtr.config import PythonPropertyReader
4
from dtr.main import Store
4
from dtr.main import Store
-
 
5
from dtr.dao import FeaturedDeals
5
from dtr.storage import DataService
6
from dtr.storage import DataService
6
from dtr.storage.DataService import price_preferences, brand_preferences, \
7
from dtr.storage.DataService import price_preferences, brand_preferences, \
7
    user_actions
8
    user_actions
8
from dtr.storage.MemCache import MemCache
9
from dtr.storage.MemCache import MemCache
9
from dtr.utils.utils import to_java_date
10
from dtr.utils.utils import to_java_date
Line 337... Line 338...
337
    session.close()
338
    session.close()
338
    mem_cache_val = {3:mobile_deals, 5:tablet_deals, 0:all_deals}
339
    mem_cache_val = {3:mobile_deals, 5:tablet_deals, 0:all_deals}
339
    mc.set(str(userId), mem_cache_val)
340
    mc.set(str(userId), mem_cache_val)
340
    
341
    
341
 
342
 
-
 
343
def __populateFeaturedDeals():
-
 
344
    all_category_fd = []
-
 
345
    mobile_fd = []
-
 
346
    tablet_fd = []
-
 
347
    activeFeaturedDeals = get_mongo_connection().Catalog.FeaturedDeals.find({'startDate':{'$lte':to_java_date(datetime.now())},'endDate':{'$gte':to_java_date(datetime.now())}})
-
 
348
    for activeFeaturedDeal in activeFeaturedDeals:
-
 
349
        for k,v in activeFeaturedDeal['rankDetails']:
-
 
350
            featuredDeal = FeaturedDeals(activeFeaturedDeal['sku'], int(k), activeFeaturedDeal['thresholdPrice'], int(v))
-
 
351
            if featuredDeal.category_id == 0:
-
 
352
                all_category_fd.append(featuredDeal)
-
 
353
            elif featuredDeal.category_id == 3:
-
 
354
                mobile_fd.append(featuredDeal)
-
 
355
            elif featuredDeal.category_id == 5:
-
 
356
                tablet_fd.append(featuredDeal)
-
 
357
            else:
-
 
358
                continue
-
 
359
    mc.set("featured_deals_category_"+str(0), all_category_fd)
-
 
360
    mc.set("featured_deals_category_"+str(3), mobile_fd)
-
 
361
    mc.set("featured_deals_category_"+str(5), tablet_fd)
342
 
362
 
343
def getNewDeals(userId, category_id, offset, limit, sort, direction):
363
def getNewDeals(userId, category_id, offset, limit, sort, direction):
344
    if not bool(cashBackMap):
364
    if not bool(cashBackMap):
345
        populateCashBack()
365
        populateCashBack()
346
    
366
    
-
 
367
    if mc.get("featured_deals_category_"+str(category_id)) is None:
-
 
368
        __populateFeaturedDeals() 
-
 
369
    
347
    rank = 1
370
    rank = 1
348
    dealsMap = {}
371
    dealsMap = {}
349
    user_specific_deals = mc.get(str(userId))
372
    user_specific_deals = mc.get(str(userId))
350
    if user_specific_deals is None:
373
    if user_specific_deals is None:
351
        __populateCache(userId)
374
        __populateCache(userId)
Line 664... Line 687...
664
        print e
687
        print e
665
        return {0:"Document not deleted."}
688
        return {0:"Document not deleted."}
666
 
689
 
667
def searchMaster(offset, limit, search_term):
690
def searchMaster(offset, limit, search_term):
668
    data = []
691
    data = []
-
 
692
    if search_term is not None:
669
    try:
693
        try:
670
        collection = get_mongo_connection().Catalog.MasterData.find({'source_product_name':re.compile(search_term, re.IGNORECASE),'source_id':{'$in':SOURCE_MAP.keys()}}).skip(offset).limit(limit)
694
            collection = get_mongo_connection().Catalog.MasterData.find({'source_product_name':re.compile(search_term, re.IGNORECASE),'source_id':{'$in':SOURCE_MAP.keys()}}).skip(offset).limit(limit)
-
 
695
            for record in collection:
-
 
696
                data.append(record)
-
 
697
        except:
-
 
698
            pass
-
 
699
    else:
-
 
700
        collection = get_mongo_connection().Catalog.MasterData.find({'source_id':{'$in':SOURCE_MAP.keys()}}).skip(offset).limit(limit)
671
        for record in collection:
701
        for record in collection:
672
            data.append(record)
702
            data.append(record)
673
    except:
-
 
674
        pass
-
 
675
    return data
703
    return data
676
 
704
 
677
def getAllFeaturedDeals(offset, limit):
705
def getAllFeaturedDeals(offset, limit):
678
    data = []
706
    data = []
679
    collection = get_mongo_connection().Catalog.FeaturedDeals
707
    collection = get_mongo_connection().Catalog.FeaturedDeals
Line 734... Line 762...
734
                    val['skuBundleId'] = ""
762
                    val['skuBundleId'] = ""
735
                data.append(val)
763
                data.append(val)
736
        return data
764
        return data
737
 
765
 
738
def main():
766
def main():
739
    print searchMaster(0, 10, "iphone")
767
    print searchMaster(0, 10, "")
740
    
768
    
741
    
769
    
742
if __name__=='__main__':
770
if __name__=='__main__':
743
    main()
771
    main()