Subversion Repositories SmartDukaan

Rev

Rev 14619 | Rev 14998 | 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
 
14552 kshitij.so 59
        multi = req.get_param_as_int("multi")
60
 
13572 kshitij.so 61
        try:
62
            result_json = json.loads(req.stream.read(), encoding='utf-8')
63
        except ValueError:
64
            raise falcon.HTTPError(falcon.HTTP_400,
65
                'Malformed JSON',
66
                'Could not decode the request body. The '
67
                'JSON was incorrect.')
68
 
14552 kshitij.so 69
        result = Mongo.addSchemeDetailsForSku(result_json, multi)
13572 kshitij.so 70
        resp.body = json.dumps(result, encoding='utf-8')
71
 
72
class SkuDiscountInfo():
73
 
74
    def on_get(self, req, resp):
13629 kshitij.so 75
 
13970 kshitij.so 76
        offset = req.get_param_as_int("offset")
77
        limit = req.get_param_as_int("limit")
78
        result = Mongo.getallSkuDiscountInfo(offset,limit)
13629 kshitij.so 79
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
80
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 81
 
82
 
83
    def on_post(self, req, resp):
84
 
14552 kshitij.so 85
        multi = req.get_param_as_int("multi")
86
 
13572 kshitij.so 87
        try:
88
            result_json = json.loads(req.stream.read(), encoding='utf-8')
89
        except ValueError:
90
            raise falcon.HTTPError(falcon.HTTP_400,
91
                'Malformed JSON',
92
                'Could not decode the request body. The '
93
                'JSON was incorrect.')
94
 
14552 kshitij.so 95
        result = Mongo.addSkuDiscountInfo(result_json, multi)
13572 kshitij.so 96
        resp.body = json.dumps(result, encoding='utf-8')
13970 kshitij.so 97
 
98
    def on_put(self, req, resp, _id):
99
        try:
100
            result_json = json.loads(req.stream.read(), encoding='utf-8')
101
        except ValueError:
102
            raise falcon.HTTPError(falcon.HTTP_400,
103
                'Malformed JSON',
104
                'Could not decode the request body. The '
105
                'JSON was incorrect.')
106
 
107
        result = Mongo.updateSkuDiscount(result_json, _id)
108
        resp.body = json.dumps(result, encoding='utf-8')
13572 kshitij.so 109
 
110
class ExceptionalNlc():
111
 
112
    def on_get(self, req, resp):
13629 kshitij.so 113
 
13970 kshitij.so 114
        offset = req.get_param_as_int("offset")
115
        limit = req.get_param_as_int("limit")
116
 
117
        result = Mongo.getAllExceptionlNlcItems(offset, limit)
13629 kshitij.so 118
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
119
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 120
 
121
    def on_post(self, req, resp):
122
 
14552 kshitij.so 123
        multi = req.get_param_as_int("multi")
124
 
13572 kshitij.so 125
        try:
126
            result_json = json.loads(req.stream.read(), encoding='utf-8')
127
        except ValueError:
128
            raise falcon.HTTPError(falcon.HTTP_400,
129
                'Malformed JSON',
130
                'Could not decode the request body. The '
131
                'JSON was incorrect.')
132
 
14552 kshitij.so 133
        result = Mongo.addExceptionalNlc(result_json, multi)
13572 kshitij.so 134
        resp.body = json.dumps(result, encoding='utf-8')
13970 kshitij.so 135
 
136
    def on_put(self, req, resp, _id):
137
        try:
138
            result_json = json.loads(req.stream.read(), encoding='utf-8')
139
        except ValueError:
140
            raise falcon.HTTPError(falcon.HTTP_400,
141
                'Malformed JSON',
142
                'Could not decode the request body. The '
143
                'JSON was incorrect.')
144
 
145
        result = Mongo.updateExceptionalNlc(result_json, _id)
146
        resp.body = json.dumps(result, encoding='utf-8')
13572 kshitij.so 147
 
13772 kshitij.so 148
class Deals():
13779 kshitij.so 149
    def on_get(self,req, resp, userId):
150
        categoryId = req.get_param_as_int("categoryId")
151
        offset = req.get_param_as_int("offset")
152
        limit = req.get_param_as_int("limit")
13798 kshitij.so 153
        sort = req.get_param("sort")
13802 kshitij.so 154
        direction = req.get_param_as_int("direction")
14853 kshitij.so 155
        filterData = req.get_param('filterData')
156
        result = Mongo.getNewDeals(int(userId), categoryId, offset, limit, sort, direction, filterData)
13772 kshitij.so 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')
13790 kshitij.so 159
 
160
class MasterData():
161
    def on_get(self,req, resp, skuId):
162
        result = Mongo.getItem(skuId)
13798 kshitij.so 163
        try:
164
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 165
            resp.body = json.dumps(json_docs, encoding='utf-8')
13798 kshitij.so 166
        except:
167
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 168
            resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 169
 
14586 kshitij.so 170
    def on_post(self,req, resp):
171
 
172
        addNew = req.get_param_as_int("addNew")
173
        update = req.get_param_as_int("update")
174
        addToExisting = req.get_param_as_int("addToExisting")
175
        multi = req.get_param_as_int("multi")
176
 
14589 kshitij.so 177
        try:
14592 kshitij.so 178
            result_json = json.loads(req.stream.read(), encoding='utf-8')
179
        except ValueError:
180
            raise falcon.HTTPError(falcon.HTTP_400,
181
                'Malformed JSON',
182
                'Could not decode the request body. The '
183
                'JSON was incorrect.')
184
 
185
        if addNew == 1:
186
            result = Mongo.addNewItem(result_json)
187
        elif update == 1:
188
            result = Mongo.updateMaster(result_json, multi)
189
        elif addToExisting == 1:
190
            result = Mongo.addItemToExistingBundle(result_json)
191
        else:
192
            raise
193
        resp.body = dumps(result)
14586 kshitij.so 194
 
13827 kshitij.so 195
class LiveData():
196
    def on_get(self,req, resp):
13865 kshitij.so 197
        if req.get_param_as_int("id") is not None:
198
            print "****getting only for id"
199
            id = req.get_param_as_int("id")
200
            try:
201
                result = FetchLivePrices.getLatestPriceById(id)
13867 kshitij.so 202
                json_docs = json.dumps(result, default=json_util.default)
13966 kshitij.so 203
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 204
            except:
205
                json_docs = json.dumps({}, default=json_util.default)
13966 kshitij.so 206
                resp.body = json.dumps(json_docs, encoding='utf-8')
13834 kshitij.so 207
 
13865 kshitij.so 208
        else:
209
            print "****getting only for skuId"
210
            skuBundleId = req.get_param_as_int("skuBundleId")
211
            source_id = req.get_param_as_int("source_id")
212
            try:
213
                result = FetchLivePrices.getLatestPrice(skuBundleId, source_id)
214
                json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 215
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 216
            except:
217
                json_docs = [json.dumps(doc, default=json_util.default) for doc in [{}]]
13966 kshitij.so 218
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 219
 
13834 kshitij.so 220
class CashBack():
221
    def on_get(self,req, resp):
222
        identifier = req.get_param("identifier")
223
        source_id = req.get_param_as_int("source_id")
224
        try:
13838 kshitij.so 225
            result = Mongo.getCashBackDetails(identifier, source_id)
13837 kshitij.so 226
            json_docs = json.dumps(result, default=json_util.default)
13964 kshitij.so 227
            resp.body = json_docs
13834 kshitij.so 228
        except:
13837 kshitij.so 229
            json_docs = json.dumps({}, default=json_util.default)
13963 kshitij.so 230
            resp.body = json_docs
13892 kshitij.so 231
 
14398 amit.gupta 232
class ImgSrc():
233
    def on_get(self,req, resp):
234
        identifier = req.get_param("identifier")
235
        source_id = req.get_param_as_int("source_id")
236
        try:
237
            result = Mongo.getImgSrc(identifier, source_id)
238
            json_docs = json.dumps(result, default=json_util.default)
239
            resp.body = json_docs
240
        except:
241
            json_docs = json.dumps({}, default=json_util.default)
242
            resp.body = json_docs
243
 
13892 kshitij.so 244
class DealSheet():
245
    def on_get(self,req, resp):
13895 kshitij.so 246
        X_DealSheet.sendMail()
13897 kshitij.so 247
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
13966 kshitij.so 248
        resp.body = json.dumps(json_docs, encoding='utf-8')
13892 kshitij.so 249
 
13970 kshitij.so 250
class DealerPrice():
251
 
252
    def on_get(self, req, resp):
253
 
254
        offset = req.get_param_as_int("offset")
255
        limit = req.get_param_as_int("limit")
256
        result = Mongo.getAllDealerPrices(offset,limit)
257
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
258
        resp.body = json.dumps(json_docs, encoding='utf-8')
259
 
260
    def on_post(self, req, resp):
261
 
14552 kshitij.so 262
        multi = req.get_param_as_int("multi")
263
 
13970 kshitij.so 264
        try:
265
            result_json = json.loads(req.stream.read(), encoding='utf-8')
266
        except ValueError:
267
            raise falcon.HTTPError(falcon.HTTP_400,
268
                'Malformed JSON',
269
                'Could not decode the request body. The '
270
                'JSON was incorrect.')
271
 
14552 kshitij.so 272
        result = Mongo.addSkuDealerPrice(result_json, multi)
13970 kshitij.so 273
        resp.body = json.dumps(result, encoding='utf-8')
274
 
275
    def on_put(self, req, resp, _id):
276
        try:
277
            result_json = json.loads(req.stream.read(), encoding='utf-8')
278
        except ValueError:
279
            raise falcon.HTTPError(falcon.HTTP_400,
280
                'Malformed JSON',
281
                'Could not decode the request body. The '
282
                'JSON was incorrect.')
283
 
284
        result = Mongo.updateSkuDealerPrice(result_json, _id)
285
        resp.body = json.dumps(result, encoding='utf-8')
286
 
287
 
14041 kshitij.so 288
class ResetCache():
289
 
290
    def on_get(self,req, resp, userId):
14044 kshitij.so 291
        result = Mongo.resetCache(userId)
14046 kshitij.so 292
        resp.body = json.dumps(result, encoding='utf-8')
293
 
294
class UserDeals():
295
    def on_get(self,req,resp,userId):
296
        UserSpecificDeals.generateSheet(userId)
297
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
298
        resp.body = json.dumps(json_docs, encoding='utf-8')
14075 kshitij.so 299
 
300
class CommonUpdate():
301
 
302
    def on_post(self,req,resp):
14575 kshitij.so 303
 
304
        multi = req.get_param_as_int("multi")
305
 
14075 kshitij.so 306
        try:
307
            result_json = json.loads(req.stream.read(), encoding='utf-8')
308
        except ValueError:
309
            raise falcon.HTTPError(falcon.HTTP_400,
310
                'Malformed JSON',
311
                'Could not decode the request body. The '
312
                'JSON was incorrect.')
313
 
14575 kshitij.so 314
        result = Mongo.updateCollection(result_json, multi)
14075 kshitij.so 315
        resp.body = json.dumps(result, encoding='utf-8')
14106 kshitij.so 316
        resp.content_type = "application/json; charset=utf-8"
14481 kshitij.so 317
 
318
class NegativeDeals():
319
 
320
    def on_get(self, req, resp):
321
 
322
        offset = req.get_param_as_int("offset")
323
        limit = req.get_param_as_int("limit")
324
 
325
        result = Mongo.getAllNegativeDeals(offset, limit)
14483 kshitij.so 326
        resp.body = dumps(result) 
14481 kshitij.so 327
 
328
 
329
    def on_post(self, req, resp):
330
 
14552 kshitij.so 331
        multi = req.get_param_as_int("multi")
332
 
14481 kshitij.so 333
        try:
334
            result_json = json.loads(req.stream.read(), encoding='utf-8')
335
        except ValueError:
336
            raise falcon.HTTPError(falcon.HTTP_400,
337
                'Malformed JSON',
338
                'Could not decode the request body. The '
339
                'JSON was incorrect.')
340
 
14552 kshitij.so 341
        result = Mongo.addNegativeDeals(result_json, multi)
14481 kshitij.so 342
        resp.body = json.dumps(result, encoding='utf-8')
343
 
344
class ManualDeals():
345
 
346
    def on_get(self, req, resp):
347
 
348
        offset = req.get_param_as_int("offset")
349
        limit = req.get_param_as_int("limit")
350
 
351
        result = Mongo.getAllManualDeals(offset, limit)
14483 kshitij.so 352
        resp.body = dumps(result)
14481 kshitij.so 353
 
354
 
355
    def on_post(self, req, resp):
356
 
14552 kshitij.so 357
        multi = req.get_param_as_int("multi")
358
 
14481 kshitij.so 359
        try:
360
            result_json = json.loads(req.stream.read(), encoding='utf-8')
361
        except ValueError:
362
            raise falcon.HTTPError(falcon.HTTP_400,
363
                'Malformed JSON',
364
                'Could not decode the request body. The '
365
                'JSON was incorrect.')
366
 
14552 kshitij.so 367
        result = Mongo.addManualDeal(result_json, multi)
14481 kshitij.so 368
        resp.body = json.dumps(result, encoding='utf-8')
369
 
370
class CommonDelete():
14482 kshitij.so 371
 
14481 kshitij.so 372
    def on_post(self,req,resp):
373
        try:
374
            result_json = json.loads(req.stream.read(), encoding='utf-8')
375
        except ValueError:
376
            raise falcon.HTTPError(falcon.HTTP_400,
377
                'Malformed JSON',
378
                'Could not decode the request body. The '
379
                'JSON was incorrect.')
380
 
381
        result = Mongo.deleteDocument(result_json)
382
        resp.body = json.dumps(result, encoding='utf-8')
383
        resp.content_type = "application/json; charset=utf-8"
14482 kshitij.so 384
 
385
class SearchProduct():
386
 
387
    def on_get(self,req,resp):
388
        offset = req.get_param_as_int("offset")
389
        limit = req.get_param_as_int("limit")
390
        search_term = req.get_param("search")
391
 
392
        result = Mongo.searchMaster(offset, limit, search_term)
14483 kshitij.so 393
        resp.body = dumps(result) 
14482 kshitij.so 394
 
395
 
14495 kshitij.so 396
class FeaturedDeals():
14482 kshitij.so 397
 
14495 kshitij.so 398
    def on_get(self, req, resp):
399
 
400
        offset = req.get_param_as_int("offset")
401
        limit = req.get_param_as_int("limit")
402
 
403
        result = Mongo.getAllFeaturedDeals(offset, limit)
404
        resp.body = dumps(result)
405
 
406
 
407
    def on_post(self, req, resp):
408
 
14552 kshitij.so 409
        multi = req.get_param_as_int("multi")
410
 
14495 kshitij.so 411
        try:
412
            result_json = json.loads(req.stream.read(), encoding='utf-8')
413
        except ValueError:
414
            raise falcon.HTTPError(falcon.HTTP_400,
415
                'Malformed JSON',
416
                'Could not decode the request body. The '
417
                'JSON was incorrect.')
418
 
14552 kshitij.so 419
        result = Mongo.addFeaturedDeal(result_json, multi)
14495 kshitij.so 420
        resp.body = json.dumps(result, encoding='utf-8')
421
 
14497 kshitij.so 422
 
423
class CommonSearch():
14495 kshitij.so 424
 
14497 kshitij.so 425
    def on_get(self,req,resp):
426
        class_name = req.get_param("class")
427
        sku = req.get_param_as_int("sku")
428
        skuBundleId = req.get_param_as_int("skuBundleId")
14499 kshitij.so 429
 
430
        result = Mongo.searchCollection(class_name, sku, skuBundleId)
14497 kshitij.so 431
        resp.body = dumps(result)
14619 kshitij.so 432
 
433
class CricScore():
434
 
435
    def on_get(self,req,resp):
436
 
437
        result = Mongo.getLiveCricScore()
14853 kshitij.so 438
        resp.body = dumps(result)
439
 
440
class Notification():
441
 
442
    def on_post(self, req, resp):
443
 
444
        try:
445
            result_json = json.loads(req.stream.read(), encoding='utf-8')
446
        except ValueError:
447
            raise falcon.HTTPError(falcon.HTTP_400,
448
                'Malformed JSON',
449
                'Could not decode the request body. The '
450
                'JSON was incorrect.')
451
 
452
        result = Mongo.addBundleToNotification(result_json)
453
        resp.body = json.dumps(result, encoding='utf-8')
454
 
455
    def on_get(self, req, resp):
456
 
457
        offset = req.get_param_as_int("offset")
458
        limit = req.get_param_as_int("limit")
459
 
460
        result = Mongo.getAllNotifications(offset, limit)
461
        resp.body = dumps(result)
462
 
463