Subversion Repositories SmartDukaan

Rev

Rev 6102 | Rev 6112 | 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
6092 rajveer 4
import logging
5
logging.basicConfig(level=logging.INFO)
6102 rajveer 6
#logging.getLogger('suds.client').setLevel(logging.DEBUG)
7
#logging.getLogger('suds.transport').setLevel(logging.DEBUG)
6048 rajveer 8
 
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'
6092 rajveer 14
aclient = Client(account_url, timeout=30)
15
raclient = Client(recharge_url, timeout=30)
6048 rajveer 16
 
17
 
6092 rajveer 18
 
6048 rajveer 19
def rechargeDevice(transactionId, rechargeType, strProviderCode, deviceNumber, amount):
20
    spString = raclient.service.getRecharge(username, password, '919650889334', 'SOAP', '115.249.47.66', transactionId, rechargeType, strProviderCode, deviceNumber, amount, 'DEBIT', '', '')
6093 rajveer 21
    print spString
6048 rajveer 22
    spString = re.sub('<\?.*\?>','',spString)
23
    spString = "<dom>" + spString + "</dom>"
24
    dom = parseString(spString)
25
    response = dom.getElementsByTagName('ActiveServicesPojo')[0]
26
    retStatus = response.getElementsByTagName('resStatus')[0].childNodes[0].data
27
    retCode = response.getElementsByTagName('respCode')[0].childNodes[0].data
28
    spiceTID = response.getElementsByTagName('SpiceTID')[0].childNodes[0].data
6092 rajveer 29
    retDesc = response.getElementsByTagName('shotDesc')[0].childNodes[0].data
30
    return retStatus, retCode, spiceTID, retDesc 
6048 rajveer 31
 
32
def getAccountdetail():
33
    return aclient.service.getAccountdetail(username, password)
34
 
35
def getBalance():
36
    return aclient.service.getBalance(username, password)
37
 
38
def checkServiceProviderApi(strServiceCode, strDeviceNumber):
6054 rajveer 39
    spString = aclient.service.checkServiceProviderApi(username, password, strServiceCode, strDeviceNumber)
6093 rajveer 40
    print spString
6054 rajveer 41
    spString = re.sub('<\?.*\?>','',spString)
42
    spString = "<dom>" + spString + "</dom>"
43
    dom = parseString(spString)
44
    response = dom.getElementsByTagName('CheckServiceProviderPojo')[0]
45
    providerCode = response.getElementsByTagName('providerCode')[0].childNodes[0].data
46
    return providerCode
6048 rajveer 47
 
48
def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):
49
    return aclient.service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)
50
 
51
def getAvailableServices():
52
    spString = aclient.service.getServiceApi(username, password)
6109 rajveer 53
    print spString
6048 rajveer 54
    spString = re.sub('<\?.*\?>','',spString)
55
    spString = "<dom>" + spString + "</dom>"
56
    dom = parseString(spString)
57
    serviceApis = dom.getElementsByTagName('ServiceApiPojo')
58
    services = {}
59
    for serviceApi in serviceApis:
60
        services[serviceApi.getElementsByTagName('serviceCode')[0].childNodes[0].data] = serviceApi.getElementsByTagName('serviceDescription')[0].childNodes[0].data 
61
    return services
62
 
63
 
64
def getServiceProvidersForMobile():
65
    return getServiceProvider('MTP')
66
 
67
def getServiceProvidersForDTH():
68
    return getServiceProvider('RCH')
69
 
70
def getServiceProvider(strServiceCode):
71
    spString = aclient.service.getServiceProvider(username, password, strServiceCode)
6109 rajveer 72
    print spString
6048 rajveer 73
    spString = re.sub('<\?.*\?>','',spString)
74
    spString = "<dom>" + spString + "</dom>"
75
    dom = parseString(spString)
76
    providers = dom.getElementsByTagName('ServicesProviderPojo')
77
    serviceProviders = {}
78
    for provider in providers:
79
        serviceProviders[provider.getElementsByTagName('providerCode')[0].childNodes[0].data] = provider.getElementsByTagName('providerDescription')[0].childNodes[0].data 
80
    return serviceProviders
81
 
82
def getServiceDetails(strServiceCode, strProviderCode):
83
    spString = aclient.service.getServiceDetail(username, password, strServiceCode, strProviderCode)
6109 rajveer 84
    print spString
6048 rajveer 85
    spString = re.sub('<\?.*\?>','',spString)
86
    spString = "<dom>" + spString + "</dom>"
87
    dom = parseString(spString)
88
    details = dom.getElementsByTagName('ServiceDetailPojo')
89
    serviceDetails = {}
90
    for detail in details:
91
        serviceDetails['Denomination Type'] = detail.getElementsByTagName('DenominationType')[0].childNodes[0].data
92
        serviceDetails['Denomination Value'] = detail.getElementsByTagName('DenominationValue')[0].childNodes[0].data 
93
    return serviceDetails
94
 
95
 
96