File tree Expand file tree Collapse file tree 3 files changed +14
-6
lines changed Expand file tree Collapse file tree 3 files changed +14
-6
lines changed Original file line number Diff line number Diff line change 22See: https://siftscience.com/docs/references/events-api
33"""
44
5+ import decimal
56import json
67import requests
78import requests .auth
89import sys
910if sys .version_info [0 ] < 3 :
10- import urllib . request , urllib . parse , urllib . error
11+ import six . moves . urllib as urllib
1112 _UNICODE_STRING = str
1213else :
1314 import urllib .parse
@@ -26,6 +27,11 @@ def _quote_path(s):
2627 # optional arg to override this
2728 return urllib .parse .quote (s , '' )
2829
30+ class DecimalEncoder (json .JSONEncoder ):
31+ def default (self , o ):
32+ if isinstance (o , decimal .Decimal ):
33+ return (str (o ),)
34+ return super (DecimalEncoder , self ).default (o )
2935
3036class Client (object ):
3137
@@ -158,7 +164,7 @@ def track(
158164 try :
159165 response = self .session .post (
160166 path ,
161- data = json .dumps (properties ),
167+ data = json .dumps (properties , cls = DecimalEncoder ),
162168 headers = headers ,
163169 timeout = timeout ,
164170 params = params )
Original file line number Diff line number Diff line change 11import datetime
2+ from decimal import Decimal
23import warnings
34import json
45import mock
78import sys
89import requests .exceptions
910if sys .version_info [0 ] < 3 :
10- import urllib . request , urllib . parse , urllib . error
11+ import six . moves . urllib as urllib
1112else :
1213 import urllib .parse
1314
@@ -16,7 +17,7 @@ def valid_transaction_properties():
1617 return {
1718 '$buyer_user_id' : '123456' ,
1819 '$seller_user_id' : '654321' ,
19- '$amount' : 1253200 ,
20+ '$amount' : Decimal ( ' 1253200.0' ) ,
2021 '$currency_code' : 'USD' ,
2122 '$time' : int (datetime .datetime .now ().strftime ('%s' )),
2223 '$transaction_id' : 'my_transaction_id' ,
Original file line number Diff line number Diff line change 11import datetime
2+ from decimal import Decimal
23import warnings
34import json
45import mock
78import sys
89import requests .exceptions
910if sys .version_info [0 ] < 3 :
10- import urllib . request , urllib . parse , urllib . error
11+ import six . moves . urllib as urllib
1112else :
1213 import urllib .parse
1314
@@ -16,7 +17,7 @@ def valid_transaction_properties():
1617 return {
1718 '$buyer_user_id' : '123456' ,
1819 '$seller_user_id' : '654321' ,
19- '$amount' : 1253200 ,
20+ '$amount' : Decimal ( ' 1253200.0' ) ,
2021 '$currency_code' : 'USD' ,
2122 '$time' : int (datetime .datetime .now ().strftime ('%s' )),
2223 '$transaction_id' : 'my_transaction_id' ,
You can’t perform that action at this time.
0 commit comments