From e218adb4171f4ea16914d9cc6d759c84dcd68d83 Mon Sep 17 00:00:00 2001
From: Jan Hartig <jan.hartig@ptb.de>
Date: Tue, 15 Aug 2023 11:58:57 +0200
Subject: [PATCH] Add default language configuration

---
 app.py              | 3 +--
 config.example.toml | 1 +
 forms.py            | 8 ++++----
 routes.py           | 6 +++---
 4 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/app.py b/app.py
index 9e22b51..ff77e3c 100644
--- a/app.py
+++ b/app.py
@@ -26,8 +26,7 @@ def create_app():
 
     for language in app.config["ENABLED_LOCALISATIONS"]:
         check_localisation(app.logger, app.config["LOCALISATIONS"], language)
-
-        del language
+    del language
 
     app.logger.info("Localisations loaded.")
 
diff --git a/config.example.toml b/config.example.toml
index 0c7bf39..c969ef0 100644
--- a/config.example.toml
+++ b/config.example.toml
@@ -3,6 +3,7 @@ UPLOAD_FOLDER = "uploads"
 MAX_CONTENT_LENGTH = 10 # in GB
 
 ENABLED_LOCALISATIONS = [ "de", "en" ]
+DEFAULT_LANGUAGE = "de"
 
 [ CONTACT ]
 ORG = "Fun Inc."
diff --git a/forms.py b/forms.py
index 27a9654..8b251e7 100644
--- a/forms.py
+++ b/forms.py
@@ -19,7 +19,7 @@ def validate_audio(_, field):
         if not has_audio:
             raise ValidationError("noaudiotrack")
     except av.AVError as e:
-        current_app.logger.error(
+        current_app.logger.info(
             "Error while checking audio of file '{}': {}".format(file.filename, str(e))
         )
         raise ValidationError("brokenfile")
@@ -27,15 +27,15 @@ def validate_audio(_, field):
 
 class UploadForm(FlaskForm):
     email = StringField(
-        current_app.config["LOCALISATIONS"]["email"]["label"]["de"],
+        current_app.config["LOCALISATIONS"]["email"]["label"][current_app.config["DEFAULT_LANGUAGE"]],
         validators=[InputRequired("invalidEmail"), Email("invalidEmail")],
     )
     language = SelectField(
-        current_app.config["LOCALISATIONS"]["language"]["label"]["de"],
+        current_app.config["LOCALISATIONS"]["language"]["label"][current_app.config["DEFAULT_LANGUAGE"]],
         validators=[InputRequired("required")],
     )
     file = FileField(
-        current_app.config["LOCALISATIONS"]["file"]["label"]["de"],
+        current_app.config["LOCALISATIONS"]["file"]["label"][current_app.config["DEFAULT_LANGUAGE"]],
         validators=[
             FileRequired("nofile"),
             FileSize(current_app.config["MAX_CONTENT_LENGTH"]),
diff --git a/routes.py b/routes.py
index fdb1e06..36d6594 100644
--- a/routes.py
+++ b/routes.py
@@ -2,10 +2,10 @@ import json
 from os import path, makedirs
 from uuid import uuid4
 
+import av
 from flask import current_app, render_template, abort, url_for, redirect, request, stream_with_context
 
 from forms import UploadForm
-import av
 
 
 @current_app.route("/upload/<string:language>", methods=["GET", "POST"])
@@ -75,7 +75,7 @@ def upload(language: str):
             if form.email.data:
                 form.email.data = form.email.data[:-7]
 
-    if language != "de":
+    if language != current_app.config["DEFAULT_LANGUAGE"]:
         form.email.label.text = current_app.config["LOCALISATIONS"]["email"]["label"][language]
         form.language.label.text = current_app.config["LOCALISATIONS"]["language"]["label"][language]
         form.file.label.text = current_app.config["LOCALISATIONS"]["file"]["label"][language]
@@ -86,7 +86,7 @@ def upload(language: str):
 @current_app.route("/")
 @current_app.route("/upload/")
 def default():
-    return redirect(url_for("upload", language="de"))
+    return redirect(url_for("upload", language=current_app.config["DEFAULT_LANGUAGE"]))
 
 
 def set_language(language):
-- 
GitLab