Added preserveCase keyword argument to htmltree.Parser
authorFrederic Jolliton <frederic@jolliton.com>
Tue, 13 Sep 2005 06:12:27 +0000 (06:12 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Tue, 13 Sep 2005 06:12:27 +0000 (06:12 +0000)
 * Added preserveCase keyword argument to htmltree.Parser. By default,
   all element and attribute names are translated to lower case. Setting
   this keyword to True preserve cases of the names (useful for XML
   mainly.)
git-archimport-id: frederic@jolliton.com--2005-main/tx--main--0.1--patch-36

htmltree.py

index a8eb7c6..b56f3f5 100644 (file)
@@ -43,12 +43,12 @@ def normalizeSpace( s ) :
 
 class Parser( HTMLParser ) :
 
-       def __init__( self ) :
+       def __init__( self , preserveCase = False ) :
 
                HTMLParser.__init__( self )
                self.__stack = [ ( None , None , [] ) ] # List of RXP style elements
                self.__skipBlank = False
-               self.__caseSensitive = False
+               self.__caseSensitive = preserveCase
                #
                # Empty elements.
                #
@@ -225,9 +225,9 @@ class Parser( HTMLParser ) :
                        s[ -1 ][ 2 ].append( Element( name , attrs , children ) )
                return Document( s[ 0 ][ 2 ] )
 
-def parse( data ) :
+def parse( data , preserveCase = False ) :
 
-       hp = Parser()
+       hp = Parser( preserveCase )
        hp.feed( decodeData( data ) )
        return hp.close()