fixed a problem with the HTML parser pointed by Gary Benson sdding the

* python/generator.py python/libxml2class.txt : fixed a problem
  with the HTML parser pointed by Gary Benson
* python/tests/Makefile.am python/tests/pushSAXhtml.py: sdding the
  example
Daniel
diff --git a/python/generator.py b/python/generator.py
index 149eb1c..863e2b1 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -530,6 +530,8 @@
     "xmlXPathParserContextPtr": ("._o", "xpathParserContext(_obj=%s)", "xpathParserContext"),
     "xmlParserCtxtPtr": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
     "xmlParserCtxt *": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
+    "htmlParserCtxtPtr": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
+    "htmlParserCtxt *": ("._o", "parserCtxt(_obj=%s)", "parserCtxt"),
     "xmlCatalogPtr": ("._o", "catalog(_obj=%s)", "catalog"),
     "xmlURIPtr": ("._o", "URI(_obj=%s)", "URI"),
 }
diff --git a/python/libxml2class.txt b/python/libxml2class.txt
index 9e55c35..e5e530a 100644
--- a/python/libxml2class.txt
+++ b/python/libxml2class.txt
@@ -6,13 +6,9 @@
 
 
 # functions from module HTMLparser
-htmlFreeParserCtxt()
 htmlHandleOmittedElem()
 htmlIsScriptAttribute()
-htmlParseCharRef()
-htmlParseChunk()
 htmlParseDoc()
-htmlParseElement()
 htmlParseFile()
 
 # functions from module HTMLtree
@@ -440,6 +436,12 @@
     validate()
     wellFormed()
 
+    # functions from module HTMLparser
+    htmlFreeParserCtxt()
+    htmlParseCharRef()
+    htmlParseChunk()
+    htmlParseElement()
+
     # functions from module parser
     clearParserCtxt()
     freeParserCtxt()
diff --git a/python/tests/Makefile.am b/python/tests/Makefile.am
index 2cb151a..3255141 100644
--- a/python/tests/Makefile.am
+++ b/python/tests/Makefile.am
@@ -8,6 +8,7 @@
     xpathext.py	\
     push.py	\
     pushSAX.py	\
+    pushSAXhtml.py \
     error.py	\
     serialize.py\
     validate.py	\
diff --git a/python/tests/pushSAXhtml.py b/python/tests/pushSAXhtml.py
new file mode 100755
index 0000000..43bf656
--- /dev/null
+++ b/python/tests/pushSAXhtml.py
@@ -0,0 +1,64 @@
+#!/usr/bin/python -u
+import sys
+import libxml2
+
+# Memory debug specific
+libxml2.debugMemory(1)
+
+log = ""
+
+class callback:
+    def startDocument(self):
+        global log
+        log = log + "startDocument:"
+
+    def endDocument(self):
+        global log
+        log = log + "endDocument:"
+
+    def startElement(self, tag, attrs):
+        global log
+        log = log + "startElement %s %s:" % (tag, attrs)
+
+    def endElement(self, tag):
+        global log
+        log = log + "endElement %s:" % (tag)
+
+    def characters(self, data):
+        global log
+        log = log + "characters: %s:" % (data)
+
+    def warning(self, msg):
+        global log
+        log = log + "warning: %s:" % (msg)
+
+    def error(self, msg):
+        global log
+        log = log + "error: %s:" % (msg)
+
+    def fatalError(self, msg):
+        global log
+        log = log + "fatalError: %s:" % (msg)
+
+handler = callback()
+
+ctxt = libxml2.htmlCreatePushParser(handler, "<foo", 4, "test.xml")
+chunk = " url='tst'>b"
+ctxt.htmlParseChunk(chunk, len(chunk), 0)
+chunk = "ar</foo>"
+ctxt.htmlParseChunk(chunk, len(chunk), 1)
+ctxt=None
+
+reference = "startDocument:startElement foo {'url': 'tst'}:characters: bar:endElement foo:endDocument:"
+if log != reference:
+    print "Error got: %s" % log
+    print "Exprected: %s" % reference
+    sys.exit(1)
+
+# Memory debug specific
+libxml2.cleanupParser()
+if libxml2.debugMemory(1) == 0:
+    print "OK"
+else:
+    print "Memory leak %d bytes" % (libxml2.debugMemory(1))
+    libxml2.dumpMemory()