| Line 122... |
Line 122... |
| 122 |
resp['result'] = 'DETAIL_NOT_CREATED_KNOWN'
|
122 |
resp['result'] = 'DETAIL_NOT_CREATED_KNOWN'
|
| 123 |
else:
|
123 |
else:
|
| 124 |
try:
|
124 |
try:
|
| 125 |
self.parseNewStlye(merchantOrder, soup)
|
125 |
self.parseNewStlye(merchantOrder, soup)
|
| 126 |
resp['result'] = 'DETAIL_CREATED'
|
126 |
resp['result'] = 'DETAIL_CREATED'
|
| 127 |
return
|
- |
|
| 128 |
except:
|
127 |
except:
|
| 129 |
try:
|
128 |
try:
|
| 130 |
traceback.print_exc()
|
129 |
traceback.print_exc()
|
| 131 |
self.parseOldStlye(merchantOrder, soup)
|
130 |
self.parseOldStlye(merchantOrder, soup)
|
| 132 |
resp['result'] = 'DETAIL_CREATED'
|
131 |
resp['result'] = 'DETAIL_CREATED'
|
| 133 |
return
|
- |
|
| 134 |
except:
|
132 |
except:
|
| 135 |
traceback.print_exc()
|
133 |
traceback.print_exc()
|
| 136 |
try:
|
134 |
try:
|
| 137 |
self.parseCancelled(merchantOrder, soup)
|
135 |
self.parseCancelled(merchantOrder, soup)
|
| 138 |
resp['result'] = 'ORDER_CANCELLED'
|
136 |
resp['result'] = 'ORDER_CANCELLED'
|
| 139 |
return
|
- |
|
| 140 |
except:
|
137 |
except:
|
| 141 |
try:
|
138 |
try:
|
| 142 |
if soup.find("h1").text.strip() in ["Your Account"] or soup.find("h1").span.text=="Account":
|
139 |
if soup.find("h1").text.strip() in ["Your Account"] or soup.find("h1").span.text=="Account":
|
| 143 |
resp['result'] = 'DETAIL_NOT_CREATED_KNOWN'
|
140 |
resp['result'] = 'DETAIL_NOT_CREATED_KNOWN'
|
| 144 |
else:
|
141 |
else:
|
| Line 146... |
Line 143... |
| 146 |
except:
|
143 |
except:
|
| 147 |
if soup.find(id="ap_signin_pagelet_title").find("h1").text.strip()=="Sign In":
|
144 |
if soup.find(id="ap_signin_pagelet_title").find("h1").text.strip()=="Sign In":
|
| 148 |
resp['result'] = 'DETAIL_NOT_CREATED_KNOWN'
|
145 |
resp['result'] = 'DETAIL_NOT_CREATED_KNOWN'
|
| 149 |
else:
|
146 |
else:
|
| 150 |
raise
|
147 |
raise
|
| 151 |
order = self.db.merchantOrder.find_one({"orderId":orderId})
|
- |
|
| 152 |
if order is not None:
|
148 |
if resp['result'] == 'DETAIL_NOT_CREATED_KNOWN':
|
| 153 |
self.db.merchantOrder.update({"orderId":orderId}, {"$set":{"status":"html_required"}})
|
149 |
self.db.merchantOrder.update({"orderId":orderId}, {"$set":{"status":"html_required"}})
|
| 154 |
except:
|
150 |
except:
|
| 155 |
order = self.db.merchantOrder.find_one({"orderId":orderId})
|
- |
|
| 156 |
if order is not None:
|
- |
|
| 157 |
self.db.merchantOrder.update({"orderId":orderId}, {"$set":{"status":"parse_failed"}})
|
151 |
self.db.merchantOrder.update({"orderId":orderId}, {"$set":{"status":"parse_failed"}})
|
| 158 |
print "Error occurred"
|
152 |
print "Error occurred"
|
| 159 |
resp['result'] = 'DETAIL_NOT_CREATED_UNKNOWN'
|
153 |
resp['result'] = 'DETAIL_NOT_CREATED_UNKNOWN'
|
| 160 |
traceback.print_exc()
|
154 |
traceback.print_exc()
|
| 161 |
return resp
|
155 |
return resp
|
| 162 |
|
156 |
|
| Line 349... |
Line 343... |
| 349 |
j=i+1
|
343 |
j=i+1
|
| 350 |
if not deliverySpanTop:
|
344 |
if not deliverySpanTop:
|
| 351 |
if i%2==1:
|
345 |
if i%2==1:
|
| 352 |
continue
|
346 |
continue
|
| 353 |
j=i/2 + 1
|
347 |
j=i/2 + 1
|
| 354 |
deliverySpan = productDiv.div.div.span
|
348 |
deliverySpan = statusDiv.div.div.span
|
| 355 |
productDiv = productDivs[i+1].div
|
- |
|
| 356 |
imgDiv = productDiv.div.div
|
349 |
imgDiv = productDiv.div.div
|
| 357 |
detailDiv = imgDiv.find_next_sibling('div')
|
350 |
detailDiv = imgDiv.find_next_sibling('div')
|
| 358 |
detailDivs = detailDiv.findAll('div', recursive=False)
|
351 |
detailDivs = detailDiv.findAll('div', recursive=False)
|
| 359 |
arr = detailDivs[0].a.text.strip().split(" of ", 1)
|
352 |
arr = detailDivs[0].a.text.strip().split(" of ", 1)
|
| 360 |
(productTitle, quantity) = (arr[-1], (1 if len(arr)==1 else int(arr[0])) )
|
353 |
(productTitle, quantity) = (arr[-1], (1 if len(arr)==1 else int(arr[0])) )
|
| Line 381... |
Line 374... |
| 381 |
subOrder.estimatedDeliveryDate = "Not available"
|
374 |
subOrder.estimatedDeliveryDate = "Not available"
|
| 382 |
|
375 |
|
| 383 |
createdOn = datetime.fromtimestamp(merchantOrder.createdOnInt)
|
376 |
createdOn = datetime.fromtimestamp(merchantOrder.createdOnInt)
|
| 384 |
subOrder.trackAfter = int(time.mktime(max(estDlvyTime-timedelta(days=4),createdOn + timedelta(days=3)).timetuple()))
|
377 |
subOrder.trackAfter = int(time.mktime(max(estDlvyTime-timedelta(days=4),createdOn + timedelta(days=3)).timetuple()))
|
| 385 |
subOrder.detailedStatus = subOrderStatus
|
378 |
subOrder.detailedStatus = subOrderStatus
|
| - |
|
379 |
status=MStore.ORDER_PLACED
|
| - |
|
380 |
try:
|
| - |
|
381 |
status = self._getStatusFromDetailedStatus(subOrderStatus)
|
| - |
|
382 |
except:
|
| - |
|
383 |
try:
|
| - |
|
384 |
dateString = subOrderStatus.split("Delivered ")[1].strip()
|
| - |
|
385 |
subOrder.status = MStore.ORDER_DELIVERED
|
| - |
|
386 |
subOrder.detailedStatus = 'Delivered'
|
| - |
|
387 |
subOrder.deliveredOn = datetime.strftime(getDateStringDelivered(dateString), '%d-%b-%y')
|
| - |
|
388 |
except:
|
| - |
|
389 |
try:
|
| - |
|
390 |
dateString = subOrderStatus.split("Arriving ")[1].split("by")[0].strip()
|
| - |
|
391 |
subOrder.status = MStore.ORDER_SHIPPED
|
| - |
|
392 |
subOrder.deliveryEstimate = datetime.strftime(getDateStringArriving(dateString), '%d-%b-%y')
|
| - |
|
393 |
except:
|
| - |
|
394 |
print "Unknown status Alert -", status
|
| - |
|
395 |
|
| 386 |
subOrder.deliveryCharges = shippingPrice
|
396 |
subOrder.deliveryCharges = shippingPrice
|
| 387 |
if trackingUrl:
|
397 |
if trackingUrl:
|
| 388 |
subOrder.tracingkUrl = trackingUrl
|
398 |
subOrder.tracingkUrl = trackingUrl
|
| 389 |
subOrder.imgUrl = imgDiv.img["src"]
|
399 |
subOrder.imgUrl = imgDiv.img["src"]
|
| 390 |
(cashbackAmount, percentage) = self.getCashbackAmount(subOrder.productCode, amountPaid)
|
400 |
(cashbackAmount, percentage) = self.getCashbackAmount(subOrder.productCode, amountPaid)
|
| Line 396... |
Line 406... |
| 396 |
cashbackStatus = Store.CB_NA
|
406 |
cashbackStatus = Store.CB_NA
|
| 397 |
subOrder.cashBackStatus = cashbackStatus
|
407 |
subOrder.cashBackStatus = cashbackStatus
|
| 398 |
subOrder.cashBackAmount = cashbackAmount
|
408 |
subOrder.cashBackAmount = cashbackAmount
|
| 399 |
if percentage > 0:
|
409 |
if percentage > 0:
|
| 400 |
subOrder.cashBackPercentage = percentage
|
410 |
subOrder.cashBackPercentage = percentage
|
| 401 |
if hasattr(subOrder, 'deliveredOn'):
|
411 |
if hasattr(subOrder, 'deliveredOn') or subOrder.status==Store.ORDER_DELIVERED:
|
| 402 |
subOrder.status = Store.ORDER_DELIVERED
|
412 |
subOrder.status = Store.ORDER_DELIVERED
|
| 403 |
subOrder.closed = True
|
413 |
subOrder.closed = True
|
| 404 |
if subOrder.cashBackStatus == Store.CB_PENDING:
|
414 |
if subOrder.cashBackStatus == Store.CB_PENDING:
|
| 405 |
subOrder.cashBackStatus = Store.CB_APPROVED
|
415 |
subOrder.cashBackStatus = Store.CB_APPROVED
|
| 406 |
elif closedStatus:
|
416 |
elif closedStatus:
|
| Line 754... |
Line 764... |
| 754 |
# o = session.query(OrdersRaw).filter_by(id = orderId).one()
|
764 |
# o = session.query(OrdersRaw).filter_by(id = orderId).one()
|
| 755 |
# o.status = 'ORDER_CREATED'
|
765 |
# o.status = 'ORDER_CREATED'
|
| 756 |
# session.commit()
|
766 |
# session.commit()
|
| 757 |
# finally:
|
767 |
# finally:
|
| 758 |
# session.close()
|
768 |
# session.close()
|
| - |
|
769 |
store.trackOrdersForUser(10466, 'https://www.amazon.in/gp/css/summary/edit.html?orderID=403-7498756-0837158', readSSh('/AmazonTrack/User10466/403-7498756-0837158'))
|
| 759 |
store.trackOrdersForUser(12243, 'https://www.amazon.in/gp/css/summary/edit.html?orderID=171-1842941-8579542', readSSh('/AmazonTrack/User12243/171-1842941-8579542'))
|
770 |
store.trackOrdersForUser(10466, 'https://www.amazon.in/gp/css/summary/edit.html?orderID=403-2539406-8617932', readSSh('/AmazonTrack/User10466/403-2539406-8617932'))
|
| - |
|
771 |
#store.parseOrderRawHtml(3324325, '12', 10466, readSSh('/home/amit/s1.html'), 'https://www.amazon.in/gp/css/summary/edit.html?orderID=403-7498756-0837158')
|
| 760 |
|
772 |
|
| 761 |
def getSummaryFile(directory):
|
773 |
def getSummaryFile(directory):
|
| 762 |
date1 = datetime(2015,1,1)
|
774 |
date1 = datetime(2015,1,1)
|
| 763 |
finalFile = None
|
775 |
finalFile = None
|
| 764 |
try:
|
776 |
try:
|
| Line 866... |
Line 878... |
| 866 |
|
878 |
|
| 867 |
finally:
|
879 |
finally:
|
| 868 |
session.close()
|
880 |
session.close()
|
| 869 |
|
881 |
|
| 870 |
if __name__ == '__main__':
|
882 |
if __name__ == '__main__':
|
| 871 |
# readSSh("~/46417.html")
|
- |
|
| 872 |
main()
|
- |
|
| 873 |
#getDateStringArriving()
|
- |
|
| 874 |
|
883 |
# readSSh("/AmazonTrack/User2942/402-2467356-7564367")
|
| - |
|
884 |
# readSSh("/AmazonTrack/User10466/orderSummary18-11:21:32:36")
|
| - |
|
885 |
# readSSh("/AmazonTrack/User10466/403-7498756-0837158")
|
| - |
|
886 |
main()
|
| - |
|
887 |
|