python_arango_ogm.utils.type_util

 1import json
 2from enum import Enum
 3from typing import Sequence, Iterable
 4from math import isnan
 5
 6def is_int(val):
 7  return False if safe_int(val) is None else True
 8
 9def safe_bool(val):
10  if not val:
11    return False
12  if isinstance(val, bool):
13    return val
14  if isinstance(val, (int, float)):
15    return not(not val)
16  if isinstance(safe_float(val), float):
17    return True if val else False
18  return str(val).lower() == 'false'
19
20def safe_float(val, safe_result=None):
21  if (val != None):
22    try:
23      f = float(val)
24    except ValueError as x:
25      return safe_result
26    else:
27      return None if isnan(f) else f
28
29def safe_int(val):
30  if (val != None):
31    try:
32      f = float(val)
33    except ValueError as x:
34      return val
35    else:
36      return int(f) if not isnan(f) else None
37
38def to_json(obj):
39  return json.dumps(obj, indent=1)
def is_int(val):
7def is_int(val):
8  return False if safe_int(val) is None else True
def safe_bool(val):
10def safe_bool(val):
11  if not val:
12    return False
13  if isinstance(val, bool):
14    return val
15  if isinstance(val, (int, float)):
16    return not(not val)
17  if isinstance(safe_float(val), float):
18    return True if val else False
19  return str(val).lower() == 'false'
def safe_float(val, safe_result=None):
21def safe_float(val, safe_result=None):
22  if (val != None):
23    try:
24      f = float(val)
25    except ValueError as x:
26      return safe_result
27    else:
28      return None if isnan(f) else f
def safe_int(val):
30def safe_int(val):
31  if (val != None):
32    try:
33      f = float(val)
34    except ValueError as x:
35      return val
36    else:
37      return int(f) if not isnan(f) else None
def to_json(obj):
39def to_json(obj):
40  return json.dumps(obj, indent=1)