def entangle(func):

    def decorated(func, *args, **kw):
        output = func(*args, **kw)
        dst = StringIO.StringIO()
        result = pisa.CreatePDF(StringIO.StringIO(output), dst)
        if (not result.err):
            cherrypy.response.headers['Content-Type'] = content_type
            if filename:
                cherrypy.response.headers['Content-Disposition'] = ('attachment; filename=' + filename)
            output = dst.getvalue()
        return output
    return decorated
def entangle(func):

    def decorated(func, *args, **kw):
        output = func(*args, **kw)
        dst = StringIO.StringIO()
        result = pisa.CreatePDF(StringIO.StringIO(output), dst)
        if (not result.err):
            cherrypy.response.headers['Content-Type'] = content_type
            if filename:
                cherrypy.response.headers['Content-Disposition'] = ('attachment; filename=' + filename)
            output = dst.getvalue()
        return output
    return decorated