| Line 475... |
Line 475... |
| 475 |
bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
|
475 |
bulk = self.db.merchantOrder.initialize_ordered_bulk_op()
|
| 476 |
closed = True
|
476 |
closed = True
|
| 477 |
for subOrderElement in subOrders:
|
477 |
for subOrderElement in subOrders:
|
| 478 |
prodDivs = subOrderElement.findAll('div', recursive=False)
|
478 |
prodDivs = subOrderElement.findAll('div', recursive=False)
|
| 479 |
merchantSubOrderId = prodDivs[0].text.split(':')[1].strip()
|
479 |
merchantSubOrderId = prodDivs[0].text.split(':')[1].strip()
|
| 480 |
prodDetailDiv = prodDivs[1].findAll('div', recursive=False)
|
- |
|
| 481 |
imgDiv = prodDetailDiv[0]
|
- |
|
| 482 |
otherDiv = prodDetailDiv[1]
|
- |
|
| 483 |
|
- |
|
| 484 |
subOrder = None
|
480 |
subOrder = None
|
| 485 |
breakFlag = False
|
- |
|
| 486 |
subOrder = self._isSubOrderActive(order, merchantSubOrderId)
|
481 |
subOrder = self._isSubOrderActive(order, merchantSubOrderId)
|
| 487 |
if subOrder is None:
|
482 |
if subOrder is None:
|
| - |
|
483 |
try:
|
| 488 |
subOrders = self.parseSubOrderB(subOrderElement, placedOn)
|
484 |
subOrders = self.parseSubOrderB(subOrderElement, placedOn)
|
| 489 |
self.db.merchantOrder.update({"orderId":order['orderId']},{'$push':{"subOrders":{"$each":todict([subOrders])}}})
|
485 |
self.db.merchantOrder.update({"orderId":order['orderId']},{'$push':{"subOrders":{"$each":todict([subOrders])}}})
|
| 490 |
print "Added new suborders to Order id - ", order['orderId']
|
486 |
print "Added new suborders to Order id - ", order['orderId']
|
| 491 |
closed = False
|
487 |
closed = False
|
| - |
|
488 |
except:
|
| - |
|
489 |
pass
|
| 492 |
continue
|
490 |
continue
|
| 493 |
elif subOrder['closed']:
|
491 |
elif subOrder['closed']:
|
| 494 |
continue
|
492 |
continue
|
| 495 |
else:
|
493 |
else:
|
| 496 |
findMap = {"orderId": order['orderId'], "subOrders.merchantSubOrderId": merchantSubOrderId}
|
- |
|
| 497 |
updateMap = {}
|
- |
|
| 498 |
prodDivs = subOrderElement.findAll('div', recursive=False)
|
- |
|
| 499 |
prodDetailDiv = prodDivs[1].findAll('div', recursive=False)
|
494 |
prodDetailDiv = prodDivs[1].findAll('div', recursive=False)
|
| 500 |
otherDiv = prodDetailDiv[1]
|
495 |
otherDiv = prodDetailDiv[1]
|
| - |
|
496 |
trackBlock = subOrderElement.find('div',{'class':'trackingDetailsBlock'})
|
| - |
|
497 |
findMap = {"orderId": order['orderId'], "subOrders.merchantSubOrderId": merchantSubOrderId}
|
| - |
|
498 |
updateMap = {}
|
| 501 |
detailedStatus = otherDiv.find('div',{'class':'orderStatus'}).span.text.strip()
|
499 |
detailedStatus = otherDiv.find('div',{'class':'orderStatus'}).span.text.strip()
|
| 502 |
updateMap["subOrders.$.detailedStatus"] = detailedStatus
|
500 |
updateMap["subOrders.$.detailedStatus"] = detailedStatus
|
| 503 |
status = self._getStatusFromDetailedStatus(detailedStatus)
|
501 |
status = self._getStatusFromDetailedStatus(detailedStatus)
|
| 504 |
closedStatus = status in [Store.ORDER_DELIVERED, Store.ORDER_CANCELLED]
|
502 |
closedStatus = status in [Store.ORDER_DELIVERED, Store.ORDER_CANCELLED]
|
| 505 |
if status is not None:
|
503 |
if status is not None:
|
| 506 |
updateMap["subOrders.$.status"] = status
|
504 |
updateMap["subOrders.$.status"] = status
|
| 507 |
if detailedStatus == 'Closed For Vendor Reallocation':
|
505 |
if 'A New Order Placed With A Different Seller' in str(trackBlock):
|
| 508 |
#if it is more than 6hours mark closed.
|
506 |
#if it is more than 6hours mark closed.
|
| 509 |
closeAt = subOrder.get("closeAt")
|
507 |
closeAt = subOrder.get("closeAt")
|
| 510 |
if closeAt is None:
|
508 |
if closeAt is None:
|
| 511 |
closeAt = datetime.now() + timedelta(hours=6)
|
509 |
closeAt = datetime.now() + timedelta(hours=6)
|
| 512 |
updateMap["subOrders.$.closeAt"] = datetime.strftime(closeAt,"%Y-%m-%d %H:%M:%S")
|
510 |
updateMap["subOrders.$.closeAt"] = datetime.strftime(closeAt,"%Y-%m-%d %H:%M:%S")
|
| 513 |
else:
|
511 |
else:
|
| 514 |
closeAt = datetime.strptime(closeAt,"%Y-%m-%d %H:%M:%S")
|
512 |
closeAt = datetime.strptime(closeAt,"%Y-%m-%d %H:%M:%S")
|
| 515 |
if datetime.now() > closeAt:
|
513 |
if datetime.now() > closeAt:
|
| 516 |
closedStatus = True
|
514 |
closedStatus = True
|
| - |
|
515 |
updateMap["subOrders.$.status"] = Store.ORDER_CANCELLED
|
| 517 |
|
516 |
|
| 518 |
|
517 |
|
| 519 |
if closedStatus:
|
518 |
if closedStatus:
|
| 520 |
#if status is closed then change the paybackStatus accordingly
|
519 |
#if status is closed then change the paybackStatus accordingly
|
| 521 |
updateMap["subOrders.$.closed"] = True
|
520 |
updateMap["subOrders.$.closed"] = True
|