aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--uploader/files/__init__.py1
-rw-r--r--uploader/phenotypes/views.py29
2 files changed, 26 insertions, 4 deletions
diff --git a/uploader/files/__init__.py b/uploader/files/__init__.py
index 60d2f3b..53c3176 100644
--- a/uploader/files/__init__.py
+++ b/uploader/files/__init__.py
@@ -1,3 +1,4 @@
+"""General files and chunks utilities."""
from .chunks import chunked_binary_read
from .functions import (fullpath,
save_file,
diff --git a/uploader/phenotypes/views.py b/uploader/phenotypes/views.py
index 2d8abdb..9b2b38e 100644
--- a/uploader/phenotypes/views.py
+++ b/uploader/phenotypes/views.py
@@ -9,6 +9,7 @@ from functools import wraps, reduce
from logging import INFO, ERROR, DEBUG, FATAL, CRITICAL, WARNING
from redis import Redis
+from pymonad.either import Left
from requests.models import Response
from MySQLdb.cursors import DictCursor
from gn_libs.mysqldb import database_connection
@@ -593,6 +594,7 @@ def review_job_data(
def update_phenotype_metadata(conn, metadata: dict):
+ """Update a phenotype's basic metadata values."""
with conn.cursor(cursorclass=DictCursor) as cursor:
cursor.execute("SELECT * FROM Phenotype WHERE Id=%(phenotype-id)s",
metadata)
@@ -623,6 +625,7 @@ def update_phenotype_metadata(conn, metadata: dict):
def update_phenotype_values(conn, values):
+ """Update a phenotype's data values."""
with conn.cursor() as cursor:
cursor.executemany(
"UPDATE PublishData SET value=%(new)s "
@@ -637,6 +640,7 @@ def update_phenotype_values(conn, values):
def update_phenotype_se(conn, serrs):
+ """Update a phenotype's standard-error values."""
with conn.cursor() as cursor:
cursor.executemany(
"INSERT INTO PublishSE(DataId, StrainId, error) "
@@ -652,6 +656,7 @@ def update_phenotype_se(conn, serrs):
def update_phenotype_n(conn, counts):
+ """Update a phenotype's strain counts."""
with conn.cursor() as cursor:
cursor.executemany(
"INSERT INTO NStrain(DataId, StrainId, count) "
@@ -680,9 +685,25 @@ def update_phenotype_data(conn, data: dict):
def __separate_items__(acc, row):
key, val = row
- return ({**acc[0], key: {**val["value"], "changed?": (not val["value"]["new"] == val["value"]["original"])}},
- {**acc[1], key: {**val["se"] , "changed?": (not val["se"]["new"] == val["se"]["original"])}},
- {**acc[2], key: {**val["n"] , "changed?": (not val["n"]["new"] == val["n"]["original"])}})
+ return ({
+ **acc[0],
+ key: {
+ **val["value"],
+ "changed?": (not val["value"]["new"] == val["value"]["original"])
+ }
+ }, {
+ **acc[1],
+ key: {
+ **val["se"],
+ "changed?": (not val["se"]["new"] == val["se"]["original"])
+ }
+ },{
+ **acc[2],
+ key: {
+ **val["n"],
+ "changed?": (not val["n"]["new"] == val["n"]["original"])
+ }
+ })
values, serrs, counts = tuple(
tuple({
@@ -713,7 +734,7 @@ def update_phenotype_data(conn, data: dict):
species_redirect_uri="species.populations.phenotypes.index",
population_redirect_uri="species.populations.phenotypes.select_population",
redirect_uri="species.populations.phenotypes.list_datasets")
-def edit_phenotype_data(
+def edit_phenotype_data(# pylint: disable=[unused-argument]
species: dict,
population: dict,
dataset: dict,