Subversion Repositories SmartDukaan

Rev

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

Rev 14074 Rev 14080
Line 29... Line 29...
29
        super(Store, self).__init__(store_id)
29
        super(Store, self).__init__(store_id)
30
        
30
        
31
    def getName(self):
31
    def getName(self):
32
        return "flipkart"
32
        return "flipkart"
33
    
33
    
34
    def parseOrderRawHtml(self, orderId, subTagId, userId, rawHtml, orderSuccessUrl):
34
    def parseOrderRawHtml(self, orderId, subTagId, userId, rawHtml, orderSuccessUrl, insert=True):
35
        resp = {}
35
        resp = {}
36
        if ORDER_SUCCESS_URL in orderSuccessUrl or THANKYOU_URL in orderSuccessUrl:
36
        if ORDER_SUCCESS_URL in orderSuccessUrl or THANKYOU_URL in orderSuccessUrl:
37
            try:
37
            try:
38
                soup = BeautifulSoup(rawHtml)
38
                soup = BeautifulSoup(rawHtml)
39
                orderUrl = soup.find('div', {"id":"thank-you-box-wrapper"}).div.findAll('div', recursive=False)[1].a['href']
39
                orderUrl = soup.find('div', {"id":"thank-you-box-wrapper"}).div.findAll('div', recursive=False)[1].a['href']
Line 107... Line 107...
107
                        subOrder.cashBackStatus = cashbackStatus
107
                        subOrder.cashBackStatus = cashbackStatus
108
                        subOrder.cashBackAmount = cashbackAmount
108
                        subOrder.cashBackAmount = cashbackAmount
109
                        if percentage > 0:
109
                        if percentage > 0:
110
                            subOrder.cashBackPercentage = percentage
110
                            subOrder.cashBackPercentage = percentage
111
                        subOrders.append(subOrder)
111
                        subOrders.append(subOrder)
-
 
112
                if insert:
-
 
113
                    self._saveToOrder(todict(merchantOrder))
112
                
114
                else:
113
                self._saveToOrder(todict(merchantOrder))
115
                    self._updateToOrder(todict(merchantOrder))
114
                resp['result'] = 'ORDER_CREATED'
116
                resp['result'] = 'ORDER_CREATED'
115
                return resp    
117
                return resp    
116
            except:
118
            except:
117
                print "Error occurred"
119
                print "Error occurred"
118
                traceback.print_exc()
120
                traceback.print_exc()
Line 212... Line 214...
212
                                            if not closedStatus:
214
                                            if not closedStatus:
213
                                                closed = False
215
                                                closed = False
214
                                            bulk.find(findMap).update({'$set' : updateMap})
216
                                            bulk.find(findMap).update({'$set' : updateMap})
215
                                            break
217
                                            break
216
                            bulk.find({'orderId': activeOrder['orderId']}).update({'$set':{'closed': closed}})            
218
                            bulk.find({'orderId': activeOrder['orderId']}).update({'$set':{'closed': closed}})            
217
                result = bulk.execute()
219
                bulk.execute()
-
 
220
                return 'PARSED_SUCCESS'
-
 
221
            else:
-
 
222
                merchantOrderId = re.findall(r'https://www.amazon.in/gp/css/summary/edit.html?orderID=(.*?)', url, re.IGNORECASE)[0] 
-
 
223
                merchantOrder = self.db.merchantOrder.find({"merchantOrderId":merchantOrderId})
-
 
224
                self.parseOrderRawHtml(merchantOrder['orderId'], merchantOrder['subTagId'], merchantOrder['userId'], rawHtml, url, False)
-
 
225
                return 'PARSED_SUCCESS'
-
 
226
                pass
218
            return 'PARSED_SUCCESS_NO_ORDERS'
227
            return 'PARSED_SUCCESS_NO_ORDERS'
219
        except:
228
        except:
220
            traceback.print_exc()    
229
            traceback.print_exc()    
221
            return 'PARSED_FAILED'
230
            return 'PARSED_FAILED'
222
            
231