Subversion Repositories SmartDukaan

Rev

Rev 14589 | Rev 14619 | 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")
14106 kshitij.so 155
        result = Mongo.getNewDeals(int(userId), categoryId, offset, limit, sort, direction)
13772 kshitij.so 156
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 157
        resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 158
 
159
class MasterData():
160
    def on_get(self,req, resp, skuId):
161
        result = Mongo.getItem(skuId)
13798 kshitij.so 162
        try:
163
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 164
            resp.body = json.dumps(json_docs, encoding='utf-8')
13798 kshitij.so 165
        except:
166
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 167
            resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 168
 
14586 kshitij.so 169
    def on_post(self,req, resp):
170
 
171
        addNew = req.get_param_as_int("addNew")
172
        update = req.get_param_as_int("update")
173
        addToExisting = req.get_param_as_int("addToExisting")
174
        multi = req.get_param_as_int("multi")
175
 
14589 kshitij.so 176
        try:
14592 kshitij.so 177
            result_json = json.loads(req.stream.read(), encoding='utf-8')
178
        except ValueError:
179
            raise falcon.HTTPError(falcon.HTTP_400,
180
                'Malformed JSON',
181
                'Could not decode the request body. The '
182
                'JSON was incorrect.')
183
 
184
        if addNew == 1:
185
            result = Mongo.addNewItem(result_json)
186
        elif update == 1:
187
            result = Mongo.updateMaster(result_json, multi)
188
        elif addToExisting == 1:
189
            result = Mongo.addItemToExistingBundle(result_json)
190
        else:
191
            raise
192
        resp.body = dumps(result)
14586 kshitij.so 193
 
13827 kshitij.so 194
class LiveData():
195
    def on_get(self,req, resp):
13865 kshitij.so 196
        if req.get_param_as_int("id") is not None:
197
            print "****getting only for id"
198
            id = req.get_param_as_int("id")
199
            try:
200
                result = FetchLivePrices.getLatestPriceById(id)
13867 kshitij.so 201
                json_docs = json.dumps(result, default=json_util.default)
13966 kshitij.so 202
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 203
            except:
204
                json_docs = json.dumps({}, default=json_util.default)
13966 kshitij.so 205
                resp.body = json.dumps(json_docs, encoding='utf-8')
13834 kshitij.so 206
 
13865 kshitij.so 207
        else:
208
            print "****getting only for skuId"
209
            skuBundleId = req.get_param_as_int("skuBundleId")
210
            source_id = req.get_param_as_int("source_id")
211
            try:
212
                result = FetchLivePrices.getLatestPrice(skuBundleId, source_id)
213
                json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 214
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 215
            except:
216
                json_docs = [json.dumps(doc, default=json_util.default) for doc in [{}]]
13966 kshitij.so 217
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 218
 
13834 kshitij.so 219
class CashBack():
220
    def on_get(self,req, resp):
221
        identifier = req.get_param("identifier")
222
        source_id = req.get_param_as_int("source_id")
223
        try:
13838 kshitij.so 224
            result = Mongo.getCashBackDetails(identifier, source_id)
13837 kshitij.so 225
            json_docs = json.dumps(result, default=json_util.default)
13964 kshitij.so 226
            resp.body = json_docs
13834 kshitij.so 227
        except:
13837 kshitij.so 228
            json_docs = json.dumps({}, default=json_util.default)
13963 kshitij.so 229
            resp.body = json_docs
13892 kshitij.so 230
 
14398 amit.gupta 231
class ImgSrc():
232
    def on_get(self,req, resp):
233
        identifier = req.get_param("identifier")
234
        source_id = req.get_param_as_int("source_id")
235
        try:
236
            result = Mongo.getImgSrc(identifier, source_id)
237
            json_docs = json.dumps(result, default=json_util.default)
238
            resp.body = json_docs
239
        except:
240
            json_docs = json.dumps({}, default=json_util.default)
241
            resp.body = json_docs
242
 
13892 kshitij.so 243
class DealSheet():
244
    def on_get(self,req, resp):
13895 kshitij.so 245
        X_DealSheet.sendMail()
13897 kshitij.so 246
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
13966 kshitij.so 247
        resp.body = json.dumps(json_docs, encoding='utf-8')
13892 kshitij.so 248
 
13970 kshitij.so 249
class DealerPrice():
250
 
251
    def on_get(self, req, resp):
252
 
253
        offset = req.get_param_as_int("offset")
254
        limit = req.get_param_as_int("limit")
255
        result = Mongo.getAllDealerPrices(offset,limit)
256
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
257
        resp.body = json.dumps(json_docs, encoding='utf-8')
258
 
259
    def on_post(self, req, resp):
260
 
14552 kshitij.so 261
        multi = req.get_param_as_int("multi")
262
 
13970 kshitij.so 263
        try:
264
            result_json = json.loads(req.stream.read(), encoding='utf-8')
265
        except ValueError:
266
            raise falcon.HTTPError(falcon.HTTP_400,
267
                'Malformed JSON',
268
                'Could not decode the request body. The '
269
                'JSON was incorrect.')
270
 
14552 kshitij.so 271
        result = Mongo.addSkuDealerPrice(result_json, multi)
13970 kshitij.so 272
        resp.body = json.dumps(result, encoding='utf-8')
273
 
274
    def on_put(self, req, resp, _id):
275
        try:
276
            result_json = json.loads(req.stream.read(), encoding='utf-8')
277
        except ValueError:
278
            raise falcon.HTTPError(falcon.HTTP_400,
279
                'Malformed JSON',
280
                'Could not decode the request body. The '
281
                'JSON was incorrect.')
282
 
283
        result = Mongo.updateSkuDealerPrice(result_json, _id)
284
        resp.body = json.dumps(result, encoding='utf-8')
285
 
286
 
14041 kshitij.so 287
class ResetCache():
288
 
289
    def on_get(self,req, resp, userId):
14044 kshitij.so 290
        result = Mongo.resetCache(userId)
14046 kshitij.so 291
        resp.body = json.dumps(result, encoding='utf-8')
292
 
293
class UserDeals():
294
    def on_get(self,req,resp,userId):
295
        UserSpecificDeals.generateSheet(userId)
296
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
297
        resp.body = json.dumps(json_docs, encoding='utf-8')
14075 kshitij.so 298
 
299
class CommonUpdate():
300
 
301
    def on_post(self,req,resp):
14575 kshitij.so 302
 
303
        multi = req.get_param_as_int("multi")
304
 
14075 kshitij.so 305
        try:
306
            result_json = json.loads(req.stream.read(), encoding='utf-8')
307
        except ValueError:
308
            raise falcon.HTTPError(falcon.HTTP_400,
309
                'Malformed JSON',
310
                'Could not decode the request body. The '
311
                'JSON was incorrect.')
312
 
14575 kshitij.so 313
        result = Mongo.updateCollection(result_json, multi)
14075 kshitij.so 314
        resp.body = json.dumps(result, encoding='utf-8')
14106 kshitij.so 315
        resp.content_type = "application/json; charset=utf-8"
14481 kshitij.so 316
 
317
class NegativeDeals():
318
 
319
    def on_get(self, req, resp):
320
 
321
        offset = req.get_param_as_int("offset")
322
        limit = req.get_param_as_int("limit")
323
 
324
        result = Mongo.getAllNegativeDeals(offset, limit)
14483 kshitij.so 325
        resp.body = dumps(result) 
14481 kshitij.so 326
 
327
 
328
    def on_post(self, req, resp):
329
 
14552 kshitij.so 330
        multi = req.get_param_as_int("multi")
331
 
14481 kshitij.so 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
 
14552 kshitij.so 340
        result = Mongo.addNegativeDeals(result_json, multi)
14481 kshitij.so 341
        resp.body = json.dumps(result, encoding='utf-8')
342
 
343
class ManualDeals():
344
 
345
    def on_get(self, req, resp):
346
 
347
        offset = req.get_param_as_int("offset")
348
        limit = req.get_param_as_int("limit")
349
 
350
        result = Mongo.getAllManualDeals(offset, limit)
14483 kshitij.so 351
        resp.body = dumps(result)
14481 kshitij.so 352
 
353
 
354
    def on_post(self, req, resp):
355
 
14552 kshitij.so 356
        multi = req.get_param_as_int("multi")
357
 
14481 kshitij.so 358
        try:
359
            result_json = json.loads(req.stream.read(), encoding='utf-8')
360
        except ValueError:
361
            raise falcon.HTTPError(falcon.HTTP_400,
362
                'Malformed JSON',
363
                'Could not decode the request body. The '
364
                'JSON was incorrect.')
365
 
14552 kshitij.so 366
        result = Mongo.addManualDeal(result_json, multi)
14481 kshitij.so 367
        resp.body = json.dumps(result, encoding='utf-8')
368
 
369
class CommonDelete():
14482 kshitij.so 370
 
14481 kshitij.so 371
    def on_post(self,req,resp):
372
        try:
373
            result_json = json.loads(req.stream.read(), encoding='utf-8')
374
        except ValueError:
375
            raise falcon.HTTPError(falcon.HTTP_400,
376
                'Malformed JSON',
377
                'Could not decode the request body. The '
378
                'JSON was incorrect.')
379
 
380
        result = Mongo.deleteDocument(result_json)
381
        resp.body = json.dumps(result, encoding='utf-8')
382
        resp.content_type = "application/json; charset=utf-8"
14482 kshitij.so 383
 
384
class SearchProduct():
385
 
386
    def on_get(self,req,resp):
387
        offset = req.get_param_as_int("offset")
388
        limit = req.get_param_as_int("limit")
389
        search_term = req.get_param("search")
390
 
391
        result = Mongo.searchMaster(offset, limit, search_term)
14483 kshitij.so 392
        resp.body = dumps(result) 
14482 kshitij.so 393
 
394
 
14495 kshitij.so 395
class FeaturedDeals():
14482 kshitij.so 396
 
14495 kshitij.so 397
    def on_get(self, req, resp):
398
 
399
        offset = req.get_param_as_int("offset")
400
        limit = req.get_param_as_int("limit")
401
 
402
        result = Mongo.getAllFeaturedDeals(offset, limit)
403
        resp.body = dumps(result)
404
 
405
 
406
    def on_post(self, req, resp):
407
 
14552 kshitij.so 408
        multi = req.get_param_as_int("multi")
409
 
14495 kshitij.so 410
        try:
411
            result_json = json.loads(req.stream.read(), encoding='utf-8')
412
        except ValueError:
413
            raise falcon.HTTPError(falcon.HTTP_400,
414
                'Malformed JSON',
415
                'Could not decode the request body. The '
416
                'JSON was incorrect.')
417
 
14552 kshitij.so 418
        result = Mongo.addFeaturedDeal(result_json, multi)
14495 kshitij.so 419
        resp.body = json.dumps(result, encoding='utf-8')
420
 
14497 kshitij.so 421
 
422
class CommonSearch():
14495 kshitij.so 423
 
14497 kshitij.so 424
    def on_get(self,req,resp):
425
        class_name = req.get_param("class")
426
        sku = req.get_param_as_int("sku")
427
        skuBundleId = req.get_param_as_int("skuBundleId")
14499 kshitij.so 428
 
429
        result = Mongo.searchCollection(class_name, sku, skuBundleId)
14497 kshitij.so 430
        resp.body = dumps(result)
14495 kshitij.so 431