Age | Commit message (Collapse) | Author |
|
The names had been changed when refactoring the code but can now be restored.
|
|
|
|
|
|
Create the application and set up configs and other things within an
application factory function.
Fix obvious egregious errors preventing the application from starting
up correctly.
|
|
* Introduce flask Blueprints to help with decoupling the various
modules from the `wqflask/__init__.py` module
* Refactor settings: Create a function
`base.webqtlConfig.init_app(...)` to handle setting up the
configurations on the app correctly. Call this function at app
creation time.
* Move configuration utility functions from `utility.tools` module to
`utility.configuration` module.
* Use the `get_setting(...)` function to retrieve configuration
settings from the application.
|
|
|
|
Use the privileges from the authorisation endpoint to control which
elements of the UI are displayed to the user.
* wqflask/base/trait.py: Remove unused import
* wqflask/wqflask/show_trait/show_trait.py: Unhook from GN-PROXY
* wqflask/wqflask/templates/show_trait.html: Display or hide UI
elements depending on the privileges the user has.
* wqflask/wqflask/templates/show_trait_details.html: Display or hide
UI elements depending on the privileges the user has.
* wqflask/wqflask/views.py: Pass privileges, user, and resource
details on to the UI template to be used for controlling UI element
display.
|
|
|
|
|
|
pre/post_publication_abbreviation if they're not None
|
|
|
|
up in correlation drop-down)
|
|
* wqflask/base/data_set/dataset.py: Delete itertools, DictCursor.
(DataSet.get_accession_id): Handle a case where query_sql returns a
None value.
|
|
Some rows in InfoFiles have NULL values thereby causing an exception
to be raised. All InfoFiles.DB_Name are unique.
* wqflask/base/data_set/dataset.py (DataSet.get_accession_id): Remove
shortname/fullname check in query.
|
|
* wqflask/base/data_set/dataset.py: Import itertools, DictCursor, MonadicDict,
Maybe, Nothing and query_sql.
(DataSet.__init__): Initialize accession_id to Nothing.
(DataSet.as_dict): Rename this to ...
(Dataset.as_monadic_dict): ... this which returns a monadic
dictionary.
(DataSet.get_accession_id): Query for the accession_id and return it
as a maybe monad.
|
|
In Jinja, you can use dot notation to check for values. If a value
does not exist, you get None by default.
* wqflask/base/data_set/dataset.py (Dataset.get_accession_id): Remove
returning a string version of None.
* wqflask/wqflask/templates/correlation_page.html: Delete `!= 'None'`.
|
|
|
|
* Pass the user_id for the current user to the
`check_resource_availability` function as an argument, rather than
using the global `g.user_session.user_id` value.
|
|
|
|
* Commit 49580eb9cd47bb2ce15fd44be11bb9580d85efef removed the use of
the gn-proxy, but left some code that was used expressly for use
with the gn-proxy. This commit removes that code.
|
|
doesn't have a position in the DB
|
|
|
|
hardcoded into show_trait.build_correlation_tools (+ add BXD-Heart-Metals to that list)
I'm not sure why this logic exists, so it might be removed entirely later. I'm asking Rob
|
|
faster
|
|
|
|
|
|
|
|
|
|
Provide the database cursor as an argument to the methods of the two
classes:
* wqflask.base.species.TheSpecies
* wqflask.base.species.Chromosomes
Also update dependent code to initialise and pass the cursor where
these classes are used.
|
|
__init__.py
Previously it threw an error when it tried to use Markers/HumanMarkers
in datasetgroup.py; since Markers/HumanMarkers doesn't seem to be used
anywhere else, I think it's okay for the import to only be in
datasetgroup.py
|
|
Pass the redis and database connection/cursors as arguments to the
class methods, and do not retain a copy of the connections/cursors.
This allows us to do the connection management in the context
managers elsewhere - ideally, at the top-level. For now the context
manager is within the `create_dataset` function, but this should be
moved out to a higher level once the lower levels are verified to be
working as expected.
|
|
Since the `__post_init__` method in the 'DatasetType' class checks
whether data is in redis before hitting the database, it does not
matter whether there is a global object of the type, as long as we
make sure to call the object correctly.
This commit makes that happen.
|
|
This reverts commit 4fafdfd8487ddf61105b2a5ca92534c8014c1db4.
While using `self.conn.cursor()` works in the tests, it will not work
in the application since the point of initialisation could be very
different from the point where the 'property' is called.
|
|
Use the `self.conn` variable to prevent test from failing.
|
|
To ease future refactors on the code, decompose the file into a module
with multiple modules that can be refactored semi-independently.
|
|
|
|
|
|
The assumption that the resultset will never be empty was leading to a
lot of errors.
|
|
After a recent change, it always tries to unpack 6 values from the
query, but it should only be unpacking 4 values if not type ProbeSet (so
it was throwing an error for anything not ProbeSet)
|
|
|
|
|
|
Bug/fix broken correlations
|
|
* wqflask/base/data_set.py (MrnaAssayDataSet.retrieve_sample_data):
Fix indentation.
|
|
* wqflask/base/trait.py: Import utility.hmac
|
|
|
|
|
|
Call the `database_connection()` function to get a connection to the
database.
|
|
|
|
* wqflask/base/species.py: Import "Any" and "Union".
(TheSpecies): Add type hints. Get rid of redundant "if ... else"
statement.
(IndChromosome.mb_length): Add type hints.
(Chromosomes): Inject conn and add type hints.
|
|
* wqflask/base/data_set.py (DataSet.retrieve_other_names): Call
cursor.fetchone() only once.
|