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

1# Copyright (c) 2010-2023 openpyxl 

2 

3from datetime import datetime 

4from math import isnan, isinf 

5import sys 

6 

7VER = sys.version_info 

8 

9from .numbers import NUMERIC_TYPES 

10 

11 

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