Rev 483 | Rev 6903 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
'''Created on 25-Mar-2010@author: ashish'''import urlparsefrom shop2020.thriftpy.config.ttypes import ConfigExceptionfrom thrift.transport import TSocketfrom thrift.transport.TTransport import TFramedTransportfrom thrift.protocol.TBinaryProtocol import TBinaryProtocolfrom shop2020.thriftpy.config import Configurationfrom shop2020.thriftpy.model.v1.catalog import InventoryServicefrom shop2020.thriftpy.model.v1.catalog.ttypes import Item, status, Warehousefrom shop2020.config.client.ConfigClient import ConfigClientimport datetimefrom shop2020.utils.Utils import to_java_datefrom shop2020.thriftpy.model.v1.order import TransactionServicefrom shop2020.thriftpy.model.v1.order.ttypes import Transaction, LineItem, TransactionStatus, Orderclass TransactionClient:file_path = '/tmp/config.properties'def __init__(self):config_client = ConfigClient()self.host = config_client.get_property("transaction_service_server_host")self.port = config_client.get_property("transaction_service_server_port")self.start_client()def start_client(self):try:self.transport = TSocket.TSocket(self.host, self.port)self.transport = TFramedTransport(self.transport)self.protocol = TBinaryProtocol(self.transport)self.client = TransactionService.Client(self.protocol)self.transport.open()except:raise ConfigException(101, 'unable to load the client')def createTransaction(self, transaction):self.client.createTransaction(transaction)def getTransaction(self, transaction_id):return self.client.getTransaction(transaction_id)def createAlert(self, transaction_id, type, comment):self.client.setAlert(transaction_id, False, type, comment)def get_client(self):return self.clientif __name__ == '__main__':transaction_client = TransactionClient()transaction = Transaction()transaction.shoppingCartid = 2transaction.customer_id = 4transaction.createdOn = to_java_date(datetime.datetime.now())transaction.statusDescription = "INIT phase"transaction.transactionStatus = TransactionStatus.INIT#transaction.expectedDeliveryTime = to_java_date(datetime.datetime.now())#payment_info = PaymentInfo()#payment_info.payments#payment_info.payments = {}#payment = Payment()#payment.merchant_tx_id = "123"#payment.bank_tx_id = "ICIC0001"#payment.mode = "CARD"#payment.amount = 23.5#payment.status = PaymentStatus.SUCCESS#payment.submissionTimestamp = to_java_date(datetime.datetime.now())#payment.completionTimestamp = to_java_date(datetime.datetime.now())#payment.description = "Sample payment"#payment_info.payments[to_java_date(datetime.datetime.now())] = payment#transaction.paymentInfo = payment_infoorder = Order()order.status = 5order.warehouse_id = 1order.total_weight = 10order.total_amount = 8order.statusDescription = "new order"transaction.orders =[]transaction.orders.append(order)order.lineitems = []line_item = LineItem()line_item.addedOn = to_java_date(datetime.datetime.now())line_item.unit_weight = 10line_item.total_weight = 10line_item.unit_price = 8line_item.total_price = 8order.lineitems.append(line_item)#transaction_client.createTransaction(transaction)tran = transaction_client.getTransaction(1);print tran.idprint tran.shoppingCartidprint tran#transaction_client.createAlert(2, 1, "Not yet shipped")