Ejemplo n.º 1
0
    def __call__(self, text, file_path=None):
        # don't execute this transform if the theme is not enabled
        registry = queryUtility(IRegistry)
        settings = registry.forInterface(IThemeSettings, False)
        if not settings.enabled:
            return text

        context = self.context
        req = getRequest()
        if file_path.lower().endswith('.xml'):
            return text

        theme_transform = ThemeTransform(context, req)
        encoding = 'utf-8'
        try:
            encoded = [text.encode(encoding)]
            # XXX make sure the content type is text/html
            req.response.headers['Content-Type'] = req.response.headers['content-type'] = 'text/html'
            transformed_text = theme_transform.transformIterable(
                encoded, encoding)
            if transformed_text:
                text = transformed_text.serialize()
        except UnicodeDecodeError:
            if file_path is None:
                file_path = ''
            log.error('error processing diazo(%s)\n%s' % (
                file_path, traceback.format_exc()
                ))
        return text
Ejemplo n.º 2
0
    def __call__(self, text, file_path=None):
        # don't execute this transform if the theme is not enabled
        registry = queryUtility(IRegistry)
        settings = registry.forInterface(IThemeSettings, False)
        if not settings.enabled:
            return text

        context = self.context
        req = context.REQUEST
        # set false BASE url to omit the theme's blacklisted domains
        req['BASE1'] = 'http://apply_diazo_theme.com'
        theme_transform = ThemeTransform(context, req)
        encoding = 'utf-8'
        transformed_text = theme_transform.transformIterable(text, encoding)
        if transformed_text:
            text = transformed_text.serialize()
        return text
Ejemplo n.º 3
0
    def __call__(self, text, file_path=None):
        # don't execute this transform if the theme is not enabled
        registry = queryUtility(IRegistry)
        settings = registry.forInterface(IThemeSettings, False)
        if not settings.enabled:
            return text

        context = self.context
        req = context.REQUEST
        # set false BASE url to omit the theme's blacklisted domains
        req['BASE1'] = 'http://apply_diazo_theme.com'
        theme_transform = ThemeTransform(context, req)
        encoding = 'utf-8'
        transformed_text = theme_transform.transformIterable(text, encoding)
        if transformed_text:
            text = transformed_text.serialize()
        return text