Subversion Repositories SmartDukaan

Rev

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