Django

Code

Changeset 6973

Show
Ignore:
Timestamp:
12/22/07 13:28:21 (1 year ago)
Author:
adrian
Message:

Removed lexer_factory() and parser_factory() functions in django.template, simplifying the compile_string() logic

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/trunk/django/template/__init__.py

    r6972 r6973  
    176176def compile_string(template_string, origin): 
    177177    "Compiles template_string into NodeList ready for rendering" 
    178     lexer = lexer_factory(template_string, origin) 
    179     parser = parser_factory(lexer.tokenize()) 
     178    if settings.TEMPLATE_DEBUG: 
     179        from debug import DebugLexer, DebugParser 
     180        lexer_class, parser_class = DebugLexer, DebugParser 
     181    else: 
     182        lexer_class, parser_class = Lexer, Parser 
     183    lexer = lexer_class(template_string, origin) 
     184    parser = parser_class(lexer.tokenize()) 
    180185    return parser.parse() 
    181186 
     
    334339        else: 
    335340            raise TemplateSyntaxError("Invalid filter: '%s'" % filter_name) 
    336  
    337 def lexer_factory(*args, **kwargs): 
    338     if settings.TEMPLATE_DEBUG: 
    339         from debug import DebugLexer 
    340         return DebugLexer(*args, **kwargs) 
    341     else: 
    342         return Lexer(*args, **kwargs) 
    343  
    344 def parser_factory(*args, **kwargs): 
    345     if settings.TEMPLATE_DEBUG: 
    346         from debug import DebugParser 
    347         return DebugParser(*args, **kwargs) 
    348     else: 
    349         return Parser(*args, **kwargs) 
    350341 
    351342class TokenParser(object):