comparison lib/python3.8/site-packages/pip/_vendor/pytoml/test.py @ 1:64071f2a4cf0 draft default tip

Deleted selected files
author guerler
date Mon, 27 Jul 2020 03:55:49 -0400
parents 9e54283cc701
children
comparison
equal deleted inserted replaced
0:9e54283cc701 1:64071f2a4cf0
1 import datetime
2 from .utils import format_rfc3339
3
4 try:
5 _string_types = (str, unicode)
6 _int_types = (int, long)
7 except NameError:
8 _string_types = str
9 _int_types = int
10
11 def translate_to_test(v):
12 if isinstance(v, dict):
13 return { k: translate_to_test(v) for k, v in v.items() }
14 if isinstance(v, list):
15 a = [translate_to_test(x) for x in v]
16 if v and isinstance(v[0], dict):
17 return a
18 else:
19 return {'type': 'array', 'value': a}
20 if isinstance(v, datetime.datetime):
21 return {'type': 'datetime', 'value': format_rfc3339(v)}
22 if isinstance(v, bool):
23 return {'type': 'bool', 'value': 'true' if v else 'false'}
24 if isinstance(v, _int_types):
25 return {'type': 'integer', 'value': str(v)}
26 if isinstance(v, float):
27 return {'type': 'float', 'value': '{:.17}'.format(v)}
28 if isinstance(v, _string_types):
29 return {'type': 'string', 'value': v}
30 raise RuntimeError('unexpected value: {!r}'.format(v))