@@ -47,13 +47,8 @@ def _handleBulkResponse(self, response, bulkDetails):
47
47
48
48
def initiate (self , transferDetails ):
49
49
50
- #feature logging
51
- tracking_endpoint = self ._trackingMap
52
- tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Initiate-Transfer" }
53
- tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
54
50
55
51
## feature logic
56
-
57
52
# Performing shallow copy of transferDetails to avoid public exposing payload with secret key
58
53
transferDetails = copy .copy (transferDetails )
59
54
@@ -74,17 +69,24 @@ def initiate(self, transferDetails):
74
69
75
70
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["initiate" ]
76
71
response = requests .post (endpoint , headers = headers , data = json .dumps (transferDetails ))
72
+
73
+ if response .ok == False :
74
+ #feature logging
75
+ tracking_endpoint = self ._trackingMap
76
+ responseTime = response .elapsed .total_seconds ()
77
+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Initiate-Transfer-error" ,"message" : responseTime }
78
+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
79
+ else :
80
+ tracking_endpoint = self ._trackingMap
81
+ responseTime = response .elapsed .total_seconds ()
82
+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Initiate-Transfer" ,"message" : responseTime }
83
+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
77
84
return self ._handleInitiateResponse (response , transferDetails )
78
85
79
86
80
87
81
88
def bulk (self , bulkDetails ):
82
89
83
- #feature logging
84
- tracking_endpoint = self ._trackingMap
85
- tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Initiate-bulk-Transfer" }
86
- tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
87
-
88
90
# feature logic
89
91
bulkDetails = copy .copy (bulkDetails )
90
92
@@ -104,11 +106,24 @@ def bulk(self, bulkDetails):
104
106
'content-type' : 'application/json' ,
105
107
}
106
108
response = requests .post (endpoint , headers = headers , data = json .dumps (bulkDetails ))
109
+
110
+ if response .ok == False :
111
+ #feature logging
112
+ tracking_endpoint = self ._trackingMap
113
+ responseTime = response .elapsed .total_seconds ()
114
+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Initiate-Bulk-error" ,"message" : responseTime }
115
+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
116
+ else :
117
+ tracking_endpoint = self ._trackingMap
118
+ responseTime = response .elapsed .total_seconds ()
119
+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Initiate-Bulk" ,"message" : responseTime }
120
+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
121
+
107
122
return self ._handleBulkResponse (response , bulkDetails )
108
123
109
124
110
125
# This makes and handles all requests pertaining to the status of your transfer or account
111
- def _handleTransferStatusRequests (self , endpoint , isPostRequest = False , data = None ):
126
+ def _handleTransferStatusRequests (self , endpoint , feature_name , isPostRequest = False , data = None ):
112
127
113
128
# Request headers
114
129
headers = {
@@ -129,52 +144,43 @@ def _handleTransferStatusRequests(self, endpoint, isPostRequest=False, data=None
129
144
130
145
# Checks if it returns a 2xx code
131
146
if response .ok :
147
+ tracking_endpoint = self ._trackingMap
148
+ responseTime = response .elapsed .total_seconds ()
149
+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : feature_name ,"message" : responseTime }
150
+ tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
132
151
return {"error" : False , "returnedData" : responseJson }
133
152
else :
153
+ tracking_endpoint = self ._trackingMap
154
+ responseTime = response .elapsed .total_seconds ()
155
+ tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : feature_name + "-error" ,"message" : responseTime }
134
156
raise TransferFetchError ({"error" : True , "returnedData" : responseJson })
135
157
136
158
# Not elegant but supports python 2 and 3
137
159
def fetch (self , reference = None ):
138
160
139
- #feature logging
140
- tracking_endpoint = self ._trackingMap
141
- tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Fetch-Transfer" }
142
- tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
143
-
144
161
#feature logic
162
+ label = "Fetch-Transfer"
145
163
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()+ '&reference=' + str (reference )
146
- return self ._handleTransferStatusRequests (endpoint )
164
+ return self ._handleTransferStatusRequests (label , endpoint )
147
165
148
166
def all (self ):
149
167
150
- #feature logging
151
- tracking_endpoint = self ._trackingMap
152
- tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "List-all-Transfers" }
153
- tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
154
-
155
168
#feature logic
169
+ label = "List-all-Transfers"
156
170
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()
157
- return self ._handleTransferStatusRequests (endpoint )
171
+ return self ._handleTransferStatusRequests (label , endpoint )
158
172
159
173
def getFee (self , currency = None ):
160
174
161
- # feature logging
162
- tracking_endpoint = self ._trackingMap
163
- tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Get-Transfer-fee-by-Currency" }
164
- tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
165
-
166
175
# feature logic
176
+ label = "Get-Transfer-fee-by-Currency"
167
177
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fee" ] + "?seckey=" + self ._getSecretKey () + "¤cy=" + str (currency )
168
- return self ._handleTransferStatusRequests (endpoint )
178
+ return self ._handleTransferStatusRequests (label , endpoint )
169
179
170
180
def getBalance (self , currency ):
171
181
172
- # feature logging
173
- tracking_endpoint = self ._trackingMap
174
- tracking_payload = {"publicKey" : self ._getPublicKey (),"language" : "Python v2" , "version" : "1.2.5" , "title" : "Incoming call" ,"message" : "Get-Balance-fee-by-Currency" }
175
- tracking_response = requests .post (tracking_endpoint , data = json .dumps (tracking_payload ))
176
-
177
182
# feature logic
183
+ label = "Get-Balance-fee-by-Currency"
178
184
if not currency : # i made currency compulsory because if it is not assed in, an error message is returned from the server
179
185
raise IncompletePaymentDetailsError ("currency" , ["currency" ])
180
186
endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["balance" ]
@@ -183,7 +189,7 @@ def getBalance(self, currency):
183
189
"currency" : currency
184
190
}
185
191
186
- return self ._handleTransferStatusRequests (endpoint , data = data , isPostRequest = True )
192
+ return self ._handleTransferStatusRequests (label , endpoint , data = data , isPostRequest = True )
187
193
188
194
189
195
0 commit comments