From ab71b34b97f3f1eee52b5688f41644541535f281 Mon Sep 17 00:00:00 2001 From: Frederick Muriuki Muriithi Date: Mon, 5 Feb 2024 07:00:01 +0300 Subject: Do general bundle validation and show errors * Display any and all errors on the UI * Move `validate_bundle` to QC module and refactor to use `missing_files` --- qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html | 6 +++--- qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html | 3 ++- qc_app/upload/rqtl2.py | 10 ++++++---- 3 files changed, 11 insertions(+), 8 deletions(-) (limited to 'qc_app') diff --git a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html b/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html index 6491e6b..64fcdcd 100644 --- a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html +++ b/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-01.html @@ -1,5 +1,5 @@ {%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} +{%from "flash_messages.html" import flash_all_messages%} {%block title%}Upload R/qtl2 Bundle{%endblock%} @@ -16,12 +16,12 @@ - {{flash_messages("error-rqtl2")}} + {{flash_all_messages()}}
file upload -

Provide a valid R/qtl2 zip file here. In diff --git a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html b/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html index 9269a3c..01721e9 100644 --- a/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html +++ b/qc_app/templates/rqtl2/upload-rqtl2-bundle-step-02.html @@ -1,5 +1,5 @@ {%extends "base.html"%} -{%from "flash_messages.html" import flash_messages%} +{%from "flash_messages.html" import flash_all_messages%} {%block title%}Upload R/qtl2 Bundle{%endblock%} @@ -20,6 +20,7 @@ population_id=population.InbredSetId)}}" method="POST" enctype="multipart/form-data"> + {{flash_all_messages()}} diff --git a/qc_app/upload/rqtl2.py b/qc_app/upload/rqtl2.py index eea49e1..2d032f8 100644 --- a/qc_app/upload/rqtl2.py +++ b/qc_app/upload/rqtl2.py @@ -18,6 +18,8 @@ from flask import ( current_app as app) from r_qtl import r_qtl2 +from r_qtl import errors as rqe +from r_qtl import r_qtl2_qc as rqc from r_qtl.errors import InvalidFormat from qc_app import jobs @@ -157,11 +159,11 @@ def upload_rqtl2_bundle(species_id: int, population_id: int): species=species, population=population) - if not bool(request.files.get("rqtl2_bundle")): + if not bool(request.files.get("rqtl2_bundle_file")): raise __RequestError__("No R/qtl2 zip bundle provided.") - the_file = save_file( - request.files["rqtl2_bundle"], Path(app.config["UPLOAD_FOLDER"])) + the_file = save_file(request.files["rqtl2_bundle_file"], + Path(app.config["UPLOAD_FOLDER"])) if not bool(the_file): raise __RequestError__("Please provide a valid R/qtl2 zip bundle.") @@ -170,7 +172,7 @@ def upload_rqtl2_bundle(species_id: int, population_id: int): try: with ZipFile(str(the_file), "r") as zfile: - r_qtl2.validate_bundle(zfile) + rqc.validate_bundle(zfile) return render_template( "rqtl2/upload-rqtl2-bundle-step-02.html", species=species, -- cgit v1.2.3