Subversion Repositories SmartDukaan

Rev

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

Rev 13785 Rev 13795
Line 2... Line 2...
2
from datetime import datetime
2
from datetime import datetime
3
from dtr.utils.utils import to_java_date
3
from dtr.utils.utils import to_java_date
4
from operator import itemgetter 
4
from operator import itemgetter 
5
 
5
 
6
con = None
6
con = None
-
 
7
sortDirection = {'asc':1,'dsc':-1}
7
 
8
 
8
def get_mongo_connection(host='localhost', port=27017):
9
def get_mongo_connection(host='localhost', port=27017):
9
    global con
10
    global con
10
    if con is None:
11
    if con is None:
11
        print "Establishing connection %s host and port %d" %(host,port)
12
        print "Establishing connection %s host and port %d" %(host,port)
Line 112... Line 113...
112
        result['currPage'] = page    
113
        result['currPage'] = page    
113
        return result
114
        return result
114
    else:
115
    else:
115
        return result
116
        return result
116
 
117
 
117
def getDeals(category_id, offset, limit):
118
def getDeals(category_id, offset, limit, sort, direction):
118
    rank = 1
119
    rank = 1
119
    deals = {}
120
    deals = {}
-
 
121
    if len(sort) * len(direction) == 0:
-
 
122
        sortField = "totalPoints"
-
 
123
        direct = sortDirection.get(direction)
-
 
124
    else:
-
 
125
        sortField = sort
-
 
126
        direct = -1
120
    if category_id == 0:
127
    if category_id == 0:
121
        print "Getting all cat"
128
        print "Getting all cat"
122
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0}}).sort([('totalPoints',pymongo.DESCENDING)]).skip(offset).limit(limit))
129
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0}}).sort([(sortField,direct)]).skip(offset).limit(limit))
123
    else:
130
    else:
124
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0},'category_id':category_id}).sort([('totalPoints',pymongo.DESCENDING)]).skip(offset).limit(limit))
131
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0},'category_id':category_id}).sort([(sortField,direct)]).skip(offset).limit(limit))
125
    for d in data:
132
    for d in data:
126
        item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
133
        item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
127
        if not deals.has_key(item[0]['identifier']):
134
        if not deals.has_key(item[0]['identifier']):
128
            item[0]['dealRank'] = rank 
135
            item[0]['dealRank'] = rank 
129
            deals[item[0]['identifier']] = item[0]
136
            deals[item[0]['identifier']] = item[0]
130
            rank +=1
137
            rank +=1
131
    return sorted(deals.values(), key=itemgetter('dealRank'))
138
    return sorted(deals.values(), key=itemgetter('dealRank'))
132
 
139
 
133
def getItem(skuId):
140
def getItem(skuId):
-
 
141
    try:
134
    skuData = list(get_mongo_connection().Catalog.MasterData.find({'_id':skuId}))
142
        skuData = list(get_mongo_connection().Catalog.MasterData.find({'_id':int(skuId)}))
135
    if len(skuData) > 0:
-
 
136
        return skuData
143
        return skuData
137
    else:
144
    except:
138
        []
145
        return [{}]
139
    
146
    
140
    
147
    
141
 
148
 
142
def main():
149
def main():
143
    getDeals("0", "0", "10")
150
    getDeals("0", "0", "10")