From a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6 Mon Sep 17 00:00:00 2001 From: Fred Drake Date: Mon, 18 Sep 2000 17:40:22 +0000 Subject: [PATCH] Reduce the number of imports needed. Make the code conform better to the Python style guide. --- Lib/xml/sax/saxutils.py | 43 ++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/Lib/xml/sax/saxutils.py b/Lib/xml/sax/saxutils.py index 4657b99d89..cd6426a15b 100644 --- a/Lib/xml/sax/saxutils.py +++ b/Lib/xml/sax/saxutils.py @@ -1,34 +1,37 @@ -""" -A library of useful helper classes to the sax classes, for the +"""\ +A library of useful helper classes to the SAX classes, for the convenience of application and driver writers. - -$Id$ """ -import types, string, sys import handler -def escape(data, entities = {}): + +def escape(data, entities={}): """Escape &, <, and > in a string of data. + You can escape other strings of data by passing a dictionary as the optional entities parameter. The keys and values must all be strings; each key will be replaced with its corresponding value. """ - data = string.replace(data, "&", "&") - data = string.replace(data, "<", "<") - data = string.replace(data, ">", ">") + data = data.replace("&", "&") + data = data.replace("<", "<") + data = data.replace(">", ">") for chars, entity in entities.items(): - data = string.replace(data, chars, entity) + data = data.replace(chars, entity) return data + class XMLGenerator(handler.ContentHandler): - def __init__(self, out = sys.stdout): + def __init__(self, out=None): + if out is None: + import sys + out = sys.stdout handler.ContentHandler.__init__(self) self._out = out # ContentHandler methods - + def startDocument(self): self._out.write('\n') @@ -39,9 +42,9 @@ class XMLGenerator(handler.ContentHandler): pass def startElement(self, name, attrs): - if type(name)==type(()): - uri, localname, prefix=name - name="%s:%s"%(prefix,localname) + if type(name) is type(()): + uri, localname, prefix = name + name = "%s:%s"%(prefix,localname) self._out.write('<' + name) for (name, value) in attrs.items(): self._out.write(' %s="%s"' % (name, escape(value))) @@ -56,10 +59,11 @@ class XMLGenerator(handler.ContentHandler): def ignorableWhitespace(self, content): self._out.write(content) - + def processingInstruction(self, target, data): self._out.write('' % (target, data)) + class XMLFilterBase: """This class is designed to sit between an XMLReader and the client application's event handlers. By default, it does nothing @@ -80,10 +84,10 @@ class XMLFilterBase: self._err_handler.warning(exception) # ContentHandler methods - + def setDocumentLocator(self, locator): self._cont_handler.setDocumentLocator(locator) - + def startDocument(self): self._cont_handler.startDocument() @@ -138,7 +142,7 @@ class XMLFilterBase: def setLocale(self, locale): self._parent.setLocale(locale) - + def getFeature(self, name): return self._parent.getFeature(name) @@ -150,4 +154,3 @@ class XMLFilterBase: def setProperty(self, name, value): self._parent.setProperty(name, value) - -- 2.40.0