| Line 21... |
Line 21... |
| 21 |
from_user = 'cnc.center@shop2020.in'
|
21 |
from_user = 'cnc.center@shop2020.in'
|
| 22 |
from_pwd = '5h0p2o2o'
|
22 |
from_pwd = '5h0p2o2o'
|
| 23 |
to = 'cnc.center@shop2020.in'
|
23 |
to = 'cnc.center@shop2020.in'
|
| 24 |
|
24 |
|
| 25 |
def process_pickup_records(provider):
|
25 |
def process_pickup_records(provider):
|
| - |
|
26 |
try:
|
| 26 |
filename = fetch_report(provider.name.upper() + ' PICKUP REPORT')
|
27 |
filename = fetch_report(provider.name.upper() + ' PICKUP REPORT')
|
| 27 |
pickup_details = read_pickup_report(filename)
|
28 |
pickup_details = read_pickup_report(filename)
|
| 28 |
orders_not_picked_up = update_picked_orders(provider.id, pickup_details)
|
29 |
orders_not_picked_up = update_picked_orders(provider.id, pickup_details)
|
| 29 |
if orders_not_picked_up:
|
30 |
if orders_not_picked_up:
|
| 30 |
mismatch_file = "PickupMismatch.csv"
|
31 |
mismatch_file = "PickupMismatch.csv"
|
| 31 |
print "Some of our orders were not picked up. Printing report to:" + mismatch_file
|
32 |
print "Some of our orders were not picked up. Printing report to:" + mismatch_file
|
| 32 |
print_pickup_mismatch_report(mismatch_file, orders_not_picked_up)
|
33 |
print_pickup_mismatch_report(mismatch_file, orders_not_picked_up)
|
| 33 |
pickup_mismatch_part = get_attachment_part(mismatch_file)
|
34 |
pickup_mismatch_part = get_attachment_part(mismatch_file)
|
| 34 |
mail(from_user, from_pwd, to,\
|
35 |
mail(from_user, from_pwd, to,\
|
| 35 |
"Pickup Mismatch for " + provider.name,\
|
36 |
"Pickup Mismatch for " + provider.name,\
|
| 36 |
"This is a system generated email.Please don't reply to it.",\
|
37 |
"This is a system generated email.Please don't reply to it.",\
|
| 37 |
pickup_mismatch_part)
|
38 |
pickup_mismatch_part)
|
| - |
|
39 |
finally:
|
| 38 |
os.remove(filename)
|
40 |
os.remove(filename)
|
| 39 |
|
41 |
|
| 40 |
def process_delivery_report(provider):
|
42 |
def process_delivery_report(provider):
|
| - |
|
43 |
try:
|
| 41 |
filename = fetch_report(provider.name.upper() + ' DELIVERED AND RTO REPORT')
|
44 |
filename = fetch_report(provider.name.upper() + ' DELIVERED AND RTO REPORT')
|
| 42 |
#filename = 'delivery_report.xls'
|
45 |
#filename = 'delivery_report.xls'
|
| 43 |
delivered_orders, returned_orders = read_delivery_report(filename)
|
46 |
delivered_orders, returned_orders = read_delivery_report(filename)
|
| 44 |
if delivered_orders:
|
47 |
if delivered_orders:
|
| 45 |
update_delivered_orders(provider.id, delivered_orders)
|
48 |
update_delivered_orders(provider.id, delivered_orders)
|
| 46 |
if returned_orders:
|
49 |
if returned_orders:
|
| 47 |
update_returned_orders(provider.id, returned_orders)
|
50 |
update_returned_orders(provider.id, returned_orders)
|
| 48 |
|
51 |
|
| 49 |
mail(from_user, from_pwd, to,\
|
52 |
mail(from_user, from_pwd, to,\
|
| 50 |
"Returned Orders Report for " + provider.name,\
|
53 |
"Returned Orders Report for " + provider.name,\
|
| 51 |
"This is a system generated email.Please don't reply to it.",\
|
54 |
"This is a system generated email.Please don't reply to it.",\
|
| 52 |
None)
|
55 |
None)
|
| - |
|
56 |
finally:
|
| 53 |
os.remove(filename)
|
57 |
os.remove(filename)
|
| 54 |
|
58 |
|
| 55 |
def process_non_delivery_report(provider):
|
59 |
def process_non_delivery_report(provider):
|
| - |
|
60 |
try:
|
| 56 |
filename = fetch_report(provider.name.upper() + ' UNDELIVERED REPORT')
|
61 |
filename = fetch_report(provider.name.upper() + ' UNDELIVERED REPORT')
|
| 57 |
undelivered_orders = read_undelivered_report(filename)
|
62 |
undelivered_orders = read_undelivered_report(filename)
|
| 58 |
update_reason_of_undelivered_orders(provider.id, undelivered_orders)
|
63 |
update_reason_of_undelivered_orders(provider.id, undelivered_orders)
|
| - |
|
64 |
finally:
|
| 59 |
os.remove(filename)
|
65 |
os.remove(filename)
|
| 60 |
|
66 |
|
| 61 |
def update_reason_of_undelivered_orders(provider_id, undelivered_orders):
|
67 |
def update_reason_of_undelivered_orders(provider_id, undelivered_orders):
|
| 62 |
txnClient = TransactionClient().get_client()
|
68 |
txnClient = TransactionClient().get_client()
|
| 63 |
try:
|
69 |
try:
|
| 64 |
txnClient.updateNonDeliveryReason(provider_id, undelivered_orders)
|
70 |
txnClient.updateNonDeliveryReason(provider_id, undelivered_orders)
|
| Line 126... |
Line 132... |
| 126 |
sheet = workbook.sheet_by_index(0)
|
132 |
sheet = workbook.sheet_by_index(0)
|
| 127 |
num_rows = sheet.nrows
|
133 |
num_rows = sheet.nrows
|
| 128 |
undelivered_orders = {}
|
134 |
undelivered_orders = {}
|
| 129 |
for rownum in range(1, num_rows):
|
135 |
for rownum in range(1, num_rows):
|
| 130 |
unused_cusotmer_code, awb, reason, timeval, date = sheet.row_values(rownum)[0:5]
|
136 |
unused_cusotmer_code, awb, reason, timeval, date = sheet.row_values(rownum)[0:5]
|
| - |
|
137 |
try:
|
| 131 |
unused_status_date = str(get_py_datetime(date, timeval))
|
138 |
unused_status_date = str(get_py_datetime(date, timeval))
|
| - |
|
139 |
except ValueError:
|
| - |
|
140 |
#ValueError can be expected if the date or time are not in the expected format
|
| - |
|
141 |
#Harmless error for now since we are not storing the status date
|
| - |
|
142 |
print sys.exc_info()[0]
|
| 132 |
undelivered_orders[awb] = reason
|
143 |
undelivered_orders[awb] = reason
|
| 133 |
|
144 |
|
| 134 |
print "Undelivered Orders"
|
145 |
print "Undelivered Orders"
|
| 135 |
print undelivered_orders
|
146 |
print undelivered_orders
|
| 136 |
|
147 |
|