@@ -47,13 +47,8 @@ def _handleBulkResponse(self, response, bulkDetails):
4747
4848 def initiate (self , transferDetails ):
4949
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 ))
5450
5551 ## feature logic
56-
5752 # Performing shallow copy of transferDetails to avoid public exposing payload with secret key
5853 transferDetails = copy .copy (transferDetails )
5954
@@ -74,17 +69,24 @@ def initiate(self, transferDetails):
7469
7570 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["initiate" ]
7671 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 ))
7784 return self ._handleInitiateResponse (response , transferDetails )
7885
7986
8087
8188 def bulk (self , bulkDetails ):
8289
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-
8890 # feature logic
8991 bulkDetails = copy .copy (bulkDetails )
9092
@@ -104,11 +106,24 @@ def bulk(self, bulkDetails):
104106 'content-type' : 'application/json' ,
105107 }
106108 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+
107122 return self ._handleBulkResponse (response , bulkDetails )
108123
109124
110125 # 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 ):
112127
113128 # Request headers
114129 headers = {
@@ -129,52 +144,43 @@ def _handleTransferStatusRequests(self, endpoint, isPostRequest=False, data=None
129144
130145 # Checks if it returns a 2xx code
131146 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 ))
132151 return {"error" : False , "returnedData" : responseJson }
133152 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 }
134156 raise TransferFetchError ({"error" : True , "returnedData" : responseJson })
135157
136158 # Not elegant but supports python 2 and 3
137159 def fetch (self , reference = None ):
138160
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-
144161 #feature logic
162+ label = "Fetch-Transfer"
145163 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()+ '&reference=' + str (reference )
146- return self ._handleTransferStatusRequests (endpoint )
164+ return self ._handleTransferStatusRequests (label , endpoint )
147165
148166 def all (self ):
149167
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-
155168 #feature logic
169+ label = "List-all-Transfers"
156170 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fetch" ] + "?seckey=" + self ._getSecretKey ()
157- return self ._handleTransferStatusRequests (endpoint )
171+ return self ._handleTransferStatusRequests (label , endpoint )
158172
159173 def getFee (self , currency = None ):
160174
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-
166175 # feature logic
176+ label = "Get-Transfer-fee-by-Currency"
167177 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["fee" ] + "?seckey=" + self ._getSecretKey () + "¤cy=" + str (currency )
168- return self ._handleTransferStatusRequests (endpoint )
178+ return self ._handleTransferStatusRequests (label , endpoint )
169179
170180 def getBalance (self , currency ):
171181
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-
177182 # feature logic
183+ label = "Get-Balance-fee-by-Currency"
178184 if not currency : # i made currency compulsory because if it is not assed in, an error message is returned from the server
179185 raise IncompletePaymentDetailsError ("currency" , ["currency" ])
180186 endpoint = self ._baseUrl + self ._endpointMap ["transfer" ]["balance" ]
@@ -183,7 +189,7 @@ def getBalance(self, currency):
183189 "currency" : currency
184190 }
185191
186- return self ._handleTransferStatusRequests (endpoint , data = data , isPostRequest = True )
192+ return self ._handleTransferStatusRequests (label , endpoint , data = data , isPostRequest = True )
187193
188194
189195
0 commit comments