Coverage for /var/srv/projects/api.amasfac.comuna18.com/tmp/venv/lib/python3.9/site-packages/openpyxl/xml/__init__.py: 59%

25 statements  

« prev     ^ index     » next       coverage.py v6.4.4, created at 2023-07-17 14:22 -0600

1# Copyright (c) 2010-2022 openpyxl 

2 

3 

4"""Collection of XML resources compatible across different Python versions""" 

5import os 

6 

7 

8def lxml_available(): 

9 try: 

10 from lxml.etree import LXML_VERSION 

11 LXML = LXML_VERSION >= (3, 3, 1, 0) 

12 if not LXML: 

13 import warnings 

14 warnings.warn("The installed version of lxml is too old to be used with openpyxl") 

15 return False # we have it, but too old 

16 else: 

17 return True # we have it, and recent enough 

18 except ImportError: 

19 return False # we don't even have it 

20 

21 

22def lxml_env_set(): 

23 return os.environ.get("OPENPYXL_LXML", "True") == "True" 

24 

25 

26LXML = lxml_available() and lxml_env_set() 

27 

28 

29def defusedxml_available(): 

30 try: 

31 import defusedxml # noqa 

32 except ImportError: 

33 return False 

34 else: 

35 return True 

36 

37 

38def defusedxml_env_set(): 

39 return os.environ.get("OPENPYXL_DEFUSEDXML", "True") == "True" 

40 

41 

42DEFUSEDXML = defusedxml_available() and defusedxml_env_set()