Subversion Repositories SmartDukaan

Rev

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

Rev 13800 Rev 13801
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
sortDirection = {'asc':pymongo.ASCENDING,'dsc':pymongo.DESCENDING}
8
 
8
 
9
def get_mongo_connection(host='localhost', port=27017):
9
def get_mongo_connection(host='localhost', port=27017):
10
    global con
10
    global con
11
    if con is None:
11
    if con is None:
12
        print "Establishing connection %s host and port %d" %(host,port)
12
        print "Establishing connection %s host and port %d" %(host,port)
Line 116... Line 116...
116
        return result
116
        return result
117
 
117
 
118
def getDeals(category_id, offset, limit, sort, direction):
118
def getDeals(category_id, offset, limit, sort, direction):
119
    rank = 1
119
    rank = 1
120
    deals = {}
120
    deals = {}
-
 
121
    print "***",len(sort)
-
 
122
    print "****",len(direction)
121
    if len(sort) * len(direction) == 0:
123
    if len(sort) * len(direction) == 0:
122
        sortField = "totalPoints"
124
        sortField = "totalPoints"
123
        direct = sortDirection.get('dsc')
125
        direct = sortDirection.get('dsc')
124
    else:
126
    else:
125
        sortField = sort
127
        sortField = sort
126
        direct = sortDirection.get(direction)
128
        direct = sortDirection.get(direction)
-
 
129
    print category_id
-
 
130
    print offset
-
 
131
    print limit
-
 
132
    print sortField
-
 
133
    print direct
127
    if category_id == 0:
134
    if category_id == 0:
128
        print "Getting all cat"
135
        print "Getting all cat"
129
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0}}).sort({sortField,direct}).skip(offset).limit(limit))
136
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0}}).sort([(sortField,direct)]).skip(offset).limit(limit))
130
    else:
137
    else:
131
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0},'category_id':category_id}).sort({sortField,direct}).skip(offset).limit(limit))
138
        data = list(get_mongo_connection().Catalog.Deals.find({'rank':{'$gt':0},'category_id':category_id}).sort([(sortField,direct)]).skip(offset).limit(limit))
132
    for d in data:
139
    for d in data:
133
        item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
140
        item = list(get_mongo_connection().Catalog.MasterData.find({'_id':d['_id']}))
134
        if not deals.has_key(item[0]['identifier']):
141
        if not deals.has_key(item[0]['identifier']):
135
            item[0]['dealRank'] = rank 
142
            item[0]['dealRank'] = rank 
136
            deals[item[0]['identifier']] = item[0]
143
            deals[item[0]['identifier']] = item[0]
Line 145... Line 152...
145
        return [{}]
152
        return [{}]
146
    
153
    
147
    
154
    
148
 
155
 
149
def main():
156
def main():
150
    getDeals("0", "0", "10")
157
    getDeals(3, 0, 10,"","")
151
if __name__=='__main__':
158
if __name__=='__main__':
152
    main()
159
    main()
153
160