| Line 119... |
Line 119... |
| 119 |
|
119 |
|
| 120 |
bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
|
120 |
bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
|
| 121 |
#fetching suborders details
|
121 |
#fetching suborders details
|
| 122 |
for subOrder in fkSubOrders:
|
122 |
for subOrder in fkSubOrders:
|
| 123 |
updateMap = {}
|
123 |
updateMap = {}
|
| 124 |
y = subOrder.find("header").findAll("span")
|
- |
|
| 125 |
for suborderId in y:
|
- |
|
| 126 |
if "value emp" in str(suborderId):
|
- |
|
| 127 |
merchantSubOrderId = suborderId.text
|
- |
|
| 128 |
break
|
- |
|
| 129 |
ul = subOrder.find("ul")
|
124 |
ul = subOrder.find("ul")
|
| 130 |
if ul is None:
|
125 |
if ul is None:
|
| 131 |
ul = subOrder.findAll("div", recursive=False)[0].div.div
|
126 |
ul = subOrder.findAll("div", recursive=False)[0].div.div
|
| 132 |
orderItems = ul.findAll("div", recursive=False)
|
127 |
orderItems = ul.findAll("div", recursive=False)
|
| 133 |
i=0
|
- |
|
| 134 |
for orderItem in orderItems:
|
128 |
for orderItem in orderItems:
|
| 135 |
closedStatus = False
|
129 |
closedStatus = False
|
| - |
|
130 |
divs = orderItem.findAll('div', recursive=False)
|
| - |
|
131 |
orderTracking = divs[2]
|
| 136 |
merchantSubOrderId = merchantSubOrderId + str(i)
|
132 |
merchantSubOrderId = divs[3].get('id')
|
| 137 |
subOrder = self._isSubOrderActive(order, merchantSubOrderId)
|
133 |
subOrder = self._isSubOrderActive(order, merchantSubOrderId)
|
| 138 |
if subOrder is None:
|
134 |
if subOrder is None:
|
| 139 |
break
|
135 |
break
|
| 140 |
elif subOrder['closed']:
|
136 |
elif subOrder['closed']:
|
| 141 |
break
|
137 |
break
|
| 142 |
findMap = {"orderId": order['orderId'], "subOrders.merchantSubOrderId": merchantSubOrderId}
|
138 |
findMap = {"orderId": order['orderId'], "subOrders.merchantSubOrderId": merchantSubOrderId}
|
| 143 |
divs = orderItem.findAll('div', recursive=False)
|
- |
|
| 144 |
orderTracking = divs[2]
|
- |
|
| 145 |
orderTrackingDetDiv = divs[3].find('div',{'class':'c-tabs-content m-top active'})
|
139 |
orderTrackingDetDiv = divs[3].find('div',{'class':'c-tabs-content m-top active'})
|
| - |
|
140 |
cashbackStatus = subOrder.get("cashBackStatus")
|
| 146 |
if orderTrackingDetDiv is not None:
|
141 |
if orderTrackingDetDiv is not None:
|
| 147 |
orderTrackingDet = str(orderTrackingDetDiv.find("div", "tracking-remark").text)
|
142 |
orderTrackingDet = str(orderTrackingDetDiv.find("div", "tracking-remark").text)
|
| 148 |
updateMap["subOrders.$.detailedStatus"] = orderTrackingDet
|
143 |
updateMap["subOrders.$.detailedStatus"] = orderTrackingDet
|
| 149 |
'''status = self._getStatusFromDetailedStatus(orderTrackingDet)'''
|
- |
|
| 150 |
tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
|
144 |
tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
|
| 151 |
cashbackStatus = subOrder.get("cashBackStatus")
|
- |
|
| 152 |
|
145 |
|
| 153 |
tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
|
146 |
tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
|
| 154 |
|
147 |
|
| 155 |
if "approveDetails-ongoing" in str(tr) or "processingDetails-ongoing" in str(tr):
|
148 |
if "approveDetails-ongoing" in str(tr) or "processingDetails-ongoing" in str(tr):
|
| 156 |
status=MStore.ORDER_PLACED
|
149 |
status=MStore.ORDER_PLACED
|
| Line 318... |
Line 311... |
| 318 |
#remove unwanted list
|
311 |
#remove unwanted list
|
| 319 |
fkSubOrders.pop(-1)
|
312 |
fkSubOrders.pop(-1)
|
| 320 |
subOrders = []
|
313 |
subOrders = []
|
| 321 |
merchantOrder.subOrders = subOrders
|
314 |
merchantOrder.subOrders = subOrders
|
| 322 |
|
315 |
|
| 323 |
#fetching suborders details
|
- |
|
| 324 |
for subOrder in fkSubOrders:
|
316 |
for subOrder in fkSubOrders:
|
| 325 |
y = subOrder.find("header").findAll("span")
|
- |
|
| 326 |
for suborderId in y:
|
- |
|
| 327 |
if "value emp" in str(suborderId):
|
- |
|
| 328 |
merchantSubOrderId = suborderId.text
|
- |
|
| 329 |
break
|
- |
|
| 330 |
orderItems = subOrder.findAll("div", "product-list-item", recursive=True)
|
317 |
orderItems = subOrder.findAll("div", "product-list-item", recursive=True)
|
| 331 |
i=0
|
- |
|
| 332 |
for orderItem in orderItems:
|
318 |
for orderItem in orderItems:
|
| 333 |
merchantOrder.placedOn
|
319 |
if not orderItem.has_key("id"):
|
| 334 |
merchantSubOrderId = merchantSubOrderId + str(i)
|
320 |
continue
|
| 335 |
divs = orderItem.findAll('div', recursive=False)
|
321 |
divs = orderItem.findAll('div', recursive=False)
|
| 336 |
content = divs[0]
|
322 |
content = divs[0]
|
| 337 |
orderTracking = divs[2]
|
323 |
orderTracking = divs[2]
|
| 338 |
orderTrackingDet = divs[3]
|
324 |
merchantSubOrderId = divs[3].get('id')
|
| 339 |
|
- |
|
| 340 |
|
- |
|
| 341 |
imgUrl = content.find('img')['src']
|
325 |
imgUrl = content.find('img')['src']
|
| 342 |
lineDet = content.find("div",{"class":"product-info"})
|
326 |
lineDet = content.find("div",{"class":"product-info"})
|
| 343 |
productTitle = lineDet.find("a",{"class":"product-title"}).text
|
327 |
productTitle = lineDet.find("a",{"class":"product-title"}).text
|
| 344 |
productUrl = str(lineDet.find("a")['href'])
|
328 |
productUrl = str(lineDet.find("a")['href'])
|
| 345 |
|
329 |
|
| Line 372... |
Line 356... |
| 372 |
if cashbackAmount <= 0:
|
356 |
if cashbackAmount <= 0:
|
| 373 |
cashbackStatus = Store.CB_NA
|
357 |
cashbackStatus = Store.CB_NA
|
| 374 |
merchantsubOrder.cashBackAmount = cashbackAmount
|
358 |
merchantsubOrder.cashBackAmount = cashbackAmount
|
| 375 |
merchantsubOrder.cashBackStatus = cashbackStatus
|
359 |
merchantsubOrder.cashBackStatus = cashbackStatus
|
| 376 |
merchantsubOrder.cashBackPercentage = cashbackPercent
|
360 |
merchantsubOrder.cashBackPercentage = cashbackPercent
|
| - |
|
361 |
activePart = orderItem.find("div", "c-tabs-content m-top active")
|
| - |
|
362 |
if activePart is not None:
|
| 377 |
merchantsubOrder.detailedStatus = str(orderItem.find("div", "c-tabs-content m-top active").find("div", "tracking-remark").text)
|
363 |
merchantsubOrder.detailedStatus = str(activePart.find("div", "tracking-remark").text)
|
| 378 |
|
364 |
|
| 379 |
#To track shipping details
|
365 |
#To track shipping details
|
| 380 |
status=ORDER_PLACED
|
366 |
status=ORDER_PLACED
|
| 381 |
tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
|
367 |
tr = orderTracking.findAll("div",{"class":"tap-bullet-area c-tab-trigger"})
|
| 382 |
if "approveDetails-ongoing" in str(tr) or "processingDetails-ongoing" in str(tr):
|
368 |
if "approveDetails-ongoing" in str(tr) or "processingDetails-ongoing" in str(tr):
|
| Line 386... |
Line 372... |
| 386 |
elif "delivery-complete" in str(tr):
|
372 |
elif "delivery-complete" in str(tr):
|
| 387 |
status = MStore.ORDER_DELIVERED
|
373 |
status = MStore.ORDER_DELIVERED
|
| 388 |
merchantsubOrder.cashBackStatus = MStore.CB_APPROVED
|
374 |
merchantsubOrder.cashBackStatus = MStore.CB_APPROVED
|
| 389 |
merchantsubOrder.closed = True
|
375 |
merchantsubOrder.closed = True
|
| 390 |
if "dead" in str(tr) or "shippingDetails-returnOngoing" in str(tr) or "shippingDetails-return" in str(tr):
|
376 |
if "dead" in str(tr) or "shippingDetails-returnOngoing" in str(tr) or "shippingDetails-return" in str(tr):
|
| 391 |
status = MStore.ORDER_CANCELLED
|
377 |
status = MStore.ORDER_CANCELLED
|
| - |
|
378 |
if merchantsubOrder.cashBackStatus != MStore.CB_NA:
|
| 392 |
merchantsubOrder.cashBackStatus = MStore.CB_CANCELLED
|
379 |
merchantsubOrder.cashBackStatus = MStore.CB_CANCELLED
|
| 393 |
merchantsubOrder.closed = True
|
380 |
merchantsubOrder.closed = True
|
| 394 |
print "Sub Order Status " + str(status)
|
381 |
print "Sub Order Status " + str(status)
|
| 395 |
merchantsubOrder.status=status
|
382 |
merchantsubOrder.status=status
|
| 396 |
if merchantOrder.closed:
|
383 |
if merchantOrder.closed:
|
| 397 |
merchantOrder.closed = merchantsubOrder.closed
|
384 |
merchantOrder.closed = merchantsubOrder.closed
|
| Line 425... |
Line 412... |
| 425 |
m = hashlib.md5()
|
412 |
m = hashlib.md5()
|
| 426 |
print(m.digest())
|
413 |
print(m.digest())
|
| 427 |
|
414 |
|
| 428 |
def main():
|
415 |
def main():
|
| 429 |
store = getStore(2)
|
416 |
store = getStore(2)
|
| 430 |
#store.parseOrderRawHtml(1, '123', 14, '', 'https://www.flipkart.com/rv/orderConfirmation/orderresponse?reference_id=OD4072085355271530&token=c8a726cb1495232e00338fb0eecb4f40')
|
417 |
#store.parseOrderRawHtml(1, '123', 14, '', ' https://www.flipkart.com/rv/orderConfirmation/orderresponse?reference_id=OD4072085355271530&token=c8a726cb1495232e00338fb0eecb4f40')
|
| 431 |
store.scrapeStoreOrders()
|
418 |
store.scrapeStoreOrders()
|
| 432 |
|
419 |
|
| 433 |
if __name__ == '__main__':
|
420 |
if __name__ == '__main__':
|
| 434 |
main()
|
421 |
main()
|
| 435 |
|
422 |
|
| 436 |
|
423 |
|