[Python-checkins] CVS: python/dist/src/Lib/xml/sax _exceptions.py,1.7,1.8 expatreader.py,1.20,1.21 xmlreader.py,1.12,1.13
Martin v. Löwis
loewis@users.sourceforge.net
Sat, 27 Jan 2001 00:56:26 -0800
Update of /cvsroot/python/python/dist/src/Lib/xml/sax
In directory usw-pr-cvs1:/tmp/cvs-serv23185
Modified Files:
_exceptions.py expatreader.py xmlreader.py
Log Message:
Synchronize with PyXML 1.5.
Index: _exceptions.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/xml/sax/_exceptions.py,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -r1.7 -r1.8
*** _exceptions.py 2000/10/23 18:09:50 1.7
--- _exceptions.py 2001/01/27 08:56:24 1.8
***************
*** 22,25 ****
--- 22,26 ----
self._msg = msg
self._exception = exception
+ Exception.__init__(self, msg)
def getMessage(self):
Index: expatreader.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/xml/sax/expatreader.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** expatreader.py 2000/10/23 18:09:50 1.20
--- expatreader.py 2001/01/27 08:56:24 1.21
***************
*** 28,31 ****
--- 28,32 ----
self._parser = None
self._namespaces = namespaceHandling
+ self._lex_handler_prop = None
self._parsing = 0
self._entity_stack = []
***************
*** 61,68 ****
def getProperty(self, name):
raise SAXNotRecognizedException("Property '%s' not recognized" % name)
def setProperty(self, name, value):
! raise SAXNotRecognizedException("Property '%s' not recognized" % name)
# IncrementalParser methods
--- 62,74 ----
def getProperty(self, name):
+ if name == handler.property_lexical_handler:
+ return self._lex_handler_prop
raise SAXNotRecognizedException("Property '%s' not recognized" % name)
def setProperty(self, name, value):
! if name == handler.property_lexical_handler:
! self._lex_handler_prop = value
! else:
! raise SAXNotRecognizedException("Property '%s' not recognized" % name)
# IncrementalParser methods
***************
*** 83,86 ****
--- 89,93 ----
error_code = self._parser.ErrorCode
exc = SAXParseException(expat.ErrorString(error_code), None, self)
+ # FIXME: when to invoke error()?
self._err_handler.fatalError(exc)
***************
*** 92,95 ****
--- 99,104 ----
self._cont_handler.endDocument()
self._parsing = 0
+ # break cycle created by expat handlers pointing to our methods
+ self._parser = None
def reset(self):
***************
*** 110,119 ****
self._parser.StartNamespaceDeclHandler = self.start_namespace_decl
self._parser.EndNamespaceDeclHandler = self.end_namespace_decl
! # self._parser.CommentHandler =
! # self._parser.StartCdataSectionHandler =
! # self._parser.EndCdataSectionHandler =
! # self._parser.DefaultHandler =
! # self._parser.DefaultHandlerExpand =
! # self._parser.NotStandaloneHandler =
self._parser.ExternalEntityRefHandler = self.external_entity_ref
--- 119,131 ----
self._parser.StartNamespaceDeclHandler = self.start_namespace_decl
self._parser.EndNamespaceDeclHandler = self.end_namespace_decl
!
! self._decl_handler_prop = None
! if self._lex_handler_prop:
! self._parser.CommentHandler = self._lex_handler_prop.comment
! self._parser.StartCdataSectionHandler = self._lex_handler_prop.startCDATA
! self._parser.EndCdataSectionHandler = self._lex_handler_prop.endCDATA
! # self._parser.DefaultHandler =
! # self._parser.DefaultHandlerExpand =
! # self._parser.NotStandaloneHandler =
self._parser.ExternalEntityRefHandler = self.external_entity_ref
***************
*** 124,130 ****
--- 136,146 ----
def getColumnNumber(self):
+ if self._parser is None:
+ return None
return self._parser.ErrorColumnNumber
def getLineNumber(self):
+ if self._parser is None:
+ return 1
return self._parser.ErrorLineNumber
***************
*** 166,169 ****
--- 182,187 ----
if len(pair) == 1:
pair = (None, name)
+ else:
+ pair = tuple(pair)
self._cont_handler.endElementNS(pair, None)
Index: xmlreader.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/xml/sax/xmlreader.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** xmlreader.py 2000/12/13 20:48:29 1.12
--- xmlreader.py 2001/01/27 08:56:24 1.13
***************
*** 257,261 ****
def setCharacterStream(self, charfile):
"""Set the character stream for this input source. (The stream
! must be a Python 1.6 Unicode-wrapped file-like that performs
conversion to Unicode strings.)
--- 257,261 ----
def setCharacterStream(self, charfile):
"""Set the character stream for this input source. (The stream
! must be a Python 2.0 Unicode-wrapped file-like that performs
conversion to Unicode strings.)