about summary refs log tree commit diff
path: root/qc_app/parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'qc_app/parse.py')
-rw-r--r--qc_app/parse.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/qc_app/parse.py b/qc_app/parse.py
index 578ab70..ec9962b 100644
--- a/qc_app/parse.py
+++ b/qc_app/parse.py
@@ -20,6 +20,7 @@ from quality_control.parsing import (
     strain_names)
 
 parsebp = Blueprint("parse", __name__)
+isinvalidvalue = lambda item: isinstance(item, InvalidValue)
 
 @parsebp.route("/parse", methods=["GET"])
 def parse():
@@ -72,19 +73,23 @@ def parse_status(job_id: str):
         progress = float(job["percent"])
         status = job["status"]
         filename = job.get("filename", "uploaded file")
+        errors = jsonpickle.decode(
+            job.get("errors", jsonpickle.encode(tuple())))
         if status == "success":
             return redirect(url_for("parse.results", job_id=job_id))
 
         if status == "parse-error":
             return redirect(url_for("parse.fail", job_id=job_id))
 
+        app.jinja_env.globals.update(isinvalidvalue=isinvalidvalue)
         return render_template(
             "job_progress.html",
             job_id = job_id,
             job_status = status,
             progress = progress,
             message = job.get("message", ""),
-            job_name = f"Parsing '{filename}'")
+            job_name = f"Parsing '{filename}'",
+            errors=errors)
 
     return render_template("no_such_job.html", job_id=job_id)
 
@@ -97,11 +102,11 @@ def results(job_id: str):
     if job:
         filename = job["filename"]
         errors = jsonpickle.decode(job["errors"])
+        app.jinja_env.globals.update(isinvalidvalue=isinvalidvalue)
         return render_template(
             "parse_results.html",
             errors=errors,
-            job_name = f"Parsing '{filename}'",
-            isinvalidvalue=lambda item: isinstance(item, InvalidValue))
+            job_name = f"Parsing '{filename}'")
 
     return render_template("no_such_job.html", job_id=job_id)