Show More
@@ -145,13 +145,12 b' nbconvert==7.2.9' | |||||
145 | tinycss2==1.2.1 |
|
145 | tinycss2==1.2.1 | |
146 | webencodings==0.5.1 |
|
146 | webencodings==0.5.1 | |
147 | traitlets==5.9.0 |
|
147 | traitlets==5.9.0 | |
|
148 | orjson==3.8.7 | |||
148 | pastescript==3.3.0 |
|
149 | pastescript==3.3.0 | |
149 | paste==3.5.2 |
|
150 | paste==3.5.2 | |
150 | six==1.16.0 |
|
151 | six==1.16.0 | |
151 | pastedeploy==3.0.1 |
|
152 | pastedeploy==3.0.1 | |
152 | six==1.16.0 |
|
153 | six==1.16.0 | |
153 | pathlib2==2.3.7.post1 |
|
|||
154 | six==1.16.0 |
|
|||
155 | premailer==3.10.0 |
|
154 | premailer==3.10.0 | |
156 | cachetools==5.3.0 |
|
155 | cachetools==5.3.0 | |
157 | cssselect==1.2.0 |
|
156 | cssselect==1.2.0 |
@@ -1,10 +1,15 b'' | |||||
1 | import datetime |
|
1 | import datetime | |
2 | import decimal |
|
2 | import decimal | |
3 | import functools |
|
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 | from rhodecode.lib.datelib import is_aware |
|
11 | from rhodecode.lib.datelib import is_aware | |
|
12 | from rhodecode.lib.str_utils import safe_str | |||
8 |
|
13 | |||
9 | try: |
|
14 | try: | |
10 | import rhodecode.translation |
|
15 | import rhodecode.translation | |
@@ -57,8 +62,22 b' def _obj_dump(obj):' | |||||
57 | raise TypeError(repr(obj) + " is not JSON serializable") |
|
62 | raise TypeError(repr(obj) + " is not JSON serializable") | |
58 |
|
63 | |||
59 |
|
64 | |||
60 |
json.dumps = functools.partial(json.dumps, default=_obj_dump, |
|
65 | json.dumps = functools.partial(json.dumps, default=_obj_dump, option=orjson.OPT_NON_STR_KEYS) | |
61 |
json.dump = functools.partial(json.dump, default=_obj_dump |
|
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 |
|
75 | def formatted_str_json(*args, **kwargs): | |
64 | formatted_json = functools.partial(json.dumps, indent=4, sort_keys=True) |
|
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