Changeset - f93b523c0be3
[Not reviewed]
default
0 2 0
Marcin Kuzminski - 16 years ago 2010-03-05 01:14:30
marcin@python-blog.com
dirty fix for multiple file encodings,
2 files changed with 11 insertions and 4 deletions:
0 comments (0 inline, 0 general)
pylons_app/config/environment.py
Show inline comments
 
@@ -33,12 +33,12 @@ def load_environment(global_conf, app_co
 

	
 
    # Create the Mako TemplateLookup, with the default auto-escaping
 
    config['pylons.g'].mako_lookup = TemplateLookup(
 
        directories = paths['templates'],
 
        error_handler = handle_mako_error,
 
        module_directory = os.path.join(app_conf['cache_dir'], 'templates'),
 
        input_encoding = 'utf-8', output_encoding = 'utf-8',
 
        output_encoding='utf-8',
 
        imports = ['from webhelpers.html import escape'],
 
        default_filters = ['escape'])
 

	
 
    # CONFIGURATION OPTIONS HERE (note: all config options will override
 
    # any Pylons config options)
pylons_app/controllers/hg.py
Show inline comments
 
@@ -21,18 +21,25 @@ class HgController(BaseController):
 
    def view(self, *args, **kwargs):
 
        response = g.hgapp(request.environ, self.start_response)
 
        #for mercurial protocols and raw files we can't wrap into mako
 
        if request.environ['HTTP_ACCEPT'].find("mercurial") != -1 or \
 
        request.environ['PATH_INFO'].find('raw-file') != -1:
 
                    return response
 

	
 
        tmpl = ''.join(response)
 

	
 
        try:
 
            tmpl = u''.join(response)
 
        template = Template(tmpl, lookup=request.environ['pylons.pylons']\
 
                            .config['pylons.g'].mako_lookup)
 

	
 
        except (RuntimeError, UnicodeDecodeError):
 
            log.info('disabling unicode due to encoding error')
 
            response = g.hgapp(request.environ, self.start_response)
 
            tmpl = ''.join(response)
 
            template = Template(tmpl, lookup=request.environ['pylons.pylons']\
 
                            .config['pylons.g'].mako_lookup, disable_unicode=True)
 

	
 

	
 
        return template.render(g=g, c=c, session=session, h=h)
 

	
 

	
 
    def manage_hgrc(self):
 
        pass
 

	
0 comments (0 inline, 0 general)