Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
132 ashish 1
'''
2
Created on 25-Mar-2010
3
 
4
@author: ashish
5
'''
6
import urlparse
7
from shop2020.thriftpy.config.ttypes import ConfigException
8
from thrift.transport import TSocket
9
from thrift.transport.TTransport import TFramedTransport
10
from thrift.protocol.TBinaryProtocol import TBinaryProtocol
11
from shop2020.thriftpy.config import Configuration
12
from shop2020.thriftpy.model.v1.catalog import InventoryService
13
from shop2020.thriftpy.model.v1.catalog.ttypes import Item, status, Warehouse
14
from shop2020.config.client.ConfigClient import ConfigClient
15
import datetime
16
from shop2020.utils.Utils import to_java_date
17
from shop2020.thriftpy.model.v1.order import TransactionService
1124 chandransh 18
from shop2020.thriftpy.model.v1.order.ttypes import Transaction, LineItem,  TransactionStatus, Order
132 ashish 19
 
194 ashish 20
 
132 ashish 21
class TransactionClient:
22
    file_path = '/tmp/config.properties'
23
 
24
    def __init__(self):
25
        config_client = ConfigClient()
410 rajveer 26
        self.host = config_client.get_property("transaction_service_server_host")
27
        self.port = config_client.get_property("transaction_service_server_port")
132 ashish 28
 
29
        self.start_client()
30
 
31
 
32
    def start_client(self):
33
        try:
34
            self.transport = TSocket.TSocket(self.host, self.port)
35
            self.transport = TFramedTransport(self.transport)
36
            self.protocol = TBinaryProtocol(self.transport)
37
            self.client = TransactionService.Client(self.protocol)
38
            self.transport.open()
39
        except:
40
            raise ConfigException(101, 'unable to load the client')
41
 
42
    def createTransaction(self, transaction):
43
        self.client.createTransaction(transaction)
483 rajveer 44
 
45
    def getTransaction(self, transaction_id):
46
        return self.client.getTransaction(transaction_id)
304 ashish 47
 
48
    def createAlert(self, transaction_id, type, comment):
49
        self.client.setAlert(transaction_id, False, type, comment)
132 ashish 50
 
304 ashish 51
    def get_client(self):
52
        return self.client
53
 
132 ashish 54
if __name__ == '__main__':
55
    transaction_client = TransactionClient()
56
 
57
    transaction = Transaction()
58
    transaction.shoppingCartid = 2
59
    transaction.customer_id = 4
60
    transaction.createdOn = to_java_date(datetime.datetime.now())
483 rajveer 61
    transaction.statusDescription = "INIT phase"
62
    transaction.transactionStatus = TransactionStatus.INIT
63
 
64
    #transaction.expectedDeliveryTime = to_java_date(datetime.datetime.now())
65
 
1124 chandransh 66
    #payment_info = PaymentInfo()
67
    #payment_info.payments
68
    #payment_info.payments = {}
69
    #payment = Payment()
70
    #payment.merchant_tx_id = "123"
71
    #payment.bank_tx_id = "ICIC0001"
72
    #payment.mode = "CARD"
73
    #payment.amount = 23.5
74
    #payment.status = PaymentStatus.SUCCESS
75
    #payment.submissionTimestamp = to_java_date(datetime.datetime.now())
76
    #payment.completionTimestamp = to_java_date(datetime.datetime.now())
77
    #payment.description = "Sample payment"
78
    #payment_info.payments[to_java_date(datetime.datetime.now())] = payment
79
    #transaction.paymentInfo = payment_info
483 rajveer 80
 
81
    order = Order()
82
 
83
    order.lineitems = []
132 ashish 84
    line_item = LineItem()
85
    line_item.addedOn = to_java_date(datetime.datetime.now())
483 rajveer 86
    line_item.unit_weight = 10
87
    line_item.total_weight = 10
88
    line_item.unit_price = 8
89
    line_item.total_price = 8
90
    order.lineitems.append(line_item)
194 ashish 91
 
483 rajveer 92
    #transaction_client.createTransaction(transaction)
132 ashish 93
 
483 rajveer 94
    tran = transaction_client.getTransaction(1);
95
    print tran.id
96
    print tran.shoppingCartid
97
    print tran
98
    #transaction_client.createAlert(2, 1, "Not yet shipped")
132 ashish 99