示例#1
0
 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"
示例#2
0
    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())
示例#3
0
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():