Subversion Repositories SmartDukaan

Rev

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

Rev 16468 Rev 16474
Line 160... Line 160...
160
                    if subOrder.get("closed"):
160
                    if subOrder.get("closed"):
161
                        continue
161
                        continue
162
                    elif subOrder.get("trackingUrl") is None:
162
                    elif subOrder.get("trackingUrl") is None:
163
                        closed = False
163
                        closed = False
164
                        continue
164
                        continue
165
                    executeBulk = True
-
 
166
                    findMap = {"orderId":merchantOrder.get("orderId"), "subOrders.merchantSubOrderId":subOrder.get("merchantSubOrderId")} 
165
                    findMap = {"orderId":merchantOrder.get("orderId"), "subOrders.merchantSubOrderId":subOrder.get("merchantSubOrderId")} 
167
                    trackingUrl = subOrder.get("trackingUrl")
166
                    trackingUrl = subOrder.get("trackingUrl")
168
                    if not map1.has_key(trackingUrl):
167
                    if not map1.has_key(trackingUrl):
169
                        map1[trackingUrl] = self.parseTrackingUrl(trackingUrl, merchantOrder.get("orderId"))
168
                        map1[trackingUrl] = self.parseTrackingUrl(trackingUrl, merchantOrder.get("orderId"))
170
                    newOrder = map1.get(trackingUrl)
169
                    newOrder = map1.get(trackingUrl)
-
 
170
                    if newOrder:
-
 
171
                        executeBulk = True
171
                    updateMap = self.getUpdateMap(newOrder, subOrder.get('cashBackStatus'))
172
                        updateMap = self.getUpdateMap(newOrder, subOrder.get('cashBackStatus'))
172
                    print findMap, "\n", updateMap
173
                        print findMap, "\n", updateMap
173
                    bulk.find(findMap).update({'$set' : updateMap})
174
                        bulk.find(findMap).update({'$set' : updateMap})
174
                    closed = closed and newOrder['closed']
175
                        closed = closed and newOrder['closed']
175
                if executeBulk:
176
                if executeBulk:
176
                    bulk.find({"orderId":merchantOrder.get("orderId")}).update({"$set":{"closed":closed, "parseError":False}})
177
                    bulk.find({"orderId":merchantOrder.get("orderId")}).update({"$set":{"closed":closed, "parseError":False}})
177
                    bulk.execute()
178
                    bulk.execute()
178
            except:
179
            except:
179
                tprint("Could not update " + str(merchantOrder['orderId']) + " For store " + self.getName())
180
                tprint("Could not update " + str(merchantOrder['orderId']) + " For store " + self.getName())
Line 575... Line 576...
575
            else:
576
            else:
576
                break
577
                break
577
                
578
                
578
    
579
    
579
    def parseTrackingUrl(self, trackingUrl, orderId):
580
    def parseTrackingUrl(self, trackingUrl, orderId):
-
 
581
        print trackingUrl
580
        subOrder = {}
582
        subOrder = {}
581
        page = fetchResponseUsingProxy(trackingUrl)
583
        page = fetchResponseUsingProxy(trackingUrl)
582
        status = MStore.ORDER_SHIPPED
584
        status = MStore.ORDER_SHIPPED
583
        #print page
585
        #print page
584
        soup = BeautifulSoup(page)
586
        soup = BeautifulSoup(page)
Line 586... Line 588...
586
        if header1:
588
        if header1:
587
            if header1.text=="Sign In":
589
            if header1.text=="Sign In":
588
                print "Login page is displayed for order id", orderId
590
                print "Login page is displayed for order id", orderId
589
                return subOrder
591
                return subOrder
590
        try:
592
        try:
-
 
593
            print "Tracking page is displayed for order id", orderId
591
            detailedStatus = soup.find("div", {"class":"top"}).span.text.strip()
594
            detailedStatus = soup.find("div", {"class":"top"}).span.text.strip()
592
            try:
595
            try:
593
                displayStatus = soup.find("div",{"class":"a-column a-span12 shipment-status-content"}).span.text.strip()
596
                displayStatus = soup.find("div",{"class":"a-column a-span12 shipment-status-content"}).span.text.strip()
594
            except:
597
            except:
595
                displayStatus = detailedStatus
598
                displayStatus = detailedStatus