Subversion Repositories SmartDukaan

Rev

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

Rev 22454 Rev 22541
Line 23... Line 23...
23
http://www.aramex.com/track_xml.asp?ShipperRef={variable1}&OrgCntry=In&FromDate={variable2}&ToDate={variable3} is hard coded
23
http://www.aramex.com/track_xml.asp?ShipperRef={variable1}&OrgCntry=In&FromDate={variable2}&ToDate={variable3} is hard coded
24
to track DOA orders and for other orders ConfigClient is called to get aramex_update_url
24
to track DOA orders and for other orders ConfigClient is called to get aramex_update_url
25
 
25
 
26
@author: Phani Kumar
26
@author: Phani Kumar
27
'''
27
'''
-
 
28
import re
28
from shop2020.clients.CRMClient import CRMClient
29
from shop2020.clients.CRMClient import CRMClient
29
from shop2020.clients.LogisticsClient import LogisticsClient
30
from shop2020.clients.LogisticsClient import LogisticsClient
30
from shop2020.clients.TransactionClient import TransactionClient
31
from shop2020.clients.TransactionClient import TransactionClient
31
from shop2020.clients.UserClient import UserClient
32
from shop2020.clients.UserClient import UserClient
32
from shop2020.config.client.ConfigClient import ConfigClient
33
from shop2020.config.client.ConfigClient import ConfigClient
Line 426... Line 427...
426
            for element in reversed(nodes):
427
            for element in reversed(nodes):
427
                if element.findtext('Status', '') == 'SHDL' and (element.findtext('Condition', '') == 'DLVD' or element.findtext('Condition', '') == 'DPTT' or element.findtext('Condition', '') == 'DLPT' or element.findtext('Condition', '') == 'LTRB'):
428
                if element.findtext('Status', '') == 'SHDL' and (element.findtext('Condition', '') == 'DLVD' or element.findtext('Condition', '') == 'DPTT' or element.findtext('Condition', '') == 'DLPT' or element.findtext('Condition', '') == 'LTRB'):
428
                    delivery_date = get_py_datetime(element.findtext('ActionDate', ''))
429
                    delivery_date = get_py_datetime(element.findtext('ActionDate', ''))
429
                    receiver = root.findtext('HAWBDetails/DeliveredTo', '')
430
                    receiver = root.findtext('HAWBDetails/DeliveredTo', '')
430
                    #Added replacement as separator may come itself in reciever
431
                    #Added replacement as separator may come itself in reciever
431
                    delivered_orders[order.airwaybill_no] = str(delivery_date) + "|" +  receiver.decode('utf-8','ignore').encode("utf-8").replace("|", "l")
432
                    delivered_orders[order.airwaybill_no] = str(delivery_date) + "|" +  re.sub(r'[^\x00-\x7F]\s+','', receiver).encode().strip().replace("|", "l")
432
                    break
433
                    break
433
                elif element.findtext('Condition', '') == 'RTRN' and (element.findtext('Status', '') == 'SHRH' or element.findtext('Status', '') == 'SHUP'):
434
                elif element.findtext('Condition', '') == 'RTRN' and (element.findtext('Status', '') == 'SHRH' or element.findtext('Status', '') == 'SHUP'):
434
                    delivery_date = get_py_datetime(element.findtext('ActionDate', ''))
435
                    delivery_date = get_py_datetime(element.findtext('ActionDate', ''))
435
                    if node_number < len(nodes)-1:
436
                    if node_number < len(nodes)-1:
436
                        reason_for_return = nodes[node_number+1].findtext('CustomerDescription', '')
437
                        reason_for_return = nodes[node_number+1].findtext('CustomerDescription', '')
Line 442... Line 443...
442
                    reason = root.findtext('HAWBDetails/CurrentStatus', '')
443
                    reason = root.findtext('HAWBDetails/CurrentStatus', '')
443
                    undelivered_orders[order.airwaybill_no] = reason.decode('utf-8','ignore').encode("utf-8")
444
                    undelivered_orders[order.airwaybill_no] = reason.decode('utf-8','ignore').encode("utf-8")
444
                    break
445
                    break
445
                node_number = node_number - 1
446
                node_number = node_number - 1
446
        except:
447
        except:
447
            pass
448
            traceback.print_exc()
448
    
449
    
449
    print "Delivered Orders:"
450
    print "Delivered Orders:"
450
    print delivered_orders
451
    print delivered_orders
451
    
452
    
452
    print "Returned Orders:"
453
    print "Returned Orders:"