Edgewall Software

Ticket #396: select_added_too_late.3.patch

File select_added_too_late.3.patch, 1.5 KB (added by Carsten Klein <carsten.klein@…>, 4 years ago)

*sigh* this time for real

  • genshi/template/markup.py

     
    343343                        del match_templates[idx] 
    344344                        idx -= 1 
    345345 
     346                    # Make the select() function available in the body of the 
     347                    # match template 
     348                    selected = [False] 
     349                    def select(path): 
     350                        selected[0] = True 
     351                        return content.select(path, namespaces, ctxt) 
     352                    vars['select'] = select 
     353 
    346354                    # Let the remaining match templates know about the event so 
    347355                    # they get a chance to update their internal state 
    348356                    for test in [mt[0] for mt in match_templates[idx + 1:]]: 
     
    362370                        content = list(content) 
    363371                    content = Stream(content) 
    364372 
    365                     # Make the select() function available in the body of the 
    366                     # match template 
    367                     selected = [False] 
    368                     def select(path): 
    369                         selected[0] = True 
    370                         return content.select(path, namespaces, ctxt) 
    371                     vars = dict(select=select) 
    372  
    373373                    # Recursively process the output 
    374374                    template = _apply_directives(template, directives, ctxt, 
    375375                                                 vars)