Subversion Repositories SmartDukaan

Rev

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