Subversion Repositories SmartDukaan

Rev

Rev 1408 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1405 ankur.sing 1
#!/usr/bin/python 
2
 
3
'''
4
Created on 13-Apr-2011
5
 
6
@author: ankur
7
'''
8
 
9
import os
10
import sys
11
 
12
if __name__ == '__main__' and __package__ is None:
13
    sys.path.insert(0, os.getcwd())
14
 
15
from shop2020.utils.Utils import to_py_date, to_java_date
16
from shop2020.utils.EmailAttachmentSender import get_attachment_part, mail
17
from shop2020.clients.TransactionClient import TransactionClient
18
import csv
19
from shop2020.clients.LogisticsClient import LogisticsClient
20
 
21
from_user = 'cnc.center@shop2020.in'
22
from_pwd = '5h0p2o2o'
23
to = 'ankur.singhal@shop2020.in'
24
 
25
def get_undelivered_orders(providerId = -1, warehouseId = -1):
26
    txnClient = TransactionClient().get_client()
27
    undeliveredOrders = txnClient.getUndeliveredOrders(providerId, warehouseId)
28
    return undeliveredOrders
29
 
30
def generate_undelivered_orders_report(orders):
31
    filename = os.getenv("HOME") + os.sep + "UndeliveredOrders.csv"
32
    logistics_client = LogisticsClient().get_client()
33
    providers = logistics_client.getAllProviders()
34
    writer = csv.writer(open(filename, "wb"), delimiter=',', quoting=csv.QUOTE_NONE)
35
    writer.writerow(['AWB No', 'Shipping Date', 'Courier Name', 'Delivery Location', 'Non-delivery Reason'])
36
    provider = None
37
    for order in orders:
38
        for p in providers:
39
            if p.id == order.logistics_provider_id:
40
                provider=p
41
                break
42
        writer.writerow([order.airwaybill_no, to_py_date(order.shipping_timestamp), provider.name, order.customer_city, order.statusDescription])
43
 
44
    return filename
45
 
46
 
47
def main():
48
    orders = get_undelivered_orders()
49
    filename = generate_undelivered_orders_report(orders)
50
    print "Generated undelivered orders report to:" + filename
51
    part = get_attachment_part(filename)
52
    mail(from_user, from_pwd, to, "Undelivered orders", "This is a system generated email.Please don't reply to it.", part)
53
 
54
if __name__ == '__main__':
55
    main()