Close #11 : Make the signature optionnal, lint file

This commit is contained in:
n07070
2026-05-17 12:56:56 +02:00
parent 0f9135707a
commit 6888a69ee7

View File

@@ -44,7 +44,7 @@ from web import Web # Wrapper for the web routes and API
app = Flask(__name__) app = Flask(__name__)
socketio = SocketIO(app) socketio = SocketIO(app)
ALLOWED_EXTENSIONS = {"png", "jpg", "jpeg", "gif","webp"} ALLOWED_EXTENSIONS = {"png", "jpg", "jpeg", "gif", "webp"}
# Load the configuration file # Load the configuration file
try: try:
@@ -82,6 +82,7 @@ except FileExistsError:
app.logger.debug("Directory %s already exists.", UPLOAD_FOLDER) app.logger.debug("Directory %s already exists.", UPLOAD_FOLDER)
except PermissionError: except PermissionError:
app.logger.error("Permission denied: Unable to create %s", UPLOAD_FOLDER) app.logger.error("Permission denied: Unable to create %s", UPLOAD_FOLDER)
exit(77)
# Output the config file # Output the config file
if os.getenv("LIPY_DEBUG") is True: if os.getenv("LIPY_DEBUG") is True:
@@ -165,14 +166,20 @@ def api_print_sms():
app.logger.debug("Printing an sms") app.logger.debug("Printing an sms")
try: try:
txt = request.form["txt"] txt = request.form["txt"]
sign = request.form["signature"]
except werkzeug.exceptions.BadRequestKeyError as e: except werkzeug.exceptions.BadRequestKeyError as e:
app.logger.error( app.logger.error("Whoops, we are missing the txt input field. : %s ", str(e))
"Whoops, no forms submitted or missing signature : %s ", str(e)
)
flash("Whoops, no forms submitted or missing signature : %s", str(e)) flash("Whoops, no forms submitted or missing signature : %s", str(e))
return redirect(url_for("index")) return redirect(url_for("index"))
try:
# comment: We try to get a signature
sign = request.form["signature"]
except werkzeug.exceptions.BadRequestKeyError as e:
app.logger.warning(
"No signature found for this print, using default signature.", str(e)
)
sign = configuration_file["defaults"]["signature"]
web.print_sms(txt, sign) web.print_sms(txt, sign)
return redirect(url_for("index")) return redirect(url_for("index"))
@@ -184,11 +191,13 @@ def api_print_image():
app.logger.debug("Printing an image") app.logger.debug("Printing an image")
try: try:
# comment: We try to get a signature
sign = request.form["signature"] sign = request.form["signature"]
except Exception as e: except werkzeug.exceptions.BadRequestKeyError as e:
app.logger.error("Whoops, no forms submitted or missing signature : %s", str(e)) app.logger.warning(
flash("Whoops, no forms submitted or missing signature : %s ", str(e)) "No signature found for this print, using default signature.", str(e)
return redirect(url_for("index")) )
sign = configuration_file["defaults"]["signature"]
if request.method == "POST": if request.method == "POST":
# check if the post request has the file part # check if the post request has the file part
@@ -258,7 +267,7 @@ def ratelimit_handler(e):
"Rate limit reached, please slow down :) ( Currently at " + e.description + ")", "Rate limit reached, please slow down :) ( Currently at " + e.description + ")",
"error", "error",
) )
app.logger.debug("Rate limit reached %s " , str(e.description)) app.logger.debug("Rate limit reached %s ", str(e.description))
return redirect(url_for("index")) return redirect(url_for("index"))
@@ -274,7 +283,7 @@ def ping():
@socketio.on("ping") @socketio.on("ping")
def handle_message(data): def handle_message(data):
"""Handle sockets pings""" """Handle sockets pings"""
app.logger.debug("Received : %s " , str(data)) app.logger.debug("Received : %s ", str(data))
socketio.emit("pong", "Pong !") socketio.emit("pong", "Pong !")