diff options
Diffstat (limited to 'wqflask/maintenance/set_resource_defaults.py')
-rw-r--r-- | wqflask/maintenance/set_resource_defaults.py | 153 |
1 files changed, 0 insertions, 153 deletions
diff --git a/wqflask/maintenance/set_resource_defaults.py b/wqflask/maintenance/set_resource_defaults.py deleted file mode 100644 index cebe33c0..00000000 --- a/wqflask/maintenance/set_resource_defaults.py +++ /dev/null @@ -1,153 +0,0 @@ -""" - -Script that sets default resource access masks for use with the DB proxy - -Defaults will be: -Owner - omni_gn -Mask - Public/non-confidential: { data: "view", - metadata: "view", - admin: "not-admin" } - Private/confidentia: { data: "no-access", - metadata: "no-access", - admin: "not-admin" } - -To run: -./bin/genenetwork2 ~/my_settings.py -c ./wqflask/maintenance/gen_select_dataset.py - -""" - -import sys -import json - -# NEW: Note we prepend the current path - otherwise a guix instance of GN2 may be used instead -sys.path.insert(0, './') - -# NEW: import app to avoid a circular dependency on utility.tools -from wqflask import app - -from utility import hmac -from utility.tools import get_setting -from utility.redis_tools import get_redis_conn, get_user_id, add_resource, get_resources, get_resource_info -Redis = get_redis_conn() - -import urllib.parse - -from wqflask.database import database_connection - - -def insert_probeset_resources(cursor, default_owner_id): - current_resources = Redis.hgetall("resources") - cursor.execute(""" SELECT - ProbeSetFreeze.Id, ProbeSetFreeze.Name, ProbeSetFreeze.confidentiality, ProbeSetFreeze.public - FROM - ProbeSetFreeze""") - - resource_results = cursor.fetchall() - for i, resource in enumerate(resource_results): - resource_ob = {} - resource_ob['name'] = resource[1] - resource_ob['owner_id'] = default_owner_id - resource_ob['data'] = {"dataset": str(resource[0])} - resource_ob['type'] = "dataset-probeset" - if resource[2] < 1 and resource[3] > 0: - resource_ob['default_mask'] = {"data": "view", - "metadata": "view", - "admin": "not-admin"} - else: - resource_ob['default_mask'] = {"data": "no-access", - "metadata": "no-access", - "admin": "not-admin"} - resource_ob['group_masks'] = {} - - add_resource(resource_ob, update=False) - - -def insert_publish_resources(cursor, default_owner_id): - current_resources = Redis.hgetall("resources") - cursor.execute(""" SELECT - PublishXRef.Id, PublishFreeze.Id, InbredSet.InbredSetCode - FROM - PublishXRef, PublishFreeze, InbredSet, Publication - WHERE - PublishFreeze.InbredSetId = PublishXRef.InbredSetId AND - InbredSet.Id = PublishXRef.InbredSetId AND - Publication.Id = PublishXRef.PublicationId""") - - resource_results = cursor.fetchall() - for resource in resource_results: - if resource[2]: - resource_ob = {} - if resource[2]: - resource_ob['name'] = resource[2] + "_" + str(resource[0]) - else: - resource_ob['name'] = str(resource[0]) - resource_ob['owner_id'] = default_owner_id - resource_ob['data'] = {"dataset": str(resource[1]), - "trait": str(resource[0])} - resource_ob['type'] = "dataset-publish" - resource_ob['default_mask'] = {"data": "view", - "metadata": "view", - "admin": "not-admin"} - - resource_ob['group_masks'] = {} - - add_resource(resource_ob, update=False) - else: - continue - - -def insert_geno_resources(cursor, default_owner_id): - current_resources = Redis.hgetall("resources") - cursor.execute(""" SELECT - GenoFreeze.Id, GenoFreeze.ShortName, GenoFreeze.confidentiality - FROM - GenoFreeze""") - - resource_results = cursor.fetchall() - for i, resource in enumerate(resource_results): - resource_ob = {} - resource_ob['name'] = resource[1] - if resource[1] == "HET3-ITPGeno": - resource_ob['owner_id'] = "c5ce8c56-78a6-474f-bcaf-7129d97f56ae" - else: - resource_ob['owner_id'] = default_owner_id - resource_ob['data'] = {"dataset": str(resource[0])} - resource_ob['type'] = "dataset-geno" - if resource[2] < 1: - resource_ob['default_mask'] = {"data": "view", - "metadata": "view", - "admin": "not-admin"} - else: - resource_ob['default_mask'] = {"data": "no-access", - "metadata": "no-access", - "admin": "not-admin"} - resource_ob['group_masks'] = {} - - add_resource(resource_ob, update=False) - - -def insert_resources(default_owner_id): - current_resources = get_resources() - print("START") - insert_publish_resources(cursor, default_owner_id) - print("AFTER PUBLISH") - insert_geno_resources(cursor, default_owner_id) - print("AFTER GENO") - insert_probeset_resources(cursor, default_owner_id) - print("AFTER PROBESET") - - -def main(cursor): - """Generates and outputs (as json file) the data for the main dropdown menus on the home page""" - - Redis.delete("resources") - - owner_id = "c5ce8c56-78a6-474f-bcaf-7129d97f56ae" - - insert_resources(owner_id) - - -if __name__ == '__main__': - with database_connection(get_setting("SQL_URI")) as conn: - with conn.cursor() as cursor: - main(cursor) |