Esempio n. 1
0
def main(argv=sys.argv[:]):
    template_folder = os.path.join(os.getcwd(), 'templates')
    renderer = Renderer(
            template_folder=template_folder,
            contexts=[
                ('index.html', get_works),
                ])
    renderer.run(debug=True, use_reloader=False)
    return 0
Esempio n. 2
0
    def filter_func(filepath):
        filename = os.path.basename(filepath)
        if filename.startswith(('.', '_')):
            return False
        if not filename.endswith('.html'):
            return False
        return True

    def dont_render(*args, **kwargs):
        print "Rendering..."
        pass

    if options.customwatch:
        options.dont_stop = True

    renderer = Renderer(outpath='./output', rules=[('.*.tmp', dont_render), ('.*.swx', dont_render), ('.*.swp', dont_render)])
    renderer._env.filters["markdown"] = markdown_filter
    renderer._env.filters['datetimeformat'] = datetimeformat
    renderer.filter_func = filter_func

    renderer.run(debug=True, use_reloader=not options.dont_stop)

    if options.customwatch:
        import easywatch

        def handler(file, handler):
            print "Detected changes: rendering again."
            renderer.run(debug=True, use_reloader=False)
            print "Render finished. Watching for changes..."

        print "Watching out for changes..."
Esempio n. 3
0
def parse_csv(filename):
    """Parse a CSV into a list."""
    with open(filename, 'rbU') as f:
        for line in csv.DictReader(f):
            yield line


def index():
    counter = collections.defaultdict(list)
    for player in parse_csv('data/players.csv'):
        counter[player['name']].append({
            'file': player['file'],
            'line': player['line']
        })

    players = ({
        'name': k,
        'score': len(v),
        'methods': sorted(v)
    } for k, v in counter.iteritems())
    return {
        'players': sorted(players, key=lambda p: int(p['score']), reverse=True)
    }


if __name__ == "__main__":
    renderer = Renderer(contexts=[
        ('index.html', index),
    ])
    renderer.run(debug=True, use_reloader=True)
def watch_templates():
    print 'Monitoring templates...'
    renderer = Renderer(outpath="html")

    renderer.run(debug=True, use_reloader=True)
Esempio n. 5
0
import csv
import collections

from staticjinja import Renderer


def parse_csv(filename):
    """Parse a CSV into a list."""
    with open(filename, "rbU") as f:
        for line in csv.DictReader(f):
            yield line


def index():
    counter = collections.defaultdict(list)
    for player in parse_csv("data/players.csv"):
        counter[player["name"]].append({"file": player["file"], "line": player["line"]})

    players = ({"name": k, "score": len(v), "methods": sorted(v)} for k, v in counter.iteritems())
    return {"players": sorted(players, key=lambda p: int(p["score"]), reverse=True)}


if __name__ == "__main__":
    renderer = Renderer(contexts=[("index.html", index)])
    renderer.run(debug=True, use_reloader=True)