aboutsummaryrefslogtreecommitdiff
path: root/gn3/db/traits.py
diff options
context:
space:
mode:
Diffstat (limited to 'gn3/db/traits.py')
-rw-r--r--gn3/db/traits.py102
1 files changed, 60 insertions, 42 deletions
diff --git a/gn3/db/traits.py b/gn3/db/traits.py
index 772db52..a7e7e7c 100644
--- a/gn3/db/traits.py
+++ b/gn3/db/traits.py
@@ -135,56 +135,74 @@ def update_sample_data(conn: Any, #pylint: disable=[R0913]
with conn.cursor() as cursor:
# Update the PublishData table
- cursor.execute(("UPDATE PublishData SET value = %s "
+ if value == "x":
+ cursor.execute(("DELETE FROM PublishData "
+ "WHERE StrainId = %s AND Id = %s")
+ % (strain_id, data_id))
+ updated_published_data = cursor.rowcount
+ else:
+ cursor.execute(("UPDATE PublishData SET value = %s "
"WHERE StrainId = %s AND Id = %s"),
- (None if value == "x" else value,
- strain_id, data_id))
- updated_published_data = cursor.rowcount
- if not updated_published_data:
- cursor.execute(
+ (value, strain_id, data_id))
+ updated_published_data = cursor.rowcount
+
+ if not updated_published_data:
+ cursor.execute(
"SELECT * FROM "
"PublishData WHERE StrainId = "
"%s AND Id = %s" % (strain_id, data_id))
- if not cursor.fetchone():
- cursor.execute(("INSERT INTO PublishData (Id, StrainId, "
- " value) VALUES (%s, %s, %s)") %
- (data_id, strain_id, value))
- updated_published_data = cursor.rowcount
+ if not cursor.fetchone():
+ cursor.execute(("INSERT INTO PublishData (Id, StrainId, "
+ " value) VALUES (%s, %s, %s)") %
+ (data_id, strain_id, value))
+ updated_published_data = cursor.rowcount
# Update the PublishSE table
- cursor.execute(("UPDATE PublishSE SET error = %s "
- "WHERE StrainId = %s AND DataId = %s"),
- (None if error == "x" else error,
- strain_id, data_id))
- updated_se_data = cursor.rowcount
- if not updated_se_data:
- cursor.execute(
- "SELECT * FROM "
- "PublishSE WHERE StrainId = "
- "%s AND DataId = %s" % (strain_id, data_id))
- if not cursor.fetchone():
- cursor.execute(("INSERT INTO PublishSE (StrainId, DataId, "
- " error) VALUES (%s, %s, %s)") %
- (strain_id, data_id,
- None if error == "x" else error))
- updated_se_data = cursor.rowcount
+ if error == "x":
+ cursor.execute(("DELETE FROM PublishSE "
+ "WHERE StrainId = %s AND DataId = %s") %
+ (strain_id, data_id))
+ updated_se_data = cursor.rowcount
+ else:
+ cursor.execute(("UPDATE PublishSE SET error = %s "
+ "WHERE StrainId = %s AND DataId = %s"),
+ (None if error == "x" else error,
+ strain_id, data_id))
+ updated_se_data = cursor.rowcount
+ if not updated_se_data:
+ cursor.execute(
+ "SELECT * FROM "
+ "PublishSE WHERE StrainId = "
+ "%s AND DataId = %s" % (strain_id, data_id))
+ if not cursor.fetchone():
+ cursor.execute(("INSERT INTO PublishSE (StrainId, DataId, "
+ " error) VALUES (%s, %s, %s)") %
+ (strain_id, data_id,
+ None if error == "x" else error))
+ updated_se_data = cursor.rowcount
# Update the NStrain table
- cursor.execute(("UPDATE NStrain SET count = %s "
- "WHERE StrainId = %s AND DataId = %s"),
- (count, strain_id, data_id))
- updated_n_strains = cursor.rowcount
- if not updated_n_strains:
- cursor.execute(
- "SELECT * FROM "
- "NStrain WHERE StrainId = "
- "%s AND DataId = %s" % (strain_id, data_id))
- if not cursor.fetchone():
- cursor.execute(("INSERT INTO NStrain "
- "(StrainId, DataId, count) "
- "VALUES (%s, %s, %s)") %
- (strain_id, data_id, count))
- updated_n_strains = cursor.rowcount
+ if count == "x":
+ cursor.execute(("DELETE FROM NStrain "
+ "WHERE StrainId = %s AND DataId = %s" %
+ (strain_id, data_id)))
+ updated_n_strains = cursor.rowcount
+ else:
+ cursor.execute(("UPDATE NStrain SET count = %s "
+ "WHERE StrainId = %s AND DataId = %s"),
+ (count, strain_id, data_id))
+ updated_n_strains = cursor.rowcount
+ if not updated_n_strains:
+ cursor.execute(
+ "SELECT * FROM "
+ "NStrain WHERE StrainId = "
+ "%s AND DataId = %s" % (strain_id, data_id))
+ if not cursor.fetchone():
+ cursor.execute(("INSERT INTO NStrain "
+ "(StrainId, DataId, count) "
+ "VALUES (%s, %s, %s)") %
+ (strain_id, data_id, count))
+ updated_n_strains = cursor.rowcount
return (updated_published_data,
updated_se_data, updated_n_strains)