| 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]
|