Add vercel
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +0,0 @@
|
|||||||
.vercel
|
|
||||||
@@ -2,6 +2,9 @@ from flask import *
|
|||||||
from render.initer import load_themes, render_pic
|
from render.initer import load_themes, render_pic
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
THIS_FOLDER = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
|
||||||
@@ -10,7 +13,7 @@ def create_pic():
|
|||||||
name_query = str(request.args.get("name"))
|
name_query = str(request.args.get("name"))
|
||||||
theme_query = str(request.args.get("t"))
|
theme_query = str(request.args.get("t"))
|
||||||
|
|
||||||
filename = render_pic(themes, name_query, theme_query)
|
filename = render_pic(themes, name_query, theme_query, THIS_FOLDER)
|
||||||
|
|
||||||
if filename == "error":
|
if filename == "error":
|
||||||
return "<h1>error</h1><br><h3>check if theme exist or name & theme is given!</h3>"
|
return "<h1>error</h1><br><h3>check if theme exist or name & theme is given!</h3>"
|
||||||
@@ -18,8 +21,9 @@ def create_pic():
|
|||||||
return send_file(filename, mimetype='image/gif')
|
return send_file(filename, mimetype='image/gif')
|
||||||
|
|
||||||
|
|
||||||
dirs = 'render/outputs'
|
if __name__ == "__main__":
|
||||||
for f in os.listdir(dirs):
|
dirs = os.path.join(THIS_FOLDER, "render/outputs")
|
||||||
|
for f in os.listdir(dirs):
|
||||||
os.remove(os.path.join(dirs, f))
|
os.remove(os.path.join(dirs, f))
|
||||||
themes = load_themes()
|
themes = load_themes(THIS_FOLDER)
|
||||||
app.run()
|
app.run()
|
||||||
@@ -4,22 +4,24 @@ from render.utils.render_worker import render_worker
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
|
|
||||||
def render_pic(themes, name, theme):
|
def render_pic(themes, name, theme, THIS_FOLDER):
|
||||||
|
file = os.path.join(THIS_FOLDER, f"render/outputs/{name}{theme}.png")
|
||||||
|
|
||||||
if theme == "None" or name == "None" or len(themes)-1 < int(theme):
|
if theme == "None" or name == "None" or len(themes)-1 < int(theme):
|
||||||
return "error"
|
return "error"
|
||||||
|
|
||||||
if not os.path.exists(f"render/outputs/{name}{theme}.png"):
|
if not os.path.exists(file):
|
||||||
print("Anfrage noch nicht gerendert, Wird nun erstellt ...")
|
print("Anfrage noch nicht gerendert, Wird nun erstellt ...")
|
||||||
filename = render_worker(name, int(theme), themes)
|
filename = render_worker(name, int(theme), themes, THIS_FOLDER)
|
||||||
return filename
|
return filename
|
||||||
|
|
||||||
else:
|
else:
|
||||||
print("Anfrage wurde schon gerendert, wird nun übergeben ...")
|
print("Anfrage wurde schon gerendert, wird nun übergeben ...")
|
||||||
return f"render/outputs/{name}{theme}.png"
|
return file
|
||||||
|
|
||||||
|
|
||||||
def load_themes():
|
def load_themes(THIS_FOLDER):
|
||||||
file = open("render/themelist.txt", "r")
|
file = open(os.path.join(THIS_FOLDER, "render/themelist.txt"))
|
||||||
liste = readfile(file)
|
liste = readfile(file)
|
||||||
file.close()
|
file.close()
|
||||||
return liste
|
return liste
|
||||||
|
|||||||
@@ -2,16 +2,17 @@ from PIL import Image
|
|||||||
from PIL import ImageFont
|
from PIL import ImageFont
|
||||||
from PIL import ImageDraw
|
from PIL import ImageDraw
|
||||||
from render.utils.text_align import get_text_align
|
from render.utils.text_align import get_text_align
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
def render_worker(name: str, theme: int, themes):
|
def render_worker(name: str, theme: int, themes, THIS_FOLDER:str):
|
||||||
img = Image.open(f"render/themes/{themes[theme].getdataname()}")
|
img = Image.open(os.path.join(THIS_FOLDER, f"render/themes/{themes[theme].getdataname()}"))
|
||||||
font = ImageFont.truetype(f"render/fonts/{themes[theme].getfontname()}", int(themes[theme].getbold()))
|
font = ImageFont.truetype(os.path.join(THIS_FOLDER, f"render/fonts/{themes[theme].getfontname()}"), int(themes[theme].getbold()))
|
||||||
|
|
||||||
draw = ImageDraw.Draw(img)
|
draw = ImageDraw.Draw(img)
|
||||||
|
|
||||||
msg = name
|
msg = name
|
||||||
|
|
||||||
draw.text(get_text_align(msg, font, (1024, 1024)), msg, (int(themes[theme].getcolor1()), int(themes[theme].getcolor2()), int(themes[theme].getcolor3())), font=font)
|
draw.text(get_text_align(msg, font, (1024, 1024)), msg, (int(themes[theme].getcolor1()), int(themes[theme].getcolor2()), int(themes[theme].getcolor3())), font=font)
|
||||||
img.save(f"render/outputs/{name}{theme}.png")
|
img.save(os.path.join(THIS_FOLDER, f"render/outputs/{name}{theme}.png"))
|
||||||
return f"render/outputs/{name}{theme}.png"
|
return os.path.join(THIS_FOLDER, f"render/outputs/{name}{theme}.png")
|
||||||
|
|||||||
BIN
requirements.txt
BIN
requirements.txt
Binary file not shown.
15
vercel.json
15
vercel.json
@@ -1,15 +0,0 @@
|
|||||||
{
|
|
||||||
"version": 2,
|
|
||||||
"builds": [
|
|
||||||
{
|
|
||||||
"src": "./app.py",
|
|
||||||
"use": "@vercel/python"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"routes": [
|
|
||||||
{
|
|
||||||
"src": "/(.*)",
|
|
||||||
"dest": "/"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user