Subversion Repositories SmartDukaan

Rev

Rev 7460 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
7460 kshitij.so 1
from elixir import *
2
from shop2020.model.v1.order.impl import DataService
3
from shop2020.model.v1.order.impl.DataService import Order, AmazonOrder 
4
from datetime import datetime, timedelta, date ,time
5
import xlrd
6
from shop2020.clients.TransactionClient import TransactionClient 
7
from shop2020.config.client.ConfigClient import ConfigClient
8
 
9
 
10
config_client = ConfigClient()
11
host = config_client.get_property('transaction_service_db_hostname')
7644 kshitij.so 12
print "Selecting host: ",host
7460 kshitij.so 13
DataService.initialize(db_hostname=host)
7644 kshitij.so 14
directory = "/tmp/Amazon-shipping.xls"
7460 kshitij.so 15
amazonOrder = [[]]
16
sheet = xlrd.open_workbook(directory)
7644 kshitij.so 17
sh = sheet.sheet_by_index(0)    
18
def get_seconds(t_delta):
19
    return ((t_delta.microseconds + (t_delta.seconds + t_delta.days * 24 * 3600) * 10**6) / 10**6)
7460 kshitij.so 20
for i in range (0,sh.nrows):
21
    amazonOrder.append([sh.cell_value(i,0),sh.cell_value(i,1),sh.cell_value(i,2)])
22
for row in amazonOrder:
23
    if not len(row) == 0:
24
        amazonOrderCode = row[0]
25
        minDeliveryDate = row[1]
26
        maxDeliveryDate = row[2]
27
        print "=============================="
28
        print "OrderId",amazonOrderCode
29
        print "Minimum Delivery Date",minDeliveryDate
30
        print "Maxmium Delivery Date",maxDeliveryDate
31
        print "=============================="
32
        print "\n"
33
        print "Fetching OrderId's For Amazon Order Code"
34
        print "==============================="
35
        orders = AmazonOrder.query.filter(AmazonOrder.amazonOrderCode==amazonOrderCode).filter(AmazonOrder.status=='Acknowledgement-Sent').all()
36
        for order in orders:
37
            row = Order.query.filter(Order.id==order.orderId).first()
38
            if row is None:
39
                continue
40
            expectedDeliveryTime = row.expected_delivery_time
41
            promisedDeliveryTime = row.promised_delivery_time
42
            expectedShippingTime = row.expected_shipping_time
43
            promisedShippingTime = row.promised_shipping_time
44
            deltaTime = (expectedDeliveryTime-expectedShippingTime)
45
 
46
 
47
            print "+++++++++++++++++++++++"
48
            print "Expected Delivery Time : ",expectedDeliveryTime
49
            print "Promised Delivery Time : ",promisedDeliveryTime
50
            print "Expected Shipping Time : ",expectedShippingTime
51
            print "Promised Shipping Time : ",promisedShippingTime
52
            print "Delta Time : ", deltaTime
53
            print "=============================="
54
 
55
            newExpectedDeliveryTime=datetime.strptime(minDeliveryDate, "%d-%m-%Y")
56
            newTime = time(expectedDeliveryTime.hour, expectedDeliveryTime.minute, expectedDeliveryTime.second)
57
            newExpectedDeliveryTime = datetime.combine(newExpectedDeliveryTime, newTime)
58
            newPromisedDeliveryTime=datetime.strptime(minDeliveryDate, "%d-%m-%Y")
59
            newTime = time(promisedDeliveryTime.hour, promisedDeliveryTime.minute, promisedDeliveryTime.second)
60
            newPromisedDeliveryTime = datetime.combine(newPromisedDeliveryTime, newTime)
61
            newExpectedShippingTime=newExpectedDeliveryTime-deltaTime
62
            newPromisedShippingTime=newPromisedDeliveryTime-deltaTime
63
 
64
 
65
 
66
            print "######################"
67
            print "New Expected Delivery Time : ",newExpectedDeliveryTime
68
            print "New Promised Delivery Time : ",newPromisedDeliveryTime
69
            print "New Expected Shipping Time : ",newExpectedShippingTime
70
            print "New Promised Shipping Time : ",newPromisedShippingTime
71
 
72
            client = TransactionClient().get_client()
7644 kshitij.so 73
            client.updateTimestampForAmazonOrder(order.orderId, get_seconds((newExpectedDeliveryTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)), get_seconds((newPromisedDeliveryTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)), get_seconds((newExpectedShippingTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)), get_seconds((newPromisedShippingTime-datetime(1970,1,1))-timedelta(hours = 5,minutes=30)))
74
 
7460 kshitij.so 75
 
76
 
77
 
78
 
79
 
7644 kshitij.so 80