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.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.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)order.total_amount = 100.0transaction.orders = []transaction.orders.append(order)transaction_client.createTransaction(transaction)#transaction_client.createAlert(2, 1, "Not yet shipped")