Subversion Repositories SmartDukaan

Rev

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

Rev 12959 Rev 12960
Line 435... Line 435...
435
    undelivered_orders = {}
435
    undelivered_orders = {}
436
    list_of_order = []
436
    list_of_order = []
437
    for order in orders_tobe_delivered:
437
    for order in orders_tobe_delivered:
438
        list_of_order.append(str(order.airwaybill_no))
438
        list_of_order.append(str(order.airwaybill_no))
439
    
439
    
-
 
440
    awbCount = 0
-
 
441
    subList = []
-
 
442
    parentAwbList = []
440
    print list_of_order
443
    for awb in list_of_order:
-
 
444
        awbCount = awbCount + 1
441
    try:
445
        if awbCount == 10:
442
        uri = Delhivery_URL + 'waybill=' + ','.join(list_of_order)
446
            parentAwbList.append(subList)
-
 
447
            subList = []
-
 
448
            awbCount = 0
443
        print uri
449
        else:
444
        data = urllib2.urlopen(uri)
450
            subList.append(awb)
-
 
451
    
-
 
452
    for awbList in parentAwbList:        
445
        print data
453
        try:
-
 
454
            uri = Delhivery_URL + 'waybill=' + ','.join(awbList)
-
 
455
            data = urllib2.urlopen(uri)
446
        root = parse(data).getroot()
456
            root = parse(data).getroot()
447
        shipments = root.findall('Shipment')
457
            shipments = root.findall('Shipment')
448
        for shipment in shipments:
458
            for shipment in shipments:
449
            nodes = shipment.findall('Scans/ScanDetail')
459
                nodes = shipment.findall('Scans/ScanDetail')
450
            node_number = 0
460
                node_number = 0
451
            for element in nodes:
461
                for element in nodes:
452
                print getTrimedString(element.findtext('Scan', ''))
-
 
453
                print shipment.findtext('Status/RecievedBy', '')
-
 
454
                
462
                    
455
                if element.findtext('ScanType', '') == 'DL' and getTrimedString('Delivered') in getTrimedString(element.findtext('Scan', '')) :
463
                    if element.findtext('ScanType', '') == 'DL' and getTrimedString('Delivered') in getTrimedString(element.findtext('Scan', '')) :
456
                    delivery_date = get_py_datetime(element.findtext('ScanDateTime', ''))
464
                        delivery_date = get_py_datetime(element.findtext('ScanDateTime', ''))
457
                    receiver = shipment.findtext('Status/RecievedBy', '')
465
                        receiver = shipment.findtext('Status/RecievedBy', '')
458
                    delivered_orders[shipment.findtext('AWB', '')] = str(delivery_date) + "|" +  receiver
466
                        delivered_orders[shipment.findtext('AWB', '')] = str(delivery_date) + "|" +  receiver
459
                    break
467
                        break
460
                elif element.findtext('ScanType', '') == 'RT' and getTrimedString(element.findtext('Scan', '')) == getTrimedString('Returned'):
468
                    elif element.findtext('ScanType', '') == 'RT' and getTrimedString(element.findtext('Scan', '')) == getTrimedString('Returned'):
461
                    delivery_date = get_py_datetime(element.findtext('ScanDateTime', ''))
469
                        delivery_date = get_py_datetime(element.findtext('ScanDateTime', ''))
462
                    reason_for_return = element.findtext('Instructions', '')
470
                        reason_for_return = element.findtext('Instructions', '')
463
                    returned_orders[shipment.findtext('AWB', '')] = str(delivery_date) + "|" + reason_for_return
471
                        returned_orders[shipment.findtext('AWB', '')] = str(delivery_date) + "|" + reason_for_return
464
                    break
472
                        break
465
                elif node_number == len(nodes)-1:
473
                    elif node_number == len(nodes)-1:
466
                    reason = element.findtext('Instructions', '')
474
                        reason = element.findtext('Instructions', '')
467
                    undelivered_orders[shipment.findtext('AWB', '')] = reason
475
                        undelivered_orders[shipment.findtext('AWB', '')] = reason
468
                    break
476
                        break
469
                node_number = node_number + 1
477
                    node_number = node_number + 1
470
    except:
478
        except:
471
        pass
479
            pass
472
    
480
    
473
    print "Delivered Orders:"
481
    print "Delivered Orders:"
474
    print delivered_orders
482
    print delivered_orders
475
    
483
    
476
    print "Returned Orders:"
484
    print "Returned Orders:"