diff options
| author | Fred Drake <fdrake@acm.org> | 2000-09-18 17:40:22 +0000 | 
|---|---|---|
| committer | Fred Drake <fdrake@acm.org> | 2000-09-18 17:40:22 +0000 | 
| commit | a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6 (patch) | |
| tree | 1dacc44f4a64b4ba6bcdf338a248a410ebbff78a | |
| parent | 480abc27513c6f1e43918a02deca4cf0ce7e4838 (diff) | |
| download | cpython-git-a12adfe48590e310ab7968f4a3b15b8dc3f1e6f6.tar.gz | |
Reduce the number of imports needed.
Make the code conform better to the Python style guide.
| -rw-r--r-- | Lib/xml/sax/saxutils.py | 43 | 
1 files 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('<?xml version="1.0" encoding="iso-8859-1"?>\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('<?%s %s?>' % (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) -          | 
