about summary refs log tree commit diff
path: root/qc_app/dbinsert.py
diff options
context:
space:
mode:
authorFrederick Muriuki Muriithi2023-10-16 14:41:39 +0300
committerFrederick Muriuki Muriithi2023-10-16 14:41:39 +0300
commitc9af16ce37ccfbf75183ed0214e3a52a9d91dcc7 (patch)
tree1f6e2ae055e40fe326883cb120dc9788c2673e39 /qc_app/dbinsert.py
parent0d5dc5489837957e3fab513b9dcc550eddfe53ca (diff)
downloadgn-uploader-c9af16ce37ccfbf75183ed0214e3a52a9d91dcc7.tar.gz
Indicate progress for data insert.
Diffstat (limited to 'qc_app/dbinsert.py')
-rw-r--r--qc_app/dbinsert.py36
1 files changed, 20 insertions, 16 deletions
diff --git a/qc_app/dbinsert.py b/qc_app/dbinsert.py
index 32043a7..e9dc3ff 100644
--- a/qc_app/dbinsert.py
+++ b/qc_app/dbinsert.py
@@ -134,8 +134,9 @@ def select_platform():
                 gchips = genechips()
                 return render_template(
                     "select_platform.html", filename=filename,
-                    filetype=job["filetype"], default_species=default_species,
-                    species=species(), genechips=gchips[default_species],
+                    filetype=job["filetype"], totallines=int(job["currentline"]),
+                    default_species=default_species, species=species(),
+                    genechips=gchips[default_species],
                     genechips_data=json.dumps(gchips))
             return render_error(f"File '{filename}' no longer exists.")
         return render_error(f"Job '{job_id}' no longer exists.")
@@ -159,8 +160,9 @@ def select_study():
             organise_groups_by_family, groups_by_species(speciesid), {})
         return render_template(
             "select_study.html", filename=form["filename"],
-            filetype=form["filetype"], species=speciesid, genechipid=genechipid,
-            studies=the_studies, groups=the_groups, tissues = tissues(),
+            filetype=form["filetype"], totallines=form["totallines"],
+            species=speciesid, genechipid=genechipid, studies=the_studies,
+            groups=the_groups, tissues = tissues(),
             selected_group=int(form.get("inbredsetid", -13)),
             selected_tissue=int(form.get("tissueid", -13)))
     except AssertionError as aserr:
@@ -198,8 +200,8 @@ def create_study():
                 return render_template(
                     "continue_from_create_study.html",
                     filename=form["filename"], filetype=form["filetype"],
-                    species=form["species"], genechipid=form["genechipid"],
-                    studyid=new_studyid)
+                    totallines=form["totallines"], species=form["species"],
+                    genechipid=form["genechipid"], studyid=new_studyid)
     except AssertionError as aserr:
         flash(f"Missing data: {aserr.args[0]}", "alert-error")
         return redirect(url_for("dbinsert.select_study"), code=307)
@@ -252,9 +254,10 @@ def select_dataset():
         datasets = datasets_by_study(studyid)
         return render_template(
             "select_dataset.html", filename=form["filename"],
-            filetype=form["filetype"], species=form["species"],
-            genechipid=form["genechipid"], studyid=studyid, datasets=datasets,
-            avgmethods=averaging_methods(), datascales=dataset_datascales())
+            filetype=form["filetype"], totallines=form["totallines"],
+            species=form["species"], genechipid=form["genechipid"],
+            studyid=studyid, datasets=datasets, avgmethods=averaging_methods(),
+            datascales=dataset_datascales())
     except AssertionError as aserr:
         return render_error(f"Missing data: {aserr.args[0]}")
 
@@ -295,7 +298,8 @@ def create_dataset():
                     "continue_from_create_dataset.html",
                     filename=form["filename"], filetype=form["filetype"],
                     species=form["species"], genechipid=form["genechipid"],
-                    studyid=form["studyid"], datasetid=new_datasetid)
+                    studyid=form["studyid"], datasetid=new_datasetid,
+                    totallines=form["totallines"])
     except AssertionError as aserr:
         flash(f"Missing data {aserr.args[0]}", "alert-error")
         return redirect(url_for("dbinsert.select_dataset"), code=307)
@@ -343,9 +347,9 @@ def final_confirmation():
         datasetid=form["datasetid"]
         return render_template(
             "final_confirmation.html", filename=form["filename"],
-            filetype=form["filetype"], species=speciesid, genechipid=genechipid,
-            studyid=studyid, datasetid=datasetid,
-            the_species=selected_keys(
+            filetype=form["filetype"], totallines=form["totallines"],
+            species=speciesid, genechipid=genechipid, studyid=studyid,
+            datasetid=datasetid, the_species=selected_keys(
                 species_by_id(speciesid), ("SpeciesName", "Name", "MenuName")),
             platform=selected_keys(
                 platform_by_id(genechipid),
@@ -378,9 +382,9 @@ def insert_data():
             with Redis.from_url(redisurl, decode_responses=True) as rconn:
                 job = jobs.launch_job(
                     jobs.data_insertion_job(
-                        rconn, filepath, form.get("filetype"),
-                        form.get("species"), form.get("genechipid"),
-                        form.get("datasetid"), app.config["SQL_URI"], redisurl,
+                        rconn, filepath, form["filetype"], form["totallines"],
+                        form["species"], form["genechipid"], form["datasetid"],
+                        app.config["SQL_URI"], redisurl,
                         app.config["JOBS_TTL_SECONDS"]),
                     redisurl, f"{app.config['UPLOAD_FOLDER']}/job_errors")