Subversion Repositories SmartDukaan

Rev

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

'''
Created on 29-Mar-2010

@author: ashish
'''

from shop2020.thriftpy.model.v1.order.ttypes import Transaction as T_Transaction,\
    Item as T_Item, LineItem as T_LineItem
from shop2020.thriftpy.model.v1.order.ttypes import Billing as T_Billing
from shop2020.thriftpy.model.v1.order.ttypes import Shipment as T_Shipment
from shop2020.utils.Utils import to_java_date
from shop2020.utils import OrderStatus
from shop2020.model.v1.order.impl.DataService import Billing
from shop2020.utils.OrderStatus import get_t_status

def to_t_transaction(transaction):
    t_transaction = T_Transaction()
    t_transaction.id = transaction.id
    t_transaction.createdOn = to_java_date(transaction.createdOn)
    t_transaction.transactionStatus = OrderStatus.get_t_status(transaction.status)
    t_transaction.statusDescription = transaction.status_details
        
    return t_transaction

def to_t_billing(billing):
    t_billing = T_Billing()
    t_billing.id = billing.id
    t_billing.billNumber = billing.bill_number
    t_billing.generatedBy = billing.generated_by
    t_billing.generatedTimestamp = to_java_date(billing.created_on)
    t_billing.lineItem = to_t_lineitem(billing.line_item)
    
def to_t_lineitem(lineitem):
    t_line_item = T_LineItem()
    t_line_item.id = lineitem.id
    t_line_item.item = lineitem.item_id
    t_line_item.addedOn = to_java_date(lineitem.added_on)
    t_line_item.additionalInfo = {}
    if lineitem.additional_info:
        for k,v in lineitem.additional_info.iteritems():
            t_line_item.additionalInfo[k] = v
    return t_line_item

def to_t_shipment(shipment):
    t_shipment = T_Shipment()
    t_shipment.id = shipment.id
    t_shipment.address = shipment.address
    t_shipment.airwayBillNo = shipment.airway_bill_no
    try:
        t_shipment.deliveryTimestamp = to_java_date(shipment.delivery_time)
    except:
        print "no delivery timestamp"
    t_shipment.insurance = shipment.insurance_value
    t_shipment.provider = shipment.provider
    t_shipment.value = shipment.declared_value
    try:
        t_shipment.shipmentTimestamp = to_java_date(shipment.shipment_time)
    except:
        print "no shipment timestamp"
    t_shipment.status = get_t_status(shipment.status)
    t_shipment.weight = shipment.weight
    t_shipment.trackingId = shipment.tracking_id
    
    t_shipment.lineItems = []
    if shipment.line_items:
        for line_item in shipment.line_items:
            t_shipment.lineItems.append(to_t_lineitem(line_item))
    return t_shipment