Subversion Repositories SmartDukaan

Rev

Rev 1718 | Rev 2624 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1718 Rev 2001
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