Subversion Repositories SmartDukaan

Rev

Rev 13966 | Rev 13970 | 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
13895 kshitij.so 6
from dtr.utils import FetchLivePrices, DealSheet as X_DealSheet
13572 kshitij.so 7
 
8
 
9
class CategoryDiscountInfo(object):
10
 
11
    def on_get(self, req, resp):
12
 
13629 kshitij.so 13
        result = Mongo.getAllCategoryDiscount()
14
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
15
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 16
 
17
    def on_post(self, req, resp):
13969 kshitij.so 18
        print "Inside post"
13966 kshitij.so 19
 
13572 kshitij.so 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):
32
        print "Inside on_put"
13966 kshitij.so 33
 
13969 kshitij.so 34
 
13572 kshitij.so 35
class SkuSchemeDetails(object):
36
 
37
    def on_get(self, req, resp):
13629 kshitij.so 38
 
13635 kshitij.so 39
        result = Mongo.getAllSkuWiseSchemeDetails()
13629 kshitij.so 40
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
41
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 42
 
43
 
44
    def on_post(self, req, resp):
45
 
46
        try:
47
            result_json = json.loads(req.stream.read(), encoding='utf-8')
48
        except ValueError:
49
            raise falcon.HTTPError(falcon.HTTP_400,
50
                'Malformed JSON',
51
                'Could not decode the request body. The '
52
                'JSON was incorrect.')
53
 
54
        result = Mongo.addSchemeDetailsForSku(result_json)
55
        resp.body = json.dumps(result, encoding='utf-8')
56
 
57
class SkuDiscountInfo():
58
 
59
    def on_get(self, req, resp):
13629 kshitij.so 60
 
61
        result = Mongo.getallSkuDiscountInfo()
62
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
63
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 64
 
65
 
66
    def on_post(self, req, resp):
67
 
68
        try:
69
            result_json = json.loads(req.stream.read(), encoding='utf-8')
70
        except ValueError:
71
            raise falcon.HTTPError(falcon.HTTP_400,
72
                'Malformed JSON',
73
                'Could not decode the request body. The '
74
                'JSON was incorrect.')
75
 
76
        result = Mongo.addSkuDiscountInfo(result_json)
77
        resp.body = json.dumps(result, encoding='utf-8')
78
 
79
class ExceptionalNlc():
80
 
81
    def on_get(self, req, resp):
13629 kshitij.so 82
 
83
        result = Mongo.getAllExceptionlNlcItems()
84
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
85
        resp.body = json.dumps(json_docs, encoding='utf-8')
13572 kshitij.so 86
 
87
    def on_post(self, req, resp):
88
 
89
        try:
90
            result_json = json.loads(req.stream.read(), encoding='utf-8')
91
        except ValueError:
92
            raise falcon.HTTPError(falcon.HTTP_400,
93
                'Malformed JSON',
94
                'Could not decode the request body. The '
95
                'JSON was incorrect.')
96
 
97
        result = Mongo.addExceptionalNlc(result_json)
98
        resp.body = json.dumps(result, encoding='utf-8')
99
 
13772 kshitij.so 100
class Deals():
13779 kshitij.so 101
    def on_get(self,req, resp, userId):
102
        categoryId = req.get_param_as_int("categoryId")
103
        offset = req.get_param_as_int("offset")
104
        limit = req.get_param_as_int("limit")
13798 kshitij.so 105
        sort = req.get_param("sort")
13802 kshitij.so 106
        direction = req.get_param_as_int("direction")
13798 kshitij.so 107
        result = Mongo.getDeals(categoryId, offset, limit, sort, direction)
13772 kshitij.so 108
        json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 109
        resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 110
 
111
class MasterData():
112
    def on_get(self,req, resp, skuId):
113
        result = Mongo.getItem(skuId)
13798 kshitij.so 114
        try:
115
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 116
            resp.body = json.dumps(json_docs, encoding='utf-8')
13798 kshitij.so 117
        except:
118
            json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 119
            resp.body = json.dumps(json_docs, encoding='utf-8')
13790 kshitij.so 120
 
13827 kshitij.so 121
class LiveData():
122
    def on_get(self,req, resp):
13865 kshitij.so 123
        if req.get_param_as_int("id") is not None:
124
            print "****getting only for id"
125
            id = req.get_param_as_int("id")
126
            try:
127
                result = FetchLivePrices.getLatestPriceById(id)
13867 kshitij.so 128
                json_docs = json.dumps(result, default=json_util.default)
13966 kshitij.so 129
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 130
            except:
131
                json_docs = json.dumps({}, default=json_util.default)
13966 kshitij.so 132
                resp.body = json.dumps(json_docs, encoding='utf-8')
13834 kshitij.so 133
 
13865 kshitij.so 134
        else:
135
            print "****getting only for skuId"
136
            skuBundleId = req.get_param_as_int("skuBundleId")
137
            source_id = req.get_param_as_int("source_id")
138
            try:
139
                result = FetchLivePrices.getLatestPrice(skuBundleId, source_id)
140
                json_docs = [json.dumps(doc, default=json_util.default) for doc in result]
13966 kshitij.so 141
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 142
            except:
143
                json_docs = [json.dumps(doc, default=json_util.default) for doc in [{}]]
13966 kshitij.so 144
                resp.body = json.dumps(json_docs, encoding='utf-8')
13865 kshitij.so 145
 
13834 kshitij.so 146
class CashBack():
147
    def on_get(self,req, resp):
148
        identifier = req.get_param("identifier")
149
        source_id = req.get_param_as_int("source_id")
150
        try:
13838 kshitij.so 151
            result = Mongo.getCashBackDetails(identifier, source_id)
13837 kshitij.so 152
            json_docs = json.dumps(result, default=json_util.default)
13964 kshitij.so 153
            resp.body = json_docs
13834 kshitij.so 154
        except:
13837 kshitij.so 155
            json_docs = json.dumps({}, default=json_util.default)
13963 kshitij.so 156
            resp.body = json_docs
13892 kshitij.so 157
 
158
class DealSheet():
159
    def on_get(self,req, resp):
13895 kshitij.so 160
        X_DealSheet.sendMail()
13897 kshitij.so 161
        json_docs = json.dumps({'True':'Sheet generated, mail sent.'}, default=json_util.default)
13966 kshitij.so 162
        resp.body = json.dumps(json_docs, encoding='utf-8')
13892 kshitij.so 163
 
13582 amit.gupta 164