def include ( T, template, vars = None, loader = None ): ''' evalutes template fragment(s) in the current (caller's) context ''' if type (template) is types.StringType: template = [template] results = [ ] for tpl in template: locals = { } if vars: locals.update ( vars ) frame = caller ( ) filename = "%s.%s" % ( tpl, T.extension ) if loader: T.loaders.append ( loader ) try: code = _cache.compile ( filename, T.root, T.loaders [ -1 ] ) result = eval ( code, frame.f_globals, locals ) finally: if loader: T.loaders.pop ( ) results.append (result) return results
def include(T, template, params=None, loader=None): # @NoSelf """ evalutes template fragment(s) in the current (caller's) context """ if isinstance(template, str): template = [template] results = [] for tpl in template: locals_ = {} if params: locals_.update(params) frame = caller() filename = "%s.%s" % (tpl, T.extension) if loader: T.loaders.append(loader) try: code = _cache.compile(filename, T.root, T.loaders[-1]) result = eval(code, frame.f_globals, locals_) finally: if loader: T.loaders.pop() results.append(result) return results
def include(T, template, vars=None, loader=None): ''' evalutes template fragment(s) in the current (caller's) context ''' if type(template) is types.StringType: template = [template] results = [] for tpl in template: locals = {} if vars: locals.update(vars) frame = caller() filename = "%s.%s" % (tpl, T.extension) if loader: T.loaders.append(loader) try: code = _cache.compile(filename, T.root, T.loaders[-1]) result = eval(code, frame.f_globals, locals) finally: if loader: T.loaders.pop() results.append(result) return results
def let ( **kw ): '''create named references to objects in the current context's local namespace''' caller ( ).f_locals.update ( kw ) return ''
def assign ( name, value ): '''create a named reference to an object in the global namespace''' caller ( ).f_globals [ name ] = value return ''
def macro ( name, function ): '''create a named reference to an anonymous function in the global namespace''' m = Macro ( name, function ) caller ( ).f_globals [ name ] = m return m