MCPcopy Index your code
hub / github.com/python/cpython / _setevents

Method _setevents

Lib/xml/etree/ElementTree.py:1579–1630  ·  view source on GitHub ↗
(self, events_queue, events_to_report)

Source from the content-addressed store, hash-verified

1577 pass # unknown
1578
1579 def _setevents(self, events_queue, events_to_report):
1580 # Internal API for XMLPullParser
1581 # events_to_report: a list of events to report during parsing (same as
1582 # the *events* of XMLPullParser's constructor.
1583 # events_queue: a list of actual parsing events that will be populated
1584 # by the underlying parser.
1585 #
1586 parser = self._parser
1587 append = events_queue.append
1588 for event_name in events_to_report:
1589 if event_name == "start":
1590 parser.ordered_attributes = 1
1591 def handler(tag, attrib_in, event=event_name, append=append,
1592 start=self._start):
1593 append((event, start(tag, attrib_in)))
1594 parser.StartElementHandler = handler
1595 elif event_name == "end":
1596 def handler(tag, event=event_name, append=append,
1597 end=self._end):
1598 append((event, end(tag)))
1599 parser.EndElementHandler = handler
1600 elif event_name == "start-ns":
1601 # TreeBuilder does not implement .start_ns()
1602 if hasattr(self.target, "start_ns"):
1603 def handler(prefix, uri, event=event_name, append=append,
1604 start_ns=self._start_ns):
1605 append((event, start_ns(prefix, uri)))
1606 else:
1607 def handler(prefix, uri, event=event_name, append=append):
1608 append((event, (prefix or '', uri or '')))
1609 parser.StartNamespaceDeclHandler = handler
1610 elif event_name == "end-ns":
1611 # TreeBuilder does not implement .end_ns()
1612 if hasattr(self.target, "end_ns"):
1613 def handler(prefix, event=event_name, append=append,
1614 end_ns=self._end_ns):
1615 append((event, end_ns(prefix)))
1616 else:
1617 def handler(prefix, event=event_name, append=append):
1618 append((event, None))
1619 parser.EndNamespaceDeclHandler = handler
1620 elif event_name == 'comment':
1621 def handler(text, event=event_name, append=append, self=self):
1622 append((event, self.target.comment(text)))
1623 parser.CommentHandler = handler
1624 elif event_name == 'pi':
1625 def handler(pi_target, data, event=event_name, append=append,
1626 self=self):
1627 append((event, self.target.pi(pi_target, data)))
1628 parser.ProcessingInstructionHandler = handler
1629 else:
1630 raise ValueError("unknown event %r" % event_name)
1631
1632 def _raiseerror(self, value):
1633 err = ParseError(value)

Callers 1

__init__Method · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected