| 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
|