Subversion Repositories SmartDukaan

Rev

Rev 6135 | Rev 6151 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6135 Rev 6144
Line 7... Line 7...
7
#logging.getLogger('suds.transport').setLevel(logging.DEBUG)
7
#logging.getLogger('suds.transport').setLevel(logging.DEBUG)
8
 
8
 
9
 
9
 
10
username = base64.b64encode('saholic20')
10
username = base64.b64encode('saholic20')
11
password = base64.b64encode('ap2020sh')
11
password = base64.b64encode('ap2020sh')
12
account_url = 'http://125.19.68.55/McommWebServices/AccountApiMcomm?wsdl'
12
account_url = 'http://125.19.68.55/McommWebServices/AccountApiMcomm1?wsdl'
13
recharge_url = 'http://125.19.68.55/McommWebServices/RechargeApiMcomm?wsdl'
13
recharge_url = 'http://125.19.68.55/McommWebServices/RechargeApiMcomm?wsdl'
14
try:
-
 
15
    aclient = Client(account_url, timeout=30)
14
aclient = None
16
    raclient = Client(recharge_url, timeout=30)
-
 
17
except:
15
raclient = None
18
    print 'ERROR : SpiceHarbour APIs are not working'
-
 
19
 
16
 
20
 
17
 
-
 
18
def getAccountClient():
-
 
19
    global aclient
-
 
20
    if aclient is None:
-
 
21
        aclient = Client(account_url, timeout=30)
-
 
22
    return aclient
-
 
23
 
-
 
24
def getRechargeClient():
-
 
25
    global raclient
-
 
26
    if raclient is None:
-
 
27
        raclient = Client(recharge_url, timeout=30)    
-
 
28
    return raclient
-
 
29
 
21
def rechargeDevice(transactionId, rechargeType, strProviderCode, deviceNumber, amount):
30
def rechargeDevice(transactionId, rechargeType, strProviderCode, deviceNumber, amount):
22
    spString = raclient.service.getRecharge(username, password, '919650889334', 'SOAP', '115.249.47.66', transactionId, rechargeType, strProviderCode, deviceNumber, amount, 'DEBIT', '', '')
31
    spString = getRechargeClient().service.getRecharge(username, password, '919650889334', 'SOAP', '115.249.47.66', transactionId, rechargeType, strProviderCode, deviceNumber, amount, 'DEBIT', '', '')
23
    print spString
32
    print spString
24
    spString = re.sub('<\?.*\?>','',spString)
33
    spString = re.sub('<\?.*\?>','',spString)
25
    spString = "<dom>" + spString + "</dom>"
34
    spString = "<dom>" + spString + "</dom>"
26
    dom = parseString(spString)
35
    dom = parseString(spString)
27
    response = dom.getElementsByTagName('ActiveServicesPojo')[0]
36
    response = dom.getElementsByTagName('ActiveServicesPojo')[0]
Line 30... Line 39...
30
    spiceTID = response.getElementsByTagName('SpiceTID')[0].childNodes[0].data
39
    spiceTID = response.getElementsByTagName('SpiceTID')[0].childNodes[0].data
31
    retDesc = response.getElementsByTagName('shotDesc')[0].childNodes[0].data
40
    retDesc = response.getElementsByTagName('shotDesc')[0].childNodes[0].data
32
    return retStatus, retCode, spiceTID, retDesc 
41
    return retStatus, retCode, spiceTID, retDesc 
33
 
42
 
34
def getAccountdetail():
43
def getAccountdetail():
35
    return aclient.service.getAccountdetail(username, password)
44
    return getAccountClient().service.getAccountdetail(username, password)
36
 
45
 
37
def getBalance():
46
def getBalance():
38
    return aclient.service.getBalance(username, password)
47
    return getAccountClient().service.getBalance(username, password)
39
 
48
 
40
def checkServiceProviderApi(strServiceCode, strDeviceNumber):
49
def checkServiceProviderApi(strServiceCode, strDeviceNumber):
41
    spString = aclient.service.checkServiceProviderApi(username, password, strServiceCode, strDeviceNumber)
50
    spString = getAccountClient().service.checkServiceProviderApi(username, password, strServiceCode, strDeviceNumber)
42
    print spString
51
    print spString
43
    spString = re.sub('<\?.*\?>','',spString)
52
    spString = re.sub('<\?.*\?>','',spString)
44
    spString = "<dom>" + spString + "</dom>"
53
    spString = "<dom>" + spString + "</dom>"
45
    dom = parseString(spString)
54
    dom = parseString(spString)
46
    response = dom.getElementsByTagName('CheckServiceProviderPojo')[0]
55
    response = dom.getElementsByTagName('CheckServiceProviderPojo')[0]
47
    providerCode = response.getElementsByTagName('providerCode')[0].childNodes[0].data
56
    providerCode = response.getElementsByTagName('providerCode')[0].childNodes[0].data
48
    return providerCode
57
    return providerCode
49
 
58
 
50
def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):
59
def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):
51
    return aclient.service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)
60
    return getAccountClient().service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)
52
 
61
 
53
def getAvailableServices():
62
def getAvailableServices():
54
    spString = aclient.service.getServiceApi(username, password)
63
    spString = getAccountClient().service.getServiceApi(username, password)
55
    print spString
64
    print spString
56
    spString = re.sub('<\?.*\?>','',spString)
65
    spString = re.sub('<\?.*\?>','',spString)
57
    spString = "<dom>" + spString + "</dom>"
66
    spString = "<dom>" + spString + "</dom>"
58
    dom = parseString(spString)
67
    dom = parseString(spString)
59
    serviceApis = dom.getElementsByTagName('ServiceApiPojo')
68
    serviceApis = dom.getElementsByTagName('ServiceApiPojo')
Line 68... Line 77...
68
 
77
 
69
def getServiceProvidersForDTH():
78
def getServiceProvidersForDTH():
70
    return getServiceProvider('RCH')
79
    return getServiceProvider('RCH')
71
 
80
 
72
def getServiceProvider(strServiceCode):
81
def getServiceProvider(strServiceCode):
73
    spString = aclient.service.getServiceProvider(username, password, strServiceCode)
82
    spString = getAccountClient().service.getServiceProvider(username, password, strServiceCode)
74
    print spString
83
    print spString
75
    spString = re.sub('<\?.*\?>','',spString)
84
    spString = re.sub('<\?.*\?>','',spString)
76
    spString = "<dom>" + spString + "</dom>"
85
    spString = "<dom>" + spString + "</dom>"
77
    dom = parseString(spString)
86
    dom = parseString(spString)
78
    providers = dom.getElementsByTagName('ServicesProviderPojo')
87
    providers = dom.getElementsByTagName('ServicesProviderPojo')
Line 80... Line 89...
80
    for provider in providers:
89
    for provider in providers:
81
        serviceProviders[provider.getElementsByTagName('providerCode')[0].childNodes[0].data] = provider.getElementsByTagName('providerDescription')[0].childNodes[0].data 
90
        serviceProviders[provider.getElementsByTagName('providerCode')[0].childNodes[0].data] = provider.getElementsByTagName('providerDescription')[0].childNodes[0].data 
82
    return serviceProviders
91
    return serviceProviders
83
    
92
    
84
def getServiceDetails(strServiceCode, strProviderCode):
93
def getServiceDetails(strServiceCode, strProviderCode):
85
    spString = aclient.service.getServiceDetail(username, password, strServiceCode, strProviderCode)
94
    spString = getAccountClient().service.getServiceDetail(username, password, strServiceCode, strProviderCode)
86
    print spString
95
    print spString
87
    spString = re.sub('<\?.*\?>','',spString)
96
    spString = re.sub('<\?.*\?>','',spString)
88
    spString = "<dom>" + spString + "</dom>"
97
    spString = "<dom>" + spString + "</dom>"
89
    dom = parseString(spString)
98
    dom = parseString(spString)
90
    details = dom.getElementsByTagName('ServiceDetailPojo')
99
    details = dom.getElementsByTagName('ServiceDetailPojo')
Line 93... Line 102...
93
        serviceDetails['Denomination Type'] = detail.getElementsByTagName('DenominationType')[0].childNodes[0].data
102
        serviceDetails['Denomination Type'] = detail.getElementsByTagName('DenominationType')[0].childNodes[0].data
94
        serviceDetails['Denomination Value'] = detail.getElementsByTagName('DenominationValue')[0].childNodes[0].data 
103
        serviceDetails['Denomination Value'] = detail.getElementsByTagName('DenominationValue')[0].childNodes[0].data 
95
    return serviceDetails
104
    return serviceDetails
96
 
105
 
97
def checkTransactionStatus(spiceTID='', merchantTxnId=''):
106
def checkTransactionStatus(spiceTID='', merchantTxnId=''):
98
    spString = raclient.service.getCheckStatus(username,password,spiceTID,merchantTxnId)
107
    spString = getRechargeClient().service.getCheckStatus(username,password,spiceTID,merchantTxnId)
99
    print spString
108
    print spString
100
    spString = re.sub('<\?.*\?>','',spString)
109
    spString = re.sub('<\?.*\?>','',spString)
101
    spString = "<dom>" + spString + "</dom>"
110
    spString = "<dom>" + spString + "</dom>"
102
    dom = parseString(spString)
111
    dom = parseString(spString)
103
    response = dom.getElementsByTagName('CheckStatusObj')[0]
112
    response = dom.getElementsByTagName('CheckStatusObj')[0]