Ejemplo n.º 1
0
def render_object_html(obj, request):
    """
    Returns rendered html for given content object
    """
    published = request.get('PUBLISHED')
    if isinstance(published, (BrowserView, FSPageTemplate, PythonScript)):
        if getCurrentTheme():
            transform = ThemeTransform(published, request)
            try:
                themed = transform.transformUnicode(published(), 'utf-8')
                tile_transform = IncludeTiles(published, request)
                tiled = tile_transform.transformIterable(themed, 'utf-8')
                if tiled:
                    return tiled.serialize()
            except Exception, error:
                log.error("Problem with transforming object %s: %s" % (published, error))
                return published()
        else:
            try:
                return published() or ''
            except NotFound:
                log.error("Resource '%s' not found" % repr(obj))
                return ''