Subversion Repositories SmartDukaan

Rev

Rev 13796 | Rev 14023 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 13796 Rev 13809
Line 34... Line 34...
34
    '''
34
    '''
35
    OrderStatusMap = {
35
    OrderStatusMap = {
36
                      MStore.ORDER_PLACED : ['In Progress','N/A'],
36
                      MStore.ORDER_PLACED : ['In Progress','N/A'],
37
                      MStore.ORDER_DELIVERED : ['Delivered'],
37
                      MStore.ORDER_DELIVERED : ['Delivered'],
38
                      MStore.ORDER_SHIPPED : ['In Transit'],
38
                      MStore.ORDER_SHIPPED : ['In Transit'],
39
                      MStore.ORDER_CANCELLED : ['Closed For Vendor Reallocation', 'Cancelled']
39
                      MStore.ORDER_CANCELLED : ['Closed For Vendor Reallocation', 'Cancelled', 'Product returned by courier', 'Returned']
40
                      
-
 
41
                      }
40
                      }
42
    
41
    
43
    CONF_CB_AMOUNT = MStore.CONF_CB_DISCOUNTED_PRICE
42
    CONF_CB_AMOUNT = MStore.CONF_CB_DISCOUNTED_PRICE
44
    def __init__(self,store_id):
43
    def __init__(self,store_id):
45
        super(Store, self).__init__(store_id)
44
        super(Store, self).__init__(store_id)
Line 119... Line 118...
119
                merchantOrder.discountApplied = re.findall(r'\d+', orderTrString)[0]
118
                merchantOrder.discountApplied = re.findall(r'\d+', orderTrString)[0]
120
            elif "Paid Amount" in orderTrString:
119
            elif "Paid Amount" in orderTrString:
121
                merchantOrder.paidAmount = re.findall(r'\d+', orderTrString)[0]
120
                merchantOrder.paidAmount = re.findall(r'\d+', orderTrString)[0]
122
 
121
 
123
        for subOrderElement in subOrders:
122
        for subOrderElement in subOrders:
124
            subOrder = self.parseSubOrder(subOrderElement, placedOn)                           
123
            subOrders = self.parseSubOrder(subOrderElement, placedOn)                           
125
            merchantSubOrders.append(subOrder)   
124
            merchantSubOrders.extend(subOrders)   
126
        
125
        
127
        merchantOrder.subOrders = merchantSubOrders
126
        merchantOrder.subOrders = merchantSubOrders
128
        return merchantOrder
127
        return merchantOrder
129
        
128
        
130
    def parseSubOrder(self, subOrderElement, placedOn):
129
    def parseSubOrder(self, subOrderElement, placedOn):
-
 
130
        subOrders = []
131
        productUrl = str(subOrderElement.find("a")['href'])
131
        productUrl = str(subOrderElement.find("a")['href'])
132
        subTable = subOrderElement.find("table", {"class":"lrPad"})
132
        subTable = subOrderElement.find("table", {"class":"lrPad"})
133
        subTrs = subTable.findAll("tr")
133
        subTrs = subTable.findAll("tr")
134
        unitPrice=None
134
        unitPrice=None
135
        offerDiscount = None
135
        offerDiscount = None
Line 165... Line 165...
165
            subOrder = SubOrder(productTitle, productUrl, placedOn, amountPaid)
165
            subOrder = SubOrder(productTitle, productUrl, placedOn, amountPaid)
166
 
166
 
167
            subOrder.amountPaid = amountPaid
167
            subOrder.amountPaid = amountPaid
168
            subOrder.deliveryCharges = deliveryCharges
168
            subOrder.deliveryCharges = deliveryCharges
169
            subOrder.offerDiscount = offerDiscount
169
            subOrder.offerDiscount = offerDiscount
170
            subOrder.unitPrice = unitPrice
170
            subOrder.unitPrice = int(unitPrice)
171
            subOrder.productCode = re.findall(r'\d+$', productUrl)[0]
171
            subOrder.productCode = re.findall(r'\d+$', productUrl)[0]
172
            (cashbackAmount, percentage) = self.getCashbackAmount(subOrder.productCode, amount)
172
            (cashbackAmount, percentage) = self.getCashbackAmount(subOrder.productCode, amount)
173
            cashbackStatus = Store.CB_PENDING
173
            cashbackStatus = Store.CB_PENDING
174
            if cashbackAmount <= 0:
174
            if cashbackAmount <= 0:
175
                cashbackStatus = Store.CB_NA
175
                cashbackStatus = Store.CB_NA
Line 197... Line 197...
197
                    subOrder.estimatedDeliveryDate = line.split(":")[1].strip()
197
                    subOrder.estimatedDeliveryDate = line.split(":")[1].strip()
198
                elif "Courier Name" in line:
198
                elif "Courier Name" in line:
199
                    subOrder.courierName = line.split(":")[1].strip()
199
                    subOrder.courierName = line.split(":")[1].strip()
200
                elif "Tracking No" in line:
200
                elif "Tracking No" in line:
201
                    subOrder.trackingNumber = line.split(":")[1].strip()
201
                    subOrder.trackingNumber = line.split(":")[1].strip()
-
 
202
            subOrders.append(subOrder)
202
            return subOrder
203
        return subOrders
203
 
204
 
204
    def parseOrderRawHtml(self, orderId, subTagId, userId, rawHtml, orderSuccessUrl):
205
    def parseOrderRawHtml(self, orderId, subTagId, userId, rawHtml, orderSuccessUrl):
205
                    #print merchantOrder
206
                    #print merchantOrder
206
        resp = {}
207
        resp = {}
207
        try:
208
        try:
Line 267... Line 268...
267
                        if "Suborder ID" in line:
268
                        if "Suborder ID" in line:
268
                            merchantSubOrderId = re.findall(r'\d+', line)[0]
269
                            merchantSubOrderId = re.findall(r'\d+', line)[0]
269
                            #break if suborder is inactive   
270
                            #break if suborder is inactive   
270
                            subOrder =  self._isSubOrderActive(order, merchantSubOrderId)
271
                            subOrder =  self._isSubOrderActive(order, merchantSubOrderId)
271
                            if subOrder is None:
272
                            if subOrder is None:
272
                                subOrder = self.parseSubOrder(subOrderElement, placedOn)
273
                                subOrders = self.parseSubOrder(subOrderElement, placedOn)
273
                                self.db.merchantOrder.update({"orderId":order['orderId']},{'$push':{"subOrders":todict(subOrder)}})
274
                                self.db.merchantOrder.update({"orderId":order['orderId']},{'$push':{"subOrders":todict(subOrders)}})
274
                                print "Added new suborder with subOrder Id:", subOrder.merchantSubOrderId
275
                                print "Added new suborder with subOrder Id:", subOrder.merchantSubOrderId
275
                                closed = False
276
                                closed = False
276
                                return
277
                                return
277
                            elif subOrder['closed']:
278
                            elif subOrder['closed']:
278
                                breakFlag = True
279
                                breakFlag = True