formatting

main
km0 2 years ago
parent 3469e8816e
commit b549925aa9

@ -1,16 +1,13 @@
class PrefixMiddleware(object):
def __init__(self, app, prefix=''):
def __init__(self, app, prefix=""):
self.app = app
self.prefix = prefix
def __call__(self, environ, start_response):
if environ['PATH_INFO'].startswith(self.prefix):
environ['PATH_INFO'] = environ['PATH_INFO'][len(self.prefix):]
environ['SCRIPT_NAME'] = self.prefix
if environ["PATH_INFO"].startswith(self.prefix):
environ["PATH_INFO"] = environ["PATH_INFO"][len(self.prefix) :]
environ["SCRIPT_NAME"] = self.prefix
return self.app(environ, start_response)
else:
start_response('404', [('Content-Type', 'text/plain')])
start_response("404", [("Content-Type", "text/plain")])
return ["This url does not belong to the app.".encode()]

@ -1,11 +1,12 @@
import os
import subprocess
from flask import Flask, render_template, request, send_from_directory
from prefix import PrefixMiddleware
import yaml
from dotenv import load_dotenv
from flask import Flask, render_template, request, send_from_directory
from markdown import markdown
import yaml
from prefix import PrefixMiddleware
load_dotenv()
@ -15,47 +16,55 @@ PREFIX = os.environ.get("PREFIX", "")
REPO = os.environ.get("REPO", "https://git.xpub.nl/kamo/thesis.git")
SERVER_NAME = os.environ.get("SERVER_NAME", "localhost:3000")
def pull():
print('Retrieving contents')
subprocess.call(['sh', 'update.sh', REPO])
print("Retrieving contents")
subprocess.call(["sh", "update.sh", REPO])
def render():
with open('index.yaml',"r") as i:
def render():
with open("index.yaml", "r") as i:
index = yaml.safe_load(i)
entries = []
for entry in index:
with open(os.path.join('contents', entry)) as e:
html = markdown(e.read(), extensions=[
'markdown.extensions.attr_list',
'markdown.extensions.codehilite',
'markdown.extensions.fenced_code'
])
with open(os.path.join("contents", entry)) as e:
html = markdown(
e.read(),
extensions=[
"markdown.extensions.attr_list",
"markdown.extensions.codehilite",
"markdown.extensions.fenced_code",
],
)
entries.append(html)
with open('index.html', 'w') as r:
with open("index.html", "w") as r:
r.write(render_template("render.html", contents=entries))
return 'rendered'
return "rendered"
app = Flask(__name__)
app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix=PREFIX)
app.config['SERVER_NAME'] = SERVER_NAME
app.config["SERVER_NAME"] = SERVER_NAME
pull();
pull()
with app.app_context():
render();
render()
@app.route('/')
@app.route("/")
def home():
return send_from_directory(app.root_path, 'index.html')
return send_from_directory(app.root_path, "index.html")
@app.route('/update', methods=['GET', 'POST'])
@app.route("/update", methods=["GET", "POST"])
def update():
if request.method == 'POST':
pull();
return 'GET method not supported'
if request.method == "POST":
pull()
return "GET method not supported"
app.run(port=PORT, debug=DEBUG)

@ -11,6 +11,7 @@ html, body {
.chapter {
max-width: 80ch;
margin-inline: auto;
padding-inline: 32px;
}
.chapter + .chapter {

Loading…
Cancel
Save