Beispiel #1
0
import DTLexer
import DTParser
import DTExcept
import ErrorHandler
from SkunkExcept import *


def compileTemplate(text, name=None, tagreg=None, meta=None):
    try:
        taglist = DTLexer.doTag(text, name)
    except DTExcept.DTLexicalError, val:
        # Ok, force the name here - its a decent hack Drew
        val.name = name
        raise val

    node = DTParser.parseit(text, taglist, tagreg, name)

    indent = 0
    codeout = DTCompilerUtil.Output()
    DTCompilerUtil.genCodeNode(indent, codeout, tagreg, node.children, meta)
    return codeout.getText()


def compileText(text, name):
    # Only catch syntax errors in the text, all else will fall through
    try:
        cobj = compile(text, name, 'exec')
    except SyntaxError, val:
        raise SkunkSyntaxError(name, text, val)

    return cobj
Beispiel #2
0
import DTCompilerUtil
import DTLexer
import DTParser
import DTExcept
import ErrorHandler
from SkunkExcept import *

def compileTemplate ( text, name = None, tagreg = None, meta = None ):
    try:
        taglist=DTLexer.doTag(text, name)
    except DTExcept.DTLexicalError, val:
        # Ok, force the name here - its a decent hack Drew
        val.name = name
        raise val

    node = DTParser.parseit(text, taglist, tagreg, name)

    indent=0
    codeout=DTCompilerUtil.Output()
    DTCompilerUtil.genCodeNode ( indent, codeout, tagreg, node.children,
                                 meta )
    return codeout.getText()
    
def compileText(text, name):
    # Only catch syntax errors in the text, all else will fall through
    try:
        cobj = compile(text, name, 'exec')
    except SyntaxError, val:
        raise SkunkSyntaxError ( name, text, val )

    return cobj