# HG changeset patch # User k0s # Date 1264372637 18000 # Node ID 2bf25337048fc969d55b89e16eb3364c8ed8b0c2 # Parent d1067d921e977f3c290675fc18d39715bc582740 worth a real version diff -r d1067d921e97 -r 2bf25337048f lxmlmiddleware/middleware.py --- a/lxmlmiddleware/middleware.py Sun Jan 24 12:00:39 2010 -0500 +++ b/lxmlmiddleware/middleware.py Sun Jan 24 17:37:17 2010 -0500 @@ -2,6 +2,7 @@ LXML middleware """ +import lxml.html from lxml import etree class LXMLMiddleware(object): @@ -24,14 +25,18 @@ # get the DOM, if not already made if not isinstance(response, etree._Element): - response = etree.fromstring(''.join(response)) + try: + response = etree.fromstring(''.join(response)) + except etree.XMLSyntaxError: # not XML + environ.pop('lxml.recomposer') + return response # manipulate the DOM response = self.manipulate(environ, response) # recompose the DOM if the last in the chain if environ['lxml.recomposer'] is self: - response = [ etree.tostring(response) ] + response = [ lxml.html.tostring(response) ] # return the response return response diff -r d1067d921e97 -r 2bf25337048f setup.py --- a/setup.py Sun Jan 24 12:00:39 2010 -0500 +++ b/setup.py Sun Jan 24 17:37:17 2010 -0500 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import sys, os -version = "0.0" +version = "0.1" setup(name='lxmlmiddleware', version=version,