Skip to content

add a first pass of xml.sax.expatreader #13188

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Dec 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion stdlib/@tests/stubtest_allowlists/common.txt
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ weakref.WeakValueDictionary.update

turtledemo
turtledemo\..+
xml.sax.expatreader


# ======================================================================
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/darwin-py310.txt
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# =============================================================
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/darwin-py38.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# =============================================================
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/darwin-py39.txt
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# =============================================================
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/linux-py38.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# ======
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/win32-py310.txt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# =============================================================
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/win32-py38.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# ============================================================
Expand Down
1 change: 1 addition & 0 deletions stdlib/@tests/stubtest_allowlists/win32-py39.txt
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ xml.etree.cElementTree.XMLParser.flush
xml.etree.cElementTree.XMLPullParser.flush
xml.parsers.expat.XMLParserType.GetReparseDeferralEnabled
xml.parsers.expat.XMLParserType.SetReparseDeferralEnabled
xml.sax.expatreader.ExpatParser.flush


# =============================================================
Expand Down
53 changes: 53 additions & 0 deletions stdlib/xml/sax/expatreader.pyi
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import sys
from _typeshed import Unused
from xml.sax import xmlreader

version: str
AttributesImpl = xmlreader.AttributesImpl
AttributesNSImpl = xmlreader.AttributesNSImpl

class _ClosedParser: ...

class ExpatLocator(xmlreader.Locator):
def __init__(self, parser: ExpatParser) -> None: ...
def getColumnNumber(self) -> int: ...
def getLineNumber(self) -> int: ...
def getPublicId(self): ...
def getSystemId(self): ...

class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
def __init__(self, namespaceHandling: int = 0, bufsize: int = 65516) -> None: ...
def parse(self, source) -> None: ...
def prepareParser(self, source) -> None: ...
def setContentHandler(self, handler) -> None: ...
def getFeature(self, name: str): ...
def setFeature(self, name: str, state) -> None: ...
def getProperty(self, name: str): ...
def setProperty(self, name: str, value) -> None: ...
if sys.version_info >= (3, 9):
def feed(self, data, isFinal: bool = False) -> None: ...
else:
def feed(self, data, isFinal: int = 0) -> None: ...

def flush(self) -> None: ...
def close(self) -> None: ...
def reset(self) -> None: ...
def getColumnNumber(self) -> int | None: ...
def getLineNumber(self) -> int: ...
def getPublicId(self): ...
def getSystemId(self): ...
def start_element(self, name: str, attrs: xmlreader.AttributesImpl) -> None: ...
def end_element(self, name: str) -> None: ...
def start_element_ns(self, name: str, attrs) -> None: ...
def end_element_ns(self, name: str) -> None: ...
def processing_instruction(self, target: str, data: str) -> None: ...
def character_data(self, data: str) -> None: ...
def start_namespace_decl(self, prefix: str | None, uri: str) -> None: ...
def end_namespace_decl(self, prefix: str | None) -> None: ...
def start_doctype_decl(self, name: str, sysid: str | None, pubid: str | None, has_internal_subset: Unused) -> None: ...
def unparsed_entity_decl(self, name, base, sysid, pubid, notation_name) -> None: ...
def notation_decl(self, name, base, sysid, pubid) -> None: ...
def external_entity_ref(self, context, base, sysid, pubid): ...
def skipped_entity_handler(self, name: str, is_pe: bool) -> None: ...

def create_parser(namespaceHandling: int = 0, bufsize: int = 65516) -> ExpatParser: ...
Loading