summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander_Kabui2022-09-28 14:19:08 +0300
committerAlexander_Kabui2022-09-28 14:19:08 +0300
commitece446764777995e7694b1db8e58a97cf545edfb (patch)
tree7e30dcf86d07e473d3d7a1df31f861c3878a7c87
parentb6f6058a3d3ca0406ce841fe803766bb6e5071cb (diff)
parentb992ade9e93f0235f79a9b28017ba022f724862a (diff)
downloadgn-gemtext-ece446764777995e7694b1db8e58a97cf545edfb.tar.gz
Merge branch 'main' of https://github.com/genenetwork/gn-gemtext-threads into main
-rw-r--r--issues/mapping-haley-knott-regression-chromosome-zoom-in-bug.gmi2
-rw-r--r--issues/rework-settings.gmi19
-rw-r--r--topics/maybe-monad.gmi8
-rw-r--r--topics/queries-and-prepared-statements-in-python.gmi2
4 files changed, 29 insertions, 2 deletions
diff --git a/issues/mapping-haley-knott-regression-chromosome-zoom-in-bug.gmi b/issues/mapping-haley-knott-regression-chromosome-zoom-in-bug.gmi
index d6064a4..8dea1e0 100644
--- a/issues/mapping-haley-knott-regression-chromosome-zoom-in-bug.gmi
+++ b/issues/mapping-haley-knott-regression-chromosome-zoom-in-bug.gmi
@@ -2,7 +2,7 @@
## Tags
-* status: open
+* status: closed
* keywords: mapping, Haley-Knott Regression
* priority: medium
* type: bug
diff --git a/issues/rework-settings.gmi b/issues/rework-settings.gmi
new file mode 100644
index 0000000..e2e6885
--- /dev/null
+++ b/issues/rework-settings.gmi
@@ -0,0 +1,19 @@
+# Rework Fetching Settings
+
+* assigned: bonfacem, zsloan, alex, fredm
+* tags: refactor
+
+In GN2, We fetch all our settings from the "wqflask.utility.tools". This module contains many functions that are only used once. As an example, consider this function which is defined in the aforementioned module:
+
+```
+def flat_files(subdir=None):
+ base = get_setting("GENENETWORK_FILES")
+ if subdir:
+ return assert_dir(base + "/" + subdir)
+ return assert_dir(base)
+```
+
+It's only used once in "wqflask/base/data_set/datasetgroup.py". ATM, now we have a more generic way of fetching settings from wqflask.database, appropriately called "get_setting". Perhaps, when this task is being worked on, we should move that "get_setting" to a more appropriately named module.
+
+Getting rid of how we currently fetch settings will make things less complex, and we get rid of many "asserts". This will force us to deal with missing values more gracefully; and as an example with how we handle missing values in global search using the Maybe Monad.
+
diff --git a/topics/maybe-monad.gmi b/topics/maybe-monad.gmi
index 5ec582c..7f2afa9 100644
--- a/topics/maybe-monad.gmi
+++ b/topics/maybe-monad.gmi
@@ -50,3 +50,11 @@ with conn.cursor(utility.monads.MonadicDictCursor) as cursor:
for row in cursor.fetchall():
row["foo"].bind(print)
```
+
+## Useful Resources
+
+=> https://www.miguelfarrajota.com/2021/06/monads-in-python-with-pymonad/
+
+=> https://jasondelaat.github.io/pymonad_docs/explanations/whats-a-monad.html
+
+=> https://simon.tournier.info/posts/2021-02-03-monad.html
diff --git a/topics/queries-and-prepared-statements-in-python.gmi b/topics/queries-and-prepared-statements-in-python.gmi
index 642ed96..969c27f 100644
--- a/topics/queries-and-prepared-statements-in-python.gmi
+++ b/topics/queries-and-prepared-statements-in-python.gmi
@@ -29,7 +29,7 @@ curr.execute(
WHERE Strain.Name IN ({})
and Strain.SpeciesId=Species.Id
and Species.name = %s
- """.format(", ".join(sample_data_keys)),
+ """.format(", ".join(["%s"] * len(sample_data_keys))),
(sample_data_keys + (dataset.group.species,)))
```