Subversion Repositories SmartDukaan

Rev

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

Rev 6227 Rev 6235
Line 1... Line 1...
1
from suds.client import Client
1
from suds.client import Client
2
import base64, re
2
import base64, re
3
from xml.dom.minidom import parseString
3
from xml.dom.minidom import parseString
4
import logging
4
import logging
-
 
5
from datetime import datetime
-
 
6
import time
5
logging.basicConfig(level=logging.INFO)
7
logging.basicConfig(level=logging.INFO)
6
#logging.getLogger('suds.client').setLevel(logging.DEBUG)
8
#logging.getLogger('suds.client').setLevel(logging.DEBUG)
7
#logging.getLogger('suds.transport').setLevel(logging.DEBUG)
9
#logging.getLogger('suds.transport').setLevel(logging.DEBUG)
8
 
10
 
9
 
11
 
Line 59... Line 61...
59
    spString = re.sub('<\?.*\?>','',spString)
61
    spString = re.sub('<\?.*\?>','',spString)
60
    spString = "<dom>" + spString + "</dom>"
62
    spString = "<dom>" + spString + "</dom>"
61
    dom = parseString(spString)
63
    dom = parseString(spString)
62
    response = dom.getElementsByTagName('CheckServiceProviderPojo')[0]
64
    response = dom.getElementsByTagName('CheckServiceProviderPojo')[0]
63
    providerCode = response.getElementsByTagName('providerCode')[0].childNodes[0].data
65
    providerCode = response.getElementsByTagName('providerCode')[0].childNodes[0].data
-
 
66
    try:
-
 
67
        operatorCircle = response.getElementsByTagName('operatorCircle')[0].childNodes[0].data
-
 
68
    except:
-
 
69
        operatorCircle = ""
64
    return providerCode
70
    return providerCode, operatorCircle
65
 
71
 
66
def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):
72
def validateService(strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan):
67
    return getAccountClient().service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)
73
    return getAccountClient().service.validateService(username, password, strServiceCode, strProviderCode, strDeviceNumber, dbAmount, strPlan)
68
 
74
 
69
def getAvailableServices():
75
def getAvailableServices():
Line 125... Line 131...
125
        responseCode = ""
131
        responseCode = ""
126
        responseDescription = ""
132
        responseDescription = ""
127
    if responseCode == '00' and transStatus == 'S':
133
    if responseCode == '00' and transStatus == 'S':
128
        return True, responseDescription
134
        return True, responseDescription
129
    else:
135
    else:
130
        return False, responseDescription
-
 
131
136
        return False, responseDescription
-
 
137
 
-
 
138
def getRefunds(forDate):
-
 
139
    spString = getRechargeClient().service.checkRefundHistory(username, password, '3306', forDate.strftime("%d-%m-%Y"))
-
 
140
    print spString
-
 
141
    refundDetails = {}
-
 
142
    if spString is None or spString == "":
-
 
143
        return refundDetails
-
 
144
    spString = re.sub('<\?.*\?>','',spString)
-
 
145
    spString = "<dom>" + spString + "</dom>"
-
 
146
    dom = parseString(spString)
-
 
147
    refunds = dom.getElementsByTagName('checkRefundHistoryPojo')
-
 
148
    for refund in refunds:
-
 
149
        respStatus = refund.getElementsByTagName('respStatus')[0].childNodes[0].data
-
 
150
        respCode = refund.getElementsByTagName('respCode')[0].childNodes[0].data
-
 
151
        respDesc = refund.getElementsByTagName('respDesc')[0].childNodes[0].data
-
 
152
        refundAmmount = refund.getElementsByTagName('refundAmmount')[0].childNodes[0].data
-
 
153
        transId = refund.getElementsByTagName('transId')[0].childNodes[0].data
-
 
154
        deviceNo = refund.getElementsByTagName('deviceNo')[0].childNodes[0].data
-
 
155
        refundDateString = refund.getElementsByTagName('refundDate')[0].childNodes[0].data
-
 
156
        transactionDate  = refund.getElementsByTagName('transactionDate')[0].childNodes[0].data
-
 
157
        openningBalance  = refund.getElementsByTagName('openningBalance')[0].childNodes[0].data
-
 
158
        closingBalance  = refund.getElementsByTagName('closingBalance')[0].childNodes[0].data
-
 
159
        refundTime = time.strptime(refundDateString, "%Y-%m-%d %H:%M:%S.0")
-
 
160
        refundDate = datetime(*refundTime[0:6])
-
 
161
        refundDetails[transId] = int(refundAmmount), refundDate
-
 
162
    return refundDetails
-
 
163
132
164