Warning: Can't synchronize with repository "(default)" (Unsupported version control system "svn": No module named svn). Look in the Trac log for more information.

Ticket #2457: fixed_override_template.patch

File fixed_override_template.patch, 1.2 KB (added by chrisz, 18 months ago)

Proposed fix of already checked in patch

  • tg/decorators.py

    diff --git a/tg/decorators.py b/tg/decorators.py
    a b  
    337337    future versions may make the `genshi:` optional if you want to use 
    338338    the default engine. 
    339339    """ 
    340     if hasattr(controller, 'decoration'): 
    341         decoration = controller.decoration 
    342     else: 
     340    try: 
     341        engines = controller.decoration.engines 
     342    except AttributeError: 
    343343        return 
    344     if hasattr(decoration, 'engines'): 
    345         engines = decoration.engines 
    346     else: 
    347         return 
    348  
     344    try: 
     345        override_mapping = request._override_mapping 
     346    except AttributeError: 
     347        override_mapping = request._override_mapping = {} 
     348    template = template.split(':', 1) 
    349349    for content_type, content_engine in engines.iteritems(): 
    350         template = template.split(':') 
    351         template.extend(content_engine[2:]) 
    352         try: 
    353             override_mapping = request._override_mapping 
    354         except AttributeError: 
    355             override_mapping = request._override_mapping = {} 
    356         override_mapping[controller.im_func] = {content_type: template} 
     350        override_mapping[controller.im_func] = { 
     351            content_type: template + content_engine[2:]} 
    357352 
    358353 
    359354class validate(object):