blob: db510aa1ace4aa15ab20c8886e4c70d407fe6663 (
about) (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# Copyright (c) 2010-2024 openpyxl
"""Collection of XML resources compatible across different Python versions"""
import os
def lxml_available():
try:
from lxml.etree import LXML_VERSION
LXML = LXML_VERSION >= (3, 3, 1, 0)
if not LXML:
import warnings
warnings.warn("The installed version of lxml is too old to be used with openpyxl")
return False # we have it, but too old
else:
return True # we have it, and recent enough
except ImportError:
return False # we don't even have it
def lxml_env_set():
return os.environ.get("OPENPYXL_LXML", "True") == "True"
LXML = lxml_available() and lxml_env_set()
def defusedxml_available():
try:
import defusedxml # noqa
except ImportError:
return False
else:
return True
def defusedxml_env_set():
return os.environ.get("OPENPYXL_DEFUSEDXML", "True") == "True"
DEFUSEDXML = defusedxml_available() and defusedxml_env_set()
|