Subversion Repositories SmartDukaan

Rev

Rev 14044 | Rev 14070 | 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
13572 kshitij.so 8
 
9
 
10
class CategoryDiscountInfo(object):
11
 
12
    def on_get(self, req, resp):
13
 
13629 kshitij.so 14
        result = Mongo.getAllCategoryDiscount()
15
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
16
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 17
 
18
    def on_post(self, req, resp):
19
        try:
20
            result_json = json.loads(req.stream.read(), encoding='utf-8')
21
        except ValueError:
22
            raise falcon.HTTPError(falcon.HTTP_400,
23
                'Malformed JSON',
24
                'Could not decode the request body. The '
25
                'JSON was incorrect.')
26
 
27
        result = Mongo.addCategoryDiscount(result_json)
28
        resp.body = json.dumps(result, encoding='utf-8')
13969 kshitij.so 29
 
30
    def on_put(self, req, resp, _id):
13970 kshitij.so 31
        try:
32
            result_json = json.loads(req.stream.read(), encoding='utf-8')
33
        except ValueError:
34
            raise falcon.HTTPError(falcon.HTTP_400,
35
                'Malformed JSON',
36
                'Could not decode the request body. The '
37
                'JSON was incorrect.')
38
 
39
        result = Mongo.updateCategoryDiscount(result_json, _id)
40
        resp.body = json.dumps(result, encoding='utf-8')
41
 
13966 kshitij.so 42
 
13969 kshitij.so 43
 
13572 kshitij.so 44
class SkuSchemeDetails(object):
45
 
46
    def on_get(self, req, resp):
13629 kshitij.so 47
 
13635 kshitij.so 48
        result = Mongo.getAllSkuWiseSchemeDetails()
13629 kshitij.so 49
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
50
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 51
 
52
 
53
    def on_post(self, req, resp):
54
 
55
        try:
56
            result_json = json.loads(req.stream.read(), encoding='utf-8')
57
        except ValueError:
58
            raise falcon.HTTPError(falcon.HTTP_400,
59
                'Malformed JSON',
60
                'Could not decode the request body. The '
61
                'JSON was incorrect.')
62
 
63
        result = Mongo.addSchemeDetailsForSku(result_json)
64
        resp.body = json.dumps(result, encoding='utf-8')
65
 
66
class SkuDiscountInfo():
67
 
68
    def on_get(self, req, resp):
13629 kshitij.so 69
 
13970 kshitij.so 70
        offset = req.get_param_as_int("offset")
71
        limit = req.get_param_as_int("limit")
72
        result = Mongo.getallSkuDiscountInfo(offset,limit)
13629 kshitij.so 73
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
74
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 75
 
76
 
77
    def on_post(self, req, resp):
78
 
79
        try:
80
            result_json = json.loads(req.stream.read(), encoding='utf-8')
81
        except ValueError:
82
            raise falcon.HTTPError(falcon.HTTP_400,
83
                'Malformed JSON',
84
                'Could not decode the request body. The '
85
                'JSON was incorrect.')
86
 
87
        result = Mongo.addSkuDiscountInfo(result_json)
88
        resp.body = json.dumps(result, encoding='utf-8')
13970 kshitij.so 89
 
90
    def on_put(self, req, resp, _id):
91
        try:
92
            result_json = json.loads(req.stream.read(), encoding='utf-8')
93
        except ValueError:
94
            raise falcon.HTTPError(falcon.HTTP_400,
95
                'Malformed JSON',
96
                'Could not decode the request body. The '
97
                'JSON was incorrect.')
98
 
99
        result = Mongo.updateSkuDiscount(result_json, _id)
100
        resp.body = json.dumps(result, encoding='utf-8')
13572 kshitij.so 101
 
102
class ExceptionalNlc():
103
 
104
    def on_get(self, req, resp):
13629 kshitij.so 105
 
13970 kshitij.so 106
        offset = req.get_param_as_int("offset")
107
        limit = req.get_param_as_int("limit")
108
 
109
        result = Mongo.getAllExceptionlNlcItems(offset, limit)
13629 kshitij.so 110
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
111
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 112
 
113
    def on_post(self, req, resp):
114
 
115
        try:
116
            result_json = json.loads(req.stream.read(), encoding='utf-8')
117
        except ValueError:
118
            raise falcon.HTTPError(falcon.HTTP_400,
119
                'Malformed JSON',
120
                'Could not decode the request body. The '
121
                'JSON was incorrect.')
122
 
123
        result = Mongo.addExceptionalNlc(result_json)
124
        resp.body = json.dumps(result, encoding='utf-8')
13970 kshitij.so 125
 
126
    def on_put(self, req, resp, _id):
127
        try:
128
            result_json = json.loads(req.stream.read(), encoding='utf-8')
129
        except ValueError:
130
            raise falcon.HTTPError(falcon.HTTP_400,
131
                'Malformed JSON',
132
                'Could not decode the request body. The '
133
                'JSON was incorrect.')
134
 
135
        result = Mongo.updateExceptionalNlc(result_json, _id)
136
        resp.body = json.dumps(result, encoding='utf-8')
13572 kshitij.so 137
 
13772 kshitij.so 138
class Deals():
13779 kshitij.so 139
    def on_get(self,req, resp, userId):
140
        categoryId = req.get_param_as_int("categoryId")
141
        offset = req.get_param_as_int("offset")
142
        limit = req.get_param_as_int("limit")
13798 kshitij.so 143
        sort = req.get_param("sort")
13802 kshitij.so 144
        direction = req.get_param_as_int("direction")
14034 kshitij.so 145
        result = Mongo.getNewDeals(userId, categoryId, offset, limit, sort, direction)
13772 kshitij.so 146
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 147
        resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 148
 
149
class MasterData():
150
    def on_get(self,req, resp, skuId):
151
        result = Mongo.getItem(skuId)
13798 kshitij.so 152
        try:
153
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 154
            resp.body = json.dumps(json_docs, encoding='utf-8')
13798 kshitij.so 155
        except:
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
 
13827 kshitij.so 159
class LiveData():
160
    def on_get(self,req, resp):
13865 kshitij.so 161
        if req.get_param_as_int("id") is not None:
162
            print "****getting only for id"
163
            id = req.get_param_as_int("id")
164
            try:
165
                result = FetchLivePrices.getLatestPriceById(id)
13867 kshitij.so 166
                json_docs = json.dumps(result, default=json_util.default)
13966 kshitij.so 167
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 168
            except:
169
                json_docs = json.dumps({}, default=json_util.default)
13966 kshitij.so 170
                resp.body = json.dumps(json_docs, encoding='utf-8')
13834 kshitij.so 171
 
13865 kshitij.so 172
        else:
173
            print "****getting only for skuId"
174
            skuBundleId = req.get_param_as_int("skuBundleId")
175
            source_id = req.get_param_as_int("source_id")
176
            try:
177
                result = FetchLivePrices.getLatestPrice(skuBundleId, source_id)
178
                json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 179
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 180
            except:
181
                json_docs = [json.dumps(doc, default=json_util.default) for doc in [{}]]
13966 kshitij.so 182
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 183
 
13834 kshitij.so 184
class CashBack():
185
    def on_get(self,req, resp):
186
        identifier = req.get_param("identifier")
187
        source_id = req.get_param_as_int("source_id")
188
        try:
13838 kshitij.so 189
            result = Mongo.getCashBackDetails(identifier, source_id)
13837 kshitij.so 190
            json_docs = json.dumps(result, default=json_util.default)
13964 kshitij.so 191
            resp.body = json_docs
13834 kshitij.so 192
        except:
13837 kshitij.so 193
            json_docs = json.dumps({}, default=json_util.default)
13963 kshitij.so 194
            resp.body = json_docs
13892 kshitij.so 195
 
196
class DealSheet():
197
    def on_get(self,req, resp):
13895 kshitij.so 198
        X_DealSheet.sendMail()
13897 kshitij.so 199
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
13966 kshitij.so 200
        resp.body = json.dumps(json_docs, encoding='utf-8')
13892 kshitij.so 201
 
13970 kshitij.so 202
class DealerPrice():
203
 
204
    def on_get(self, req, resp):
205
 
206
        offset = req.get_param_as_int("offset")
207
        limit = req.get_param_as_int("limit")
208
        result = Mongo.getAllDealerPrices(offset,limit)
209
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
210
        resp.body = json.dumps(json_docs, encoding='utf-8')
211
 
212
    def on_post(self, req, resp):
213
 
214
        try:
215
            result_json = json.loads(req.stream.read(), encoding='utf-8')
216
        except ValueError:
217
            raise falcon.HTTPError(falcon.HTTP_400,
218
                'Malformed JSON',
219
                'Could not decode the request body. The '
220
                'JSON was incorrect.')
221
 
222
        result = Mongo.addSkuDealerPrice(result_json)
223
        resp.body = json.dumps(result, encoding='utf-8')
224
 
225
    def on_put(self, req, resp, _id):
226
        try:
227
            result_json = json.loads(req.stream.read(), encoding='utf-8')
228
        except ValueError:
229
            raise falcon.HTTPError(falcon.HTTP_400,
230
                'Malformed JSON',
231
                'Could not decode the request body. The '
232
                'JSON was incorrect.')
233
 
234
        result = Mongo.updateSkuDealerPrice(result_json, _id)
235
        resp.body = json.dumps(result, encoding='utf-8')
236
 
237
 
14041 kshitij.so 238
class ResetCache():
239
 
240
    def on_get(self,req, resp, userId):
14044 kshitij.so 241
        result = Mongo.resetCache(userId)
14046 kshitij.so 242
        resp.body = json.dumps(result, encoding='utf-8')
243
 
244
class UserDeals():
245
    def on_get(self,req,resp,userId):
246
        UserSpecificDeals.generateSheet(userId)
247
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
248
        resp.body = json.dumps(json_docs, encoding='utf-8')