56 lines
1.7 KiB
Python
Raw Normal View History

import os
from flask import Flask, redirect, url_for, render_template, request, flash
from .src import host_lookup
from dotenv import load_dotenv
from markupsafe import escape
# Instead of turning 'lookup' into a Blueprint, maybe I could make a history of previous lookups a Blueprint?
def create_app(test_config=None):
app = Flask(__name__)
app.config.from_pyfile("config.py")
load_dotenv()
app.secret_key = os.getenv("SECRET_KEY")
if test_config is None:
app.config.from_pyfile("config.py", silent=True)
else:
app.config.update(test_config)
try:
os.makedirs(app.instance_path)
except OSError:
pass
@app.route("/")
def index():
# return render_template("index.html")
return redirect(url_for("lookup"))
@app.route("/lookup", methods=(["GET", "POST"]))
def lookup():
hosts = []
results = []
if request.method == "GET":
return render_template("lookup.html")
elif request.method == "POST" and any(request.form.get("host")):
print(f'REQUEST.FORM.GET("HOST") IS {request.form.get("host")}')
user_input = escape(request.form.get("host").strip())
hosts, errors = host_lookup.process_input(user_input)
for host in hosts:
result = host_lookup.Lookedup(host)
results.append(result)
return render_template("results.html", hosts=results, errors=errors)
else:
flash("Nothing entered! Try again?", "error")
return render_template("lookup.html")
def lookup():
hosts = []
# from . import lookup
# app.register_blueprint(lookup.bp)
return app