Subversion Repositories SmartDukaan

Rev

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

Rev Author Line No. Line
6048 rajveer 1
from suds.client import Client
2
import base64, re
3
from xml.dom.minidom import parseString
4
 
5
 
6
#url = 'http://182.71.104.182/loaddetect/Service.asmx?wsdl'
7
#client = Client(url)
8
#print client.service.HelloWorld()
9
 
10
username = base64.b64encode('saholic20')
11
password = base64.b64encode('ap2020sh')
12
account_url = 'http://125.19.68.55/McommWebServices/AccountApiMcomm?wsdl'
13
recharge_url = 'http://125.19.68.55/McommWebServices/RechargeApiMcomm?wsdl'
14
aclient = Client(account_url)
15
 
16
 
17
def rechargeDevice(transactionId, rechargeType, strProviderCode, deviceNumber, amount):
18
    raclient = Client(recharge_url)
19
    spString = raclient.service.getRecharge(username, password, '919650889334', 'SOAP', '115.249.47.66', transactionId, rechargeType, strProviderCode, deviceNumber, amount, 'DEBIT', '', '')
20
    spString = re.sub('<\?.*\?>','',spString)
21
    spString = "<dom>" + spString + "</dom>"
22
    dom = parseString(spString)
23
    response = dom.getElementsByTagName('ActiveServicesPojo')[0]
24
    retStatus = response.getElementsByTagName('resStatus')[0].childNodes[0].data
25
    retCode = response.getElementsByTagName('respCode')[0].childNodes[0].data
26
    spiceTID = response.getElementsByTagName('SpiceTID')[0].childNodes[0].data
27
    return retStatus, retCode, spiceTID
28
 
29
def getAccountdetail():
30
    return aclient.service.getAccountdetail(username, password)
31
 
32
def getBalance():
33
    return aclient.service.getBalance(username, password)
34
 
35
def checkServiceProviderApi(strServiceCode, strDeviceNumber):
6054 rajveer 36
    spString = aclient.service.checkServiceProviderApi(username, password, strServiceCode, strDeviceNumber)
37
    spString = re.sub('<\?.*\?>','',spString)
38
    spString = "<dom>" + spString + "</dom>"
39
    dom = parseString(spString)
40
    response = dom.getElementsByTagName('CheckServiceProviderPojo')[0]
41
    providerCode = response.getElementsByTagName('providerCode')[0].childNodes[0].data
42
    return providerCode
6048 rajveer 43
 
44
def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):
45
    return aclient.service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)
46
 
47
def getAvailableServices():
48
    spString = aclient.service.getServiceApi(username, password)
49
    spString = re.sub('<\?.*\?>','',spString)
50
    spString = "<dom>" + spString + "</dom>"
51
    dom = parseString(spString)
52
    serviceApis = dom.getElementsByTagName('ServiceApiPojo')
53
    services = {}
54
    for serviceApi in serviceApis:
55
        services[serviceApi.getElementsByTagName('serviceCode')[0].childNodes[0].data] = serviceApi.getElementsByTagName('serviceDescription')[0].childNodes[0].data 
56
    return services
57
 
58
 
59
def getServiceProvidersForMobile():
60
    return getServiceProvider('MTP')
61
 
62
def getServiceProvidersForDTH():
63
    return getServiceProvider('RCH')
64
 
65
def getServiceProvider(strServiceCode):
66
    spString = aclient.service.getServiceProvider(username, password, strServiceCode)
67
    spString = re.sub('<\?.*\?>','',spString)
68
    spString = "<dom>" + spString + "</dom>"
69
    dom = parseString(spString)
70
    providers = dom.getElementsByTagName('ServicesProviderPojo')
71
    serviceProviders = {}
72
    for provider in providers:
73
        serviceProviders[provider.getElementsByTagName('providerCode')[0].childNodes[0].data] = provider.getElementsByTagName('providerDescription')[0].childNodes[0].data 
74
    return serviceProviders
75
 
76
def getServiceDetails(strServiceCode, strProviderCode):
77
    spString = aclient.service.getServiceDetail(username, password, strServiceCode, strProviderCode)
78
    spString = re.sub('<\?.*\?>','',spString)
79
    spString = "<dom>" + spString + "</dom>"
80
    dom = parseString(spString)
81
    details = dom.getElementsByTagName('ServiceDetailPojo')
82
    serviceDetails = {}
83
    for detail in details:
84
        serviceDetails['Denomination Type'] = detail.getElementsByTagName('DenominationType')[0].childNodes[0].data
85
        serviceDetails['Denomination Value'] = detail.getElementsByTagName('DenominationValue')[0].childNodes[0].data 
86
    return serviceDetails
87
 
88
 
89