aboutsummaryrefslogtreecommitdiff
path: root/qc_app/upload/rqtl2.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2024-02-13 04:09:34 +0300
committerFrederick Muriuki Muriithi2024-02-13 04:09:34 +0300
commit971d1383aa81947a1d43725150bcfa6eceec24f0 (patch)
tree0c538514aa416a31429422727a81a3570db899f9 /qc_app/upload/rqtl2.py
parent8b637a760362d08fb92152288d0b04f90299da5f (diff)
downloadgn-uploader-971d1383aa81947a1d43725150bcfa6eceec24f0.tar.gz
Provide nice UI progress indicators.
Diffstat (limited to 'qc_app/upload/rqtl2.py')
-rw-r--r--qc_app/upload/rqtl2.py22
1 files changed, 19 insertions, 3 deletions
diff --git a/qc_app/upload/rqtl2.py b/qc_app/upload/rqtl2.py
index 66b219d..a32019f 100644
--- a/qc_app/upload/rqtl2.py
+++ b/qc_app/upload/rqtl2.py
@@ -1,6 +1,7 @@
"""Module to handle uploading of R/qtl2 bundles."""
import sys
import json
+from typing import Union
from pathlib import Path
from datetime import date
from uuid import UUID, uuid4
@@ -227,9 +228,24 @@ def rqtl2_bundle_qc_status(jobid: UUID):
rqtl2bundle=Path(jobmeta["rqtl2-bundle-file"]),
rqtl2bundleorig=jobmeta["original-filename"])
- return render_template("rqtl2/rqtl2-qc-job-status.html",
- job=thejob,
- messages=tuple())
+ def compute_percentage(thejob, filetype) -> Union[str, None]:
+ if f"{filetype}-linecount" in thejob:
+ return "100"
+ if f"{filetype}-filesize" in thejob:
+ percent = ((int(thejob.get(f"{filetype}-checked", 0))
+ /
+ int(thejob.get(f"{filetype}-filesize", 1)))
+ * 100)
+ return f"{percent:.2f}"
+ return None
+
+ return render_template(
+ "rqtl2/rqtl2-qc-job-status.html",
+ job=thejob,
+ geno_percent=compute_percentage(thejob, "geno"),
+ pheno_percent=compute_percentage(thejob, "pheno"),
+ phenose_percent=compute_percentage(thejob, "phenose"),
+ messages=tuple())
except jobs.JobNotFound:
return render_template("rqtl2/no-such-job.html", jobid=jobid)