swsnider / sse-utilities

Utilities Website

This URL has Read+Write access

U-pauling_2\Silas Snider (author)
Sun Jun 28 00:00:36 -0700 2009
commit  bd3f044022acbb9683f89db8ed26ccd644411e71
tree    e258752dccc8f39c49f85c0b6a9bc972158c2a94
parent  22c0586487e659aaa604f2568f076a94b258a6bd
sse-utilities / util.py
100755 34 lines (30 sloc) 1.033 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
from jinja2 import Environment, FileSystemLoader, TemplateNotFound
import os
from google.appengine.api import users
import simplejson as json
 
def jsonify(f):
    def g(*args, **kwargs):
        args[0].response.out.write(json.dumps(f(*args, **kwargs)))
    return g
 
def render_template(name, template_values):
    template_dirs = []
    template_dirs.append(os.path.join(os.path.dirname(__file__), 'templates'))
    env = Environment(loader = FileSystemLoader(template_dirs))
    try:
        template = env.get_template(name)
    except TemplateNotFound:
        raise TemplateNotFound(name)
    return template.render(template_values)
 
def secure(f):
    def g(*args, **kwargs):
        if users.get_current_user():
            return f(*args, **kwargs)
        else:
            args[0].redirect("/")
    return g
 
def tg_template(name):
    def h(f):
        def g(*args, **kwargs):
            args[0].response.out.write(render_template(name, f(*args, **kwargs)))
        return g
    return h