From 130f2ac1c680af80da25364c35360d7bd7d0ef16 Mon Sep 17 00:00:00 2001 From: Andreas Stephanides Date: Wed, 1 Feb 2017 22:11:24 +0100 Subject: [PATCH] frozen --- cont.py~ | 86 ++++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 87 insertions(+) create mode 100644 cont.py~ diff --git a/cont.py~ b/cont.py~ new file mode 100644 index 0000000..71b70eb --- /dev/null +++ b/cont.py~ @@ -0,0 +1,86 @@ +import sys +from flask import Flask, render_template, send_from_directory +from flask_flatpages import FlatPages, pygments_style_defs +from flask_frozen import Freezer +from os import listdir +import os +from os.path import isfile, join +DEBUG = True +FLATPAGES_AUTO_RELOAD = DEBUG +FLATPAGES_EXTENSION = '.md' +FLATPAGES_ROOT = 'contents' +POST_DIR = 'posts' +import re +app = Flask(__name__) +flatpages = FlatPages(app) +freezer = Freezer(app) +app.config.from_object(__name__) + +def list_dir(mypath): + return [f for f in listdir(mypath) if isfile(join(mypath, f)) and re.match('.*\.md.*',f) is None] + +def get_sub_pages(path, page): + ppath=page.path + cc=len(path.split('/')) + return [p for p in flatpages if p.path.startswith(path) and ( re.match('.*index',p.path) is None) and len(p.path.split('/'))/') +def post(name): + is_index, path, page = get_flatpage(name) + + if is_index == True and not page is None: + path2 = '{}/{}'.format(FLATPAGES_ROOT,path) + ld=list_dir(path2) + sp=get_sub_pages(path,page) + spi=get_sub_ipages(path,page) + else: + ld=[] + sp=[] + spi=[] + + if page is not None and (not page.meta.has_key("title") or (page.meta["title"] is None)): + print path + page.meta["title"]=path.split('/')[-1] + + if page is not None and page.meta.has_key("template"): + t=page["template"] + else: + if page is not None: + page.meta["template"]='post.html' + + if not page is None: + return render_template(page["template"], ld=ld, post=page, sp=sp, spi=spi) + + if os.path.exists('{}/{}'.format(FLATPAGES_ROOT,path)): + return send_from_directory(FLATPAGES_ROOT,path) + else: + return send_from_directory('static',path) + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "build": + freezer.freeze() + else: + app.run(host='0.0.0.0', debug=True) diff --git a/requirements.txt b/requirements.txt index cbc7c45..51ff269 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ flask flask_flatpages +flask_frozen