diff --git a/app/panzer.py b/app/panzer.py new file mode 100644 index 0000000..7f74468 --- /dev/null +++ b/app/panzer.py @@ -0,0 +1,34 @@ +from app import app +from textwrap import wrap +from PIL import Image, ImageDraw, ImageFont +from io import BytesIO +import flask + +@app.route('/panzer/') +@app.route('/panzer') +@app.route('/panzer/') +@app.route('/panzer//') +def panzer(string='bionicles are cooler than sex'): + string = string.replace('+', ' ') + string = string.replace('\n', '%0A') + image = create_panzer(string) + return serve_pil_image(image) + +def create_panzer(string): + img = Image.open("./app/static/panzer.jpeg") + draw = ImageDraw.Draw(img) + font1 = ImageFont.truetype('./app/static/arial.ttf', size=30) + draw.text((10, 20), 'Oh panzer of the lake, what is your wisdom?', font=font1) + font2 = ImageFont.truetype('./app/static/arial.ttf', size=30) + topleft = (250, 500) + wrapped = wrap(string, width=25) + wrapped = [text.replace('%0A', '\n') for text in wrapped] + for y, text in enumerate(wrapped): + draw.text((topleft[0], topleft[1] + (y * 33)), text, font=font2) + return img + +def serve_pil_image(pil_img): + img_io = BytesIO() + pil_img.save(img_io, 'JPEG', quality=50) + img_io.seek(0) + return flask.send_file(img_io, mimetype='image/jpeg') \ No newline at end of file diff --git a/app/routes.py b/app/routes.py index 570cf44..49fd527 100644 --- a/app/routes.py +++ b/app/routes.py @@ -5,9 +5,6 @@ from app.custom import require_role from werkzeug.urls import url_parse from flask import render_template, redirect, url_for, flash, request, jsonify, abort, send_file from flask_login import current_user, login_user, logout_user, login_required -from io import BytesIO -from textwrap import wrap -from PIL import Image, ImageDraw, ImageFont from multiprocessing import Value import flask import requests @@ -76,40 +73,6 @@ def getAvatar(id=''): url = cdn.format(id, user['avatar']) return "".format(url) -def serve_pil_image(pil_img): - img_io = BytesIO() - pil_img.save(img_io, 'JPEG', quality=50) - img_io.seek(0) - return flask.send_file(img_io, mimetype='image/jpeg') - -@app.route('/panzer/') -@app.route('/panzer') -@app.route('/panzer/') -@app.route('/panzer//') -def panzer(string='bionicles are cooler than sex'): - string = string.replace('+', ' ') - string = string.replace('\n', '%0A') - image = create_panzer(string) - return serve_pil_image(image) - -def create_panzer(string): - img = Image.open("./app/static/panzer.jpeg") - draw = ImageDraw.Draw(img) - font1 = ImageFont.truetype('./app/static/arial.ttf', size=30) - draw.text((10, 20), 'Oh panzer of the lake, what is your wisdom?', font=font1) - font2 = ImageFont.truetype('./app/static/arial.ttf', size=30) - topleft = (250, 500) - wrapped = wrap(string, width=25) - wrapped = [text.replace('%0A', '\n') for text in wrapped] - for y, text in enumerate(wrapped): - draw.text((topleft[0], topleft[1] + (y * 33)), text, font=font2) - return img - -@app.errorhandler(404) -def page_not_found(e): - # note that we set the 404 status explicitly - return render_template('404.html'), 404 - @app.route('/userinfo/') @login_required @require_role(roles=['Admin']) diff --git a/app/simple_routes.py b/app/simple_routes.py index fcd67a8..96e00fb 100644 --- a/app/simple_routes.py +++ b/app/simple_routes.py @@ -1,5 +1,5 @@ from app import app -from flask import send_from_directory, redirect, url_for +from flask import send_from_directory, redirect, url_for, render_template import mistune import os @@ -19,4 +19,9 @@ def favicon(): @app.errorhandler(401) def unauthorized(e): - return redirect(url_for('login')) \ No newline at end of file + return redirect(url_for('login')) + +@app.errorhandler(404) +def page_not_found(e): + # note that we set the 404 status explicitly + return render_template('404.html'), 404 \ No newline at end of file diff --git a/app/templates/404.html b/app/templates/404.html index 61f4eda..f643f95 100644 --- a/app/templates/404.html +++ b/app/templates/404.html @@ -5,10 +5,10 @@

- 404 + {{ code }}

- Content Not Found... Go home? + {{ message }} Go home?

diff --git a/app/templates/profile.html b/app/templates/profile.html deleted file mode 100644 index 0cba42d..0000000 --- a/app/templates/profile.html +++ /dev/null @@ -1,72 +0,0 @@ -{% extends 'base.html' %} -{% block body %} - -
-
-
- -
-
-
-
- {{ user.username }}'s Profile -
-
-
- -
-
- -
-
- - -
-
- - {% if user.show_email or current_user.has_role('hidden') %} -
-
- - -
-
- {% endif %} - -
-
- - -
-
-
- -
- -
-
- -
-
-
-
-
- -
- -
-
- -{% endblock body %}} \ No newline at end of file