mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
|
|
from markdown import message, CRITICAL
|
|
import sys
|
|
|
|
## Import
|
|
def importETree():
|
|
"""Import the best implementation of ElementTree, return a module object."""
|
|
etree_in_c = None
|
|
try: # Is it Python 2.5+ with C implemenation of ElementTree installed?
|
|
import xml.etree.cElementTree as etree_in_c
|
|
except ImportError:
|
|
try: # Is it Python 2.5+ with Python implementation of ElementTree?
|
|
import xml.etree.ElementTree as etree
|
|
except ImportError:
|
|
try: # An earlier version of Python with cElementTree installed?
|
|
import cElementTree as etree_in_c
|
|
except ImportError:
|
|
try: # An earlier version of Python with Python ElementTree?
|
|
import elementtree.ElementTree as etree
|
|
except ImportError:
|
|
message(CRITICAL, "Failed to import ElementTree")
|
|
sys.exit(1)
|
|
if etree_in_c and etree_in_c.VERSION < "1.0":
|
|
message(CRITICAL, "For cElementTree version 1.0 or higher is required.")
|
|
sys.exit(1)
|
|
elif etree_in_c :
|
|
return etree_in_c
|
|
elif etree.VERSION < "1.1":
|
|
message(CRITICAL, "For ElementTree version 1.1 or higher is required")
|
|
sys.exit(1)
|
|
else :
|
|
return etree
|
|
|