From 583359ed2e9696bcb1ca0223a4763074c19756d6 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Thu, 9 Sep 2004 02:24:13 +0000 Subject: [PATCH] clean up the API a little; exceptions are defined by this module (needs documentation) --- Lib/htmllib.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/Lib/htmllib.py b/Lib/htmllib.py index 94492a6da24..24a2e2f3c71 100644 --- a/Lib/htmllib.py +++ b/Lib/htmllib.py @@ -4,13 +4,18 @@ See the HTML 2.0 specification: http://www.w3.org/hypertext/WWW/MarkUp/html-spec/html-spec_toc.html """ +import sgmllib -from sgmllib import SGMLParser from formatter import AS_IS -__all__ = ["HTMLParser"] +__all__ = ["HTMLParser", "HTMLParseError"] -class HTMLParser(SGMLParser): + +class HTMLParseError(sgmllib.SGMLParseError): + """Error raised when an HTML document can't be parsed.""" + + +class HTMLParser(sgmllib.SGMLParser): """This is the basic HTML parser class. It supports all entity names required by the XHTML 1.0 Recommendation. @@ -28,11 +33,14 @@ class HTMLParser(SGMLParser): the parser. """ - SGMLParser.__init__(self, verbose) + sgmllib.SGMLParser.__init__(self, verbose) self.formatter = formatter + def error(self, message): + raise HTMLParseError(message) + def reset(self): - SGMLParser.reset(self) + sgmllib.SGMLParser.reset(self) self.savedata = None self.isindex = 0 self.title = None