Mercurial > repos > iuc > idr_download_by_ids
changeset 8:97f70f7ed077 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/idr_download commit e337464c8219abdb7e8664ba94cff46025070664"
author | iuc |
---|---|
date | Sun, 22 Nov 2020 13:55:01 +0000 |
parents | f067504aa92a |
children | 80af973c5277 |
files | idr_download_by_ids.py idr_download_by_ids.xml |
diffstat | 2 files changed, 93 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/idr_download_by_ids.py Thu Nov 05 23:29:40 2020 +0000 +++ b/idr_download_by_ids.py Sun Nov 22 13:55:01 2020 +0000 @@ -1,4 +1,5 @@ import argparse +import json import os import sys import tarfile @@ -112,8 +113,22 @@ image_ids, channel=None, z_stack=0, frame=0, coord=(0, 0), width=0, height=0, region_spec='rectangle', - skip_failed=False, download_tar=False, omero_host='idr.openmicroscopy.org', omero_secured=True, omero_username='public', omero_password='public' + skip_failed=False, download_tar=False, omero_host='idr.openmicroscopy.org', omero_secured=False, config_file=None ): + + if config_file is None: # IDR connection + omero_username = 'public' + omero_password = 'public' + else: # other omero instance + with open(config_file) as f: + cfg = json.load(f) + omero_username = cfg['username'] + omero_password = cfg['password'] + + if omero_username == "" or omero_password == "": + omero_username = 'public' + omero_password = 'public' + # basic argument sanity checks and adjustments prefix = 'image-' # normalize image ids by stripping off prefix if it exists @@ -358,13 +373,10 @@ '-oh', '--omero-host', type=str, default="idr.openmicroscopy.org" ) p.add_argument( - '--omero-secured', action='store_false' + '--omero-secured', action='store_true', default=True ) p.add_argument( - '-u', '--omero-username', type=str, default="public" - ) - p.add_argument( - '-p', '--omero-password', type=str, default="public" + '-cf', '--config-file', dest='config_file', default=None ) args = p.parse_args() if not args.image_ids:
--- a/idr_download_by_ids.xml Thu Nov 05 23:29:40 2020 +0000 +++ b/idr_download_by_ids.xml Sun Nov 22 13:55:01 2020 +0000 @@ -1,6 +1,6 @@ <?xml version="1.0"?> -<tool id="idr_download_by_ids" name="IDR Download" version="0.43" profile="18.09"> - <description>- download images from the Image Data Resource using image IDs</description> +<tool id="idr_download_by_ids" name="IDR/OMERO Download" version="0.43" profile="18.09"> + <description>- download images from any OMERO instance using image IDs</description> <macros> <xml name="region_spec" token_pos="upper-left corner"> <param name="x_coord" type="integer" value="0" min="0" @@ -22,12 +22,14 @@ <command detect_errors="exit_code"><![CDATA[ #if $omero_instance_type.omero_instance == "priv": + ## the user wants to use a non-public OMERO instance + ## check if credentials are set in the user-preferences, if not warn the user and exit #set $username = $__user__.extra_preferences.get('omero_account|username', "") #set $password = $__user__.extra_preferences.get('omero_account|password', "") - #if $username == "" or $password =="": - echo "OMERO connection credentials are empty. Set your credentials via: User -> Preferences -> Manage Information" && - exit 1 + #if $omero_instance_type.galaxy_test_param != 'true' and ($username == "" or $password ==""): + echo "OMERO connection credentials are empty. Set your credentials via: User -> Preferences -> Manage Information" 1>&2 && + exit 1 && #end if #end if @@ -51,13 +53,28 @@ $skip_failed $download_tar #if $omero_instance_type.omero_instance =='priv': - -h '$omero_host' - $omero_secured - -u '$username' - -p '$password' + -oh '$omero_instance_type.omero_host' + $omero_instance_type.omero_secured + -cf '$credentials' #end if 2> >(tee -a $out_log >&2) ]]></command> + <configfiles> + <configfile name="credentials"><![CDATA[ +#if $omero_instance_type.omero_instance =='priv' and $omero_instance_type.galaxy_test_param == 'true': + ## as a test for a private instance we actually use a public instance, but with credentials + #set $username = 'public' + #set $password = 'public' +#else: + #set $username = $__user__.extra_preferences.get('omero_account|username', "") + #set $password = $__user__.extra_preferences.get('omero_account|password', "") +#end if +{ + "username": "$username", + "password": "$password" +} + ]]></configfile> + </configfiles> <inputs> <conditional name="omero_instance_type"> <param name="omero_instance" type="select" label="Which OMERO instance to connect?" @@ -68,13 +85,13 @@ </param> <when value="priv"> <param name="omero_host" type="text" label="OMERO host URL"> - <validator type="regex" message="Enter a valid host location, for example, your.omero.server"> - [.A-Za-z0-9_-] - </validator> + <validator type="regex" message="Enter a valid host location, for example, your.omero.server">^[a-zA-Z0-9._-]*$</validator> + <validator type="expression" message="No two dots (..) allowed">'..' not in value</validator> </param> - <param name="omero_secured" type="boolean" label="Seured connection?" checked="true" truevalue="--omero-secured" falsevalue="" + <param name="omero_secured" type="boolean" label="Secured connection?" checked="true" truevalue="--omero-secured" falsevalue="" help="Select Yes if your OMERO instance is running with SSL, otherwise select No"> </param> + <param name="galaxy_test_param" type="hidden" value="false" /> </when> <when value="idr" /> </conditional> @@ -300,6 +317,51 @@ </assert_contents> </output> </test> + <test> + <conditional name="omero_instance_type"> + <param name="omero_instance" value="priv" /> + <param name="omero_host" value="idr.openmicroscopy.org" /> + <param name="omero_secured" value="true" /> + <param name="galaxy_test_param" value="true" /> + </conditional> + <param name="source" value="dataset" /> + <param name="id_spec" value="ids.txt" /> + <param name="channel" value="PCNT" /> + <conditional name="clip_image"> + <param name="select" value="--rectangle" /> + <param name="x_coord" value="3" /> + <param name="y_coord" value="3" /> + <param name="width" value="5" /> + <param name="height" value="5" /> + </conditional> + <param name="frame" value="0" /> + <param name="download_tar" value="false" /> + <output_collection name="output_file" type="list"> + <element name="Centrin_PCNT_Cep215_20110506_Fri-1545_0_SIR_PRJ__1884807__3__3__5__5" file="test0.tiff"/> + </output_collection> + </test> + <test expect_failure="true"> + <conditional name="omero_instance_type"> + <param name="omero_instance" value="priv" /> + <param name="omero_host" value="idr.openmicroscopy.org" /> + <param name="omero_secured" value="true" /> + </conditional> + <param name="source" value="dataset" /> + <param name="id_spec" value="ids.txt" /> + <param name="channel" value="PCNT" /> + <conditional name="clip_image"> + <param name="select" value="--rectangle" /> + <param name="x_coord" value="3" /> + <param name="y_coord" value="3" /> + <param name="width" value="5" /> + <param name="height" value="5" /> + </conditional> + <param name="frame" value="0" /> + <param name="download_tar" value="false" /> + <assert_stderr> + <has_text text="OMERO connection credentials are empty. Set your credentials via: User -> Preferences -> Manage Information" /> + </assert_stderr > + </test> </tests> <help><![CDATA[ Download image data from the IDR_ (Image Data Resource) - a public repository