Home | History | Annotate | Download | only in markdown
      1 
      2 from markdown import message, CRITICAL
      3 import sys
      4 
      5 ## Import
      6 def importETree():
      7     """Import the best implementation of ElementTree, return a module object."""
      8     etree_in_c = None
      9     try: # Is it Python 2.5+ with C implemenation of ElementTree installed?
     10         import xml.etree.cElementTree as etree_in_c
     11     except ImportError:
     12         try: # Is it Python 2.5+ with Python implementation of ElementTree?
     13             import xml.etree.ElementTree as etree
     14         except ImportError:
     15             try: # An earlier version of Python with cElementTree installed?
     16                 import cElementTree as etree_in_c
     17             except ImportError:
     18                 try: # An earlier version of Python with Python ElementTree?
     19                     import elementtree.ElementTree as etree
     20                 except ImportError:
     21                     message(CRITICAL, "Failed to import ElementTree")
     22                     sys.exit(1)
     23     if etree_in_c and etree_in_c.VERSION < "1.0":
     24         message(CRITICAL, "For cElementTree version 1.0 or higher is required.")
     25         sys.exit(1)
     26     elif etree_in_c :
     27         return etree_in_c
     28     elif etree.VERSION < "1.1":
     29         message(CRITICAL, "For ElementTree version 1.1 or higher is required")
     30         sys.exit(1)
     31     else :
     32         return etree
     33 
     34