(self, *, target=None, encoding=None)
| 1532 | """ |
| 1533 | |
| 1534 | def __init__(self, *, target=None, encoding=None): |
| 1535 | try: |
| 1536 | from xml.parsers import expat |
| 1537 | except ImportError: |
| 1538 | try: |
| 1539 | import pyexpat as expat |
| 1540 | except ImportError: |
| 1541 | raise ImportError( |
| 1542 | "No module named expat; use SimpleXMLTreeBuilder instead" |
| 1543 | ) |
| 1544 | parser = expat.ParserCreate(encoding, "}") |
| 1545 | if target is None: |
| 1546 | target = TreeBuilder() |
| 1547 | # underscored names are provided for compatibility only |
| 1548 | self.parser = self._parser = parser |
| 1549 | self.target = self._target = target |
| 1550 | self._error = expat.error |
| 1551 | self._names = {} # name memo cache |
| 1552 | # main callbacks |
| 1553 | parser.DefaultHandlerExpand = self._default |
| 1554 | if hasattr(target, 'start'): |
| 1555 | parser.StartElementHandler = self._start |
| 1556 | if hasattr(target, 'end'): |
| 1557 | parser.EndElementHandler = self._end |
| 1558 | if hasattr(target, 'start_ns'): |
| 1559 | parser.StartNamespaceDeclHandler = self._start_ns |
| 1560 | if hasattr(target, 'end_ns'): |
| 1561 | parser.EndNamespaceDeclHandler = self._end_ns |
| 1562 | if hasattr(target, 'data'): |
| 1563 | parser.CharacterDataHandler = target.data |
| 1564 | # miscellaneous callbacks |
| 1565 | if hasattr(target, 'comment'): |
| 1566 | parser.CommentHandler = target.comment |
| 1567 | if hasattr(target, 'pi'): |
| 1568 | parser.ProcessingInstructionHandler = target.pi |
| 1569 | # Configure pyexpat: buffering, new-style attribute handling. |
| 1570 | parser.buffer_text = 1 |
| 1571 | parser.ordered_attributes = 1 |
| 1572 | self._doctype = None |
| 1573 | self.entity = {} |
| 1574 | try: |
| 1575 | self.version = "Expat %d.%d.%d" % expat.version_info |
| 1576 | except AttributeError: |
| 1577 | pass # unknown |
| 1578 | |
| 1579 | def _setevents(self, events_queue, events_to_report): |
| 1580 | # Internal API for XMLPullParser |
nothing calls this directly
no test coverage detected