cElementTree.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. # defusedxml
  2. #
  3. # Copyright (c) 2013 by Christian Heimes <christian@python.org>
  4. # Licensed to PSF under a Contributor Agreement.
  5. # See https://www.python.org/psf/license for licensing details.
  6. """Defused xml.etree.cElementTree
  7. """
  8. from __future__ import absolute_import
  9. import warnings
  10. from .common import _generate_etree_functions
  11. from xml.etree.cElementTree import TreeBuilder as _TreeBuilder
  12. from xml.etree.cElementTree import parse as _parse
  13. from xml.etree.cElementTree import tostring
  14. # iterparse from ElementTree!
  15. from xml.etree.ElementTree import iterparse as _iterparse
  16. # This module is an alias for ElementTree just like xml.etree.cElementTree
  17. from .ElementTree import (
  18. XML,
  19. XMLParse,
  20. XMLParser,
  21. XMLTreeBuilder,
  22. fromstring,
  23. iterparse,
  24. parse,
  25. tostring,
  26. DefusedXMLParser,
  27. ParseError,
  28. )
  29. __origin__ = "xml.etree.cElementTree"
  30. warnings.warn(
  31. "defusedxml.cElementTree is deprecated, import from defusedxml.ElementTree instead.",
  32. category=DeprecationWarning,
  33. stacklevel=2,
  34. )
  35. # XMLParse is a typo, keep it for backwards compatibility
  36. XMLTreeBuilder = XMLParse = XMLParser = DefusedXMLParser
  37. parse, iterparse, fromstring = _generate_etree_functions(
  38. DefusedXMLParser, _TreeBuilder, _parse, _iterparse
  39. )
  40. XML = fromstring
  41. __all__ = [
  42. "ParseError",
  43. "XML",
  44. "XMLParse",
  45. "XMLParser",
  46. "XMLTreeBuilder",
  47. "fromstring",
  48. "iterparse",
  49. "parse",
  50. "tostring",
  51. ]