Subversion Repositories SmartDukaan

Rev

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

Rev 20718 Rev 20724
Line 1... Line 1...
1
from suds.client import Client
1
from suds.client import Client
2
from shop2020.clients.TransactionClient import TransactionClient
2
from shop2020.clients.TransactionClient import TransactionClient
3
from datetime import datetime, time, timedelta
3
from datetime import datetime, time, timedelta
4
import traceback
4
import traceback
-
 
5
import re
5
 
6
 
6
raclient = None
7
raclient = None
7
user_profile = None
8
user_profile = None
8
shipper = None
9
shipper = None
9
 
10
 
Line 55... Line 56...
55
    return shipper
56
    return shipper
56
 
57
 
57
def generate_awb(orders_list):
58
def generate_awb(orders_list):
58
    try:
59
    try:
59
        if not isinstance(orders_list, list) or not orders_list:
60
        if not isinstance(orders_list, list) or not orders_list:
60
            return ""
61
            raise ValueError("Expecting list of orders")
61
        consignee = get_client().factory.create('ns2:Consignee')
62
        consignee = get_client().factory.create('ns2:Consignee')
62
        consignee.ConsigneeAddress1 = orders_list[0].customer_address1
63
        consignee.ConsigneeAddress1 = orders_list[0].customer_address1
63
        if orders_list[0].customer_address2:
64
        if orders_list[0].customer_address2:
64
            consignee.ConsigneeAddress2 = orders_list[0].customer_address2 
65
            consignee.ConsigneeAddress2 = orders_list[0].customer_address2 
65
            consignee.ConsigneeAddress3 = orders_list[0].customer_city+" "+orders_list[0].customer_state
66
            consignee.ConsigneeAddress3 = orders_list[0].customer_city+" "+orders_list[0].customer_state
Line 107... Line 108...
107
        wbg.Shipper = get_shipper_object()
108
        wbg.Shipper = get_shipper_object()
108
        
109
        
109
        d= get_client().factory.create('ns2:Dimension')
110
        d= get_client().factory.create('ns2:Dimension')
110
        d.Count=0
111
        d.Count=0
111
        ser.Dimensions=[d]
112
        ser.Dimensions=[d]
112
        print get_client().service.GenerateWayBill(wbg, get_profile())
113
        response = get_client().service.GenerateWayBill(wbg, get_profile())
-
 
114
        if response.AWBNo is None:
-
 
115
            #Lets check whether awb has been generated before for the same reference
-
 
116
            #No error code is given, will have to try dirty method
-
 
117
            status_info = (response.Status.WayBillGenerationStatus[0].StatusInformation)
-
 
118
            matched = re.findall(r"\D(\d{11})\D", " "+status_info+" ")
-
 
119
            if len(matched)==1:
-
 
120
                return str(matched[0])
113
    except:
121
        else:
114
        print traceback.print_exc()
122
            return str(response.AWBNo)
115
    finally:
123
    finally:
116
        if DEBUG:
124
        if DEBUG:
117
            print get_client().last_sent()
125
            print get_client().last_sent()
118
            print get_client().last_received()
126
            print get_client().last_received()
119
 
127
 
120
def main():
128
def main():
121
    tc = TransactionClient().get_client()
-
 
122
    orders = tc.getOrderList([1546485])
-
 
123
    generate_awb(orders)
129
    print generate_awb([])
124
    
130
    
125
    
131
    
126
 
132
 
127
if __name__ == '__main__':
133
if __name__ == '__main__':
128
    main()
134
    main()
129
135