Bläddra i källkod

Update flask and add html index file

JoostSijm 6 år sedan
förälder
incheckning
eb1adf3a13
3 ändrade filer med 117 tillägg och 4 borttagningar
  1. 67 4
      app/flaskr.py
  2. 48 0
      app/static/index.html
  3. 2 0
      app/static/tutorial/.gitignore

+ 67 - 4
app/flaskr.py

@@ -6,15 +6,77 @@ Website for Craftbroec RR stuff
 import os
 import hashlib
 import hmac
-from subprocess import call
+import subprocess
+import shutil
 
-from flask import jsonify, abort, request
+from flask import jsonify, abort, request, send_from_directory
 from app import app
 
 
 @app.route('/')
 def index():
     """Show index page"""
+    return send_from_directory('static', 'index.html')
+
+
+@app.route("/tutorial")
+@app.route("/tutorial/book")
+def tutorial_book():
+    """Display book"""
+    return send_from_directory('static', 'tutorial/book.pdf')
+
+
+@app.route("/tutorial/article")
+def tutorial_article():
+    """Display book"""
+    return send_from_directory('static', 'tutorial/article.pdf')
+
+
+@app.route("/tutorial/dist")
+def tutorial_dist():
+    """Display book"""
+    return send_from_directory('static', 'tutorial/dist.pdf')
+
+
+@app.route("/tutorial.png")
+def tutorial_dist_png():
+    """Display book"""
+    return send_from_directory('static', 'tutorial/dist.png')
+
+
+@app.route('/typeset', methods=['GET', 'POST'])
+def typeset():
+    """Show index page"""
+    working_dir = os.getcwd()
+    if os.path.basename(working_dir) == 'rr':
+        os.chdir('rr_tutorial')
+
+    book_toc_size = os.path.getsize('master_book.toc')
+    article_toc_size = os.path.getsize('master_article.toc')
+    dist_toc_size = os.path.getsize('master_dist.toc')
+
+    subprocess.check_output(['xelatex', '-halt-on-error', 'master_book.tex'])
+    subprocess.check_output(['xelatex', '-halt-on-error', 'master_article.tex'])
+    subprocess.check_output(['./set.sh'])
+
+    if book_toc_size != os.path.getsize('master_book.toc'):
+        subprocess.check_output(['xelatex', '-halt-on-error', 'master_book.tex'])
+
+    if article_toc_size != os.path.getsize('master_article.toc'):
+        subprocess.check_output(['xelatex', '-halt-on-error', 'master_article.tex'])
+
+    if dist_toc_size != os.path.getsize('master_dist.toc'):
+        subprocess.check_output(['./set.sh'])
+
+
+    shutil.copyfile('master_book.pdf', '../app/static/tutorial/book.pdf')
+    shutil.copyfile('master_article.pdf', '../app/static/tutorial/article.pdf')
+    shutil.copyfile('master_dist.pdf', '../app/static/tutorial/dist.pdf')
+
+    subprocess.check_output(['./convert.sh'])
+    shutil.copyfile('master_dist.png', '../app/static/tutorial/dist.png')
+
+    os.chdir(working_dir)
     return jsonify(True)
 
 
@@ -27,6 +89,7 @@ def deploy():
     if len(signature) < 2 or not hmac.compare_digest(signature, digest):
         abort(400, 'Invalid signature')
 
-    call(['git', 'pull'])
-    call(['touch', 'flask.wsgi'])
+    subprocess.call(['pipenv', 'sync'])
+    subprocess.call(['git', 'pull'])
+    subprocess.call(['touch', 'flask.wsgi'])
     return jsonify(True)

+ 48 - 0
app/static/index.html

@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title>Rival Regions Tutorial</title>
+    <style type="text/css">
+    @font-face
+    {
+        font-family: STIX;
+        src: url("http://127.0.0.1:5000/static/STIX2Text-Regular.woff") format("woff"), 
+             url("http://127.0.0.1:5000/static/STIX2Text-Regular.otf") format("truetype");
+    }
+
+    body
+    {
+        display: flex;
+        justify-content: center;
+    }
+
+    .page
+    {
+        width: 500px;
+    }
+
+    h1
+    {
+        font-family: 'STIX', serif;
+        font-weight: normal;
+        font-size: 34pt;
+        text-align: center;
+        border-style: solid;
+        border-width: 1px 0;
+    }
+    </style>
+</head>
+<body>
+    <div class="page">
+        <h1>Rival Regions Tutorial</h1>
+        <p>In deze tutorial zijn de belangrijkste aspecten van het spel uitgelegd.</p>
+        <h2>Downloads</h2>
+        <p>
+            <ul>
+                <li><a href="https://rr.craftbroec.nl/tutorial/book">Book</a></li>
+                <li><a href="https://rr.craftbroec.nl/tutorial/article">Article</a></li>
+            </ul>
+        </p>
+    </div>
+</body>
+</html>

+ 2 - 0
app/static/tutorial/.gitignore

@@ -0,0 +1,2 @@
+*.pdf
+*.png