Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/openpyxl/compat/strings.py: 88%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

17 statements  

1# Copyright (c) 2010-2024 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