def test_cache_loader_change(self): loader1 = loaders.DictLoader({"foo": "one"}) loader2 = loaders.DictLoader({"foo": "two"}) env = Environment(loader=loader1, cache_size=2) assert env.get_template("foo").render() == "one" env.loader = loader2 assert env.get_template("foo").render() == "two"
def __init__(self): self.guarded_objects = {} self.clear = self.guarded_objects.clear def freeze(self): self.clear() for obj in gc.get_objects(): self.guarded_objects[id(obj)] = True def get_delta(self): frm = sys._getframe() result = [] for obj in gc.get_objects(): if id(obj) not in self.guarded_objects and \ obj is not frm and obj is not result: result.append(obj) return result m = MemoryGuard() if __name__ == '__main__': if len(sys.argv) > 1: from jinja import FileSystemLoader e.loader = FileSystemLoader(sys.argv[1]) if len(sys.argv) > 2: p(f=sys.argv[2]) else: p(sys.stdin.read())
def do_wrd(value): return value.split(".")[0] @stringfilter def do_crtobr(value): return value @stringfilter def do_rightpart(value): return value.split(None, 1)[1] env = Environment() env.loader = FileSystemLoader('.') env.filters['oms'] = do_oms env.filters['wrd'] = do_wrd env.filters['crtobr'] = do_crtobr env.filters['rightpart'] = do_rightpart def print_page0(filename, data): info = {"fname": filename, "data": data} tpl = env.get_template("page0.html") return tpl.render(info) def print_page1(data): info = {} for key, val in data.items():