Subversion Repositories SmartDukaan

Rev

Rev 14497 | Rev 14552 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
13572 kshitij.so 1
import json
13582 amit.gupta 2
from dtr import main
13629 kshitij.so 3
from dtr.storage import Mongo
4
from bson import json_util
13827 kshitij.so 5
import falcon
14046 kshitij.so 6
from dtr.utils import FetchLivePrices, DealSheet as X_DealSheet, \
7
UserSpecificDeals
14483 kshitij.so 8
from bson.json_util import dumps
13572 kshitij.so 9
 
10
 
11
class CategoryDiscountInfo(object):
12
 
13
    def on_get(self, req, resp):
14
 
13629 kshitij.so 15
        result = Mongo.getAllCategoryDiscount()
16
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
17
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 18
 
19
    def on_post(self, req, resp):
20
        try:
21
            result_json = json.loads(req.stream.read(), encoding='utf-8')
22
        except ValueError:
23
            raise falcon.HTTPError(falcon.HTTP_400,
24
                'Malformed JSON',
25
                'Could not decode the request body. The '
26
                'JSON was incorrect.')
27
 
28
        result = Mongo.addCategoryDiscount(result_json)
29
        resp.body = json.dumps(result, encoding='utf-8')
13969 kshitij.so 30
 
31
    def on_put(self, req, resp, _id):
13970 kshitij.so 32
        try:
33
            result_json = json.loads(req.stream.read(), encoding='utf-8')
34
        except ValueError:
35
            raise falcon.HTTPError(falcon.HTTP_400,
36
                'Malformed JSON',
37
                'Could not decode the request body. The '
38
                'JSON was incorrect.')
39
 
40
        result = Mongo.updateCategoryDiscount(result_json, _id)
41
        resp.body = json.dumps(result, encoding='utf-8')
42
 
13966 kshitij.so 43
 
13969 kshitij.so 44
 
13572 kshitij.so 45
class SkuSchemeDetails(object):
46
 
47
    def on_get(self, req, resp):
13629 kshitij.so 48
 
14070 kshitij.so 49
        offset = req.get_param_as_int("offset")
50
        limit = req.get_param_as_int("limit")
51
 
52
        result = Mongo.getAllSkuWiseSchemeDetails(offset, limit)
13629 kshitij.so 53
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
54
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 55
 
56
 
57
    def on_post(self, req, resp):
58
 
59
        try:
60
            result_json = json.loads(req.stream.read(), encoding='utf-8')
61
        except ValueError:
62
            raise falcon.HTTPError(falcon.HTTP_400,
63
                'Malformed JSON',
64
                'Could not decode the request body. The '
65
                'JSON was incorrect.')
66
 
67
        result = Mongo.addSchemeDetailsForSku(result_json)
68
        resp.body = json.dumps(result, encoding='utf-8')
69
 
70
class SkuDiscountInfo():
71
 
72
    def on_get(self, req, resp):
13629 kshitij.so 73
 
13970 kshitij.so 74
        offset = req.get_param_as_int("offset")
75
        limit = req.get_param_as_int("limit")
76
        result = Mongo.getallSkuDiscountInfo(offset,limit)
13629 kshitij.so 77
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
78
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 79
 
80
 
81
    def on_post(self, req, resp):
82
 
83
        try:
84
            result_json = json.loads(req.stream.read(), encoding='utf-8')
85
        except ValueError:
86
            raise falcon.HTTPError(falcon.HTTP_400,
87
                'Malformed JSON',
88
                'Could not decode the request body. The '
89
                'JSON was incorrect.')
90
 
91
        result = Mongo.addSkuDiscountInfo(result_json)
92
        resp.body = json.dumps(result, encoding='utf-8')
13970 kshitij.so 93
 
94
    def on_put(self, req, resp, _id):
95
        try:
96
            result_json = json.loads(req.stream.read(), encoding='utf-8')
97
        except ValueError:
98
            raise falcon.HTTPError(falcon.HTTP_400,
99
                'Malformed JSON',
100
                'Could not decode the request body. The '
101
                'JSON was incorrect.')
102
 
103
        result = Mongo.updateSkuDiscount(result_json, _id)
104
        resp.body = json.dumps(result, encoding='utf-8')
13572 kshitij.so 105
 
106
class ExceptionalNlc():
107
 
108
    def on_get(self, req, resp):
13629 kshitij.so 109
 
13970 kshitij.so 110
        offset = req.get_param_as_int("offset")
111
        limit = req.get_param_as_int("limit")
112
 
113
        result = Mongo.getAllExceptionlNlcItems(offset, limit)
13629 kshitij.so 114
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
115
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 116
 
117
    def on_post(self, req, resp):
118
 
119
        try:
120
            result_json = json.loads(req.stream.read(), encoding='utf-8')
121
        except ValueError:
122
            raise falcon.HTTPError(falcon.HTTP_400,
123
                'Malformed JSON',
124
                'Could not decode the request body. The '
125
                'JSON was incorrect.')
126
 
127
        result = Mongo.addExceptionalNlc(result_json)
128
        resp.body = json.dumps(result, encoding='utf-8')
13970 kshitij.so 129
 
130
    def on_put(self, req, resp, _id):
131
        try:
132
            result_json = json.loads(req.stream.read(), encoding='utf-8')
133
        except ValueError:
134
            raise falcon.HTTPError(falcon.HTTP_400,
135
                'Malformed JSON',
136
                'Could not decode the request body. The '
137
                'JSON was incorrect.')
138
 
139
        result = Mongo.updateExceptionalNlc(result_json, _id)
140
        resp.body = json.dumps(result, encoding='utf-8')
13572 kshitij.so 141
 
13772 kshitij.so 142
class Deals():
13779 kshitij.so 143
    def on_get(self,req, resp, userId):
144
        categoryId = req.get_param_as_int("categoryId")
145
        offset = req.get_param_as_int("offset")
146
        limit = req.get_param_as_int("limit")
13798 kshitij.so 147
        sort = req.get_param("sort")
13802 kshitij.so 148
        direction = req.get_param_as_int("direction")
14106 kshitij.so 149
        result = Mongo.getNewDeals(int(userId), categoryId, offset, limit, sort, direction)
13772 kshitij.so 150
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 151
        resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 152
 
153
class MasterData():
154
    def on_get(self,req, resp, skuId):
155
        result = Mongo.getItem(skuId)
13798 kshitij.so 156
        try:
157
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 158
            resp.body = json.dumps(json_docs, encoding='utf-8')
13798 kshitij.so 159
        except:
160
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 161
            resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 162
 
13827 kshitij.so 163
class LiveData():
164
    def on_get(self,req, resp):
13865 kshitij.so 165
        if req.get_param_as_int("id") is not None:
166
            print "****getting only for id"
167
            id = req.get_param_as_int("id")
168
            try:
169
                result = FetchLivePrices.getLatestPriceById(id)
13867 kshitij.so 170
                json_docs = json.dumps(result, default=json_util.default)
13966 kshitij.so 171
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 172
            except:
173
                json_docs = json.dumps({}, default=json_util.default)
13966 kshitij.so 174
                resp.body = json.dumps(json_docs, encoding='utf-8')
13834 kshitij.so 175
 
13865 kshitij.so 176
        else:
177
            print "****getting only for skuId"
178
            skuBundleId = req.get_param_as_int("skuBundleId")
179
            source_id = req.get_param_as_int("source_id")
180
            try:
181
                result = FetchLivePrices.getLatestPrice(skuBundleId, source_id)
182
                json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 183
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 184
            except:
185
                json_docs = [json.dumps(doc, default=json_util.default) for doc in [{}]]
13966 kshitij.so 186
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 187
 
13834 kshitij.so 188
class CashBack():
189
    def on_get(self,req, resp):
190
        identifier = req.get_param("identifier")
191
        source_id = req.get_param_as_int("source_id")
192
        try:
13838 kshitij.so 193
            result = Mongo.getCashBackDetails(identifier, source_id)
13837 kshitij.so 194
            json_docs = json.dumps(result, default=json_util.default)
13964 kshitij.so 195
            resp.body = json_docs
13834 kshitij.so 196
        except:
13837 kshitij.so 197
            json_docs = json.dumps({}, default=json_util.default)
13963 kshitij.so 198
            resp.body = json_docs
13892 kshitij.so 199
 
14398 amit.gupta 200
class ImgSrc():
201
    def on_get(self,req, resp):
202
        identifier = req.get_param("identifier")
203
        source_id = req.get_param_as_int("source_id")
204
        try:
205
            result = Mongo.getImgSrc(identifier, source_id)
206
            json_docs = json.dumps(result, default=json_util.default)
207
            resp.body = json_docs
208
        except:
209
            json_docs = json.dumps({}, default=json_util.default)
210
            resp.body = json_docs
211
 
13892 kshitij.so 212
class DealSheet():
213
    def on_get(self,req, resp):
13895 kshitij.so 214
        X_DealSheet.sendMail()
13897 kshitij.so 215
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
13966 kshitij.so 216
        resp.body = json.dumps(json_docs, encoding='utf-8')
13892 kshitij.so 217
 
13970 kshitij.so 218
class DealerPrice():
219
 
220
    def on_get(self, req, resp):
221
 
222
        offset = req.get_param_as_int("offset")
223
        limit = req.get_param_as_int("limit")
224
        result = Mongo.getAllDealerPrices(offset,limit)
225
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
226
        resp.body = json.dumps(json_docs, encoding='utf-8')
227
 
228
    def on_post(self, req, resp):
229
 
230
        try:
231
            result_json = json.loads(req.stream.read(), encoding='utf-8')
232
        except ValueError:
233
            raise falcon.HTTPError(falcon.HTTP_400,
234
                'Malformed JSON',
235
                'Could not decode the request body. The '
236
                'JSON was incorrect.')
237
 
238
        result = Mongo.addSkuDealerPrice(result_json)
239
        resp.body = json.dumps(result, encoding='utf-8')
240
 
241
    def on_put(self, req, resp, _id):
242
        try:
243
            result_json = json.loads(req.stream.read(), encoding='utf-8')
244
        except ValueError:
245
            raise falcon.HTTPError(falcon.HTTP_400,
246
                'Malformed JSON',
247
                'Could not decode the request body. The '
248
                'JSON was incorrect.')
249
 
250
        result = Mongo.updateSkuDealerPrice(result_json, _id)
251
        resp.body = json.dumps(result, encoding='utf-8')
252
 
253
 
14041 kshitij.so 254
class ResetCache():
255
 
256
    def on_get(self,req, resp, userId):
14044 kshitij.so 257
        result = Mongo.resetCache(userId)
14046 kshitij.so 258
        resp.body = json.dumps(result, encoding='utf-8')
259
 
260
class UserDeals():
261
    def on_get(self,req,resp,userId):
262
        UserSpecificDeals.generateSheet(userId)
263
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
264
        resp.body = json.dumps(json_docs, encoding='utf-8')
14075 kshitij.so 265
 
266
class CommonUpdate():
267
 
268
    def on_post(self,req,resp):
269
        try:
270
            result_json = json.loads(req.stream.read(), encoding='utf-8')
271
        except ValueError:
272
            raise falcon.HTTPError(falcon.HTTP_400,
273
                'Malformed JSON',
274
                'Could not decode the request body. The '
275
                'JSON was incorrect.')
276
 
277
        result = Mongo.updateCollection(result_json)
278
        resp.body = json.dumps(result, encoding='utf-8')
14106 kshitij.so 279
        resp.content_type = "application/json; charset=utf-8"
14481 kshitij.so 280
 
281
class NegativeDeals():
282
 
283
    def on_get(self, req, resp):
284
 
285
        offset = req.get_param_as_int("offset")
286
        limit = req.get_param_as_int("limit")
287
 
288
        result = Mongo.getAllNegativeDeals(offset, limit)
14483 kshitij.so 289
        resp.body = dumps(result) 
14481 kshitij.so 290
 
291
 
292
    def on_post(self, req, resp):
293
 
294
        try:
295
            result_json = json.loads(req.stream.read(), encoding='utf-8')
296
        except ValueError:
297
            raise falcon.HTTPError(falcon.HTTP_400,
298
                'Malformed JSON',
299
                'Could not decode the request body. The '
300
                'JSON was incorrect.')
301
 
302
        result = Mongo.addNegativeDeals(result_json)
303
        resp.body = json.dumps(result, encoding='utf-8')
304
 
305
class ManualDeals():
306
 
307
    def on_get(self, req, resp):
308
 
309
        offset = req.get_param_as_int("offset")
310
        limit = req.get_param_as_int("limit")
311
 
312
        result = Mongo.getAllManualDeals(offset, limit)
14483 kshitij.so 313
        resp.body = dumps(result)
14481 kshitij.so 314
 
315
 
316
    def on_post(self, req, resp):
317
 
318
        try:
319
            result_json = json.loads(req.stream.read(), encoding='utf-8')
320
        except ValueError:
321
            raise falcon.HTTPError(falcon.HTTP_400,
322
                'Malformed JSON',
323
                'Could not decode the request body. The '
324
                'JSON was incorrect.')
325
 
14483 kshitij.so 326
        result = Mongo.addManualDeal(result_json)
14481 kshitij.so 327
        resp.body = json.dumps(result, encoding='utf-8')
328
 
329
class CommonDelete():
14482 kshitij.so 330
 
14481 kshitij.so 331
    def on_post(self,req,resp):
332
        try:
333
            result_json = json.loads(req.stream.read(), encoding='utf-8')
334
        except ValueError:
335
            raise falcon.HTTPError(falcon.HTTP_400,
336
                'Malformed JSON',
337
                'Could not decode the request body. The '
338
                'JSON was incorrect.')
339
 
340
        result = Mongo.deleteDocument(result_json)
341
        resp.body = json.dumps(result, encoding='utf-8')
342
        resp.content_type = "application/json; charset=utf-8"
14482 kshitij.so 343
 
344
class SearchProduct():
345
 
346
    def on_get(self,req,resp):
347
        offset = req.get_param_as_int("offset")
348
        limit = req.get_param_as_int("limit")
349
        search_term = req.get_param("search")
350
 
351
        result = Mongo.searchMaster(offset, limit, search_term)
14483 kshitij.so 352
        resp.body = dumps(result) 
14482 kshitij.so 353
 
354
 
14495 kshitij.so 355
class FeaturedDeals():
14482 kshitij.so 356
 
14495 kshitij.so 357
    def on_get(self, req, resp):
358
 
359
        offset = req.get_param_as_int("offset")
360
        limit = req.get_param_as_int("limit")
361
 
362
        result = Mongo.getAllFeaturedDeals(offset, limit)
363
        resp.body = dumps(result)
364
 
365
 
366
    def on_post(self, req, resp):
367
 
368
        try:
369
            result_json = json.loads(req.stream.read(), encoding='utf-8')
370
        except ValueError:
371
            raise falcon.HTTPError(falcon.HTTP_400,
372
                'Malformed JSON',
373
                'Could not decode the request body. The '
374
                'JSON was incorrect.')
375
 
376
        result = Mongo.addFeaturedDeal(result_json)
377
        resp.body = json.dumps(result, encoding='utf-8')
378
 
14497 kshitij.so 379
 
380
class CommonSearch():
14495 kshitij.so 381
 
14497 kshitij.so 382
    def on_get(self,req,resp):
383
        class_name = req.get_param("class")
384
        sku = req.get_param_as_int("sku")
385
        skuBundleId = req.get_param_as_int("skuBundleId")
14499 kshitij.so 386
 
387
        result = Mongo.searchCollection(class_name, sku, skuBundleId)
14497 kshitij.so 388
        resp.body = dumps(result)
14495 kshitij.so 389