##// END OF EJS Templates
deps: replaced simplejson with much faster orjson implementation
super-admin -
r4972:da637531 default
parent child Browse files
Show More
@@ -145,13 +145,12 b' nbconvert==7.2.9'
145 145 tinycss2==1.2.1
146 146 webencodings==0.5.1
147 147 traitlets==5.9.0
148 orjson==3.8.7
148 149 pastescript==3.3.0
149 150 paste==3.5.2
150 151 six==1.16.0
151 152 pastedeploy==3.0.1
152 153 six==1.16.0
153 pathlib2==2.3.7.post1
154 six==1.16.0
155 154 premailer==3.10.0
156 155 cachetools==5.3.0
157 156 cssselect==1.2.0
@@ -1,10 +1,15 b''
1 1 import datetime
2 2 import decimal
3 3 import functools
4 # we keep simplejson for having dump functionality still
5 # orjson doesn't support it
6 import orjson
7 import simplejson
8 import orjson as json
4 9
5 import simplejson as json
6 10
7 11 from rhodecode.lib.datelib import is_aware
12 from rhodecode.lib.str_utils import safe_str
8 13
9 14 try:
10 15 import rhodecode.translation
@@ -57,8 +62,22 b' def _obj_dump(obj):'
57 62 raise TypeError(repr(obj) + " is not JSON serializable")
58 63
59 64
60 json.dumps = functools.partial(json.dumps, default=_obj_dump, use_decimal=False)
61 json.dump = functools.partial(json.dump, default=_obj_dump, use_decimal=False)
65 json.dumps = functools.partial(json.dumps, default=_obj_dump, option=orjson.OPT_NON_STR_KEYS)
66 json.dump = functools.partial(simplejson.dump, default=_obj_dump)
67
68
69 def formatted_json(*args, **kwargs):
70 # alias for formatted json
71 opts = orjson.OPT_NON_STR_KEYS | orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS
72 return functools.partial(json.dumps, option=opts)(*args, **kwargs)
73
62 74
63 # alias for formatted json
64 formatted_json = functools.partial(json.dumps, indent=4, sort_keys=True)
75 def formatted_str_json(*args, **kwargs):
76 opts = orjson.OPT_NON_STR_KEYS | orjson.OPT_INDENT_2 | orjson.OPT_SORT_KEYS
77 closure = functools.partial(json.dumps, option=opts)
78 return safe_str(closure(*args, **kwargs))
79
80
81 def str_json(*args, **kwargs):
82 closure = functools.partial(json.dumps)
83 return safe_str(closure(*args, **kwargs))
General Comments 0
You need to be logged in to leave comments. Login now