From 3e8bf3c4e72ca035f98142b3dc153de0a8e9d6a1 Mon Sep 17 00:00:00 2001 From: Nuwan Goonasekera Date: Fri, 18 Aug 2017 21:20:27 +0530 Subject: [PATCH] Moved genomespace token to environment variable --- tools/genomespace/genomespace_exporter.py | 9 ++++++--- tools/genomespace/genomespace_exporter.xml | 13 ++++++++----- tools/genomespace/genomespace_importer.py | 5 +++-- tools/genomespace/genomespace_push.xml | 10 +++++++--- 4 files changed, 24 insertions(+), 13 deletions(-) diff --git a/tools/genomespace/genomespace_exporter.py b/tools/genomespace/genomespace_exporter.py index 494c2a5e198..bca99e5e009 100644 --- a/tools/genomespace/genomespace_exporter.py +++ b/tools/genomespace/genomespace_exporter.py @@ -1,11 +1,13 @@ import argparse import binascii +import os import sys from genomespaceclient import GenomeSpaceClient def upload_to_genomespace(token, input_file, target_url): + token = token or os.environ.get('GS_TOKEN') gs_client = GenomeSpaceClient(token=token) gs_client.copy(input_file, target_url) print("File successfully copied.") @@ -13,12 +15,13 @@ def upload_to_genomespace(token, input_file, target_url): def process_args(args): parser = argparse.ArgumentParser() - parser.add_argument('-t', '--token', type=str, - help="GenomeSpace auth token", required=True) parser.add_argument('-i', '--input_file', type=str, help="File to export", required=True) parser.add_argument('-o', '--target_url', type=str, help="GenomeSpace output target folder location", required=True) + parser.add_argument('-t', '--token', type=str, + help="Optional OpenID/GenomeSpace token if not passed in as part of the URL as URLs^Token." + " If none, the environment variable GS_TOKEN will be respected.", required=False) args = parser.parse_args(args[1:]) return args @@ -26,7 +29,7 @@ def process_args(args): def main(): args = process_args(sys.argv) - upload_to_genomespace(binascii.unhexlify(args.token).decode('utf-8'), + upload_to_genomespace(args.token, binascii.unhexlify(args.input_file).decode('utf-8'), binascii.unhexlify(args.target_url).decode('utf-8')) diff --git a/tools/genomespace/genomespace_exporter.xml b/tools/genomespace/genomespace_exporter.xml index 83aca4e326e..899eb9241ca 100644 --- a/tools/genomespace/genomespace_exporter.xml +++ b/tools/genomespace/genomespace_exporter.xml @@ -1,14 +1,18 @@ - send data to GenomeSpace + + + #set $token = $genomespace_browser.split('^')[1] or $__user__.preferences.get('genomespace_token', None) + #assert $token, Exception('Invalid token. You must be logged into GenomeSpace through OpenID or select a valid folder via the GenomeSpace browse dialog.') + $token + + python $__tool_directory__/genomespace_exporter.py #set $target_folder = $genomespace_browser.split('^')[0] - #set $token = $genomespace_browser.split('^')[1] if '^' in $genomespace_browser and $genomespace_browser.split('^')[1] else $__user__.preferences.get('genomespace_token', None) - #assert $target_folder, Exception('You must select a valid target folder.') - #assert $token, Exception('Invalid token. You must be logged into GenomeSpace through OpenID or select a valid folder via the GenomeSpace browse dialog.') + #import binascii - --token '${ binascii.hexlify(str(token).encode("utf-8")) }' --input_file '${ binascii.hexlify(str($input1).encode("utf8")) }' #if $filename: --target_url '${ binascii.hexlify(str($target_folder + "/" + str($filename)).encode("utf8") ) }' @@ -18,7 +22,6 @@ - diff --git a/tools/genomespace/genomespace_importer.py b/tools/genomespace/genomespace_importer.py index 8201bd5392a..f6851a69aa2 100644 --- a/tools/genomespace/genomespace_importer.py +++ b/tools/genomespace/genomespace_importer.py @@ -244,7 +244,8 @@ def process_args(args): parser.add_argument('-c', '--data_conf', type=str, help="Galaxy data types conf file for mapping file types", required=True) parser.add_argument('-t', '--token', type=str, - help="Optional OpenID/GenomeSpace token if not passed in as part of the URL as URLs^Token", required=False) + help="Optional OpenID/GenomeSpace token if not passed in as part of the URL as URLs^Token." + " If none, the environment variable GS_TOKEN will be respected.", required=False) args = parser.parse_args(args[1:]) return args @@ -252,7 +253,7 @@ def process_args(args): def main(): args = process_args(sys.argv) - download_from_genomespace_importer(args.json_parameter_file, args.galaxy_root, args.data_conf, args.token) + download_from_genomespace_importer(args.json_parameter_file, args.galaxy_root, args.data_conf, args.token or os.environ.get("GS_TOKEN")) if __name__ == "__main__": diff --git a/tools/genomespace/genomespace_push.xml b/tools/genomespace/genomespace_push.xml index 6c079f46a53..e1a431c3247 100644 --- a/tools/genomespace/genomespace_push.xml +++ b/tools/genomespace/genomespace_push.xml @@ -1,16 +1,20 @@