userver
C++ Async Framework
Toggle main menu visibility
Loading...
Searching...
No Matches
approx.py
1
import
json
2
import
math
3
4
5
class
Float
(float):
6
def
__eq__(self, obj) -> bool:
7
if
isinstance(obj, (float, int)):
8
return
math.isclose(self, obj)
9
return
super().__eq__(obj)
10
11
# pylint: disable=useless-super-delegation
12
def
__hash__(self):
13
return
super().__hash__()
14
15
16
def
json_loads(data, **kwargs):
17
return
json.loads(data, parse_float=Float, **kwargs)
18
19
20
def
wrap_json(data):
21
# bool is int, so make exception for bool
22
if
isinstance(data, bool):
23
return
data
24
25
if
isinstance(data, float):
26
return
Float
(data)
27
if
isinstance(data, list):
28
return
[wrap_json(item)
for
item
in
data]
29
if
isinstance(data, dict):
30
return
{k: wrap_json(v)
for
k, v
in
data.items()}
31
return
data
en
testsuite
utils
approx.py
Generated on
for userver by
Doxygen
1.17.0