Subversion Repositories SmartDukaan

Rev

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