Subversion Repositories SmartDukaan

Rev

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

Rev 20412 Rev 20417
Line 143... Line 143...
143
                        divs = orderItem.findAll('div', recursive=False)
143
                        divs = orderItem.findAll('div', recursive=False)
144
                        orderTracking = divs[2]
144
                        orderTracking = divs[2]
145
                        orderTrackingDetDiv = divs[3].find('div',{'class':'c-tabs-content m-top active'})
145
                        orderTrackingDetDiv = divs[3].find('div',{'class':'c-tabs-content m-top active'})
146
                        orderTrackingDet = str(orderTrackingDetDiv.find("div", "tracking-remark").text)
146
                        orderTrackingDet = str(orderTrackingDetDiv.find("div", "tracking-remark").text)
147
                        updateMap["subOrders.$.detailedStatus"] = orderTrackingDet
147
                        updateMap["subOrders.$.detailedStatus"] = orderTrackingDet
148
                        status = self._getStatusFromDetailedStatus(orderTrackingDet)
148
                        '''status = self._getStatusFromDetailedStatus(orderTrackingDet)'''
149
                        tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
149
                        tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
-
 
150
                        cashbackStatus = subOrder.get("cashBackStatus")
150
                        
151
                        
151
                        cashbackStatus = subOrder.get("cashBackStatus") 
152
                        tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
-
 
153
 
152
                        if "approveDetails-complete" in str(tr):
154
                        if "approveDetails-ongoing" in str(tr) or "processingDetails-ongoing":
153
                            if "processingDetails-complete" in str(tr):
155
                            status=MStore.ORDER_PLACED
154
                                if "shippingDetails-complete" in str(tr):
156
                        elif "shippingDetails-ongoing" in str(tr):
155
                                    if "delivery-complete" in str(tr):
-
 
156
                                        status = MStore.ORDER_DELIVERED
-
 
157
                                        if cashbackStatus == Store.CB_PENDING:
-
 
158
                                            cashbackStatus = Store.CB_APPROVED
-
 
159
                                        closedStatus = True
-
 
160
                                    else:     
-
 
161
                                        status = MStore.ORDER_SHIPPED
157
                            status = MStore.ORDER_SHIPPED
162
                                        courierTrackAnchor = orderTrackingDetDiv.find('a')
158
                            courierTrackAnchor = orderTrackingDetDiv.find('a')
163
                                        trackingUrl = courierTrackAnchor("href")
159
                            trackingUrl = courierTrackAnchor("href")
164
                                        trackingText = courierTrackAnchor.text
160
                            trackingText = courierTrackAnchor.text
165
                                        courierArr = trackingText.split(' : ')
161
                            courierArr = trackingText.split(' : ')
166
                                        updateMap["subOrders.$.trackingUrl"] = trackingUrl
162
                            updateMap["subOrders.$.trackingUrl"] = trackingUrl
167
                                        updateMap["subOrders.$.trackingNumber"] = courierArr[1]
163
                            updateMap["subOrders.$.trackingNumber"] = courierArr[1]
168
                                        updateMap["subOrders.$.courierName"] = courierArr[0]
164
                            updateMap["subOrders.$.courierName"] = courierArr[0]
169
                                else:
165
                        elif "delivery-complete" in str(tr):
170
                                    status = MStore.ORDER_CANCELLED
166
                            status = MStore.ORDER_DELIVERED
171
                                    closedStatus = True
-
 
172
                                    if cashbackStatus == Store.CB_PENDING:
167
                            if cashbackStatus == Store.CB_PENDING:
173
                                        cashbackStatus = Store.CB_CANCELLED
168
                                cashbackStatus = Store.CB_APPROVED
174
                            else: 
169
                            closedStatus = True
175
                                status = MStore.ORDER_PLACED
-
 
176
                        elif str(tr) in ["approveDetails-ongoing"]:
-
 
177
                            status=MStore.ORDER_PLACED             
-
 
178
                        if "dead" in str(tr) or status==MStore.ORDER_CANCELLED:
170
                        if "dead" in str(tr) or "shippingDetails-returnOngoing" in str(tr) or "shippingDetails-return" in str(tr):
179
                            status = MStore.ORDER_CANCELLED
171
                            status = MStore.ORDER_CANCELLED
180
                            closedStatus = True
172
                            closedStatus = True
181
                            if cashbackStatus == Store.CB_PENDING:
173
                            if cashbackStatus == Store.CB_PENDING:
182
                                cashbackStatus = Store.CB_CANCELLED
174
                                cashbackStatus = Store.CB_CANCELLED
-
 
175
                        print "Sub Order Status " + str(status)
183
                        
176
                        
184
                        updateMap["subOrders.$.cashBackStatus"] = cashbackStatus
177
                        updateMap["subOrders.$.cashBackStatus"] = cashbackStatus
185
                        updateMap["subOrders.$.status"] = status
178
                        updateMap["subOrders.$.status"] = status
186
                        updateMap["subOrders.$.closed"] = closedStatus
179
                        updateMap["subOrders.$.closed"] = closedStatus
187
                        if closed:
180
                        if closed:
Line 302... Line 295...
302
            
295
            
303
            sections = soup.findAll("div", {"class":"ui-app-card-body"})
296
            sections = soup.findAll("div", {"class":"ui-app-card-body"})
304
            sections.pop(1)
297
            sections.pop(1)
305
    
298
    
306
            merchantOrder = Order(orderId, userId, subTagId, self.store_id, orderSuccessUrl)
299
            merchantOrder = Order(orderId, userId, subTagId, self.store_id, orderSuccessUrl)
-
 
300
            merchantOrder.closed = True
307
            merchantOrder.orderTrackingUrl = url
301
            merchantOrder.orderTrackingUrl = url
308
            for data in sections:
302
            for data in sections:
309
                name = data.findAll("span")
303
                name = data.findAll("span")
310
                i=0
304
                i=0
311
                while i< len(name):
305
                while i< len(name):
Line 381... Line 375...
381
                    merchantsubOrder.cashBackStatus = cashbackStatus      
375
                    merchantsubOrder.cashBackStatus = cashbackStatus      
382
                    merchantsubOrder.cashBackPercentage = cashbackPercent
376
                    merchantsubOrder.cashBackPercentage = cashbackPercent
383
                    merchantsubOrder.detailedStatus = str(orderItem.find("div", "c-tabs-content m-top active").find("div", "tracking-remark").text)   
377
                    merchantsubOrder.detailedStatus = str(orderItem.find("div", "c-tabs-content m-top active").find("div", "tracking-remark").text)   
384
                    
378
                    
385
                    #To track shipping details         
379
                    #To track shipping details         
386
                    status=ORDER_PLACED    
380
                    status=ORDER_PLACED
387
                    tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
381
                    tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
388
                    if "approveDetails-complete" in str(tr):
382
                    if "approveDetails-ongoing" in str(tr) or "processingDetails-ongoing":
389
                        if "processingDetails-complete" in str(tr):
383
                        pass
390
                            if "shippingDetails-complete" in str(tr):
384
                    elif "shippingDetails-ongoing" in str(tr):
391
                                if "delivery-complete" in str(tr):
-
 
392
                                    status = MStore.ORDER_DELIVERED
-
 
393
                                else:     
-
 
394
                                    status = MStore.ORDER_SHIPPED
385
                        status = MStore.ORDER_SHIPPED
395
                                    orderTracking.find('div', {'class':'tracking-remark active'})
-
 
396
                            else:
386
                    elif "delivery-complete" in str(tr):
397
                                status = MStore.ORDER_PLACED
387
                        status = MStore.ORDER_DELIVERED
398
                        else: 
-
 
399
                            status = MStore.ORDER_PLACED
388
                        merchantsubOrder.cashBackStatus = MStore.CB_APPROVED
400
                    elif "approveDetails-ongoing" in str(tr):
-
 
401
                        status=MStore.ORDER_PLACED             
389
                        merchantsubOrder.closed = True
402
                    if "dead" in str(tr) or "shippingDetails-returnOngoing" in str(tr) or "shippingDetails-return" in str(tr):
390
                    if "dead" in str(tr) or "shippingDetails-returnOngoing" in str(tr) or "shippingDetails-return" in str(tr):
403
                        status = MStore.ORDER_CANCELLED    
391
                        status = MStore.ORDER_CANCELLED    
-
 
392
                        merchantsubOrder.cashBackStatus = MStore.CB_CANCELLED
-
 
393
                        merchantsubOrder.closed = True
404
                    print "Sub Order Status " + str(status)
394
                    print "Sub Order Status " + str(status)
405
                    merchantsubOrder.status=status
395
                    merchantsubOrder.status=status
-
 
396
                    if merchantOrder.closed:
-
 
397
                        merchantOrder.closed = merchantsubOrder.closed 
406
                    subOrders.append(merchantsubOrder)
398
                    subOrders.append(merchantsubOrder)
407
 
399
 
408
            if self._saveToOrder(todict(merchantOrder)):
400
            if self._saveToOrder(todict(merchantOrder)):
409
                resp['result'] = 'ORDER_CREATED'
401
                resp['result'] = 'ORDER_CREATED'
410
            else:
402
            else:
Line 433... Line 425...
433
    m = hashlib.md5()
425
    m = hashlib.md5()
434
    print(m.digest())
426
    print(m.digest())
435
 
427
 
436
def main():
428
def main():
437
    store = getStore(2)
429
    store = getStore(2)
438
    store.parseOrderRawHtml(1, '123', 14, '', 'https://www.flipkart.com/rv/orderConfirmation/orderresponse?reference_id=OD4072085355271530&token=c8a726cb1495232e00338fb0eecb4f40')
430
    #store.parseOrderRawHtml(1, '123', 14, '', 'https://www.flipkart.com/rv/orderConfirmation/orderresponse?reference_id=OD4072085355271530&token=c8a726cb1495232e00338fb0eecb4f40')
-
 
431
    store.scrapeStoreOrders()
439
 
432
 
440
if __name__ == '__main__':
433
if __name__ == '__main__':
441
        main()
434
        main()
442
    
435
    
443
436