Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/openpyxl/compat/strings.py: 82%
17 statements
« prev ^ index » next coverage.py v7.3.3, created at 2023-12-20 06:34 +0000
« prev ^ index » next coverage.py v7.3.3, created at 2023-12-20 06:34 +0000
1# Copyright (c) 2010-2023 openpyxl
3from datetime import datetime
4from math import isnan, isinf
5import sys
7VER = sys.version_info
9from .numbers import NUMERIC_TYPES
12def safe_string(value):
13 """Safely and consistently format numeric values"""
14 if isinstance(value, NUMERIC_TYPES):
15 if isnan(value) or isinf(value):
16 value = ""
17 else:
18 value = "%.16g" % value
19 elif value is None:
20 value = "none"
21 elif isinstance(value, datetime):
22 value = value.isoformat()
23 elif not isinstance(value, str):
24 value = str(value)
25 return value