Subversion Repositories SmartDukaan

Rev

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

Rev 16447 Rev 16473
Line 42... Line 42...
42
        subOrder['detailedStatus'] = soup.h1.text
42
        subOrder['detailedStatus'] = soup.h1.text
43
        subOrder['status'] = self._getStatusFromDetailedStatus(subOrder['detailedStatus'])
43
        subOrder['status'] = self._getStatusFromDetailedStatus(subOrder['detailedStatus'])
44
        
44
        
45
        
45
        
46
    def scrapeStoreOrders(self):
46
    def scrapeStoreOrders(self):
47
        orders = self.db.merchantOrder.find({"storeId":1, "closed":False, "subOrders":{"$elemMatch":{"closed":False, "trackingUrl":{"$exists":True}}}})
-
 
48
        for merchantOrder in orders:
-
 
49
            executeBulk = False
-
 
50
            try:
47
        pass
51
                bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
-
 
52
                closed = True
-
 
53
                map1 = {}
-
 
54
                for subOrder in merchantOrder.get("subOrders"):
-
 
55
                    if subOrder.get("closed"):
-
 
56
                        continue
-
 
57
                    elif subOrder.get("trackingUrl") is None:
-
 
58
                        closed = False
-
 
59
                        continue
-
 
60
                    executeBulk = True
-
 
61
                    findMap = {"orderId":merchantOrder.get("orderId"), "subOrders.merchantSubOrderId":subOrder.get("merchantSubOrderId")} 
-
 
62
                    trackingUrl = subOrder.get("trackingUrl")
-
 
63
                    if not map1.has_key(trackingUrl):
-
 
64
                        map1[trackingUrl] = self.parseTrackingUrl(trackingUrl)
-
 
65
                    newOrder = map1.get(trackingUrl)
-
 
66
                    updateMap = self.getUpdateMap(newOrder, subOrder.get('cashBackStatus'))
-
 
67
                    print findMap, "\n", updateMap
-
 
68
                    bulk.find(findMap).update({'$set' : updateMap})
-
 
69
                    closed = closed and newOrder['closed']
-
 
70
                if executeBulk:
-
 
71
                    bulk.find({"orderId":merchantOrder.get("orderId")}).update({"$set":{"closed":closed, "parseError":False}})
-
 
72
                    bulk.execute()
-
 
73
            except:
-
 
74
                tprint("Could not update " + str(merchantOrder['orderId']) + " For store " + self.getName())
-
 
75
                self.db.merchantOrder.update({"orderId":merchantOrder['orderId']}, {"$set":{"parseError":True}})
-
 
76
                traceback.print_exc()
-
 
77
        
48
        
78
    def getTrackingUrls(self, userId):
49
    def getTrackingUrls(self, userId):
79
        missingOrderUrls = []
50
        missingOrderUrls = []
80
        #missingOrders = self._getMissingOrders({'userId':userId})
51
        #missingOrders = self._getMissingOrders({'userId':userId})
81
        #for missingOrder in missingOrders:
52
        #for missingOrder in missingOrders:
Line 190... Line 161...
190
                        if item.get("status_flow")[2].get("date"):
161
                        if item.get("status_flow")[2].get("date"):
191
                            subOrder.estimatedDeliveryDate = datetime.strftime(getISTDate(item.get("status_flow")[2].get("date")), "%d %b")
162
                            subOrder.estimatedDeliveryDate = datetime.strftime(getISTDate(item.get("status_flow")[2].get("date")), "%d %b")
192
                    else:
163
                    else:
193
                        subOrder.closed = False
164
                        subOrder.closed = False
194
                    subOrders.append(subOrder)
165
                    subOrders.append(subOrder)
195
                if coupon_code:
-
 
196
                    usage = paytm_coupon_usages()
-
 
197
                    usage.cashback = total_cashback
-
 
198
                    usage.coupon = coupon_code
-
 
199
                    usage.user_id = userId
-
 
200
                    usage.order_id = orderId
-
 
201
                    session.commit()
-
 
202
                self.populateDerivedFields(order)
166
                self.populateDerivedFields(order)
203
                if self._saveToOrder(todict(order)):
167
                if self._saveToOrder(todict(order)):
-
 
168
                    if coupon_code:
-
 
169
                        usage = paytm_coupon_usages()
-
 
170
                        usage.cashback = total_cashback
-
 
171
                        usage.coupon = coupon_code
-
 
172
                        usage.user_id = userId
-
 
173
                        usage.order_id = orderId
-
 
174
                        session.commit()
204
                    resp['result'] = 'ORDER_CREATED'
175
                    resp['result'] = 'ORDER_CREATED'
205
                else:
176
                else:
206
                    resp['result'] = 'ORDER_ALREADY_CREATED_IGNORED'
177
                    resp['result'] = 'ORDER_ALREADY_CREATED_IGNORED'
207
            except:
178
            except:
208
                resp['result'] = 'ORDER_NOT_CREATED'
179
                resp['result'] = 'ORDER_NOT_CREATED'