galaxy-commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
February 2014
- 1 participants
- 192 discussions
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c4145b92bc2a/
Changeset: c4145b92bc2a
Branch: trevorw/specify-thirdparty-cookies-must-not-be-b-1392909850239
User: trevorw
Date: 2014-02-20 16:27:57
Summary: specify third-party cookies must not be blocked - repository.py
third-party cookies are normally (and hopefully) disabled for privacy
Affected #: 1 file
diff -r eae95d5fa975e1eef4de219564cb976720f18440 -r c4145b92bc2a9e63778950aef4d53723bcd353ee lib/galaxy/webapps/tool_shed/controllers/repository.py
--- a/lib/galaxy/webapps/tool_shed/controllers/repository.py
+++ b/lib/galaxy/webapps/tool_shed/controllers/repository.py
@@ -870,7 +870,7 @@
'admin_toolshed/update_to_changeset_revision?tool_shed_url=%s&name=%s&owner=%s&changeset_revision=%s&latest_changeset_revision=' % \
( web.url_for( '/', qualified=True ), repository.name, repository.user.username, changeset_revision ) )
else:
- message = 'Unable to check for updates due to an invalid Galaxy URL: <b>%s</b>. You may need to enable cookies in your browser. ' % galaxy_url
+ message = 'Unable to check for updates due to an invalid Galaxy URL: <b>%s</b>. You may need to enable third-party cookies in your browser. ' % galaxy_url
return trans.show_error_message( message )
if changeset_revision == repository.tip( trans.app ):
# If changeset_revision is the repository tip, there are no additional updates.
@@ -2047,7 +2047,7 @@
return trans.response.send_redirect( url )
else:
message = 'Repository installation is not possible due to an invalid Galaxy URL: <b>%s</b>. ' % galaxy_url
- message += 'You may need to enable cookies in your browser. '
+ message += 'You may need to enable third-party cookies in your browser. '
status = 'error'
return trans.response.send_redirect( web.url_for( controller='repository',
action='browse_valid_categories',
https://bitbucket.org/galaxy/galaxy-central/commits/952558f0dc0b/
Changeset: 952558f0dc0b
User: greg
Date: 2014-02-20 17:14:38
Summary: Merged in trevorw/galaxy-central-2/trevorw/specify-thirdparty-cookies-must-not-be-b-1392909850239 (pull request #326)
specify third-party cookies must not be blocked - repository.py
Affected #: 1 file
diff -r 3158b15d961f6bef5db25b26d4bc0593f1b58d57 -r 952558f0dc0ba52355e87ef2d0ccef37f7f51bec lib/galaxy/webapps/tool_shed/controllers/repository.py
--- a/lib/galaxy/webapps/tool_shed/controllers/repository.py
+++ b/lib/galaxy/webapps/tool_shed/controllers/repository.py
@@ -870,7 +870,7 @@
'admin_toolshed/update_to_changeset_revision?tool_shed_url=%s&name=%s&owner=%s&changeset_revision=%s&latest_changeset_revision=' % \
( web.url_for( '/', qualified=True ), repository.name, repository.user.username, changeset_revision ) )
else:
- message = 'Unable to check for updates due to an invalid Galaxy URL: <b>%s</b>. You may need to enable cookies in your browser. ' % galaxy_url
+ message = 'Unable to check for updates due to an invalid Galaxy URL: <b>%s</b>. You may need to enable third-party cookies in your browser. ' % galaxy_url
return trans.show_error_message( message )
if changeset_revision == repository.tip( trans.app ):
# If changeset_revision is the repository tip, there are no additional updates.
@@ -2047,7 +2047,7 @@
return trans.response.send_redirect( url )
else:
message = 'Repository installation is not possible due to an invalid Galaxy URL: <b>%s</b>. ' % galaxy_url
- message += 'You may need to enable cookies in your browser. '
+ message += 'You may need to enable third-party cookies in your browser. '
status = 'error'
return trans.response.send_redirect( web.url_for( controller='repository',
action='browse_valid_categories',
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Fix for ToolEvaluator with optional Dataset Input selected.
by commits-noreply@bitbucket.org 20 Feb '14
by commits-noreply@bitbucket.org 20 Feb '14
20 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/3158b15d961f/
Changeset: 3158b15d961f
User: dan
Date: 2014-02-20 17:07:16
Summary: Fix for ToolEvaluator with optional Dataset Input selected.
Affected #: 1 file
diff -r 3789ce7ddf1ac171a10956989818b4425486c44d -r 3158b15d961f6bef5db25b26d4bc0593f1b58d57 lib/galaxy/tools/evaluation.py
--- a/lib/galaxy/tools/evaluation.py
+++ b/lib/galaxy/tools/evaluation.py
@@ -181,9 +181,11 @@
tool=self,
name=input.name
)
- real_path = dataset.file_name
- if real_path in input_dataset_paths:
- wrapper_kwds[ "dataset_path" ] = input_dataset_paths[ real_path ]
+ if dataset:
+ #A None dataset does not have a filename
+ real_path = dataset.file_name
+ if real_path in input_dataset_paths:
+ wrapper_kwds[ "dataset_path" ] = input_dataset_paths[ real_path ]
input_values[ input.name ] = \
DatasetFilenameWrapper( dataset, **wrapper_kwds )
elif isinstance( input, SelectToolParameter ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
4 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/c82a791e23a6/
Changeset: c82a791e23a6
User: natefoo
Date: 2014-02-20 16:51:42
Summary: Remove obsolete DRMAA_python egg from eggs.ini.
Affected #: 1 file
diff -r 9c673e0ea8919fea6941f24fdf6936686840bb71 -r c82a791e23a62b0821ad0b0f1bccc49541eb3583 eggs.ini
--- a/eggs.ini
+++ b/eggs.ini
@@ -9,12 +9,11 @@
[general]
repository = http://eggs.galaxyproject.org
; these eggs must be scrambled for your local environment
-no_auto = pbs_python DRMAA_python
+no_auto = pbs_python
[eggs:platform]
bx_python = 0.7.1
Cheetah = 2.2.2
-DRMAA_python = 0.2
MarkupSafe = 0.12
mercurial = 2.2.3
MySQL_python = 1.2.3c1
https://bitbucket.org/galaxy/galaxy-central/commits/59e325832026/
Changeset: 59e325832026
User: natefoo
Date: 2014-02-20 16:52:19
Summary: Minor updates to comments/documentation in universe_wsgi.ini.sample
Affected #: 1 file
diff -r c82a791e23a62b0821ad0b0f1bccc49541eb3583 -r 59e325832026a2f3cbdb031eef02c8ef690c3f03 universe_wsgi.ini.sample
--- a/universe_wsgi.ini.sample
+++ b/universe_wsgi.ini.sample
@@ -3,7 +3,7 @@
# environment. To tune the application for a multi-user production
# environment, see the documentation at:
#
-# http://wiki.g2.bx.psu.edu/Admin/Config/Performance/Production%20Server
+# http://usegalaxy.org/production
#
# Throughout this sample configuration file, except where stated otherwise,
@@ -11,7 +11,7 @@
# values are set to the default value.
# Examples of many of these options are explained in more detail in the wiki:
#
-# http://wiki.g2.bx.psu.edu/Admin/Config
+# https://wiki.galaxyproject.org/Admin/Config
#
# Config hackers are encouraged to check there before asking for help.
@@ -140,9 +140,12 @@
# Other tool config files must include the tool_path as an attribute in the <toolbox> tag.
#tool_path = tools
-# Path to the directory in which managed tool dependencies are placed. To use
-# the dependency system, see the documentation at:
-# http://wiki.g2.bx.psu.edu/Admin/Config/Tool%20Dependencies
+# Path to the directory in which tool dependencies are placed. This is used by
+# the tool shed to install dependencies and can also be used by administrators
+# to manually install or link to dependencies. For details, see:
+# https://wiki.galaxyproject.org/Admin/Config/ToolDependencies
+# If this option is not set to a valid path, installing tools with dependencies
+# from the Tool Shed will fail.
#tool_dependency_dir = None
# Enable automatic polling of relative tool sheds to see if any updates
@@ -169,7 +172,7 @@
# Directory where data used by tools is located, see the samples in that
# directory and the wiki for help:
-# http://wiki.g2.bx.psu.edu/Admin/Data%20Integration
+# https://wiki.galaxyproject.org/Admin/DataIntegration
#tool_data_path = tool-data
# Directory where chrom len files are kept, currently mainly used by trackster
@@ -196,6 +199,10 @@
# directory.
#cluster_files_directory = database/pbs
+# Mako templates are compiled as needed and cached for reuse, this directory is
+# used for the cache
+#template_cache_path = database/compiled_templates
+
# External service types config file, defines what types of external_services configurations
# are available in Galaxy.
#external_service_type_config_file = external_service_types_conf.xml
@@ -532,7 +539,7 @@
# -- Data Libraries
# These library upload options are described in much more detail in the wiki:
-# http://wiki.g2.bx.psu.edu/Admin/Data%20Libraries/Uploading%20Library%20Files
+# https://wiki.galaxyproject.org/Admin/DataLibraries/UploadingLibraryFiles
# Add an option to the library upload form which allows administrators to
# upload a directory of files.
@@ -590,7 +597,7 @@
# User authentication can be delegated to an upstream proxy server (usually
# Apache). The upstream proxy should set a REMOTE_USER header in the request.
# Enabling remote user disables regular logins. For more information, see:
-# http://wiki.g2.bx.psu.edu/Admin/Config/Apache%20Proxy
+# https://wiki.galaxyproject.org/Admin/Config/ApacheProxy
#use_remote_user = False
# If use_remote_user is enabled and your external authentication
@@ -618,7 +625,7 @@
# users (email addresses). These users will have access to the Admin section
# of the server, and will have access to create users, groups, roles,
# libraries, and more. For more information, see:
-# http://wiki.g2.bx.psu.edu/Admin/Interface
+# https://wiki.galaxyproject.org/Admin/Interface
#admin_users = None
# Force everyone to log in (disable anonymous access).
@@ -723,8 +730,8 @@
# separate Galaxy into multiple processes. There are more than one way to do
# this, and they are explained in detail in the documentation:
#
-# http://wiki.g2.bx.psu.edu/Admin/Config/Performance/Web%20Application%20Scal…
-#
+# https://wiki.galaxyproject.org/Admin/Config/Performance/Scaling
+
# By default, Galaxy manages and executes jobs from within a single process and
# notifies itself of new jobs via in-memory queues. Jobs are run locally on
# the system on which Galaxy is started. Advanced job running capabilities can
https://bitbucket.org/galaxy/galaxy-central/commits/3789ce7ddf1a/
Changeset: 3789ce7ddf1a
User: natefoo
Date: 2014-02-20 16:52:31
Summary: Remove empty/renamed sections in tool_conf.xml.main
Affected #: 1 file
diff -r 59e325832026a2f3cbdb031eef02c8ef690c3f03 -r 3789ce7ddf1ac171a10956989818b4425486c44d tool_conf.xml.main
--- a/tool_conf.xml.main
+++ b/tool_conf.xml.main
@@ -154,9 +154,6 @@
<tool file="multivariate_stats/kpca.xml" /><tool file="multivariate_stats/kcca.xml" /></section>
- <section id="clustal" name="Multiple Alignments">
- <tool file="rgenetics/rgClustalw.xml" />
- </section><section id="hgv" name="Phenotype Association"><tool file="evolution/codingSnps.xml" /><tool file="evolution/add_scores.xml" />
@@ -227,8 +224,4 @@
<tool file="gatk/variant_eval.xml" /><tool file="gatk/variant_combine.xml" /></section>
- <section id="ngs-rna-tools" name="NGS: RNA Analysis">
- <label id="rna_seq" text="RNA-seq" />
- <label id="filtering" text="Filtering" />
- </section></toolbox>
https://bitbucket.org/galaxy/galaxy-central/commits/15e8a74a9521/
Changeset: 15e8a74a9521
Branch: stable
User: natefoo
Date: 2014-02-20 16:52:31
Summary: Remove empty/renamed sections in tool_conf.xml.main
Affected #: 1 file
diff -r a89bbdfd4a71671d575d9a0a3a9f8abeba3f7b21 -r 15e8a74a95215bf2cc775e9848ca4a5ecc7e945f tool_conf.xml.main
--- a/tool_conf.xml.main
+++ b/tool_conf.xml.main
@@ -154,9 +154,6 @@
<tool file="multivariate_stats/kpca.xml" /><tool file="multivariate_stats/kcca.xml" /></section>
- <section id="clustal" name="Multiple Alignments">
- <tool file="rgenetics/rgClustalw.xml" />
- </section><section id="hgv" name="Phenotype Association"><tool file="evolution/codingSnps.xml" /><tool file="evolution/add_scores.xml" />
@@ -227,8 +224,4 @@
<tool file="gatk/variant_eval.xml" /><tool file="gatk/variant_combine.xml" /></section>
- <section id="ngs-rna-tools" name="NGS: RNA Analysis">
- <label id="rna_seq" text="RNA-seq" />
- <label id="filtering" text="Filtering" />
- </section></toolbox>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dannon: Update boto to 2.25.0 in anticipation of supporting VPC
by commits-noreply@bitbucket.org 19 Feb '14
by commits-noreply@bitbucket.org 19 Feb '14
19 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/eae95d5fa975/
Changeset: eae95d5fa975
User: dannon
Date: 2014-02-20 01:33:27
Summary: Update boto to 2.25.0 in anticipation of supporting VPC
Affected #: 1 file
diff -r 85c38536c31583ef06db42c1f54d6248b79f96a5 -r eae95d5fa975e1eef4de219564cb976720f18440 eggs.ini
--- a/eggs.ini
+++ b/eggs.ini
@@ -35,7 +35,7 @@
amqp = 1.4.3
anyjson = 0.3.3
Beaker = 1.4
-boto = 2.5.2
+boto = 2.25.0
decorator = 3.1.2
docutils = 0.7
drmaa = 0.6
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/a89bbdfd4a71/
Changeset: a89bbdfd4a71
Branch: stable
User: inithello
Date: 2014-02-19 22:34:01
Summary: Ensure that symlinks are moved before regular files, since this can in some cases causes a 'No such file or directory' error when the symlink target is moved before the symlink itself.
Affected #: 1 file
diff -r 0770af01a257818ee82f11a191d4305880ea0b91 -r a89bbdfd4a71671d575d9a0a3a9f8abeba3f7b21 lib/tool_shed/galaxy_install/tool_dependencies/td_common_util.py
--- a/lib/tool_shed/galaxy_install/tool_dependencies/td_common_util.py
+++ b/lib/tool_shed/galaxy_install/tool_dependencies/td_common_util.py
@@ -303,9 +303,19 @@
destination_directory = os.path.join( destination_dir )
if not os.path.isdir( destination_directory ):
os.makedirs( destination_directory )
+ symlinks = []
+ regular_files = []
for file_name in os.listdir( source_directory ):
source_file = os.path.join( source_directory, file_name )
destination_file = os.path.join( destination_directory, file_name )
+ files_tuple = ( source_file, destination_file )
+ if os.path.islink( source_file ):
+ symlinks.append( files_tuple )
+ else:
+ regular_files.append( files_tuple )
+ for source_file, destination_file in symlinks:
+ shutil.move( source_file, destination_file )
+ for source_file, destination_file in regular_files:
shutil.move( source_file, destination_file )
def move_file( current_dir, source, destination, rename_to=None ):
https://bitbucket.org/galaxy/galaxy-central/commits/85c38536c315/
Changeset: 85c38536c315
User: inithello
Date: 2014-02-19 22:34:22
Summary: Merge with a89bbdfd4a71671d575d9a0a3a9f8abeba3f7b21
Affected #: 1 file
diff -r ee315625cf4e394bca8a05f25c82e78c978ed50c -r 85c38536c31583ef06db42c1f54d6248b79f96a5 lib/tool_shed/galaxy_install/tool_dependencies/td_common_util.py
--- a/lib/tool_shed/galaxy_install/tool_dependencies/td_common_util.py
+++ b/lib/tool_shed/galaxy_install/tool_dependencies/td_common_util.py
@@ -303,9 +303,19 @@
destination_directory = os.path.join( destination_dir )
if not os.path.isdir( destination_directory ):
os.makedirs( destination_directory )
+ symlinks = []
+ regular_files = []
for file_name in os.listdir( source_directory ):
source_file = os.path.join( source_directory, file_name )
destination_file = os.path.join( destination_directory, file_name )
+ files_tuple = ( source_file, destination_file )
+ if os.path.islink( source_file ):
+ symlinks.append( files_tuple )
+ else:
+ regular_files.append( files_tuple )
+ for source_file, destination_file in symlinks:
+ shutil.move( source_file, destination_file )
+ for source_file, destination_file in regular_files:
shutil.move( source_file, destination_file )
def move_file( current_dir, source, destination, rename_to=None ):
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dan: Fix for DatasetListWrapper with optional inputs.
by commits-noreply@bitbucket.org 19 Feb '14
by commits-noreply@bitbucket.org 19 Feb '14
19 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/ee315625cf4e/
Changeset: ee315625cf4e
User: dan
Date: 2014-02-19 22:15:48
Summary: Fix for DatasetListWrapper with optional inputs.
Affected #: 1 file
diff -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b -r ee315625cf4e394bca8a05f25c82e78c978ed50c lib/galaxy/tools/wrappers.py
--- a/lib/galaxy/tools/wrappers.py
+++ b/lib/galaxy/tools/wrappers.py
@@ -206,10 +206,12 @@
datasets = [datasets]
def to_wrapper( dataset ):
- real_path = dataset.file_name
wrapper_kwds = kwargs.copy()
- if real_path in dataset_paths:
- wrapper_kwds[ "dataset_path" ] = dataset_paths[ real_path ]
+ if dataset:
+ #A None dataset does not have a filename
+ real_path = dataset.file_name
+ if real_path in dataset_paths:
+ wrapper_kwds[ "dataset_path" ] = dataset_paths[ real_path ]
return DatasetFilenameWrapper( dataset, **wrapper_kwds )
list.__init__( self, map( to_wrapper, datasets ) )
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
2 new commits in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/a94e57976adf/
Changeset: a94e57976adf
User: inithello
Date: 2014-02-19 21:21:12
Summary: Fix for situation where duplicate database records would be created if a repository was uninstalled and reinstalled after getting updates from the tool shed.
Affected #: 2 files
diff -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 -r a94e57976adf8cee859bbe14e8275b73b16206bc lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
--- a/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
+++ b/lib/galaxy/webapps/galaxy/controllers/admin_toolshed.py
@@ -1381,7 +1381,7 @@
repository_dependencies = repository_dependency_util.get_repository_dependencies_for_installed_tool_shed_repository( trans, tool_shed_repository )
repo_info_dict = repository_util.create_repo_info_dict( trans=trans,
repository_clone_url=repository_clone_url,
- changeset_revision=tool_shed_repository.changeset_revision,
+ changeset_revision=tool_shed_repository.installed_changeset_revision,
ctx_rev=tool_shed_repository.ctx_rev,
repository_owner=tool_shed_repository.owner,
repository_name=tool_shed_repository.name,
diff -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 -r a94e57976adf8cee859bbe14e8275b73b16206bc lib/tool_shed/util/shed_util_common.py
--- a/lib/tool_shed/util/shed_util_common.py
+++ b/lib/tool_shed/util/shed_util_common.py
@@ -1617,6 +1617,13 @@
except:
pass
+def __repository_query( app ):
+ if app.name == "galaxy":
+ query = app.install_model.context.query( app.install_model.ToolShedRepository )
+ else:
+ query = app.model.context.query( app.model.Repository )
+ return query
+
def repository_was_previously_installed( trans, tool_shed_url, repository_name, repo_info_tuple ):
"""
Find out if a repository is already installed into Galaxy - there are several scenarios where this
@@ -1866,10 +1873,3 @@
for arg in args:
parts.append( arg.strip( '/' ) )
return '/'.join( parts )
-
-def __repository_query( app ):
- if app.name == "galaxy":
- query = app.install_model.context.query( app.install_model.ToolShedRepository )
- else:
- query = app.model.context.query( app.model.Repository )
- return query
https://bitbucket.org/galaxy/galaxy-central/commits/c38c0a6893e4/
Changeset: c38c0a6893e4
User: inithello
Date: 2014-02-19 21:23:45
Summary: Situations where a migration warning would be incorrectly displayed, and tools with matching filenames would be removed from the tool_conf.xml after running a migration script.
Affected #: 9 files
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b lib/tool_shed/galaxy_install/install_manager.py
--- a/lib/tool_shed/galaxy_install/install_manager.py
+++ b/lib/tool_shed/galaxy_install/install_manager.py
@@ -186,8 +186,7 @@
# Tools outside of sections.
file_path = elem.get( 'file', None )
if file_path:
- file_name = suc.strip_path( file_path )
- if file_name in tool_configs_to_filter:
+ if file_path in tool_configs_to_filter:
root.remove( elem )
persist_required = True
elif elem.tag == 'section':
@@ -196,8 +195,7 @@
if section_elem.tag == 'tool':
file_path = section_elem.get( 'file', None )
if file_path:
- file_name = suc.strip_path( file_path )
- if file_name in tool_configs_to_filter or file_path in tool_configs_to_filter:
+ if file_path in tool_configs_to_filter:
elem.remove( section_elem )
persist_required = True
if persist_required:
@@ -221,8 +219,7 @@
if proprietary_tool_panel_elem.tag == 'tool':
# The proprietary_tool_panel_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />.
proprietary_tool_config = proprietary_tool_panel_elem.get( 'file' )
- proprietary_name = suc.strip_path( proprietary_tool_config )
- if tool_config == proprietary_name or tool_config == proprietary_tool_config:
+ if tool_config == proprietary_tool_config:
# The tool is loaded outside of any sections.
tool_sections.append( None )
if not is_displayed:
@@ -233,8 +230,7 @@
if section_elem.tag == 'tool':
# The section_elem looks something like <tool file="emboss_5/emboss_antigenic.xml" />.
proprietary_tool_config = section_elem.get( 'file' )
- proprietary_name = suc.strip_path( proprietary_tool_config )
- if tool_config == proprietary_name or tool_config == proprietary_tool_config:
+ if tool_config == proprietary_tool_config:
# The tool is loaded inside of the section_elem.
tool_sections.append( ToolSection( proprietary_tool_panel_elem ) )
if not is_displayed:
@@ -312,8 +308,7 @@
# Tools outside of sections.
file_path = elem.get( 'file', None )
if file_path:
- name = suc.strip_path( file_path )
- if name in migrated_tool_configs or file_path in migrated_tool_configs:
+ if file_path in migrated_tool_configs:
if elem not in tool_panel_elems:
tool_panel_elems.append( elem )
elif elem.tag == 'section':
@@ -322,8 +317,7 @@
if section_elem.tag == 'tool':
file_path = section_elem.get( 'file', None )
if file_path:
- name = suc.strip_path( file_path )
- if name in migrated_tool_configs or file_path in migrated_tool_configs:
+ if file_path in migrated_tool_configs:
# Append the section, not the tool.
if elem not in tool_panel_elems:
tool_panel_elems.append( elem )
@@ -361,10 +355,8 @@
for tool_panel_dict in v:
# Keep track of tool config file names associated with entries that have been made to the
# migrated_tools_conf.xml file so they can be eliminated from all non-shed-related tool panel configs.
- tool_config_file = tool_panel_dict.get( 'tool_config', None )
- if tool_config_file:
- if tool_config_file not in tool_configs_to_filter:
- tool_configs_to_filter.append( tool_config_file )
+ if tool_config not in tool_configs_to_filter:
+ tool_configs_to_filter.append( tool_config )
else:
print 'The tool "%s" (%s) has not been enabled because it is not defined in a proprietary tool config (%s).' \
% ( guid, tool_config, ", ".join( self.proprietary_tool_confs or [] ) )
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0002_tools.xml
--- a/scripts/migrate_tools/0002_tools.xml
+++ b/scripts/migrate_tools/0002_tools.xml
@@ -2,112 +2,112 @@
<toolshed name="toolshed.g2.bx.psu.edu"><repository name="emboss_datatypes" description="Datatypes for Emboss tools" changeset_revision="a89163f31369" /><repository name="emboss_5" description="Galaxy wrappers for EMBOSS version 5.0.0 tools" changeset_revision="7334f6d0ac17">
- <tool id="EMBOSS: antigenic1" version="5.0.0" file="emboss_antigenic.xml" />
- <tool id="EMBOSS: backtranseq2" version="5.0.0" file="emboss_backtranseq.xml" />
- <tool id="EMBOSS: banana3" version="5.0.0" file="emboss_banana.xml" />
- <tool id="EMBOSS: biosed4" version="5.0.0" file="emboss_biosed.xml" />
- <tool id="EMBOSS: btwisted5" version="5.0.0" file="emboss_btwisted.xml" />
- <tool id="EMBOSS: cai_custom6" version="5.0.0" file="emboss_cai_custom.xml" />
- <tool id="EMBOSS: cai6" version="5.0.0" file="emboss_cai.xml" />
- <tool id="EMBOSS: chaos7" version="5.0.0" file="emboss_chaos.xml" />
- <tool id="EMBOSS: charge8" version="5.0.0" file="emboss_charge.xml" />
- <tool id="EMBOSS: checktrans9" version="5.0.0" file="emboss_checktrans.xml" />
- <tool id="EMBOSS: chips10" version="5.0.0" file="emboss_chips.xml" />
- <tool id="EMBOSS: cirdna11" version="5.0.0" file="emboss_cirdna.xml" />
- <tool id="EMBOSS: codcmp12" version="5.0.0" file="emboss_codcmp.xml" />
- <tool id="EMBOSS: coderet13" version="5.0.0" file="emboss_coderet.xml" />
- <tool id="EMBOSS: compseq14" version="5.0.0" file="emboss_compseq.xml" />
- <tool id="EMBOSS: cpgplot15" version="5.0.0" file="emboss_cpgplot.xml" />
- <tool id="EMBOSS: cpgreport16" version="5.0.0" file="emboss_cpgreport.xml" />
- <tool id="EMBOSS: cusp17" version="5.0.0" file="emboss_cusp.xml" />
- <tool id="EMBOSS: cutseq18" version="5.0.0" file="emboss_cutseq.xml" />
- <tool id="EMBOSS: dan19" version="5.0.0" file="emboss_dan.xml" />
- <tool id="EMBOSS: degapseq20" version="5.0.0" file="emboss_degapseq.xml" />
- <tool id="EMBOSS: descseq21" version="5.0.0" file="emboss_descseq.xml" />
- <tool id="EMBOSS: diffseq22" version="5.0.0" file="emboss_diffseq.xml" />
- <tool id="EMBOSS: digest23" version="5.0.0" file="emboss_digest.xml" />
- <tool id="EMBOSS: dotmatcher24" version="5.0.0" file="emboss_dotmatcher.xml" />
- <tool id="EMBOSS: dotpath25" version="5.0.0" file="emboss_dotpath.xml" />
- <tool id="EMBOSS: dottup26" version="5.0.0" file="emboss_dottup.xml" />
- <tool id="EMBOSS: dreg27" version="5.0.0" file="emboss_dreg.xml" />
- <tool id="EMBOSS: einverted28" version="5.0.0" file="emboss_einverted.xml" />
- <tool id="EMBOSS: epestfind29" version="5.0.0" file="emboss_epestfind.xml" />
- <tool id="EMBOSS: equicktandem31" version="5.0.0" file="emboss_equicktandem.xml" />
- <tool id="EMBOSS: est2genome32" version="5.0.0" file="emboss_est2genome.xml" />
- <tool id="EMBOSS: etandem33" version="5.0.0" file="emboss_etandem.xml" />
- <tool id="EMBOSS: extractfeat34" version="5.0.0" file="emboss_extractfeat.xml" />
- <tool id="EMBOSS: extractseq35" version="5.0.0" file="emboss_extractseq.xml" />
- <tool id="EMBOSS: freak36" version="5.0.0" file="emboss_freak.xml" />
- <tool id="EMBOSS: fuzznuc37" version="5.0.0" file="emboss_fuzznuc.xml" />
- <tool id="EMBOSS: fuzzpro38" version="5.0.0" file="emboss_fuzzpro.xml" />
- <tool id="EMBOSS: fuzztran39" version="5.0.0" file="emboss_fuzztran.xml" />
- <tool id="EMBOSS: garnier40" version="5.0.0" file="emboss_garnier.xml" />
- <tool id="EMBOSS: geecee41" version="5.0.0" file="emboss_geecee.xml" />
- <tool id="EMBOSS: getorf42" version="5.0.0" file="emboss_getorf.xml" />
- <tool id="EMBOSS: helixturnhelix43" version="5.0.0" file="emboss_helixturnhelix.xml" />
- <tool id="EMBOSS: hmoment44" version="5.0.0" file="emboss_hmoment.xml" />
- <tool id="EMBOSS: iep45" version="5.0.0" file="emboss_iep.xml" />
- <tool id="EMBOSS: infoseq46" version="5.0.0" file="emboss_infoseq.xml" />
- <tool id="EMBOSS: isochore47" version="5.0.0" file="emboss_isochore.xml" />
- <tool id="EMBOSS: lindna48" version="5.0.0" file="emboss_lindna.xml" />
- <tool id="EMBOSS: marscan49" version="5.0.0" file="emboss_marscan.xml" />
- <tool id="EMBOSS: maskfeat50" version="5.0.0" file="emboss_maskfeat.xml" />
- <tool id="EMBOSS: maskseq51" version="5.0.0" file="emboss_maskseq.xml" />
- <tool id="EMBOSS: matcher52" version="5.0.0" file="emboss_matcher.xml" />
- <tool id="EMBOSS: megamerger53" version="5.0.0" file="emboss_megamerger.xml" />
- <tool id="EMBOSS: merger54" version="5.0.0" file="emboss_merger.xml" />
- <tool id="EMBOSS: msbar55" version="5.0.0" file="emboss_msbar.xml" />
- <tool id="EMBOSS: needle56" version="5.0.0" file="emboss_needle.xml" />
- <tool id="EMBOSS: newcpgreport57" version="5.0.0" file="emboss_newcpgreport.xml" />
- <tool id="EMBOSS: newcpgseek58" version="5.0.0" file="emboss_newcpgseek.xml" />
- <tool id="EMBOSS: newseq59" version="5.0.0" file="emboss_newseq.xml" />
- <tool id="EMBOSS: noreturn60" version="5.0.0" file="emboss_noreturn.xml" />
- <tool id="EMBOSS: notseq61" version="5.0.0" file="emboss_notseq.xml" />
- <tool id="EMBOSS: nthseq62" version="5.0.0" file="emboss_nthseq.xml" />
- <tool id="EMBOSS: octanol63" version="5.0.0" file="emboss_octanol.xml" />
- <tool id="EMBOSS: oddcomp64" version="5.0.0" file="emboss_oddcomp.xml" />
- <tool id="EMBOSS: palindrome65" version="5.0.0" file="emboss_palindrome.xml" />
- <tool id="EMBOSS: pasteseq66" version="5.0.0" file="emboss_pasteseq.xml" />
- <tool id="EMBOSS: patmatdb67" version="5.0.0" file="emboss_patmatdb.xml" />
- <tool id="EMBOSS: pepcoil68" version="5.0.0" file="emboss_pepcoil.xml" />
- <tool id="EMBOSS: pepinfo69" version="5.0.0" file="emboss_pepinfo.xml" />
- <tool id="EMBOSS: pepnet70" version="5.0.0" file="emboss_pepnet.xml" />
- <tool id="EMBOSS: pepstats71" version="5.0.0" file="emboss_pepstats.xml" />
- <tool id="EMBOSS: pepwheel72" version="5.0.0" file="emboss_pepwheel.xml" />
- <tool id="EMBOSS: pepwindow73" version="5.0.0" file="emboss_pepwindow.xml" />
- <tool id="EMBOSS: pepwindowall74" version="5.0.0" file="emboss_pepwindowall.xml" />
- <tool id="EMBOSS: plotcon75" version="5.0.0" file="emboss_plotcon.xml" />
- <tool id="EMBOSS: plotorf76" version="5.0.0" file="emboss_plotorf.xml" />
- <tool id="EMBOSS: polydot77" version="5.0.0" file="emboss_polydot.xml" />
- <tool id="EMBOSS: preg78" version="5.0.0" file="emboss_preg.xml" />
- <tool id="EMBOSS: prettyplot79" version="5.0.0" file="emboss_prettyplot.xml" />
- <tool id="EMBOSS: prettyseq80" version="5.0.0" file="emboss_prettyseq.xml" />
- <tool id="EMBOSS: primersearch81" version="5.0.0" file="emboss_primersearch.xml" />
- <tool id="EMBOSS: revseq82" version="5.0.0" file="emboss_revseq.xml" />
- <tool id="EMBOSS: seqmatchall83" version="5.0.0" file="emboss_seqmatchall.xml" />
- <tool id="EMBOSS: seqret84" version="5.0.0" file="emboss_seqret.xml" />
- <tool id="EMBOSS: showfeat85" version="5.0.0" file="emboss_showfeat.xml" />
- <tool id="EMBOSS: shuffleseq87" version="5.0.0" file="emboss_shuffleseq.xml" />
- <tool id="EMBOSS: sigcleave88" version="5.0.0" file="emboss_sigcleave.xml" />
- <tool id="EMBOSS: sirna89" version="5.0.0" file="emboss_sirna.xml" />
- <tool id="EMBOSS: sixpack90" version="5.0.0" file="emboss_sixpack.xml" />
- <tool id="EMBOSS: skipseq91" version="5.0.0" file="emboss_skipseq.xml" />
- <tool id="EMBOSS: splitter92" version="5.0.0" file="emboss_splitter.xml" />
- <tool id="EMBOSS: supermatcher95" version="5.0.0" file="emboss_supermatcher.xml" />
- <tool id="EMBOSS: syco96" version="5.0.0" file="emboss_syco.xml" />
- <tool id="EMBOSS: tcode97" version="5.0.0" file="emboss_tcode.xml" />
- <tool id="EMBOSS: textsearch98" version="5.0.0" file="emboss_textsearch.xml" />
- <tool id="EMBOSS: tmap99" version="5.0.0" file="emboss_tmap.xml" />
- <tool id="EMBOSS: tranalign100" version="5.0.0" file="emboss_tranalign.xml" />
- <tool id="EMBOSS: transeq101" version="5.0.0" file="emboss_transeq.xml" />
- <tool id="EMBOSS: trimest102" version="5.0.0" file="emboss_trimest.xml" />
- <tool id="EMBOSS: trimseq103" version="5.0.0" file="emboss_trimseq.xml" />
- <tool id="EMBOSS: twofeat104" version="5.0.0" file="emboss_twofeat.xml" />
- <tool id="EMBOSS: union105" version="5.0.0" file="emboss_union.xml" />
- <tool id="EMBOSS: vectorstrip106" version="5.0.0" file="emboss_vectorstrip.xml" />
- <tool id="EMBOSS: water107" version="5.0.0" file="emboss_water.xml" />
- <tool id="EMBOSS: wobble108" version="5.0.0" file="emboss_wobble.xml" />
- <tool id="EMBOSS: wordcount109" version="5.0.0" file="emboss_wordcount.xml" />
- <tool id="EMBOSS: wordmatch110" version="5.0.0" file="emboss_wordmatch.xml" />
+ <tool id="EMBOSS: antigenic1" version="5.0.0" file="emboss_5/emboss_antigenic.xml" />
+ <tool id="EMBOSS: backtranseq2" version="5.0.0" file="emboss_5/emboss_backtranseq.xml" />
+ <tool id="EMBOSS: banana3" version="5.0.0" file="emboss_5/emboss_banana.xml" />
+ <tool id="EMBOSS: biosed4" version="5.0.0" file="emboss_5/emboss_biosed.xml" />
+ <tool id="EMBOSS: btwisted5" version="5.0.0" file="emboss_5/emboss_btwisted.xml" />
+ <tool id="EMBOSS: cai_custom6" version="5.0.0" file="emboss_5/emboss_cai_custom.xml" />
+ <tool id="EMBOSS: cai6" version="5.0.0" file="emboss_5/emboss_cai.xml" />
+ <tool id="EMBOSS: chaos7" version="5.0.0" file="emboss_5/emboss_chaos.xml" />
+ <tool id="EMBOSS: charge8" version="5.0.0" file="emboss_5/emboss_charge.xml" />
+ <tool id="EMBOSS: checktrans9" version="5.0.0" file="emboss_5/emboss_checktrans.xml" />
+ <tool id="EMBOSS: chips10" version="5.0.0" file="emboss_5/emboss_chips.xml" />
+ <tool id="EMBOSS: cirdna11" version="5.0.0" file="emboss_5/emboss_cirdna.xml" />
+ <tool id="EMBOSS: codcmp12" version="5.0.0" file="emboss_5/emboss_codcmp.xml" />
+ <tool id="EMBOSS: coderet13" version="5.0.0" file="emboss_5/emboss_coderet.xml" />
+ <tool id="EMBOSS: compseq14" version="5.0.0" file="emboss_5/emboss_compseq.xml" />
+ <tool id="EMBOSS: cpgplot15" version="5.0.0" file="emboss_5/emboss_cpgplot.xml" />
+ <tool id="EMBOSS: cpgreport16" version="5.0.0" file="emboss_5/emboss_cpgreport.xml" />
+ <tool id="EMBOSS: cusp17" version="5.0.0" file="emboss_5/emboss_cusp.xml" />
+ <tool id="EMBOSS: cutseq18" version="5.0.0" file="emboss_5/emboss_cutseq.xml" />
+ <tool id="EMBOSS: dan19" version="5.0.0" file="emboss_5/emboss_dan.xml" />
+ <tool id="EMBOSS: degapseq20" version="5.0.0" file="emboss_5/emboss_degapseq.xml" />
+ <tool id="EMBOSS: descseq21" version="5.0.0" file="emboss_5/emboss_descseq.xml" />
+ <tool id="EMBOSS: diffseq22" version="5.0.0" file="emboss_5/emboss_diffseq.xml" />
+ <tool id="EMBOSS: digest23" version="5.0.0" file="emboss_5/emboss_digest.xml" />
+ <tool id="EMBOSS: dotmatcher24" version="5.0.0" file="emboss_5/emboss_dotmatcher.xml" />
+ <tool id="EMBOSS: dotpath25" version="5.0.0" file="emboss_5/emboss_dotpath.xml" />
+ <tool id="EMBOSS: dottup26" version="5.0.0" file="emboss_5/emboss_dottup.xml" />
+ <tool id="EMBOSS: dreg27" version="5.0.0" file="emboss_5/emboss_dreg.xml" />
+ <tool id="EMBOSS: einverted28" version="5.0.0" file="emboss_5/emboss_einverted.xml" />
+ <tool id="EMBOSS: epestfind29" version="5.0.0" file="emboss_5/emboss_epestfind.xml" />
+ <tool id="EMBOSS: equicktandem31" version="5.0.0" file="emboss_5/emboss_equicktandem.xml" />
+ <tool id="EMBOSS: est2genome32" version="5.0.0" file="emboss_5/emboss_est2genome.xml" />
+ <tool id="EMBOSS: etandem33" version="5.0.0" file="emboss_5/emboss_etandem.xml" />
+ <tool id="EMBOSS: extractfeat34" version="5.0.0" file="emboss_5/emboss_extractfeat.xml" />
+ <tool id="EMBOSS: extractseq35" version="5.0.0" file="emboss_5/emboss_extractseq.xml" />
+ <tool id="EMBOSS: freak36" version="5.0.0" file="emboss_5/emboss_freak.xml" />
+ <tool id="EMBOSS: fuzznuc37" version="5.0.0" file="emboss_5/emboss_fuzznuc.xml" />
+ <tool id="EMBOSS: fuzzpro38" version="5.0.0" file="emboss_5/emboss_fuzzpro.xml" />
+ <tool id="EMBOSS: fuzztran39" version="5.0.0" file="emboss_5/emboss_fuzztran.xml" />
+ <tool id="EMBOSS: garnier40" version="5.0.0" file="emboss_5/emboss_garnier.xml" />
+ <tool id="EMBOSS: geecee41" version="5.0.0" file="emboss_5/emboss_geecee.xml" />
+ <tool id="EMBOSS: getorf42" version="5.0.0" file="emboss_5/emboss_getorf.xml" />
+ <tool id="EMBOSS: helixturnhelix43" version="5.0.0" file="emboss_5/emboss_helixturnhelix.xml" />
+ <tool id="EMBOSS: hmoment44" version="5.0.0" file="emboss_5/emboss_hmoment.xml" />
+ <tool id="EMBOSS: iep45" version="5.0.0" file="emboss_5/emboss_iep.xml" />
+ <tool id="EMBOSS: infoseq46" version="5.0.0" file="emboss_5/emboss_infoseq.xml" />
+ <tool id="EMBOSS: isochore47" version="5.0.0" file="emboss_5/emboss_isochore.xml" />
+ <tool id="EMBOSS: lindna48" version="5.0.0" file="emboss_5/emboss_lindna.xml" />
+ <tool id="EMBOSS: marscan49" version="5.0.0" file="emboss_5/emboss_marscan.xml" />
+ <tool id="EMBOSS: maskfeat50" version="5.0.0" file="emboss_5/emboss_maskfeat.xml" />
+ <tool id="EMBOSS: maskseq51" version="5.0.0" file="emboss_5/emboss_maskseq.xml" />
+ <tool id="EMBOSS: matcher52" version="5.0.0" file="emboss_5/emboss_matcher.xml" />
+ <tool id="EMBOSS: megamerger53" version="5.0.0" file="emboss_5/emboss_megamerger.xml" />
+ <tool id="EMBOSS: merger54" version="5.0.0" file="emboss_5/emboss_merger.xml" />
+ <tool id="EMBOSS: msbar55" version="5.0.0" file="emboss_5/emboss_msbar.xml" />
+ <tool id="EMBOSS: needle56" version="5.0.0" file="emboss_5/emboss_needle.xml" />
+ <tool id="EMBOSS: newcpgreport57" version="5.0.0" file="emboss_5/emboss_newcpgreport.xml" />
+ <tool id="EMBOSS: newcpgseek58" version="5.0.0" file="emboss_5/emboss_newcpgseek.xml" />
+ <tool id="EMBOSS: newseq59" version="5.0.0" file="emboss_5/emboss_newseq.xml" />
+ <tool id="EMBOSS: noreturn60" version="5.0.0" file="emboss_5/emboss_noreturn.xml" />
+ <tool id="EMBOSS: notseq61" version="5.0.0" file="emboss_5/emboss_notseq.xml" />
+ <tool id="EMBOSS: nthseq62" version="5.0.0" file="emboss_5/emboss_nthseq.xml" />
+ <tool id="EMBOSS: octanol63" version="5.0.0" file="emboss_5/emboss_octanol.xml" />
+ <tool id="EMBOSS: oddcomp64" version="5.0.0" file="emboss_5/emboss_oddcomp.xml" />
+ <tool id="EMBOSS: palindrome65" version="5.0.0" file="emboss_5/emboss_palindrome.xml" />
+ <tool id="EMBOSS: pasteseq66" version="5.0.0" file="emboss_5/emboss_pasteseq.xml" />
+ <tool id="EMBOSS: patmatdb67" version="5.0.0" file="emboss_5/emboss_patmatdb.xml" />
+ <tool id="EMBOSS: pepcoil68" version="5.0.0" file="emboss_5/emboss_pepcoil.xml" />
+ <tool id="EMBOSS: pepinfo69" version="5.0.0" file="emboss_5/emboss_pepinfo.xml" />
+ <tool id="EMBOSS: pepnet70" version="5.0.0" file="emboss_5/emboss_pepnet.xml" />
+ <tool id="EMBOSS: pepstats71" version="5.0.0" file="emboss_5/emboss_pepstats.xml" />
+ <tool id="EMBOSS: pepwheel72" version="5.0.0" file="emboss_5/emboss_pepwheel.xml" />
+ <tool id="EMBOSS: pepwindow73" version="5.0.0" file="emboss_5/emboss_pepwindow.xml" />
+ <tool id="EMBOSS: pepwindowall74" version="5.0.0" file="emboss_5/emboss_pepwindowall.xml" />
+ <tool id="EMBOSS: plotcon75" version="5.0.0" file="emboss_5/emboss_plotcon.xml" />
+ <tool id="EMBOSS: plotorf76" version="5.0.0" file="emboss_5/emboss_plotorf.xml" />
+ <tool id="EMBOSS: polydot77" version="5.0.0" file="emboss_5/emboss_polydot.xml" />
+ <tool id="EMBOSS: preg78" version="5.0.0" file="emboss_5/emboss_preg.xml" />
+ <tool id="EMBOSS: prettyplot79" version="5.0.0" file="emboss_5/emboss_prettyplot.xml" />
+ <tool id="EMBOSS: prettyseq80" version="5.0.0" file="emboss_5/emboss_prettyseq.xml" />
+ <tool id="EMBOSS: primersearch81" version="5.0.0" file="emboss_5/emboss_primersearch.xml" />
+ <tool id="EMBOSS: revseq82" version="5.0.0" file="emboss_5/emboss_revseq.xml" />
+ <tool id="EMBOSS: seqmatchall83" version="5.0.0" file="emboss_5/emboss_seqmatchall.xml" />
+ <tool id="EMBOSS: seqret84" version="5.0.0" file="emboss_5/emboss_seqret.xml" />
+ <tool id="EMBOSS: showfeat85" version="5.0.0" file="emboss_5/emboss_showfeat.xml" />
+ <tool id="EMBOSS: shuffleseq87" version="5.0.0" file="emboss_5/emboss_shuffleseq.xml" />
+ <tool id="EMBOSS: sigcleave88" version="5.0.0" file="emboss_5/emboss_sigcleave.xml" />
+ <tool id="EMBOSS: sirna89" version="5.0.0" file="emboss_5/emboss_sirna.xml" />
+ <tool id="EMBOSS: sixpack90" version="5.0.0" file="emboss_5/emboss_sixpack.xml" />
+ <tool id="EMBOSS: skipseq91" version="5.0.0" file="emboss_5/emboss_skipseq.xml" />
+ <tool id="EMBOSS: splitter92" version="5.0.0" file="emboss_5/emboss_splitter.xml" />
+ <tool id="EMBOSS: supermatcher95" version="5.0.0" file="emboss_5/emboss_supermatcher.xml" />
+ <tool id="EMBOSS: syco96" version="5.0.0" file="emboss_5/emboss_syco.xml" />
+ <tool id="EMBOSS: tcode97" version="5.0.0" file="emboss_5/emboss_tcode.xml" />
+ <tool id="EMBOSS: textsearch98" version="5.0.0" file="emboss_5/emboss_textsearch.xml" />
+ <tool id="EMBOSS: tmap99" version="5.0.0" file="emboss_5/emboss_tmap.xml" />
+ <tool id="EMBOSS: tranalign100" version="5.0.0" file="emboss_5/emboss_tranalign.xml" />
+ <tool id="EMBOSS: transeq101" version="5.0.0" file="emboss_5/emboss_transeq.xml" />
+ <tool id="EMBOSS: trimest102" version="5.0.0" file="emboss_5/emboss_trimest.xml" />
+ <tool id="EMBOSS: trimseq103" version="5.0.0" file="emboss_5/emboss_trimseq.xml" />
+ <tool id="EMBOSS: twofeat104" version="5.0.0" file="emboss_5/emboss_twofeat.xml" />
+ <tool id="EMBOSS: union105" version="5.0.0" file="emboss_5/emboss_union.xml" />
+ <tool id="EMBOSS: vectorstrip106" version="5.0.0" file="emboss_5/emboss_vectorstrip.xml" />
+ <tool id="EMBOSS: water107" version="5.0.0" file="emboss_5/emboss_water.xml" />
+ <tool id="EMBOSS: wobble108" version="5.0.0" file="emboss_5/emboss_wobble.xml" />
+ <tool id="EMBOSS: wordcount109" version="5.0.0" file="emboss_5/emboss_wordcount.xml" />
+ <tool id="EMBOSS: wordmatch110" version="5.0.0" file="emboss_5/emboss_wordmatch.xml" /></repository></toolshed>
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0003_tools.xml
--- a/scripts/migrate_tools/0003_tools.xml
+++ b/scripts/migrate_tools/0003_tools.xml
@@ -1,6 +1,6 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="freebayes" description="Galaxy Freebayes Bayesian genetic variant detector tool" changeset_revision="213a3d6b579a">
- <tool id="freebayes" version="0.0.2 " file="freebayes.xml" />
+ <tool id="freebayes" version="0.0.2 " file="variant_detection/freebayes.xml" /></repository></toolshed>
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0004_tools.xml
--- a/scripts/migrate_tools/0004_tools.xml
+++ b/scripts/migrate_tools/0004_tools.xml
@@ -2,11 +2,11 @@
<toolshed name="toolshed.g2.bx.psu.edu"><repository name="blast_datatypes" description="Datatypes for BLAST" changeset_revision="e1c29f302301" /><repository name="ncbi_blast_plus" description="Galaxy wrappers for NCBI BLAST+" changeset_revision="d375502056f1">
- <tool id="blastxml_to_tabular" version="0.0.8" file="blastxml_to_tabular.xml"/>
- <tool id="ncbi_blastn_wrapper" version="0.0.11" file="ncbi_blastn_wrapper.xml"/>
- <tool id="ncbi_blastp_wrapper" version="0.0.11" file="ncbi_blastp_wrapper.xml"/>
- <tool id="ncbi_blastx_wrapper" version="0.0.11" file="ncbi_blastx_wrapper.xml"/>
- <tool id="ncbi_tblastn_wrapper" version="0.0.11" file="ncbi_tblastn_wrapper.xml"/>
- <tool id="ncbi_tblastx_wrapper" version="0.0.11" file="ncbi_tblastx_wrapper.xml"/>
+ <tool id="blastxml_to_tabular" version="0.0.8" file="ncbi_blast_plus/blastxml_to_tabular.xml"/>
+ <tool id="ncbi_blastn_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastn_wrapper.xml"/>
+ <tool id="ncbi_blastp_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastp_wrapper.xml"/>
+ <tool id="ncbi_blastx_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_blastx_wrapper.xml"/>
+ <tool id="ncbi_tblastn_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_tblastn_wrapper.xml"/>
+ <tool id="ncbi_tblastx_wrapper" version="0.0.11" file="ncbi_blast_plus/ncbi_tblastx_wrapper.xml"/></repository></toolshed>
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0005_tools.xml
--- a/scripts/migrate_tools/0005_tools.xml
+++ b/scripts/migrate_tools/0005_tools.xml
@@ -1,7 +1,7 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="bwa_wrappers" description="Galaxy wrappers for the BWA short read aligner." changeset_revision="ffa8aaa14f7c">
- <tool id="bwa_wrapper" version="1.2.3" file="bwa_wrapper.xml"/>
- <tool id="bwa_color_wrapper" version="1.0.2" file="bwa_color_wrapper.xml"/>
+ <tool id="bwa_wrapper" version="1.2.3" file="sr_mapping/bwa_wrapper.xml"/>
+ <tool id="bwa_color_wrapper" version="1.0.2" file="sr_mapping/bwa_color_wrapper.xml"/></repository></toolshed>
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0006_tools.xml
--- a/scripts/migrate_tools/0006_tools.xml
+++ b/scripts/migrate_tools/0006_tools.xml
@@ -1,18 +1,18 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="picard" description="Galaxy wrappers for the Picard SAM/BAM manipulation tools." changeset_revision="e0232cbac965">
- <tool id="picard_FastqToSam" version="1.56.0" file="picard_FastqToSam.xml" />
- <tool id="picard_SamToFastq" version="1.56.1" file="picard_SamToFastq.xml" />
- <tool id="picard_BamIndexStats" version="1.56.0" file="picard_BamIndexStats.xml" />
- <tool id="PicardASMetrics" version="1.56.0" file="rgPicardASMetrics.xml" />
- <tool id="PicardGCBiasMetrics" version="1.56.0" file="rgPicardGCBiasMetrics.xml" />
- <tool id="rgEstLibComp" version="1.56.0" file="rgPicardLibComplexity.xml" />
- <tool id="PicardInsertSize" version="1.56.0" file="rgPicardInsertSize.xml" />
- <tool id="PicardHsMetrics" version="1.56.0" file="rgPicardHsMetrics.xml" />
- <tool id="picard_ARRG" version="1.56.0" file="picard_AddOrReplaceReadGroups.xml" />
- <tool id="picard_ReorderSam" version="1.56.0" file="picard_ReorderSam.xml" />
- <tool id="picard_ReplaceSamHeader" version="1.56.0" file="picard_ReplaceSamHeader.xml" />
- <tool id="rgPicFixMate" version="1.56.0" file="rgPicardFixMate.xml" />
- <tool id="rgPicardMarkDups" version="1.56.0" file="rgPicardMarkDups.xml" />
+ <tool id="picard_FastqToSam" version="1.56.0" file="picard/picard_FastqToSam.xml" />
+ <tool id="picard_SamToFastq" version="1.56.1" file="picard/picard_SamToFastq.xml" />
+ <tool id="picard_BamIndexStats" version="1.56.0" file="picard/picard_BamIndexStats.xml" />
+ <tool id="PicardASMetrics" version="1.56.0" file="picard/rgPicardASMetrics.xml" />
+ <tool id="PicardGCBiasMetrics" version="1.56.0" file="picard/rgPicardGCBiasMetrics.xml" />
+ <tool id="rgEstLibComp" version="1.56.0" file="picard/rgPicardLibComplexity.xml" />
+ <tool id="PicardInsertSize" version="1.56.0" file="picard/rgPicardInsertSize.xml" />
+ <tool id="PicardHsMetrics" version="1.56.0" file="picard/rgPicardHsMetrics.xml" />
+ <tool id="picard_ARRG" version="1.56.0" file="picard/picard_AddOrReplaceReadGroups.xml" />
+ <tool id="picard_ReorderSam" version="1.56.0" file="picard/picard_ReorderSam.xml" />
+ <tool id="picard_ReplaceSamHeader" version="1.56.0" file="picard/picard_ReplaceSamHeader.xml" />
+ <tool id="rgPicFixMate" version="1.56.0" file="picard/rgPicardFixMate.xml" />
+ <tool id="rgPicardMarkDups" version="1.56.0" file="picard/rgPicardMarkDups.xml" /></repository></toolshed>
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0007_tools.xml
--- a/scripts/migrate_tools/0007_tools.xml
+++ b/scripts/migrate_tools/0007_tools.xml
@@ -1,15 +1,15 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository name="bowtie_wrappers" description="Galaxy wrappers for the Bowtie short read mapping tools." changeset_revision="0c7e4eadfb3c">
- <tool id="bowtie_wrapper" version="1.1.2" file="bowtie_wrapper.xml" />
+ <tool id="bowtie_wrapper" version="1.1.2" file="sr_mapping/bowtie_wrapper.xml" /></repository><repository name="bowtie_color_wrappers" description="Galaxy wrappers for the Bowtie short read mapping tools on color space reads" changeset_revision="fd0914e451c5">
- <tool id="bowtie_color_wrapper" version="1.1.2" file="bowtie_color_wrapper.xml" />
+ <tool id="bowtie_color_wrapper" version="1.1.2" file="sr_mapping/bowtie_color_wrapper.xml" /></repository><repository name="lastz" description="Galaxy wrappers for the Lastz alignment tool" changeset_revision="0801f8207d30">
- <tool id="lastz_wrapper_2" version="1.1.2" file="lastz_wrapper.xml" />
+ <tool id="lastz_wrapper_2" version="1.1.2" file="sr_mapping/lastz_wrapper.xml" /></repository><repository name="lastz_paired_reads" description="Galaxy wrapper for the Lastz alignment tool on paired reads" changeset_revision="96825cee5c25">
- <tool id="lastz_paired_reads_wrapper" version="1.1.1" file="lastz_paired_reads_wrapper.xml" />
+ <tool id="lastz_paired_reads_wrapper" version="1.1.1" file="sr_mapping/lastz_paired_reads_wrapper.xml" /></repository></toolshed>
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0008_tools.xml
--- a/scripts/migrate_tools/0008_tools.xml
+++ b/scripts/migrate_tools/0008_tools.xml
@@ -1,147 +1,147 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="dc20f447c0e2" name="bam_to_sam" description="Galaxy wrappers for the tool BAM-to-SAM: converts BAM format to SAM format">
- <tool id="bam_to_sam" version="1.0.3" file="bam_to_sam.xml" />
+ <tool id="bam_to_sam" version="1.0.3" file="samtools/bam_to_sam.xml" /></repository><repository owner="devteam" changeset_revision="586c1f0e1515" name="categorize_elements_satisfying_criteria" description="Galaxy wrappers for the tool Categorize Elements: satisfying criteria">
- <tool id="categorize_elements_satisfying_criteria" version="1.0.0" file="categorize_elements_satisfying_criteria.xml" />
+ <tool id="categorize_elements_satisfying_criteria" version="1.0.0" file="regVariation/categorize_elements_satisfying_criteria.xml" /></repository><repository owner="devteam" changeset_revision="acc3dc5d26e3" name="compute_motif_frequencies_for_all_motifs" description="Galaxy wrappers for the tool Compute Motif Frequencies For All Motifs: motif by motif">
- <tool id="compute_motif_frequencies_for_all_motifs" version="1.0.0" file="compute_motif_frequencies_for_all_motifs.xml" />
+ <tool id="compute_motif_frequencies_for_all_motifs" version="1.0.0" file="regVariation/compute_motif_frequencies_for_all_motifs.xml" /></repository><repository owner="devteam" changeset_revision="46325357b948" name="compute_motifs_frequency" description="Galaxy wrappers for the tool Compute Motif Frequencies: in indel flanking regions">
- <tool id="compute_motifs_frequency" version="1.0.0" file="compute_motifs_frequency.xml" />
+ <tool id="compute_motifs_frequency" version="1.0.0" file="regVariation/compute_motifs_frequency.xml" /></repository><repository owner="devteam" changeset_revision="4a32700dcaa2" name="ctd_batch" description="Galaxy wrappers for the tool CTD: analysis of chemicals, diseases, or genes">
- <tool id="ctdBatch_1" version="1.0.0" file="ctd.xml" />
+ <tool id="ctdBatch_1" version="1.0.0" file="phenotype_association/ctd.xml" /></repository><repository owner="devteam" changeset_revision="9a3f7a890da6" name="cuffcompare" description="Galaxy wrappers for the Cuffcompare tool.">
- <tool id="cuffcompare" version="0.0.5" file="cuffcompare_wrapper.xml" />
+ <tool id="cuffcompare" version="0.0.5" file="ngs_rna/cuffcompare_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="0dabb2ed6eb1" name="cuffdiff" description="Galaxy wrappers for the Cuffdiff tool.">
- <tool id="cuffdiff" version="0.0.6" file="cuffdiff_wrapper.xml" />
+ <tool id="cuffdiff" version="0.0.6" file="ngs_rna/cuffdiff_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="b01956f26c36" name="cufflinks" description="Galaxy wrappers for the Cufflinks tool.">
- <tool id="cufflinks" version="0.0.6" file="cufflinks_wrapper.xml" />
+ <tool id="cufflinks" version="0.0.6" file="ngs_rna/cufflinks_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="fdc55fd74f78" name="cuffmerge" description="Galaxy wrappers for the Cuffmerge tool.">
- <tool id="cuffmerge" version="0.0.5" file="cuffmerge_wrapper.xml" />
+ <tool id="cuffmerge" version="0.0.5" file="ngs_rna/cuffmerge_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="f16000dc644b" name="delete_overlapping_indels" description="Galaxy wrappers for the tool Delete Overlapping Indels: from a chromosome indels file">
- <tool id="delete_overlapping_indels" version="1.0.0" file="delete_overlapping_indels.xml" />
+ <tool id="delete_overlapping_indels" version="1.0.0" file="regVariation/delete_overlapping_indels.xml" /></repository><repository owner="devteam" changeset_revision="de839553d2a2" name="divide_pg_snp" description="Galaxy wrappers for the tool Separate pgSnp alleles: into columns">
- <tool id="dividePgSnp" version="1.0.0" file="dividePgSnpAlleles.xml" />
+ <tool id="dividePgSnp" version="1.0.0" file="phenotype_association/dividePgSnpAlleles.xml" /></repository><repository owner="devteam" changeset_revision="063ecbe59faf" name="draw_stacked_barplots" description="Galaxy wrappers for the tool Draw Stacked Bar Plots: for different categories and different criteria">
- <tool id="draw_stacked_barplots" version="1.0.0" file="draw_stacked_barplots.xml" />
+ <tool id="draw_stacked_barplots" version="1.0.0" file="regVariation/draw_stacked_barplots.xml" /></repository><repository owner="devteam" changeset_revision="f2ab5b44870d" name="fasta_clipping_histogram" description="Galaxy wrappers for the tool Length Distribution chart">
- <tool id="cshl_fasta_clipping_histogram" version="1.0.0" file="fasta_clipping_histogram.xml" />
+ <tool id="cshl_fasta_clipping_histogram" version="1.0.0" file="fastx_toolkit/fasta_clipping_histogram.xml" /></repository><repository owner="devteam" changeset_revision="8f0ae92440b8" name="fasta_formatter" description="Galaxy wrappers for the tool FASTA Width: formatter">
- <tool id="cshl_fasta_formatter" version="1.0.0" file="fasta_formatter.xml" />
+ <tool id="cshl_fasta_formatter" version="1.0.0" file="fastx_toolkit/fasta_formatter.xml" /></repository><repository owner="devteam" changeset_revision="4b41e3076a50" name="fasta_nucleotide_changer" description="Galaxy wrappers for the tool RNA/DNA: converter">
- <tool id="cshl_fasta_nucleotides_changer" version="1.0.0" file="fasta_nucleotide_changer.xml" />
+ <tool id="cshl_fasta_nucleotides_changer" version="1.0.0" file="fastx_toolkit/fasta_nucleotide_changer.xml" /></repository><repository owner="devteam" changeset_revision="e359ce20fbd9" name="fastq_quality_boxplot" description="Galaxy wrappers for the tool Draw quality score boxplot">
- <tool id="cshl_fastq_quality_boxplot" version="1.0.0" file="fastq_quality_boxplot.xml" />
+ <tool id="cshl_fastq_quality_boxplot" version="1.0.0" file="fastx_toolkit/fastq_quality_boxplot.xml" /></repository><repository owner="devteam" changeset_revision="b87c74b61d81" name="fastq_quality_converter" description="Galaxy wrappers for the tool Quality format converter: (ASCII-Numeric)">
- <tool id="cshl_fastq_quality_converter" version="1.0.0" file="fastq_quality_converter.xml" />
+ <tool id="cshl_fastq_quality_converter" version="1.0.0" file="fastx_toolkit/fastq_quality_converter.xml" /></repository><repository owner="devteam" changeset_revision="b145b9b26648" name="fastq_quality_filter" description="Galaxy wrappers for the Filter by quality tool.">
- <tool id="cshl_fastq_quality_filter" version="1.0.0" file="fastq_quality_filter.xml" />
+ <tool id="cshl_fastq_quality_filter" version="1.0.0" file="fastx_toolkit/fastq_quality_filter.xml" /></repository><repository owner="devteam" changeset_revision="04614cf6ed39" name="fastq_to_fasta" description="Galaxy wrappers for the tool FASTQ to FASTA: converter">
- <tool id="cshl_fastq_to_fasta" version="1.0.0" file="fastq_to_fasta.xml" />
+ <tool id="cshl_fastq_to_fasta" version="1.0.0" file="fastx_toolkit/fastq_to_fasta.xml" /></repository><repository owner="devteam" changeset_revision="7f9660a246c0" name="fastx_artifacts_filter" description="Galaxy wrappers for the Remove sequencing artifacts tool.">
- <tool id="cshl_fastx_artifacts_filter" version="1.0.0" file="fastx_artifacts_filter.xml" />
+ <tool id="cshl_fastx_artifacts_filter" version="1.0.0" file="fastx_toolkit/fastx_artifacts_filter.xml" /></repository><repository owner="devteam" changeset_revision="a12850d0559b" name="fastx_barcode_splitter" description="Galaxy wrappers for the Barcode Splitter tool.">
- <tool id="cshl_fastx_barcode_splitter" version="1.0.0" file="fastx_barcode_splitter.xml" />
+ <tool id="cshl_fastx_barcode_splitter" version="1.0.0" file="fastx_toolkit/fastx_barcode_splitter.xml" /></repository><repository owner="devteam" changeset_revision="2fe2d2b9e8e4" name="fastx_clipper" description="Galaxy wrappers for the tool Clip: adapter sequences">
- <tool id="cshl_fastx_clipper" version="1.0.1" file="fastx_clipper.xml" />
+ <tool id="cshl_fastx_clipper" version="1.0.1" file="fastx_toolkit/fastx_clipper.xml" /></repository><repository owner="devteam" changeset_revision="e942fd3a76a5" name="fastx_collapser" description="Galaxy wrappers for the tool Collapse: sequences">
- <tool id="cshl_fastx_collapser" version="1.0.0" file="fastx_collapser.xml" />
+ <tool id="cshl_fastx_collapser" version="1.0.0" file="fastx_toolkit/fastx_collapser.xml" /></repository><repository owner="devteam" changeset_revision="bcc5424a4a3c" name="fastx_nucleotides_distribution" description="Galaxy wrappers for the Draw nucleotides distribution chart tool.">
- <tool id="cshl_fastx_nucleotides_distribution" version="1.0.0" file="fastx_nucleotides_distribution.xml" />
+ <tool id="cshl_fastx_nucleotides_distribution" version="1.0.0" file="fastx_toolkit/fastx_nucleotides_distribution.xml" /></repository><repository owner="devteam" changeset_revision="45f077341b24" name="fastx_quality_statistics" description="Galaxy wrappers for the Compute quality statistics tool.">
- <tool id="cshl_fastx_quality_statistics" version="1.0.0" file="fastx_quality_statistics.xml" />
+ <tool id="cshl_fastx_quality_statistics" version="1.0.0" file="fastx_toolkit/fastx_quality_statistics.xml" /></repository><repository owner="devteam" changeset_revision="d7bce63e6e09" name="fastx_renamer" description="Galaxy wrappers for the Rename sequences tool.">
- <tool id="cshl_fastx_renamer" version="0.0.11" file="fastx_renamer.xml" />
+ <tool id="cshl_fastx_renamer" version="0.0.11" file="fastx_toolkit/fastx_renamer.xml" /></repository><repository owner="devteam" changeset_revision="c58871138668" name="fastx_reverse_complement" description="Galaxy wrappers for the Reverse-Complement tool.">
- <tool id="cshl_fastx_reverse_complement" version="1.0.0" file="fastx_reverse_complement.xml" />
+ <tool id="cshl_fastx_reverse_complement" version="1.0.0" file="fastx_toolkit/fastx_reverse_complement.xml" /></repository><repository owner="devteam" changeset_revision="9cb372481a71" name="fastx_trimmer" description="Galaxy wrappers for the Trim sequences tool.">
- <tool id="cshl_fastx_trimmer" version="1.0.0" file="fastx_trimmer.xml" />
+ <tool id="cshl_fastx_trimmer" version="1.0.0" file="fastx_toolkit/fastx_trimmer.xml" /></repository><repository owner="devteam" changeset_revision="64133669255f" name="hgv_fundo" description="Galaxy wrappers for the tool FunDO: human genes associated with disease terms">
- <tool id="hgv_funDo" version="1.0.0" file="funDo.xml" />
+ <tool id="hgv_funDo" version="1.0.0" file="phenotype_association/funDo.xml" /></repository><repository owner="devteam" changeset_revision="0e80ffa5b7f7" name="hgv_hilbertvis" description="Galaxy wrappers for the tool HVIS: visualization of genomic data with the Hilbert curve">
- <tool id="hgv_hilbertvis" version="1.0.0" file="hilbertvis.xml" />
+ <tool id="hgv_hilbertvis" version="1.0.0" file="phenotype_association/hilbertvis.xml" /></repository><repository owner="devteam" changeset_revision="5ad24b81dd10" name="indels_3way" description="Galaxy wrappers for the tool Fetch Indels: from 3-way alignments">
- <tool id="indels_3way" version="1.0.3" file="getIndels_3way.xml" />
+ <tool id="indels_3way" version="1.0.3" file="regVariation/getIndels_3way.xml" /></repository><repository owner="devteam" changeset_revision="4e31fad3f08e" name="microsatellite_birthdeath" description="Galaxy wrappers for the tool Identify microsatellite births and deaths: and causal mutational mechanisms from previously identified orthologous microsatellite sets">
- <tool id="microsatellite_birthdeath" version="1.0.0" file="microsatellite_birthdeath.xml" />
+ <tool id="microsatellite_birthdeath" version="1.0.0" file="regVariation/microsatellite_birthdeath.xml" /></repository><repository owner="devteam" changeset_revision="275433d3a395" name="multispecies_orthologous_microsats" description="Galaxy wrappers for the tool Extract orthologous microsatellites: for multiple (>2) species alignments">
- <tool id="multispecies_orthologous_microsats" version="1.0.0" file="multispecies_MicrosatDataGenerator_interrupted_GALAXY.xml" />
+ <tool id="multispecies_orthologous_microsats" version="1.0.0" file="regVariation/multispecies_MicrosatDataGenerator_interrupted_GALAXY.xml" /></repository><repository owner="devteam" changeset_revision="8f0af7251167" name="mutate_snp_codon" description="Galaxy wrappers for the tool Mutate Codons: with SNPs">
- <tool id="mutate_snp_codon_1" version="1.0.0" file="mutate_snp_codon.xml" />
+ <tool id="mutate_snp_codon_1" version="1.0.0" file="evolution/mutate_snp_codon.xml" /></repository><repository owner="devteam" changeset_revision="a110f9d6ae24" name="pileup_interval" description="Galaxy wrappers for the tool Pileup-to-Interval: condenses pileup format into ranges of bases">
- <tool id="pileup_interval" version="1.0.0" file="pileup_interval.xml" />
+ <tool id="pileup_interval" version="1.0.0" file="samtools/pileup_interval.xml" /></repository><repository owner="devteam" changeset_revision="ff1ba9b75337" name="pileup_parser" description="Galaxy wrappers for the tool Filter pileup: on coverage and SNPs">
- <tool id="pileup_parser" version="1.0.2" file="pileup_parser.xml" />
+ <tool id="pileup_parser" version="1.0.2" file="samtools/pileup_parser.xml" /></repository><repository owner="devteam" changeset_revision="8c737b8ddc45" name="sam2interval" description="Galaxy wrappers for the tool Convert SAM: to interval">
- <tool id="sam2interval" version="1.0.1" file="sam2interval.xml" />
+ <tool id="sam2interval" version="1.0.1" file="samtools/sam2interval.xml" /></repository><repository owner="devteam" changeset_revision="0b2424a404d9" name="sam_bitwise_flag_filter" description="Galaxy wrappers for the tool Filter SAM: on bitwise flag values">
- <tool id="sam_bw_filter" version="1.0.0" file="sam_bitwise_flag_filter.xml" />
+ <tool id="sam_bw_filter" version="1.0.0" file="samtools/sam_bitwise_flag_filter.xml" /></repository><repository owner="devteam" changeset_revision="a7a49d31c5cf" name="sam_merge" description="Galaxy wrappers for the tool Merge BAM Files: merges BAM files together">
- <tool id="sam_merge2" version="1.1.2" file="sam_merge.xml" />
+ <tool id="sam_merge2" version="1.1.2" file="samtools/sam_merge.xml" /></repository><repository owner="devteam" changeset_revision="95612c159681" name="sam_pileup" description="Galaxy wrappers for the tool Generate pileup: from BAM dataset">
- <tool id="sam_pileup" version="1.1.1" file="sam_pileup.xml" />
+ <tool id="sam_pileup" version="1.1.1" file="samtools/sam_pileup.xml" /></repository><repository owner="devteam" changeset_revision="30fdbaccb96b" name="sam_to_bam" description="Galaxy wrappers for the tool SAM-to-BAM: converts SAM format to BAM format">
- <tool id="sam_to_bam" version="1.1.2" file="sam_to_bam.xml" />
+ <tool id="sam_to_bam" version="1.1.2" file="samtools/sam_to_bam.xml" /></repository><repository owner="devteam" changeset_revision="13c4ad597626" name="samtools_flagstat" description="Galaxy wrappers for the tool flagstat: provides simple stats on BAM files">
- <tool id="samtools_flagstat" version="1.0.0" file="samtools_flagstat.xml" />
+ <tool id="samtools_flagstat" version="1.0.0" file="samtools/samtools_flagstat.xml" /></repository><repository owner="devteam" changeset_revision="44a18a94d7a9" name="samtools_mpileup" description="Galaxy wrappers for the tool MPileup: SNP and indel caller">
- <tool id="samtools_mpileup" version="0.0.1" file="samtools_mpileup.xml" />
+ <tool id="samtools_mpileup" version="0.0.1" file="samtools/samtools_mpileup.xml" /></repository><repository owner="devteam" changeset_revision="7e92b2a53aab" name="samtools_rmdup" description="Galaxy wrappers for the tool rmdup: remove PCR duplicates">
- <tool id="samtools_rmdup" version="1.0.0" file="samtools_rmdup.xml" />
+ <tool id="samtools_rmdup" version="1.0.0" file="samtools/samtools_rmdup.xml" /></repository><repository owner="devteam" changeset_revision="68ba55e96489" name="samtools_slice_bam" description="Galaxy wrappers for the tool Slice BAM: by provided regions">
- <tool id="samtools_slice_bam" version="0.0.1" file="samtools_slice_bam.xml" />
+ <tool id="samtools_slice_bam" version="0.0.1" file="samtools/samtools_slice_bam.xml" /></repository><repository owner="devteam" changeset_revision="36163bff76cc" name="split_paired_reads" description="Galaxy wrappers for the Split paired end reads tool.">
- <tool id="split_paired_reads" version="1.0.0" file="split_paired_reads.xml" />
+ <tool id="split_paired_reads" version="1.0.0" file="metag_tools/split_paired_reads.xml" /></repository><repository owner="devteam" changeset_revision="e6a85a9297b3" name="t_test_two_samples" description="Galaxy wrappers for the T Test for Two Samples tool.">
- <tool id="t_test_two_samples" version="1.0.0" file="t_test_two_samples.xml" />
+ <tool id="t_test_two_samples" version="1.0.0" file="regVariation/t_test_two_samples.xml" /></repository><repository owner="devteam" changeset_revision="acf952549b53" name="xy_plot" description="Galaxy wrappers for the tool Plotting tool: for multiple series and graph types">
- <tool id="XY_Plot_1" version="1.0.1" file="xy_plot.xml" />
+ <tool id="XY_Plot_1" version="1.0.1" file="plotting/xy_plot.xml" /></repository></toolshed>
\ No newline at end of file
diff -r a94e57976adf8cee859bbe14e8275b73b16206bc -r c38c0a6893e4831b536ce5b4e7004690aa8bb77b scripts/migrate_tools/0009_tools.xml
--- a/scripts/migrate_tools/0009_tools.xml
+++ b/scripts/migrate_tools/0009_tools.xml
@@ -1,132 +1,132 @@
<?xml version="1.0"?><toolshed name="toolshed.g2.bx.psu.edu"><repository owner="devteam" changeset_revision="96d2e31a3938" name="bowtie2" description="Bowtie2">
- <tool id="bowtie2" version="0.2" file="bowtie2_wrapper.xml" />
+ <tool id="bowtie2" version="0.2" file="ngs_rna/bowtie2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="a0c8dc671a23" name="ccat" description="Control-based ChIP-seq Analysis Tool">
- <tool id="peakcalling_ccat" version="0.0.1" file="ccat_wrapper.xml" />
+ <tool id="peakcalling_ccat" version="0.0.1" file="peak_calling/ccat_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="7cc64024fe92" name="clustalw" description="ClustalW multiple sequence alignment program for DNA or proteins">
- <tool id="clustalw" version="0.1" file="rgClustalw.xml" />
+ <tool id="clustalw" version="0.1" file="rgenetics/rgClustalw.xml" /></repository><repository owner="devteam" changeset_revision="6708501767b6" name="dwt_cor_ava_perclass" description="Compute P-values and Correlation Coefficients for Feature Occurrences">
- <tool id="compute_p-values_correlation_coefficients_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_cor_aVa_perClass.xml" />
+ <tool id="compute_p-values_correlation_coefficients_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_cor_aVa_perClass.xml" /></repository><repository owner="devteam" changeset_revision="0f2eda4ea8dc" name="dwt_cor_avb_all" description="Compute P-values and Correlation Coefficients for Occurrences of Two Set of Features">
- <tool id="compute_p-values_correlation_coefficients_featureA_featureB_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_cor_aVb_all.xml" />
+ <tool id="compute_p-values_correlation_coefficients_featureA_featureB_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_cor_aVb_all.xml" /></repository><repository owner="devteam" changeset_revision="0b89b03ad760" name="dwt_ivc_all" description="Compute P-values and Second Moments for Feature Occurrences">
- <tool id="compute_p-values_second_moments_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_IvC_all.xml" />
+ <tool id="compute_p-values_second_moments_feature_occurrences_between_two_datasets_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_IvC_all.xml" /></repository><repository owner="devteam" changeset_revision="cb422b6f49d2" name="dwt_var_perclass" description="Compute P-values and Max Variances for Feature Occurrences">
- <tool id="compute_p-values_max_variances_feature_occurrences_in_one_dataset_using_discrete_wavelet_transfom" version="1.0.0" file="execute_dwt_var_perClass.xml" />
+ <tool id="compute_p-values_max_variances_feature_occurrences_in_one_dataset_using_discrete_wavelet_transfom" version="1.0.0" file="discreteWavelet/execute_dwt_var_perClass.xml" /></repository><repository owner="devteam" changeset_revision="d56c5d2e1a29" name="dwt_var_perfeature" description="Wavelet variance using Discrete Wavelet Transfoms">
- <tool id="dwt_var1" version="1.0.0" file="execute_dwt_var_perFeature.xml" />
+ <tool id="dwt_var1" version="1.0.0" file="discreteWavelet/execute_dwt_var_perFeature.xml" /></repository><repository owner="devteam" changeset_revision="7b0708761d05" name="express" description="Quantify the abundances of a set of target sequences from sampled subsequences">
- <tool id="express" version="1.1.1" file="express_wrapper.xml" />
+ <tool id="express" version="1.1.1" file="ngs_rna/express_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="e28c965eeed4" name="fastqc" description="Read QC reports using FastQC">
- <tool id="fastqc" version="1.0.0" file="rgFastQC.xml" />
+ <tool id="fastqc" version="1.0.0" file="rgenetics/rgFastQC.xml" /></repository><repository owner="devteam" changeset_revision="94306bdd58f7" name="fastq_combiner" description="Combine FASTA and QUAL into FASTQ.">
- <tool id="fastq_combiner" version="1.0.1" file="fastq_combiner.xml" />
+ <tool id="fastq_combiner" version="1.0.1" file="fastq/fastq_combiner.xml" /></repository><repository owner="devteam" changeset_revision="30d9ece6c752" name="fastq_filter" description="Filter FASTQ reads by quality score and length">
- <tool id="fastq_filter" version="1.0.0" file="fastq_filter.xml" />
+ <tool id="fastq_filter" version="1.0.0" file="fastq/fastq_filter.xml" /></repository><repository owner="devteam" changeset_revision="1298445c852b" name="fastq_groomer" description="Convert between various FASTQ quality formats.">
- <tool id="fastq_groomer" version="1.0.4" file="fastq_groomer.xml" />
+ <tool id="fastq_groomer" version="1.0.4" file="fastq/fastq_groomer.xml" /></repository><repository owner="devteam" changeset_revision="5d1e9e13e8db" name="fastq_manipulation" description="Manipulate FASTQ reads on various attributes.">
- <tool id="fastq_manipulation" version="1.0.1" file="fastq_manipulation.xml" />
+ <tool id="fastq_manipulation" version="1.0.1" file="fastq/fastq_manipulation.xml" /></repository><repository owner="devteam" changeset_revision="5a7b5751617b" name="fastq_masker_by_quality" description="FASTQ Masker by quality score">
- <tool id="fastq_masker_by_quality" version="1.0.0" file="fastq_masker_by_quality.xml" />
+ <tool id="fastq_masker_by_quality" version="1.0.0" file="fastq/fastq_masker_by_quality.xml" /></repository><repository owner="devteam" changeset_revision="f0949bc49926" name="fastq_paired_end_deinterlacer" description="FASTQ de-interlacer on paired end reads.">
- <tool id="fastq_paired_end_deinterlacer" version="1.1" file="fastq_paired_end_deinterlacer.xml" />
+ <tool id="fastq_paired_end_deinterlacer" version="1.1" file="fastq/fastq_paired_end_deinterlacer.xml" /></repository><repository owner="devteam" changeset_revision="b89bdf6acb6c" name="fastq_paired_end_interlacer" description="FASTQ interlacer on paired end reads">
- <tool id="fastq_paired_end_interlacer" version="1.1" file="fastq_paired_end_interlacer.xml" />
+ <tool id="fastq_paired_end_interlacer" version="1.1" file="fastq/fastq_paired_end_interlacer.xml" /></repository><repository owner="devteam" changeset_revision="2793d1d765b9" name="fastq_paired_end_joiner" description="FASTQ joiner on paired end reads">
- <tool id="fastq_paired_end_joiner" version="1.0.0" file="fastq_paired_end_joiner.xml" />
+ <tool id="fastq_paired_end_joiner" version="1.0.0" file="fastq/fastq_paired_end_joiner.xml" /></repository><repository owner="devteam" changeset_revision="c549e99026db" name="fastq_paired_end_splitter" description="FASTQ splitter on joined paired end reads">
- <tool id="fastq_paired_end_splitter" version="1.0.0" file="fastq_paired_end_splitter.xml" />
+ <tool id="fastq_paired_end_splitter" version="1.0.0" file="fastq/fastq_paired_end_splitter.xml" /></repository><repository owner="devteam" changeset_revision="9b7b4e0ca9db" name="fastq_stats" description="FASTQ Summary Statistics by column">
- <tool id="fastq_stats" version="1.0.0" file="fastq_stats.xml" />
+ <tool id="fastq_stats" version="1.0.0" file="fastq/fastq_stats.xml" /></repository><repository owner="devteam" changeset_revision="3571553aeb20" name="fastqtofasta" description="FASTQ to FASTA converter">
- <tool id="fastq_to_fasta_python" version="1.0.0" file="fastq_to_fasta.xml" />
+ <tool id="fastq_to_fasta_python" version="1.0.0" file="fastq/fastq_to_fasta.xml" /></repository><repository owner="devteam" changeset_revision="bc9269529e88" name="fastq_to_tabular" description="FASTQ to Tabular converter">
- <tool id="fastq_to_tabular" version="1.1.0" file="fastq_to_tabular.xml" />
+ <tool id="fastq_to_tabular" version="1.1.0" file="fastq/fastq_to_tabular.xml" /></repository><repository owner="devteam" changeset_revision="0b9feb0ed628" name="fastq_trimmer" description="FASTQ Trimmer by quality">
- <tool id="fastq_trimmer" version="1.0.0" file="fastq_trimmer.xml" />
+ <tool id="fastq_trimmer" version="1.0.0" file="fastq/fastq_trimmer.xml" /></repository><repository owner="devteam" changeset_revision="1cdcaf5fc1da" name="fastq_trimmer_by_quality" description="FASTQ Quality Trimmer by sliding window">
- <tool id="fastq_quality_trimmer" version="1.0.0" file="fastq_trimmer_by_quality.xml" />
+ <tool id="fastq_quality_trimmer" version="1.0.0" file="fastq/fastq_trimmer_by_quality.xml" /></repository><repository owner="devteam" changeset_revision="31154ff9f5e1" name="filter_transcripts_via_tracking" description="Filter Combined Transcripts">
- <tool id="filter_combined_via_tracking" version="0.1" file="filter_transcripts_via_tracking.xml" />
+ <tool id="filter_combined_via_tracking" version="0.1" file="ngs_rna/filter_transcripts_via_tracking.xml" /></repository><repository owner="devteam" changeset_revision="acf51ff24c7d" name="find_diag_hits" description="Identify sequence reads corresponding to a particular taxonomic group">
- <tool id="find_diag_hits" version="1.0.0" file="find_diag_hits.xml" />
+ <tool id="find_diag_hits" version="1.0.0" file="taxonomy/find_diag_hits.xml" /></repository><repository owner="devteam" changeset_revision="33a0e6aca936" name="freebayes_wrapper" description="Call SNPS with Freebayes">
- <tool id="freebayes_wrapper" version="0.5.0" file="freebayes.xml" />
+ <tool id="freebayes_wrapper" version="0.5.0" file="phenotype_association/freebayes.xml" /></repository><repository owner="devteam" changeset_revision="7b1b03c4465d" name="gi2taxonomy" description="Fetch taxonomic representation">
- <tool id="Fetch Taxonomic Ranks" version="1.1.0" file="gi2taxonomy.xml" />
+ <tool id="Fetch Taxonomic Ranks" version="1.1.0" file="taxonomy/gi2taxonomy.xml" /></repository><repository owner="devteam" changeset_revision="2cd5ee197ec7" name="gmaj" description="GMAJ Multiple Alignment Viewer">
- <tool id="gmaj_1" version="2.0.1" file="GMAJ.xml" />
+ <tool id="gmaj_1" version="2.0.1" file="visualization/GMAJ.xml" /></repository><repository owner="devteam" changeset_revision="33e8ed5a4601" name="lca_wrapper" description="Find lowest diagnostic rank">
- <tool id="lca1" version="1.0.1" file="lca.xml" />
+ <tool id="lca1" version="1.0.1" file="taxonomy/lca.xml" /></repository><repository owner="devteam" changeset_revision="ae2ec275332a" name="macs" description="Model-based Analysis of ChIP-Seq">
- <tool id="peakcalling_macs" version="1.0.1" file="macs_wrapper.xml" />
+ <tool id="peakcalling_macs" version="1.0.1" file="peak_calling/macs_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="8cd5945559b8" name="poisson2test" description="Poisson two-sample test">
- <tool id="poisson2test" version="1.0.0" file="poisson2test.xml" />
+ <tool id="poisson2test" version="1.0.0" file="taxonomy/poisson2test.xml" /></repository><repository owner="devteam" changeset_revision="82a8234e03f2" name="sicer" description="Statistical approach for the Identification of ChIP-Enriched Regions">
- <tool id="peakcalling_sicer" version="0.0.1" file="sicer_wrapper.xml" />
+ <tool id="peakcalling_sicer" version="0.0.1" file="peak_calling/sicer_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="9e2b9ca7f33a" name="t2ps" description="Draw phylogeny">
- <tool id="Draw_phylogram" version="1.0.0" file="t2ps_wrapper.xml" />
+ <tool id="Draw_phylogram" version="1.0.0" file="taxonomy/t2ps_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="592acb9505fc" name="t2t_report" description="Summarize taxonomy">
- <tool id="t2t_report" version="1.0.0" file="t2t_report.xml" />
+ <tool id="t2t_report" version="1.0.0" file="taxonomy/t2t_report.xml" /></repository><repository owner="devteam" changeset_revision="b334cd1095ea" name="tabular_to_fastq" description="Tabular to FASTQ converter">
- <tool id="tabular_to_fastq" version="1.0.0" file="tabular_to_fastq.xml" />
+ <tool id="tabular_to_fastq" version="1.0.0" file="fastq/tabular_to_fastq.xml" /></repository><repository owner="devteam" changeset_revision="1030acbecce6" name="tophat" description="Find splice junctions using RNA-seq data">
- <tool id="tophat" version="1.5.0" file="tophat_wrapper.xml" />
+ <tool id="tophat" version="1.5.0" file="ngs_rna/tophat_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="ffa30bedbee3" name="tophat2" description="Gapped-read mapper for RNA-seq data">
- <tool id="tophat2" version="0.6" file="tophat2_wrapper.xml" />
+ <tool id="tophat2" version="0.6" file="ngs_rna/tophat2_wrapper.xml" /></repository><repository owner="devteam" changeset_revision="b001b50f2009" name="vcf_annotate" description="Annotate a VCF file (dbSNP, hapmap)">
- <tool id="vcf_annotate" version="1.0.0" file="annotate.xml" />
+ <tool id="vcf_annotate" version="1.0.0" file="vcf_tools/annotate.xml" /></repository><repository owner="devteam" changeset_revision="76ad0b7865b9" name="vcf_extract" description="Extract reads from a specified region">
- <tool id="vcf_extract" version="1.0.0" file="extract.xml" />
+ <tool id="vcf_extract" version="1.0.0" file="vcf_tools/extract.xml" /></repository><repository owner="devteam" changeset_revision="da1a6f33b504" name="vcf_filter" description="Filter a VCF file">
- <tool id="vcf_filter" version="1.0.0" file="filter.xml" />
+ <tool id="vcf_filter" version="1.0.0" file="vcf_tools/filter.xml" /></repository><repository owner="devteam" changeset_revision="9d162bde4113" name="vcf_intersect" description="Generate the intersection of two VCF files"><tool id="vcf_intersect" version="1.0.0" file="vcf_tools/intersect.xml" /></repository><repository owner="devteam" changeset_revision="66253fc0a69b" name="weblogo3" description="Sequence Logo generator for fasta (eg Clustal alignments)">
- <tool id="rgweblogo3" version="0.4" file="rgWebLogo3.xml" />
+ <tool id="rgweblogo3" version="0.4" file="rgenetics/rgWebLogo3.xml" /></repository></toolshed>
\ No newline at end of file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: dannon: Swap amqplib for amqp. This was mostly a drop-in replacement, since it's a currently-maintained fork of amqplib, with slight updates to work with amqp 0-9-1.
by commits-noreply@bitbucket.org 19 Feb '14
by commits-noreply@bitbucket.org 19 Feb '14
19 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/890e70b0fd27/
Changeset: 890e70b0fd27
User: dannon
Date: 2014-02-19 20:27:10
Summary: Swap amqplib for amqp. This was mostly a drop-in replacement, since it's a currently-maintained fork of amqplib, with slight updates to work with amqp 0-9-1.
Affected #: 6 files
diff -r dcca6c291a6972ecd9024781667eb670de191c40 -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 eggs.ini
--- a/eggs.ini
+++ b/eggs.ini
@@ -33,7 +33,6 @@
[eggs:noplatform]
amqp = 1.4.3
-amqplib = 0.6.1
anyjson = 0.3.3
Beaker = 1.4
boto = 2.5.2
diff -r dcca6c291a6972ecd9024781667eb670de191c40 -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 lib/galaxy/web/framework/__init__.py
--- a/lib/galaxy/web/framework/__init__.py
+++ b/lib/galaxy/web/framework/__init__.py
@@ -45,7 +45,7 @@
from sqlalchemy.orm.exc import NoResultFound
eggs.require( "pexpect" )
-eggs.require( "amqplib" )
+eggs.require( "amqp" )
import logging
log = logging.getLogger( __name__ )
diff -r dcca6c291a6972ecd9024781667eb670de191c40 -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 lib/galaxy/webapps/demo_sequencer/framework/__init__.py
--- a/lib/galaxy/webapps/demo_sequencer/framework/__init__.py
+++ b/lib/galaxy/webapps/demo_sequencer/framework/__init__.py
@@ -31,7 +31,7 @@
import mako.runtime
pkg_resources.require( "pexpect" )
-pkg_resources.require( "amqplib" )
+pkg_resources.require( "amqp" )
import logging
log = logging.getLogger( __name__ )
diff -r dcca6c291a6972ecd9024781667eb670de191c40 -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 lib/galaxy/webapps/galaxy/controllers/requests_admin.py
--- a/lib/galaxy/webapps/galaxy/controllers/requests_admin.py
+++ b/lib/galaxy/webapps/galaxy/controllers/requests_admin.py
@@ -6,7 +6,9 @@
from galaxy import model, util
from galaxy.web.form_builder import *
from .requests_common import RequestsGrid, invalid_id_redirect
-from amqplib import client_0_8 as amqp
+from galaxy import eggs
+eggs.require("amqp")
+import amqp
import logging, os, pexpect, ConfigParser
log = logging.getLogger( __name__ )
@@ -696,8 +698,7 @@
conn = amqp.Connection( host=trans.app.config.amqp[ 'host' ] + ":" + trans.app.config.amqp[ 'port' ],
userid=trans.app.config.amqp[ 'userid' ],
password=trans.app.config.amqp[ 'password' ],
- virtual_host=trans.app.config.amqp[ 'virtual_host' ],
- insist=False )
+ virtual_host=trans.app.config.amqp[ 'virtual_host' ])
chan = conn.channel()
msg = amqp.Message( rmq_msg,
content_type='text/plain',
diff -r dcca6c291a6972ecd9024781667eb670de191c40 -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 scripts/galaxy_messaging/client/amqp_publisher.py
--- a/scripts/galaxy_messaging/client/amqp_publisher.py
+++ b/scripts/galaxy_messaging/client/amqp_publisher.py
@@ -1,18 +1,23 @@
'''
-This script gets barcode data from a barcode scanner using serial communication
+This script gets barcode data from a barcode scanner using serial communication
and sends the state representated by the barcode scanner & the barcode string
-to the Galaxy LIMS RabbitMQ server. The message is sent in XML which has 2 tags,
+to the Galaxy LIMS RabbitMQ server. The message is sent in XML which has 2 tags,
barcode & state. The state of the scanner should be set in the galaxy_amq.ini
-file as a configuration variable.
+file as a configuration variable.
'''
-from amqplib import client_0_8 as amqp
+import array
import ConfigParser
-import sys, os
+import optparse
+import os
import serial
-import array
+import sys
import time
-import optparse
+
+from galaxy import eggs
+eggs.require("amqp")
+
+import amqp
xml = \
@@ -31,14 +36,14 @@
print values
data = xml % values
print data
- conn = amqp.Connection(host=amqp_config['host']+":"+amqp_config['port'],
- userid=amqp_config['userid'],
- password=amqp_config['password'],
- virtual_host=amqp_config['virtual_host'],
- insist=False)
+ conn = amqp.Connection(host=amqp_config['host']+":"+amqp_config['port'],
+ userid=amqp_config['userid'],
+ password=amqp_config['password'],
+ virtual_host=amqp_config['virtual_host'],)
+
chan = conn.channel()
- msg = amqp.Message(data,
- content_type='text/plain',
+ msg = amqp.Message(data,
+ content_type='text/plain',
application_headers={'msg_type': 'sample_state_update'})
msg.properties["delivery_mode"] = 2
chan.basic_publish(msg,
@@ -55,13 +60,13 @@
msg = s.read(bytes)
print msg
handle_scan(states, amqp_config, msg.strip())
-
-
+
+
def main():
parser = optparse.OptionParser()
- parser.add_option('-c', '--config-file', help='config file with all the AMQP config parameters',
+ parser.add_option('-c', '--config-file', help='config file with all the AMQP config parameters',
dest='config_file', action='store')
- parser.add_option('-p', '--port', help='Name of the port where the scanner is connected',
+ parser.add_option('-p', '--port', help='Name of the port where the scanner is connected',
dest='port', action='store')
(opts, args) = parser.parse_args()
config = ConfigParser.ConfigParser()
@@ -81,7 +86,7 @@
states[config.get(section, 'prefix')] = config.get(section, 'state')
count = count + 1
else:
- break
+ break
print amqp_config
print states
s = serial.Serial(int(opts.port))
@@ -90,6 +95,6 @@
s.close()
print 'Port %s is open: %s' %( opts.port, s.isOpen())
-
+
if __name__ == '__main__':
main()
diff -r dcca6c291a6972ecd9024781667eb670de191c40 -r 890e70b0fd27d78d5982930f0176c26c4bebbfc0 scripts/galaxy_messaging/server/amqp_consumer.py
--- a/scripts/galaxy_messaging/server/amqp_consumer.py
+++ b/scripts/galaxy_messaging/server/amqp_consumer.py
@@ -1,8 +1,8 @@
'''
Galaxy Messaging with AMQP (RabbitMQ)
-Galaxy uses AMQ protocol to receive messages from external sources like
+Galaxy uses AMQ protocol to receive messages from external sources like
bar code scanners. Galaxy has been tested against RabbitMQ AMQP implementation.
-For Galaxy to receive messages from a message queue the RabbitMQ server has
+For Galaxy to receive messages from a message queue the RabbitMQ server has
to be set up with a user account and other parameters listed in the [galaxy_amqp]
section in the universe_wsgi.ini config file
Once the RabbitMQ server has been setup and started with the given parameters,
@@ -32,8 +32,8 @@
from galaxy import eggs
from galaxy.web.api.requests import RequestsAPIController
import pkg_resources
-pkg_resources.require( "amqplib" )
-from amqplib import client_0_8 as amqp
+pkg_resources.require( "amqp" )
+import amqp
import logging
log = logging.getLogger("GalaxyAMQP")
@@ -45,7 +45,7 @@
log.addHandler(fh)
# data transfer script
-data_transfer_script = os.path.join( os.getcwd(),
+data_transfer_script = os.path.join( os.getcwd(),
"scripts/galaxy_messaging/server/data_transfer.py" )
global config
global config_file_name
@@ -54,13 +54,13 @@
def start_data_transfer( message ):
# fork a new process to transfer datasets
- cmd = '%s "%s" "%s" "%s"' % ( "python",
- data_transfer_script,
+ cmd = '%s "%s" "%s" "%s"' % ( "python",
+ data_transfer_script,
message.body,
config_file_name ) # Galaxy config file name
pid = subprocess.Popen(cmd, shell=True).pid
log.debug('Started process (%i): %s' % (pid, str(cmd)))
-
+
def update_sample_state( message ):
dom = xml.dom.minidom.parseString(message.body)
barcode = get_value(dom, 'barcode')
@@ -69,7 +69,7 @@
log.debug('Barcode: ' + barcode)
log.debug('State: ' + state)
log.debug('API Key: ' + api_key)
- # validate
+ # validate
if not barcode or not state or not api_key:
log.debug( 'Incomplete sample_state_update message received. Sample barcode, desired state and user API key is required.' )
return
@@ -78,13 +78,13 @@
galaxydb = GalaxyDbInterface( dbconnstr )
sample_id = galaxydb.get_sample_id( field_name='bar_code', value=barcode )
if sample_id == -1:
- log.debug( 'Invalid barcode.' )
+ log.debug( 'Invalid barcode.' )
return
galaxydb.change_state(sample_id, state)
# after updating the sample state, update request status
request_id = galaxydb.get_request_id(sample_id)
update_request( api_key, request_id )
-
+
def update_request( api_key, request_id ):
encoded_request_id = api.encode_id( config.get( "app:main", "id_secret" ), request_id )
data = dict( update_type=RequestsAPIController.update_types.REQUEST )
@@ -111,9 +111,9 @@
def main():
parser = optparse.OptionParser()
- parser.add_option('-c', '--config-file', help='Galaxy configuration file',
+ parser.add_option('-c', '--config-file', help='Galaxy configuration file',
dest='config_file', action='store')
- parser.add_option('-s', '--http-server-section', help='Name of the HTTP server section in the Galaxy configuration file',
+ parser.add_option('-s', '--http-server-section', help='Name of the HTTP server section in the Galaxy configuration file',
dest='http_server_section', action='store')
(opts, args) = parser.parse_args()
log.debug( "GALAXY LISTENER PID: " + str(os.getpid()) + " - " + str( opts ) )
@@ -129,33 +129,32 @@
for option in config.options("galaxy_amqp"):
amqp_config[option] = config.get("galaxy_amqp", option)
log.debug( str( amqp_config ) )
- # connect
- conn = amqp.Connection(host=amqp_config['host']+":"+amqp_config['port'],
- userid=amqp_config['userid'],
- password=amqp_config['password'],
- virtual_host=amqp_config['virtual_host'],
- insist=False)
+ # connect
+ conn = amqp.Connection(host=amqp_config['host']+":"+amqp_config['port'],
+ userid=amqp_config['userid'],
+ password=amqp_config['password'],
+ virtual_host=amqp_config['virtual_host'])
chan = conn.channel()
- chan.queue_declare( queue=amqp_config['queue'],
- durable=True,
- exclusive=True,
+ chan.queue_declare( queue=amqp_config['queue'],
+ durable=True,
+ exclusive=True,
auto_delete=False)
- chan.exchange_declare( exchange=amqp_config['exchange'],
- type="direct",
- durable=True,
- auto_delete=False,)
- chan.queue_bind( queue=amqp_config['queue'],
- exchange=amqp_config['exchange'],
+ chan.exchange_declare( exchange=amqp_config['exchange'],
+ type="direct",
+ durable=True,
+ auto_delete=False,)
+ chan.queue_bind( queue=amqp_config['queue'],
+ exchange=amqp_config['exchange'],
routing_key=amqp_config['routing_key'])
- chan.basic_consume( queue=amqp_config['queue'],
- no_ack=True,
- callback=recv_callback,
+ chan.basic_consume( queue=amqp_config['queue'],
+ no_ack=True,
+ callback=recv_callback,
consumer_tag="testtag")
log.debug('Connected to rabbitmq server - '+amqp_config['host']+":"+amqp_config['port'])
while True:
chan.wait()
- chan.basic_cancel("testtag")
+ chan.basic_cancel("testtag")
chan.close()
conn.close()
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: carlfeberhard: History panel: remove anonymous template
by commits-noreply@bitbucket.org 19 Feb '14
by commits-noreply@bitbucket.org 19 Feb '14
19 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/dcca6c291a69/
Changeset: dcca6c291a69
User: carlfeberhard
Date: 2014-02-19 19:54:55
Summary: History panel: remove anonymous template
Affected #: 11 files
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/mvc/history/current-history-panel.js
--- a/static/scripts/mvc/history/current-history-panel.js
+++ b/static/scripts/mvc/history/current-history-panel.js
@@ -272,12 +272,6 @@
}
});
-//------------------------------------------------------------------------------ TEMPLATES
-CurrentHistoryPanel.templates = {
- historyPanel : Handlebars.templates[ 'template-history-historyPanel' ],
- anonHistoryPanel : Handlebars.templates[ 'template-history-historyPanel-anon' ]
-};
-
//==============================================================================
return {
CurrentHistoryPanel : CurrentHistoryPanel
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/mvc/history/history-panel.js
--- a/static/scripts/mvc/history/history-panel.js
+++ b/static/scripts/mvc/history/history-panel.js
@@ -401,12 +401,6 @@
}
});
-//------------------------------------------------------------------------------ TEMPLATES
-HistoryPanel.templates = {
- historyPanel : Handlebars.templates[ 'template-history-historyPanel' ],
- anonHistoryPanel : Handlebars.templates[ 'template-history-historyPanel-anon' ]
-};
-
//==============================================================================
return {
HistoryPanel : HistoryPanel
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/packed/mvc/history/current-history-panel.js
--- a/static/scripts/packed/mvc/history/current-history-panel.js
+++ b/static/scripts/packed/mvc/history/current-history-panel.js
@@ -1,1 +1,1 @@
-define(["mvc/dataset/hda-edit","mvc/history/history-panel"],function(b,e){var c=SessionStorageModel.extend({defaults:{searching:false,tagsEditorShown:false,annotationEditorShown:false},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});c.storageKey=function d(){return("history-panel")};var a=e.HistoryPanel.extend({HDAViewClass:b.HDAEditView,emptyMsg:_l("This history is empty. Click 'Get Data' on the left pane to start"),noneFoundMsg:_l("No matching datasets found"),initialize:function(f){f=f||{};this.preferences=new c(_.extend({id:c.storageKey()},_.pick(f,_.keys(c.prototype.defaults))));e.HistoryPanel.prototype.initialize.call(this,f);if(this.model){console.debug(this.model);this.model.checkForUpdates()}},loadCurrentHistory:function(g){var f=this;return this.loadHistoryWithHDADetails("current",g).then(function(i,h){f.trigger("current-history",f)})},switchToHistory:function(i,h){var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories/"+i+"/set_as_current")};return this.loadHistoryWithHDADetails(i,h,g).then(function(k,j){f.trigger("switched-history",f)})},createNewHistory:function(h){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",_l("You must be logged in to create histories"));return $.when()}var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories",{current:true})};return this.loadHistory(undefined,h,g).then(function(j,i){f.trigger("new-history",f)})},setModel:function(h,f,g){g=g||{};e.HistoryPanel.prototype.setModel.call(this,h,f,g);this.model.checkForUpdates();return this},_setUpModelEventHandlers:function(){e.HistoryPanel.prototype._setUpModelEventHandlers.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}this.model.hdas.on("state:ready",function(g,h,f){if((!g.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeHdaView(this.hdaViews[g.id])}},this)},render:function(h,i){h=(h===undefined)?(this.fxSpeed):(h);var f=this,g;if(this.model){g=this.renderModel()}else{g=this.renderWithoutModel()}$(f).queue("fx",[function(j){if(h&&f.$el.is(":visible")){f.$el.fadeOut(h,j)}else{j()}},function(j){f.$el.empty();if(g){f.$el.append(g.children());f.renderBasedOnPrefs()}j()},function(j){if(h&&!f.$el.is(":visible")){f.$el.fadeIn(h,j)}else{j()}},function(j){if(i){i.call(this)}f.trigger("rendered",this);j()}]);return this},renderBasedOnPrefs:function(){if(this.preferences.get("searching")){this.showSearchControls(0)}},connectToQuotaMeter:function(f){if(!f){return this}this.listenTo(f,"quota:over",this.showQuotaMessage);this.listenTo(f,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(f&&f.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var f=this.$el.find(".quota-message");if(f.is(":hidden")){f.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var f=this.$el.find(".quota-message");if(!f.is(":hidden")){f.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(f){if(!f){return this}this.on("new-storage",function(h,g){if(f&&h){f.findItemByHtml(_l("Include Deleted Datasets")).checked=h.get("show_deleted");f.findItemByHtml(_l("Include Hidden Datasets")).checked=h.get("show_hidden")}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});a.templates={historyPanel:Handlebars.templates["template-history-historyPanel"],anonHistoryPanel:Handlebars.templates["template-history-historyPanel-anon"]};return{CurrentHistoryPanel:a}});
\ No newline at end of file
+define(["mvc/dataset/hda-edit","mvc/history/history-panel"],function(b,e){var c=SessionStorageModel.extend({defaults:{searching:false,tagsEditorShown:false,annotationEditorShown:false},toString:function(){return"HistoryPanelPrefs("+JSON.stringify(this.toJSON())+")"}});c.storageKey=function d(){return("history-panel")};var a=e.HistoryPanel.extend({HDAViewClass:b.HDAEditView,emptyMsg:_l("This history is empty. Click 'Get Data' on the left pane to start"),noneFoundMsg:_l("No matching datasets found"),initialize:function(f){f=f||{};this.preferences=new c(_.extend({id:c.storageKey()},_.pick(f,_.keys(c.prototype.defaults))));e.HistoryPanel.prototype.initialize.call(this,f);if(this.model){console.debug(this.model);this.model.checkForUpdates()}},loadCurrentHistory:function(g){var f=this;return this.loadHistoryWithHDADetails("current",g).then(function(i,h){f.trigger("current-history",f)})},switchToHistory:function(i,h){var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories/"+i+"/set_as_current")};return this.loadHistoryWithHDADetails(i,h,g).then(function(k,j){f.trigger("switched-history",f)})},createNewHistory:function(h){if(!Galaxy||!Galaxy.currUser||Galaxy.currUser.isAnonymous()){this.displayMessage("error",_l("You must be logged in to create histories"));return $.when()}var f=this,g=function(){return jQuery.post(galaxy_config.root+"api/histories",{current:true})};return this.loadHistory(undefined,h,g).then(function(j,i){f.trigger("new-history",f)})},setModel:function(h,f,g){g=g||{};e.HistoryPanel.prototype.setModel.call(this,h,f,g);this.model.checkForUpdates();return this},_setUpModelEventHandlers:function(){e.HistoryPanel.prototype._setUpModelEventHandlers.call(this);if(Galaxy&&Galaxy.quotaMeter){this.listenTo(this.model,"change:nice_size",function(){Galaxy.quotaMeter.update()})}this.model.hdas.on("state:ready",function(g,h,f){if((!g.get("visible"))&&(!this.storage.get("show_hidden"))){this.removeHdaView(this.hdaViews[g.id])}},this)},render:function(h,i){h=(h===undefined)?(this.fxSpeed):(h);var f=this,g;if(this.model){g=this.renderModel()}else{g=this.renderWithoutModel()}$(f).queue("fx",[function(j){if(h&&f.$el.is(":visible")){f.$el.fadeOut(h,j)}else{j()}},function(j){f.$el.empty();if(g){f.$el.append(g.children());f.renderBasedOnPrefs()}j()},function(j){if(h&&!f.$el.is(":visible")){f.$el.fadeIn(h,j)}else{j()}},function(j){if(i){i.call(this)}f.trigger("rendered",this);j()}]);return this},renderBasedOnPrefs:function(){if(this.preferences.get("searching")){this.showSearchControls(0)}},connectToQuotaMeter:function(f){if(!f){return this}this.listenTo(f,"quota:over",this.showQuotaMessage);this.listenTo(f,"quota:under",this.hideQuotaMessage);this.on("rendered rendered:initial",function(){if(f&&f.isOverQuota()){this.showQuotaMessage()}});return this},showQuotaMessage:function(){var f=this.$el.find(".quota-message");if(f.is(":hidden")){f.slideDown(this.fxSpeed)}},hideQuotaMessage:function(){var f=this.$el.find(".quota-message");if(!f.is(":hidden")){f.slideUp(this.fxSpeed)}},connectToOptionsMenu:function(f){if(!f){return this}this.on("new-storage",function(h,g){if(f&&h){f.findItemByHtml(_l("Include Deleted Datasets")).checked=h.get("show_deleted");f.findItemByHtml(_l("Include Hidden Datasets")).checked=h.get("show_hidden")}});return this},toString:function(){return"CurrentHistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{CurrentHistoryPanel:a}});
\ No newline at end of file
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/packed/mvc/history/history-panel.js
--- a/static/scripts/packed/mvc/history/history-panel.js
+++ b/static/scripts/packed/mvc/history/history-panel.js
@@ -1,1 +1,1 @@
-define(["mvc/dataset/hda-model","mvc/dataset/hda-edit","mvc/history/readonly-history-panel"],function(c,a,b){var d=b.ReadOnlyHistoryPanel.extend({HDAViewClass:a.HDAEditView,initialize:function(e){e=e||{};this.selectedHdaIds=[];this.tagsEditor=null;this.annotationEditor=null;this.selecting=e.selecting||false;this.annotationEditorShown=e.annotationEditorShown||false;this.tagsEditorShown=e.tagsEditorShown||false;b.ReadOnlyHistoryPanel.prototype.initialize.call(this,e)},_setUpModelEventHandlers:function(){b.ReadOnlyHistoryPanel.prototype._setUpModelEventHandlers.call(this);this.model.on("change:nice_size",this.updateHistoryDiskSize,this);this.model.hdas.on("change:deleted",this.handleHdaDeletionChange,this);this.model.hdas.on("change:visible",this.handleHdaVisibleChange,this);this.model.hdas.on("change:purged",function(e){this.model.fetch()},this)},renderModel:function(){var e=$("<div/>");e.append(d.templates.historyPanel(this.model.toJSON()));if(Galaxy.currUser.id&&Galaxy.currUser.id===this.model.get("user_id")){this._renderTags(e);this._renderAnnotation(e)}e.find(".history-secondary-actions").prepend(this._renderSelectButton());e.find(".history-dataset-actions").toggle(this.selecting);e.find(".history-secondary-actions").prepend(this._renderSearchButton());this._setUpBehaviours(e);this.renderHdas(e);return e},_renderTags:function(e){var f=this;this.tagsEditor=new TagsEditor({model:this.model,el:e.find(".history-controls .tags-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDATagEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDATagEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history tags"),classes:"history-tag-btn",faIcon:"fa-tags"}).appendTo(e.find(".history-secondary-actions"))})},_renderAnnotation:function(e){var f=this;this.annotationEditor=new AnnotationEditor({model:this.model,el:e.find(".history-controls .annotation-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDAAnnotationEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDAAnnotationEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history Annotation"),classes:"history-annotate-btn",faIcon:"fa-comment"}).appendTo(e.find(".history-secondary-actions"))})},_renderSelectButton:function(e){return faIconButton({title:_l("Operations on multiple datasets"),classes:"history-select-btn",faIcon:"fa-check-square-o"})},_setUpBehaviours:function(e){e=e||this.$el;e.find("[title]").tooltip({placement:"bottom"});if(!this.model){return}this._setUpDatasetActionsPopup(e);if((!Galaxy.currUser||Galaxy.currUser.isAnonymous())||(Galaxy.currUser.id!==this.model.get("user_id"))){return}var f=this;e.find(".history-name").attr("title",_l("Click to rename history")).tooltip({placement:"bottom"}).make_text_editable({on_finish:function(g){var h=f.model.get("name");if(g&&g!==h){f.$el.find(".history-name").text(g);f.model.save({name:g}).fail(function(){f.$el.find(".history-name").text(f.model.previous("name"))})}else{f.$el.find(".history-name").text(h)}}})},_setUpDatasetActionsPopup:function(e){var f=this;(new PopupMenu(e.find(".history-dataset-action-popup-btn"),[{html:_l("Hide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.hide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Unhide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.unhide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Delete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype["delete"];f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Undelete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.undelete;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Permanently delete datasets"),func:function(){if(confirm(_l("This will permanently remove the data in your datasets. Are you sure?"))){var g=c.HistoryDatasetAssociation.prototype.purge;f.getSelectedHdaCollection().ajaxQueue(g)}}}]))},handleHdaDeletionChange:function(e){if(e.get("deleted")&&!this.storage.get("show_deleted")){this.removeHdaView(this.hdaViews[e.id])}},handleHdaVisibleChange:function(e){if(e.hidden()&&!this.storage.get("show_hidden")){this.removeHdaView(this.hdaViews[e.id])}},createHdaView:function(f){var e=f.get("id"),g=new this.HDAViewClass({model:f,linkTarget:this.linkTarget,expanded:this.storage.get("expandedHdas")[e],selectable:this.selecting,hasUser:this.model.ownedByCurrUser(),logger:this.logger,tagsEditorShown:(this.tagsEditor&&!this.tagsEditor.isHidden()),annotationEditorShown:(this.annotationEditor&&!this.annotationEditor.isHidden())});this._setUpHdaListeners(g);return g},_setUpHdaListeners:function(f){var e=this;b.ReadOnlyHistoryPanel.prototype._setUpHdaListeners.call(this,f);f.on("selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.union(e.selectedHdaIds,[h])});f.on("de-selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.without(e.selectedHdaIds,h)})},toggleHDATagEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.tagsEditor){g.tagsEditor.toggle.apply(g.tagsEditor,f)}})},toggleHDAAnnotationEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.annotationEditor){g.annotationEditor.toggle.apply(g.annotationEditor,f)}})},removeHdaView:function(f){if(!f){return}var e=this;f.$el.fadeOut(e.fxSpeed,function(){f.off();f.remove();delete e.hdaViews[f.model.id];if(_.isEmpty(e.hdaViews)){e.$el.find(e.emptyMsgSelector).fadeIn(e.fxSpeed,function(){e.trigger("empty-history",e)})}})},events:_.extend(_.clone(b.ReadOnlyHistoryPanel.prototype.events),{"click .history-select-btn":function(f){this.toggleSelectors(this.fxSpeed)},"click .history-select-all-datasets-btn":"selectAllDatasets","click .history-deselect-all-datasets-btn":"deselectAllDatasets"}),updateHistoryDiskSize:function(){this.$el.find(".history-size").text(this.model.get("nice_size"))},showSelectors:function(e){this.selecting=true;this.$el.find(".history-dataset-actions").slideDown(e);_.each(this.hdaViews,function(f){f.showSelector(e)});this.selectedHdaIds=[]},hideSelectors:function(e){this.selecting=false;this.$el.find(".history-dataset-actions").slideUp(e);_.each(this.hdaViews,function(f){f.hideSelector(e)});this.selectedHdaIds=[]},toggleSelectors:function(e){if(!this.selecting){this.showSelectors(e)}else{this.hideSelectors(e)}},selectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.select(e)})},deselectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.deselect(e)})},getSelectedHdaViews:function(){return _.filter(this.hdaViews,function(e){return e.selected})},getSelectedHdaCollection:function(){return new c.HDACollection(_.map(this.getSelectedHdaViews(),function(e){return e.model}),{historyId:this.model.id})},toString:function(){return"HistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});d.templates={historyPanel:Handlebars.templates["template-history-historyPanel"],anonHistoryPanel:Handlebars.templates["template-history-historyPanel-anon"]};return{HistoryPanel:d}});
\ No newline at end of file
+define(["mvc/dataset/hda-model","mvc/dataset/hda-edit","mvc/history/readonly-history-panel"],function(c,a,b){var d=b.ReadOnlyHistoryPanel.extend({HDAViewClass:a.HDAEditView,initialize:function(e){e=e||{};this.selectedHdaIds=[];this.tagsEditor=null;this.annotationEditor=null;this.selecting=e.selecting||false;this.annotationEditorShown=e.annotationEditorShown||false;this.tagsEditorShown=e.tagsEditorShown||false;b.ReadOnlyHistoryPanel.prototype.initialize.call(this,e)},_setUpModelEventHandlers:function(){b.ReadOnlyHistoryPanel.prototype._setUpModelEventHandlers.call(this);this.model.on("change:nice_size",this.updateHistoryDiskSize,this);this.model.hdas.on("change:deleted",this.handleHdaDeletionChange,this);this.model.hdas.on("change:visible",this.handleHdaVisibleChange,this);this.model.hdas.on("change:purged",function(e){this.model.fetch()},this)},renderModel:function(){var e=$("<div/>");e.append(d.templates.historyPanel(this.model.toJSON()));if(Galaxy.currUser.id&&Galaxy.currUser.id===this.model.get("user_id")){this._renderTags(e);this._renderAnnotation(e)}e.find(".history-secondary-actions").prepend(this._renderSelectButton());e.find(".history-dataset-actions").toggle(this.selecting);e.find(".history-secondary-actions").prepend(this._renderSearchButton());this._setUpBehaviours(e);this.renderHdas(e);return e},_renderTags:function(e){var f=this;this.tagsEditor=new TagsEditor({model:this.model,el:e.find(".history-controls .tags-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDATagEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDATagEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history tags"),classes:"history-tag-btn",faIcon:"fa-tags"}).appendTo(e.find(".history-secondary-actions"))})},_renderAnnotation:function(e){var f=this;this.annotationEditor=new AnnotationEditor({model:this.model,el:e.find(".history-controls .annotation-display"),onshowFirstTime:function(){this.render()},onshow:function(){f.toggleHDAAnnotationEditors(true,f.fxSpeed)},onhide:function(){f.toggleHDAAnnotationEditors(false,f.fxSpeed)},$activator:faIconButton({title:_l("Edit history Annotation"),classes:"history-annotate-btn",faIcon:"fa-comment"}).appendTo(e.find(".history-secondary-actions"))})},_renderSelectButton:function(e){return faIconButton({title:_l("Operations on multiple datasets"),classes:"history-select-btn",faIcon:"fa-check-square-o"})},_setUpBehaviours:function(e){e=e||this.$el;e.find("[title]").tooltip({placement:"bottom"});if(!this.model){return}this._setUpDatasetActionsPopup(e);if((!Galaxy.currUser||Galaxy.currUser.isAnonymous())||(Galaxy.currUser.id!==this.model.get("user_id"))){return}var f=this;e.find(".history-name").attr("title",_l("Click to rename history")).tooltip({placement:"bottom"}).make_text_editable({on_finish:function(g){var h=f.model.get("name");if(g&&g!==h){f.$el.find(".history-name").text(g);f.model.save({name:g}).fail(function(){f.$el.find(".history-name").text(f.model.previous("name"))})}else{f.$el.find(".history-name").text(h)}}})},_setUpDatasetActionsPopup:function(e){var f=this;(new PopupMenu(e.find(".history-dataset-action-popup-btn"),[{html:_l("Hide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.hide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Unhide datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.unhide;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Delete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype["delete"];f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Undelete datasets"),func:function(){var g=c.HistoryDatasetAssociation.prototype.undelete;f.getSelectedHdaCollection().ajaxQueue(g)}},{html:_l("Permanently delete datasets"),func:function(){if(confirm(_l("This will permanently remove the data in your datasets. Are you sure?"))){var g=c.HistoryDatasetAssociation.prototype.purge;f.getSelectedHdaCollection().ajaxQueue(g)}}}]))},handleHdaDeletionChange:function(e){if(e.get("deleted")&&!this.storage.get("show_deleted")){this.removeHdaView(this.hdaViews[e.id])}},handleHdaVisibleChange:function(e){if(e.hidden()&&!this.storage.get("show_hidden")){this.removeHdaView(this.hdaViews[e.id])}},createHdaView:function(f){var e=f.get("id"),g=new this.HDAViewClass({model:f,linkTarget:this.linkTarget,expanded:this.storage.get("expandedHdas")[e],selectable:this.selecting,hasUser:this.model.ownedByCurrUser(),logger:this.logger,tagsEditorShown:(this.tagsEditor&&!this.tagsEditor.isHidden()),annotationEditorShown:(this.annotationEditor&&!this.annotationEditor.isHidden())});this._setUpHdaListeners(g);return g},_setUpHdaListeners:function(f){var e=this;b.ReadOnlyHistoryPanel.prototype._setUpHdaListeners.call(this,f);f.on("selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.union(e.selectedHdaIds,[h])});f.on("de-selected",function(g){var h=g.model.get("id");e.selectedHdaIds=_.without(e.selectedHdaIds,h)})},toggleHDATagEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.tagsEditor){g.tagsEditor.toggle.apply(g.tagsEditor,f)}})},toggleHDAAnnotationEditors:function(e){var f=arguments;_.each(this.hdaViews,function(g){if(g.annotationEditor){g.annotationEditor.toggle.apply(g.annotationEditor,f)}})},removeHdaView:function(f){if(!f){return}var e=this;f.$el.fadeOut(e.fxSpeed,function(){f.off();f.remove();delete e.hdaViews[f.model.id];if(_.isEmpty(e.hdaViews)){e.$el.find(e.emptyMsgSelector).fadeIn(e.fxSpeed,function(){e.trigger("empty-history",e)})}})},events:_.extend(_.clone(b.ReadOnlyHistoryPanel.prototype.events),{"click .history-select-btn":function(f){this.toggleSelectors(this.fxSpeed)},"click .history-select-all-datasets-btn":"selectAllDatasets","click .history-deselect-all-datasets-btn":"deselectAllDatasets"}),updateHistoryDiskSize:function(){this.$el.find(".history-size").text(this.model.get("nice_size"))},showSelectors:function(e){this.selecting=true;this.$el.find(".history-dataset-actions").slideDown(e);_.each(this.hdaViews,function(f){f.showSelector(e)});this.selectedHdaIds=[]},hideSelectors:function(e){this.selecting=false;this.$el.find(".history-dataset-actions").slideUp(e);_.each(this.hdaViews,function(f){f.hideSelector(e)});this.selectedHdaIds=[]},toggleSelectors:function(e){if(!this.selecting){this.showSelectors(e)}else{this.hideSelectors(e)}},selectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.select(e)})},deselectAllDatasets:function(e){_.each(this.hdaViews,function(f){f.deselect(e)})},getSelectedHdaViews:function(){return _.filter(this.hdaViews,function(e){return e.selected})},getSelectedHdaCollection:function(){return new c.HDACollection(_.map(this.getSelectedHdaViews(),function(e){return e.model}),{historyId:this.model.id})},toString:function(){return"HistoryPanel("+((this.model)?(this.model.get("name")):(""))+")"}});return{HistoryPanel:d}});
\ No newline at end of file
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/packed/templates/compiled/history-templates.js
--- a/static/scripts/packed/templates/compiled/history-templates.js
+++ b/static/scripts/packed/templates/compiled/history-templates.js
@@ -1,1 +1,1 @@
-(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-body"]=b(function(g,r,p,k,z){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,g.helpers);z=z||{};var q="",h,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(D,C){var A="",B;A+='\n <div class="dataset-summary">\n ';if(B=p.body){B=B.call(D,{hash:{},data:C})}else{B=D.body;B=typeof B===e?B.apply(D):B}if(B||B===0){A+=B}A+='\n </div>\n <div class="dataset-actions clear">\n <div class="left"></div>\n <div class="right"></div>\n </div>\n\n ';return A}function m(D,C){var A="",B;A+='\n <div class="dataset-summary">\n ';B=p["if"].call(D,D.misc_blurb,{hash:{},inverse:o.noop,fn:o.program(4,l,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p["if"].call(D,D.data_type,{hash:{},inverse:o.noop,fn:o.program(6,j,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p["if"].call(D,D.metadata_dbkey,{hash:{},inverse:o.noop,fn:o.program(9,f,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p["if"].call(D,D.misc_info,{hash:{},inverse:o.noop,fn:o.program(12,x,C),data:C});if(B||B===0){A+=B}A+='\n </div>\n\n <div class="dataset-actions clear">\n <div class="left"></div>\n <div class="right"></div>\n </div>\n\n ';B=p.unless.call(D,D.deleted,{hash:{},inverse:o.noop,fn:o.program(14,w,C),data:C});if(B||B===0){A+=B}A+="\n\n ";return A}function l(D,C){var A="",B;A+='\n <div class="dataset-blurb">\n <span class="value">';if(B=p.misc_blurb){B=B.call(D,{hash:{},data:C})}else{B=D.misc_blurb;B=typeof B===e?B.apply(D):B}A+=d(B)+"</span>\n </div>\n ";return A}function j(E,D){var A="",C,B;A+='\n <div class="dataset-datatype">\n <label class="prompt">';B={hash:{},inverse:o.noop,fn:o.program(7,i,D),data:D};if(C=p.local){C=C.call(E,B)}else{C=E.local;C=typeof C===e?C.apply(E):C}if(!p.local){C=c.call(E,C,B)}if(C||C===0){A+=C}A+='</label>\n <span class="value">';if(C=p.data_type){C=C.call(E,{hash:{},data:D})}else{C=E.data_type;C=typeof C===e?C.apply(E):C}A+=d(C)+"</span>\n </div>\n ";return A}function i(B,A){return"format"}function f(E,D){var A="",C,B;A+='\n <div class="dataset-dbkey">\n <label class="prompt">';B={hash:{},inverse:o.noop,fn:o.program(10,y,D),data:D};if(C=p.local){C=C.call(E,B)}else{C=E.local;C=typeof C===e?C.apply(E):C}if(!p.local){C=c.call(E,C,B)}if(C||C===0){A+=C}A+='</label>\n <span class="value">\n ';if(C=p.metadata_dbkey){C=C.call(E,{hash:{},data:D})}else{C=E.metadata_dbkey;C=typeof C===e?C.apply(E):C}A+=d(C)+"\n </span>\n </div>\n ";return A}function y(B,A){return"database"}function x(D,C){var A="",B;A+='\n <div class="dataset-info">\n <span class="value">';if(B=p.misc_info){B=B.call(D,{hash:{},data:C})}else{B=D.misc_info;B=typeof B===e?B.apply(D):B}A+=d(B)+"</span>\n </div>\n ";return A}function w(D,C){var A="",B;A+='\n <div class="tags-display"></div>\n <div class="annotation-display"></div>\n\n <div class="dataset-display-applications">\n ';B=p.each.call(D,D.display_apps,{hash:{},inverse:o.noop,fn:o.program(15,v,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p.each.call(D,D.display_types,{hash:{},inverse:o.noop,fn:o.program(15,v,C),data:C});if(B||B===0){A+=B}A+='\n </div>\n\n <div class="dataset-peek">\n ';B=p["if"].call(D,D.peek,{hash:{},inverse:o.noop,fn:o.program(19,s,C),data:C});if(B||B===0){A+=B}A+="\n </div>\n\n ";return A}function v(D,C){var A="",B;A+='\n <div class="display-application">\n <span class="display-application-location">';if(B=p.label){B=B.call(D,{hash:{},data:C})}else{B=D.label;B=typeof B===e?B.apply(D):B}A+=d(B)+'</span>\n <span class="display-application-links">\n ';B=p.each.call(D,D.links,{hash:{},inverse:o.noop,fn:o.program(16,u,C),data:C});if(B||B===0){A+=B}A+="\n </span>\n </div>\n ";return A}function u(E,D){var A="",C,B;A+='\n <a target="';if(C=p.target){C=C.call(E,{hash:{},data:D})}else{C=E.target;C=typeof C===e?C.apply(E):C}A+=d(C)+'" href="';if(C=p.href){C=C.call(E,{hash:{},data:D})}else{C=E.href;C=typeof C===e?C.apply(E):C}A+=d(C)+'">';B={hash:{},inverse:o.noop,fn:o.program(17,t,D),data:D};if(C=p.local){C=C.call(E,B)}else{C=E.local;C=typeof C===e?C.apply(E):C}if(!p.local){C=c.call(E,C,B)}if(C||C===0){A+=C}A+="</a>\n ";return A}function t(C,B){var A;if(A=p.text){A=A.call(C,{hash:{},data:B})}else{A=C.text;A=typeof A===e?A.apply(C):A}return d(A)}function s(D,C){var A="",B;A+='\n <pre class="peek">';if(B=p.peek){B=B.call(D,{hash:{},data:C})}else{B=D.peek;B=typeof B===e?B.apply(D):B}if(B||B===0){A+=B}A+="</pre>\n ";return A}q+='<div class="dataset-body">\n ';h=p["if"].call(r,r.body,{hash:{},inverse:o.program(3,m,z),fn:o.program(1,n,z),data:z});if(h||h===0){q+=h}q+="\n</div>";return q})})();(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-skeleton"]=b(function(f,r,p,k,w){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,f.helpers);w=w||{};var q="",h,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(B,A){var x="",z,y;x+='\n <div class="errormessagesmall">\n ';y={hash:{},inverse:o.noop,fn:o.program(2,m,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+=":\n ";y={hash:{},inverse:o.noop,fn:o.program(4,l,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </div>\n ";return x}function m(y,x){return"There was an error getting the data for this dataset"}function l(z,y){var x;if(x=p.error){x=x.call(z,{hash:{},data:y})}else{x=z.error;x=typeof x===e?x.apply(z):x}return d(x)}function j(A,z){var x="",y;x+="\n ";y=p["if"].call(A,A.purged,{hash:{},inverse:o.program(10,v,z),fn:o.program(7,i,z),data:z});if(y||y===0){x+=y}x+="\n ";return x}function i(B,A){var x="",z,y;x+='\n <div class="dataset-purged-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(8,g,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n\n ";return x}function g(y,x){return"This dataset has been deleted and removed from disk."}function v(B,A){var x="",z,y;x+='\n <div class="dataset-deleted-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(11,u,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n ";return x}function u(y,x){return"This dataset has been deleted."}function t(B,A){var x="",z,y;x+='\n <div class="dataset-hidden-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(14,s,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n ";return x}function s(y,x){return"This dataset has been hidden."}q+='<div class="dataset hda">\n <div class="dataset-warnings">\n ';h=p["if"].call(r,r.error,{hash:{},inverse:o.noop,fn:o.program(1,n,w),data:w});if(h||h===0){q+=h}q+="\n\n ";h=p["if"].call(r,r.deleted,{hash:{},inverse:o.noop,fn:o.program(6,j,w),data:w});if(h||h===0){q+=h}q+="\n\n ";h=p.unless.call(r,r.visible,{hash:{},inverse:o.noop,fn:o.program(13,t,w),data:w});if(h||h===0){q+=h}q+='\n </div>\n\n <div class="dataset-selector"><span class="fa fa-2x fa-square-o"></span></div>\n <div class="dataset-primary-actions"></div>\n \n <div class="dataset-title-bar clear" tabindex="0">\n <span class="dataset-state-icon state-icon"></span>\n <div class="dataset-title">\n <span class="hda-hid">';if(h=p.hid){h=h.call(r,{hash:{},data:w})}else{h=r.hid;h=typeof h===e?h.apply(r):h}q+=d(h)+'</span>\n <span class="dataset-name">';if(h=p.name){h=h.call(r,{hash:{},data:w})}else{h=r.name;h=typeof h===e?h.apply(r):h}q+=d(h)+'</span>\n </div>\n </div>\n\n <div class="dataset-body"></div>\n</div>';return q})})();(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-skeleton"]=b(function(f,r,p,k,w){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,f.helpers);w=w||{};var q="",h,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(B,A){var x="",z,y;x+='\n <div class="errormessagesmall">\n ';y={hash:{},inverse:o.noop,fn:o.program(2,m,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+=":\n ";y={hash:{},inverse:o.noop,fn:o.program(4,l,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </div>\n ";return x}function m(y,x){return"There was an error getting the data for this dataset"}function l(z,y){var x;if(x=p.error){x=x.call(z,{hash:{},data:y})}else{x=z.error;x=typeof x===e?x.apply(z):x}return d(x)}function j(A,z){var x="",y;x+="\n ";y=p["if"].call(A,A.purged,{hash:{},inverse:o.program(10,v,z),fn:o.program(7,i,z),data:z});if(y||y===0){x+=y}x+="\n ";return x}function i(B,A){var x="",z,y;x+='\n <div class="dataset-purged-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(8,g,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n\n ";return x}function g(y,x){return"This dataset has been deleted and removed from disk."}function v(B,A){var x="",z,y;x+='\n <div class="dataset-deleted-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(11,u,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n ";return x}function u(y,x){return"This dataset has been deleted."}function t(B,A){var x="",z,y;x+='\n <div class="dataset-hidden-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(14,s,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n ";return x}function s(y,x){return"This dataset has been hidden."}q+='<div class="dataset hda">\n <div class="dataset-warnings">\n ';h=p["if"].call(r,r.error,{hash:{},inverse:o.noop,fn:o.program(1,n,w),data:w});if(h||h===0){q+=h}q+="\n\n ";h=p["if"].call(r,r.deleted,{hash:{},inverse:o.noop,fn:o.program(6,j,w),data:w});if(h||h===0){q+=h}q+="\n\n ";h=p.unless.call(r,r.visible,{hash:{},inverse:o.noop,fn:o.program(13,t,w),data:w});if(h||h===0){q+=h}q+='\n </div>\n\n <div class="dataset-selector"><span class="fa fa-2x fa-square-o"></span></div>\n <div class="dataset-primary-actions"></div>\n \n <div class="dataset-title-bar clear" tabindex="0">\n <span class="dataset-state-icon state-icon"></span>\n <div class="dataset-title">\n <span class="hda-hid">';if(h=p.hid){h=h.call(r,{hash:{},data:w})}else{h=r.hid;h=typeof h===e?h.apply(r):h}q+=d(h)+'</span>\n <span class="dataset-name">';if(h=p.name){h=h.call(r,{hash:{},data:w})}else{h=r.name;h=typeof h===e?h.apply(r):h}q+=d(h)+'</span>\n </div>\n </div>\n\n <div class="dataset-body"></div>\n</div>';return q})})();(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-history-historyPanel-anon"]=b(function(h,r,p,l,w){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,h.helpers);w=w||{};var q="",i,f,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(A,z){var x="",y;x+='\n <div class="history-name">\n ';if(y=p.name){y=y.call(A,{hash:{},data:z})}else{y=A.name;y=typeof y===e?y.apply(A):y}x+=d(y)+"\n </div>\n ";return x}function m(A,z){var x="",y;x+='\n <div class="history-size">';if(y=p.nice_size){y=y.call(A,{hash:{},data:z})}else{y=A.nice_size;y=typeof y===e?y.apply(A):y}x+=d(y)+"</div>\n ";return x}function k(A,z){var x="",y;x+='\n \n <div class="';if(y=p.status){y=y.call(A,{hash:{},data:z})}else{y=A.status;y=typeof y===e?y.apply(A):y}x+=d(y)+'message">';if(y=p.message){y=y.call(A,{hash:{},data:z})}else{y=A.message;y=typeof y===e?y.apply(A):y}x+=d(y)+"</div>\n ";return x}function j(y,x){return"You are over your disk quota"}function g(y,x){return"Tool execution is on hold until your disk usage drops below your allocated quota"}function v(y,x){return"All"}function u(y,x){return"None"}function t(y,x){return"For all selected"}function s(y,x){return"Your history is empty. Click 'Get Data' on the left pane to start"}q+='<div class="history-controls">\n <div class="history-search-controls">\n <div class="history-search-input"></div>\n </div>\n\n <div class="history-title">\n \n ';i=p["if"].call(r,r.name,{hash:{},inverse:o.noop,fn:o.program(1,n,w),data:w});if(i||i===0){q+=i}q+='\n </div>\n\n <div class="history-subtitle clear">\n ';i=p["if"].call(r,r.nice_size,{hash:{},inverse:o.noop,fn:o.program(3,m,w),data:w});if(i||i===0){q+=i}q+='\n\n <div class="history-secondary-actions btn-group"></div>\n </div>\n\n <div class="message-container">\n ';i=p["if"].call(r,r.message,{hash:{},inverse:o.noop,fn:o.program(5,k,w),data:w});if(i||i===0){q+=i}q+='\n </div>\n\n <div class="quota-message errormessage">\n ';f={hash:{},inverse:o.noop,fn:o.program(7,j,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+=".\n ";f={hash:{},inverse:o.noop,fn:o.program(9,g,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='.\n </div>\n\n <div class="history-dataset-actions">\n <div class="btn-group">\n <button class="history-select-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:o.noop,fn:o.program(11,v,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='</button>\n <button class="history-deselect-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:o.noop,fn:o.program(13,u,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='</button>\n </div>\n <button class="history-dataset-action-popup-btn btn btn-default"\n >';f={hash:{},inverse:o.noop,fn:o.program(15,t,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='...</button>\n </div>\n\n </div>\n\n \n <div class="datasets-list"></div>\n\n <div class="empty-history-message infomessagesmall">\n ';f={hash:{},inverse:o.noop,fn:o.program(17,s,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+="\n </div>";return q})})();(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-history-historyPanel"]=b(function(g,s,q,m,y){this.compilerInfo=[4,">= 1.0.0"];q=this.merge(q,g.helpers);y=y||{};var r="",i,f,e="function",d=this.escapeExpression,p=this,c=q.blockHelperMissing;function o(C,B){var z="",A;z+='\n <div class="history-name">\n ';if(A=q.name){A=A.call(C,{hash:{},data:B})}else{A=C.name;A=typeof A===e?A.apply(C):A}z+=d(A)+"\n </div>\n ";return z}function n(C,B){var z="",A;z+='\n <div class="history-size">';if(A=q.nice_size){A=A.call(C,{hash:{},data:B})}else{A=C.nice_size;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function l(D,C){var z="",B,A;z+='\n <div class="warningmessagesmall"><strong>\n ';A={hash:{},inverse:p.noop,fn:p.program(6,k,C),data:C};if(B=q.local){B=B.call(D,A)}else{B=D.local;B=typeof B===e?B.apply(D):B}if(!q.local){B=c.call(D,B,A)}if(B||B===0){z+=B}z+="\n </strong></div>\n ";return z}function k(A,z){return"You are currently viewing a deleted history!"}function h(C,B){var z="",A;z+='\n \n <div class="';if(A=q.status){A=A.call(C,{hash:{},data:B})}else{A=C.status;A=typeof A===e?A.apply(C):A}z+=d(A)+'message">';if(A=q.message){A=A.call(C,{hash:{},data:B})}else{A=C.message;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function x(A,z){return"You are over your disk quota"}function w(A,z){return"Tool execution is on hold until your disk usage drops below your allocated quota"}function v(A,z){return"All"}function u(A,z){return"None"}function t(A,z){return"For all selected"}function j(A,z){return"Your history is empty. Click 'Get Data' on the left pane to start"}r+='<div class="history-controls">\n <div class="history-search-controls">\n <div class="history-search-input"></div>\n </div>\n\n <div class="history-title">\n ';i=q["if"].call(s,s.name,{hash:{},inverse:p.noop,fn:p.program(1,o,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="history-subtitle clear">\n ';i=q["if"].call(s,s.nice_size,{hash:{},inverse:p.noop,fn:p.program(3,n,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="history-secondary-actions btn-group"></div>\n </div>\n\n ';i=q["if"].call(s,s.deleted,{hash:{},inverse:p.noop,fn:p.program(5,l,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="message-container">\n ';i=q["if"].call(s,s.message,{hash:{},inverse:p.noop,fn:p.program(8,h,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="quota-message errormessage">\n ';f={hash:{},inverse:p.noop,fn:p.program(10,x,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+=".\n ";f={hash:{},inverse:p.noop,fn:p.program(12,w,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='.\n </div>\n \n <div class="tags-display"></div>\n <div class="annotation-display"></div>\n\n <div class="history-dataset-actions">\n <div class="btn-group">\n <button class="history-select-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(14,v,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n <button class="history-deselect-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(16,u,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n </div>\n <button class="history-dataset-action-popup-btn btn btn-default"\n >';f={hash:{},inverse:p.noop,fn:p.program(18,t,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='...</button>\n </div>\n\n </div>\n\n \n <div class="datasets-list"></div>\n\n <div class="empty-history-message infomessagesmall">\n ';f={hash:{},inverse:p.noop,fn:p.program(20,j,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+="\n </div>";return r})})();
\ No newline at end of file
+(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-body"]=b(function(g,r,p,k,z){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,g.helpers);z=z||{};var q="",h,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(D,C){var A="",B;A+='\n <div class="dataset-summary">\n ';if(B=p.body){B=B.call(D,{hash:{},data:C})}else{B=D.body;B=typeof B===e?B.apply(D):B}if(B||B===0){A+=B}A+='\n </div>\n <div class="dataset-actions clear">\n <div class="left"></div>\n <div class="right"></div>\n </div>\n\n ';return A}function m(D,C){var A="",B;A+='\n <div class="dataset-summary">\n ';B=p["if"].call(D,D.misc_blurb,{hash:{},inverse:o.noop,fn:o.program(4,l,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p["if"].call(D,D.data_type,{hash:{},inverse:o.noop,fn:o.program(6,j,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p["if"].call(D,D.metadata_dbkey,{hash:{},inverse:o.noop,fn:o.program(9,f,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p["if"].call(D,D.misc_info,{hash:{},inverse:o.noop,fn:o.program(12,x,C),data:C});if(B||B===0){A+=B}A+='\n </div>\n\n <div class="dataset-actions clear">\n <div class="left"></div>\n <div class="right"></div>\n </div>\n\n ';B=p.unless.call(D,D.deleted,{hash:{},inverse:o.noop,fn:o.program(14,w,C),data:C});if(B||B===0){A+=B}A+="\n\n ";return A}function l(D,C){var A="",B;A+='\n <div class="dataset-blurb">\n <span class="value">';if(B=p.misc_blurb){B=B.call(D,{hash:{},data:C})}else{B=D.misc_blurb;B=typeof B===e?B.apply(D):B}A+=d(B)+"</span>\n </div>\n ";return A}function j(E,D){var A="",C,B;A+='\n <div class="dataset-datatype">\n <label class="prompt">';B={hash:{},inverse:o.noop,fn:o.program(7,i,D),data:D};if(C=p.local){C=C.call(E,B)}else{C=E.local;C=typeof C===e?C.apply(E):C}if(!p.local){C=c.call(E,C,B)}if(C||C===0){A+=C}A+='</label>\n <span class="value">';if(C=p.data_type){C=C.call(E,{hash:{},data:D})}else{C=E.data_type;C=typeof C===e?C.apply(E):C}A+=d(C)+"</span>\n </div>\n ";return A}function i(B,A){return"format"}function f(E,D){var A="",C,B;A+='\n <div class="dataset-dbkey">\n <label class="prompt">';B={hash:{},inverse:o.noop,fn:o.program(10,y,D),data:D};if(C=p.local){C=C.call(E,B)}else{C=E.local;C=typeof C===e?C.apply(E):C}if(!p.local){C=c.call(E,C,B)}if(C||C===0){A+=C}A+='</label>\n <span class="value">\n ';if(C=p.metadata_dbkey){C=C.call(E,{hash:{},data:D})}else{C=E.metadata_dbkey;C=typeof C===e?C.apply(E):C}A+=d(C)+"\n </span>\n </div>\n ";return A}function y(B,A){return"database"}function x(D,C){var A="",B;A+='\n <div class="dataset-info">\n <span class="value">';if(B=p.misc_info){B=B.call(D,{hash:{},data:C})}else{B=D.misc_info;B=typeof B===e?B.apply(D):B}A+=d(B)+"</span>\n </div>\n ";return A}function w(D,C){var A="",B;A+='\n <div class="tags-display"></div>\n <div class="annotation-display"></div>\n\n <div class="dataset-display-applications">\n ';B=p.each.call(D,D.display_apps,{hash:{},inverse:o.noop,fn:o.program(15,v,C),data:C});if(B||B===0){A+=B}A+="\n\n ";B=p.each.call(D,D.display_types,{hash:{},inverse:o.noop,fn:o.program(15,v,C),data:C});if(B||B===0){A+=B}A+='\n </div>\n\n <div class="dataset-peek">\n ';B=p["if"].call(D,D.peek,{hash:{},inverse:o.noop,fn:o.program(19,s,C),data:C});if(B||B===0){A+=B}A+="\n </div>\n\n ";return A}function v(D,C){var A="",B;A+='\n <div class="display-application">\n <span class="display-application-location">';if(B=p.label){B=B.call(D,{hash:{},data:C})}else{B=D.label;B=typeof B===e?B.apply(D):B}A+=d(B)+'</span>\n <span class="display-application-links">\n ';B=p.each.call(D,D.links,{hash:{},inverse:o.noop,fn:o.program(16,u,C),data:C});if(B||B===0){A+=B}A+="\n </span>\n </div>\n ";return A}function u(E,D){var A="",C,B;A+='\n <a target="';if(C=p.target){C=C.call(E,{hash:{},data:D})}else{C=E.target;C=typeof C===e?C.apply(E):C}A+=d(C)+'" href="';if(C=p.href){C=C.call(E,{hash:{},data:D})}else{C=E.href;C=typeof C===e?C.apply(E):C}A+=d(C)+'">';B={hash:{},inverse:o.noop,fn:o.program(17,t,D),data:D};if(C=p.local){C=C.call(E,B)}else{C=E.local;C=typeof C===e?C.apply(E):C}if(!p.local){C=c.call(E,C,B)}if(C||C===0){A+=C}A+="</a>\n ";return A}function t(C,B){var A;if(A=p.text){A=A.call(C,{hash:{},data:B})}else{A=C.text;A=typeof A===e?A.apply(C):A}return d(A)}function s(D,C){var A="",B;A+='\n <pre class="peek">';if(B=p.peek){B=B.call(D,{hash:{},data:C})}else{B=D.peek;B=typeof B===e?B.apply(D):B}if(B||B===0){A+=B}A+="</pre>\n ";return A}q+='<div class="dataset-body">\n ';h=p["if"].call(r,r.body,{hash:{},inverse:o.program(3,m,z),fn:o.program(1,n,z),data:z});if(h||h===0){q+=h}q+="\n</div>";return q})})();(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-hda-skeleton"]=b(function(f,r,p,k,w){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,f.helpers);w=w||{};var q="",h,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(B,A){var x="",z,y;x+='\n <div class="errormessagesmall">\n ';y={hash:{},inverse:o.noop,fn:o.program(2,m,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+=":\n ";y={hash:{},inverse:o.noop,fn:o.program(4,l,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </div>\n ";return x}function m(y,x){return"There was an error getting the data for this dataset"}function l(z,y){var x;if(x=p.error){x=x.call(z,{hash:{},data:y})}else{x=z.error;x=typeof x===e?x.apply(z):x}return d(x)}function j(A,z){var x="",y;x+="\n ";y=p["if"].call(A,A.purged,{hash:{},inverse:o.program(10,v,z),fn:o.program(7,i,z),data:z});if(y||y===0){x+=y}x+="\n ";return x}function i(B,A){var x="",z,y;x+='\n <div class="dataset-purged-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(8,g,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n\n ";return x}function g(y,x){return"This dataset has been deleted and removed from disk."}function v(B,A){var x="",z,y;x+='\n <div class="dataset-deleted-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(11,u,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n ";return x}function u(y,x){return"This dataset has been deleted."}function t(B,A){var x="",z,y;x+='\n <div class="dataset-hidden-msg warningmessagesmall"><strong>\n ';y={hash:{},inverse:o.noop,fn:o.program(14,s,A),data:A};if(z=p.local){z=z.call(B,y)}else{z=B.local;z=typeof z===e?z.apply(B):z}if(!p.local){z=c.call(B,z,y)}if(z||z===0){x+=z}x+="\n </strong></div>\n ";return x}function s(y,x){return"This dataset has been hidden."}q+='<div class="dataset hda">\n <div class="dataset-warnings">\n ';h=p["if"].call(r,r.error,{hash:{},inverse:o.noop,fn:o.program(1,n,w),data:w});if(h||h===0){q+=h}q+="\n\n ";h=p["if"].call(r,r.deleted,{hash:{},inverse:o.noop,fn:o.program(6,j,w),data:w});if(h||h===0){q+=h}q+="\n\n ";h=p.unless.call(r,r.visible,{hash:{},inverse:o.noop,fn:o.program(13,t,w),data:w});if(h||h===0){q+=h}q+='\n </div>\n\n <div class="dataset-selector"><span class="fa fa-2x fa-square-o"></span></div>\n <div class="dataset-primary-actions"></div>\n \n <div class="dataset-title-bar clear" tabindex="0">\n <span class="dataset-state-icon state-icon"></span>\n <div class="dataset-title">\n <span class="hda-hid">';if(h=p.hid){h=h.call(r,{hash:{},data:w})}else{h=r.hid;h=typeof h===e?h.apply(r):h}q+=d(h)+'</span>\n <span class="dataset-name">';if(h=p.name){h=h.call(r,{hash:{},data:w})}else{h=r.name;h=typeof h===e?h.apply(r):h}q+=d(h)+'</span>\n </div>\n </div>\n\n <div class="dataset-body"></div>\n</div>';return q})})();(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-history-historyPanel"]=b(function(g,s,q,m,y){this.compilerInfo=[4,">= 1.0.0"];q=this.merge(q,g.helpers);y=y||{};var r="",i,f,e="function",d=this.escapeExpression,p=this,c=q.blockHelperMissing;function o(C,B){var z="",A;z+='\n <div class="history-name">\n ';if(A=q.name){A=A.call(C,{hash:{},data:B})}else{A=C.name;A=typeof A===e?A.apply(C):A}z+=d(A)+"\n </div>\n ";return z}function n(C,B){var z="",A;z+='\n <div class="history-size">';if(A=q.nice_size){A=A.call(C,{hash:{},data:B})}else{A=C.nice_size;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function l(D,C){var z="",B,A;z+='\n <div class="warningmessagesmall"><strong>\n ';A={hash:{},inverse:p.noop,fn:p.program(6,k,C),data:C};if(B=q.local){B=B.call(D,A)}else{B=D.local;B=typeof B===e?B.apply(D):B}if(!q.local){B=c.call(D,B,A)}if(B||B===0){z+=B}z+="\n </strong></div>\n ";return z}function k(A,z){return"You are currently viewing a deleted history!"}function h(C,B){var z="",A;z+='\n \n <div class="';if(A=q.status){A=A.call(C,{hash:{},data:B})}else{A=C.status;A=typeof A===e?A.apply(C):A}z+=d(A)+'message">';if(A=q.message){A=A.call(C,{hash:{},data:B})}else{A=C.message;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function x(A,z){return"You are over your disk quota"}function w(A,z){return"Tool execution is on hold until your disk usage drops below your allocated quota"}function v(A,z){return"All"}function u(A,z){return"None"}function t(A,z){return"For all selected"}function j(A,z){return"Your history is empty. Click 'Get Data' on the left pane to start"}r+='<div class="history-controls">\n <div class="history-search-controls">\n <div class="history-search-input"></div>\n </div>\n\n <div class="history-title">\n ';i=q["if"].call(s,s.name,{hash:{},inverse:p.noop,fn:p.program(1,o,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="history-subtitle clear">\n ';i=q["if"].call(s,s.nice_size,{hash:{},inverse:p.noop,fn:p.program(3,n,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="history-secondary-actions"></div>\n </div>\n\n ';i=q["if"].call(s,s.deleted,{hash:{},inverse:p.noop,fn:p.program(5,l,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="message-container">\n ';i=q["if"].call(s,s.message,{hash:{},inverse:p.noop,fn:p.program(8,h,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="quota-message errormessage">\n ';f={hash:{},inverse:p.noop,fn:p.program(10,x,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+=".\n ";f={hash:{},inverse:p.noop,fn:p.program(12,w,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='.\n </div>\n \n <div class="tags-display"></div>\n <div class="annotation-display"></div>\n\n <div class="history-dataset-actions">\n <div class="btn-group">\n <button class="history-select-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(14,v,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n <button class="history-deselect-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(16,u,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n </div>\n <button class="history-dataset-action-popup-btn btn btn-default"\n >';f={hash:{},inverse:p.noop,fn:p.program(18,t,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='...</button>\n </div>\n\n </div>\n\n \n <div class="datasets-list"></div>\n\n <div class="empty-history-message infomessagesmall">\n ';f={hash:{},inverse:p.noop,fn:p.program(20,j,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+="\n </div>";return r})})();
\ No newline at end of file
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/packed/templates/compiled/template-history-historyPanel-anon.js
--- a/static/scripts/packed/templates/compiled/template-history-historyPanel-anon.js
+++ /dev/null
@@ -1,1 +0,0 @@
-(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-history-historyPanel-anon"]=b(function(h,r,p,l,w){this.compilerInfo=[4,">= 1.0.0"];p=this.merge(p,h.helpers);w=w||{};var q="",i,f,e="function",d=this.escapeExpression,o=this,c=p.blockHelperMissing;function n(A,z){var x="",y;x+='\n <div class="history-name">\n ';if(y=p.name){y=y.call(A,{hash:{},data:z})}else{y=A.name;y=typeof y===e?y.apply(A):y}x+=d(y)+"\n </div>\n ";return x}function m(A,z){var x="",y;x+='\n <div class="history-size">';if(y=p.nice_size){y=y.call(A,{hash:{},data:z})}else{y=A.nice_size;y=typeof y===e?y.apply(A):y}x+=d(y)+"</div>\n ";return x}function k(A,z){var x="",y;x+='\n \n <div class="';if(y=p.status){y=y.call(A,{hash:{},data:z})}else{y=A.status;y=typeof y===e?y.apply(A):y}x+=d(y)+'message">';if(y=p.message){y=y.call(A,{hash:{},data:z})}else{y=A.message;y=typeof y===e?y.apply(A):y}x+=d(y)+"</div>\n ";return x}function j(y,x){return"You are over your disk quota"}function g(y,x){return"Tool execution is on hold until your disk usage drops below your allocated quota"}function v(y,x){return"All"}function u(y,x){return"None"}function t(y,x){return"For all selected"}function s(y,x){return"Your history is empty. Click 'Get Data' on the left pane to start"}q+='<div class="history-controls">\n <div class="history-search-controls">\n <div class="history-search-input"></div>\n </div>\n\n <div class="history-title">\n \n ';i=p["if"].call(r,r.name,{hash:{},inverse:o.noop,fn:o.program(1,n,w),data:w});if(i||i===0){q+=i}q+='\n </div>\n\n <div class="history-subtitle clear">\n ';i=p["if"].call(r,r.nice_size,{hash:{},inverse:o.noop,fn:o.program(3,m,w),data:w});if(i||i===0){q+=i}q+='\n\n <div class="history-secondary-actions btn-group"></div>\n </div>\n\n <div class="message-container">\n ';i=p["if"].call(r,r.message,{hash:{},inverse:o.noop,fn:o.program(5,k,w),data:w});if(i||i===0){q+=i}q+='\n </div>\n\n <div class="quota-message errormessage">\n ';f={hash:{},inverse:o.noop,fn:o.program(7,j,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+=".\n ";f={hash:{},inverse:o.noop,fn:o.program(9,g,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='.\n </div>\n\n <div class="history-dataset-actions">\n <div class="btn-group">\n <button class="history-select-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:o.noop,fn:o.program(11,v,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='</button>\n <button class="history-deselect-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:o.noop,fn:o.program(13,u,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='</button>\n </div>\n <button class="history-dataset-action-popup-btn btn btn-default"\n >';f={hash:{},inverse:o.noop,fn:o.program(15,t,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+='...</button>\n </div>\n\n </div>\n\n \n <div class="datasets-list"></div>\n\n <div class="empty-history-message infomessagesmall">\n ';f={hash:{},inverse:o.noop,fn:o.program(17,s,w),data:w};if(i=p.local){i=i.call(r,f)}else{i=r.local;i=typeof i===e?i.apply(r):i}if(!p.local){i=c.call(r,i,f)}if(i||i===0){q+=i}q+="\n </div>";return q})})();
\ No newline at end of file
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/packed/templates/compiled/template-history-historyPanel.js
--- a/static/scripts/packed/templates/compiled/template-history-historyPanel.js
+++ b/static/scripts/packed/templates/compiled/template-history-historyPanel.js
@@ -1,1 +1,1 @@
-(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-history-historyPanel"]=b(function(g,s,q,m,y){this.compilerInfo=[4,">= 1.0.0"];q=this.merge(q,g.helpers);y=y||{};var r="",i,f,e="function",d=this.escapeExpression,p=this,c=q.blockHelperMissing;function o(C,B){var z="",A;z+='\n <div class="history-name">\n ';if(A=q.name){A=A.call(C,{hash:{},data:B})}else{A=C.name;A=typeof A===e?A.apply(C):A}z+=d(A)+"\n </div>\n ";return z}function n(C,B){var z="",A;z+='\n <div class="history-size">';if(A=q.nice_size){A=A.call(C,{hash:{},data:B})}else{A=C.nice_size;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function l(D,C){var z="",B,A;z+='\n <div class="warningmessagesmall"><strong>\n ';A={hash:{},inverse:p.noop,fn:p.program(6,k,C),data:C};if(B=q.local){B=B.call(D,A)}else{B=D.local;B=typeof B===e?B.apply(D):B}if(!q.local){B=c.call(D,B,A)}if(B||B===0){z+=B}z+="\n </strong></div>\n ";return z}function k(A,z){return"You are currently viewing a deleted history!"}function h(C,B){var z="",A;z+='\n \n <div class="';if(A=q.status){A=A.call(C,{hash:{},data:B})}else{A=C.status;A=typeof A===e?A.apply(C):A}z+=d(A)+'message">';if(A=q.message){A=A.call(C,{hash:{},data:B})}else{A=C.message;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function x(A,z){return"You are over your disk quota"}function w(A,z){return"Tool execution is on hold until your disk usage drops below your allocated quota"}function v(A,z){return"All"}function u(A,z){return"None"}function t(A,z){return"For all selected"}function j(A,z){return"Your history is empty. Click 'Get Data' on the left pane to start"}r+='<div class="history-controls">\n <div class="history-search-controls">\n <div class="history-search-input"></div>\n </div>\n\n <div class="history-title">\n ';i=q["if"].call(s,s.name,{hash:{},inverse:p.noop,fn:p.program(1,o,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="history-subtitle clear">\n ';i=q["if"].call(s,s.nice_size,{hash:{},inverse:p.noop,fn:p.program(3,n,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="history-secondary-actions btn-group"></div>\n </div>\n\n ';i=q["if"].call(s,s.deleted,{hash:{},inverse:p.noop,fn:p.program(5,l,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="message-container">\n ';i=q["if"].call(s,s.message,{hash:{},inverse:p.noop,fn:p.program(8,h,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="quota-message errormessage">\n ';f={hash:{},inverse:p.noop,fn:p.program(10,x,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+=".\n ";f={hash:{},inverse:p.noop,fn:p.program(12,w,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='.\n </div>\n \n <div class="tags-display"></div>\n <div class="annotation-display"></div>\n\n <div class="history-dataset-actions">\n <div class="btn-group">\n <button class="history-select-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(14,v,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n <button class="history-deselect-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(16,u,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n </div>\n <button class="history-dataset-action-popup-btn btn btn-default"\n >';f={hash:{},inverse:p.noop,fn:p.program(18,t,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='...</button>\n </div>\n\n </div>\n\n \n <div class="datasets-list"></div>\n\n <div class="empty-history-message infomessagesmall">\n ';f={hash:{},inverse:p.noop,fn:p.program(20,j,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+="\n </div>";return r})})();
\ No newline at end of file
+(function(){var b=Handlebars.template,a=Handlebars.templates=Handlebars.templates||{};a["template-history-historyPanel"]=b(function(g,s,q,m,y){this.compilerInfo=[4,">= 1.0.0"];q=this.merge(q,g.helpers);y=y||{};var r="",i,f,e="function",d=this.escapeExpression,p=this,c=q.blockHelperMissing;function o(C,B){var z="",A;z+='\n <div class="history-name">\n ';if(A=q.name){A=A.call(C,{hash:{},data:B})}else{A=C.name;A=typeof A===e?A.apply(C):A}z+=d(A)+"\n </div>\n ";return z}function n(C,B){var z="",A;z+='\n <div class="history-size">';if(A=q.nice_size){A=A.call(C,{hash:{},data:B})}else{A=C.nice_size;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function l(D,C){var z="",B,A;z+='\n <div class="warningmessagesmall"><strong>\n ';A={hash:{},inverse:p.noop,fn:p.program(6,k,C),data:C};if(B=q.local){B=B.call(D,A)}else{B=D.local;B=typeof B===e?B.apply(D):B}if(!q.local){B=c.call(D,B,A)}if(B||B===0){z+=B}z+="\n </strong></div>\n ";return z}function k(A,z){return"You are currently viewing a deleted history!"}function h(C,B){var z="",A;z+='\n \n <div class="';if(A=q.status){A=A.call(C,{hash:{},data:B})}else{A=C.status;A=typeof A===e?A.apply(C):A}z+=d(A)+'message">';if(A=q.message){A=A.call(C,{hash:{},data:B})}else{A=C.message;A=typeof A===e?A.apply(C):A}z+=d(A)+"</div>\n ";return z}function x(A,z){return"You are over your disk quota"}function w(A,z){return"Tool execution is on hold until your disk usage drops below your allocated quota"}function v(A,z){return"All"}function u(A,z){return"None"}function t(A,z){return"For all selected"}function j(A,z){return"Your history is empty. Click 'Get Data' on the left pane to start"}r+='<div class="history-controls">\n <div class="history-search-controls">\n <div class="history-search-input"></div>\n </div>\n\n <div class="history-title">\n ';i=q["if"].call(s,s.name,{hash:{},inverse:p.noop,fn:p.program(1,o,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="history-subtitle clear">\n ';i=q["if"].call(s,s.nice_size,{hash:{},inverse:p.noop,fn:p.program(3,n,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="history-secondary-actions"></div>\n </div>\n\n ';i=q["if"].call(s,s.deleted,{hash:{},inverse:p.noop,fn:p.program(5,l,y),data:y});if(i||i===0){r+=i}r+='\n\n <div class="message-container">\n ';i=q["if"].call(s,s.message,{hash:{},inverse:p.noop,fn:p.program(8,h,y),data:y});if(i||i===0){r+=i}r+='\n </div>\n\n <div class="quota-message errormessage">\n ';f={hash:{},inverse:p.noop,fn:p.program(10,x,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+=".\n ";f={hash:{},inverse:p.noop,fn:p.program(12,w,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='.\n </div>\n \n <div class="tags-display"></div>\n <div class="annotation-display"></div>\n\n <div class="history-dataset-actions">\n <div class="btn-group">\n <button class="history-select-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(14,v,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n <button class="history-deselect-all-datasets-btn btn btn-default"\n data-mode="select">';f={hash:{},inverse:p.noop,fn:p.program(16,u,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='</button>\n </div>\n <button class="history-dataset-action-popup-btn btn btn-default"\n >';f={hash:{},inverse:p.noop,fn:p.program(18,t,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+='...</button>\n </div>\n\n </div>\n\n \n <div class="datasets-list"></div>\n\n <div class="empty-history-message infomessagesmall">\n ';f={hash:{},inverse:p.noop,fn:p.program(20,j,y),data:y};if(i=q.local){i=i.call(s,f)}else{i=s.local;i=typeof i===e?i.apply(s):i}if(!q.local){i=c.call(s,i,f)}if(i||i===0){r+=i}r+="\n </div>";return r})})();
\ No newline at end of file
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/templates/compiled/history-templates.js
--- a/static/scripts/templates/compiled/history-templates.js
+++ b/static/scripts/templates/compiled/history-templates.js
@@ -302,261 +302,6 @@
});
})();(function() {
var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
-templates['template-hda-skeleton'] = template(function (Handlebars,depth0,helpers,partials,data) {
- this.compilerInfo = [4,'>= 1.0.0'];
-helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
- var buffer = "", stack1, functionType="function", escapeExpression=this.escapeExpression, self=this, blockHelperMissing=helpers.blockHelperMissing;
-
-function program1(depth0,data) {
-
- var buffer = "", stack1, options;
- buffer += "\n <div class=\"errormessagesmall\">\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(2, program2, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += ":\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(4, program4, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>\n ";
- return buffer;
- }
-function program2(depth0,data) {
-
-
- return "There was an error getting the data for this dataset";
- }
-
-function program4(depth0,data) {
-
- var stack1;
- if (stack1 = helpers.error) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.error; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- return escapeExpression(stack1);
- }
-
-function program6(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n ";
- stack1 = helpers['if'].call(depth0, depth0.purged, {hash:{},inverse:self.program(10, program10, data),fn:self.program(7, program7, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n ";
- return buffer;
- }
-function program7(depth0,data) {
-
- var buffer = "", stack1, options;
- buffer += "\n <div class=\"dataset-purged-msg warningmessagesmall\"><strong>\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(8, program8, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </strong></div>\n\n ";
- return buffer;
- }
-function program8(depth0,data) {
-
-
- return "This dataset has been deleted and removed from disk.";
- }
-
-function program10(depth0,data) {
-
- var buffer = "", stack1, options;
- buffer += "\n <div class=\"dataset-deleted-msg warningmessagesmall\"><strong>\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </strong></div>\n ";
- return buffer;
- }
-function program11(depth0,data) {
-
-
- return "This dataset has been deleted.";
- }
-
-function program13(depth0,data) {
-
- var buffer = "", stack1, options;
- buffer += "\n <div class=\"dataset-hidden-msg warningmessagesmall\"><strong>\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(14, program14, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </strong></div>\n ";
- return buffer;
- }
-function program14(depth0,data) {
-
-
- return "This dataset has been hidden.";
- }
-
- buffer += "<div class=\"dataset hda\">\n <div class=\"dataset-warnings\">\n ";
- stack1 = helpers['if'].call(depth0, depth0.error, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n\n ";
- stack1 = helpers['if'].call(depth0, depth0.deleted, {hash:{},inverse:self.noop,fn:self.program(6, program6, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n\n ";
- stack1 = helpers.unless.call(depth0, depth0.visible, {hash:{},inverse:self.noop,fn:self.program(13, program13, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>\n\n <div class=\"dataset-selector\"><span class=\"fa fa-2x fa-square-o\"></span></div>\n <div class=\"dataset-primary-actions\"></div>\n "
- + "\n <div class=\"dataset-title-bar clear\" tabindex=\"0\">\n <span class=\"dataset-state-icon state-icon\"></span>\n <div class=\"dataset-title\">\n <span class=\"hda-hid\">";
- if (stack1 = helpers.hid) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.hid; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "</span>\n <span class=\"dataset-name\">";
- if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "</span>\n </div>\n </div>\n\n <div class=\"dataset-body\"></div>\n</div>";
- return buffer;
- });
-})();(function() {
- var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
-templates['template-history-historyPanel-anon'] = template(function (Handlebars,depth0,helpers,partials,data) {
- this.compilerInfo = [4,'>= 1.0.0'];
-helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
- var buffer = "", stack1, options, functionType="function", escapeExpression=this.escapeExpression, self=this, blockHelperMissing=helpers.blockHelperMissing;
-
-function program1(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n <div class=\"history-name\">\n ";
- if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "\n </div>\n ";
- return buffer;
- }
-
-function program3(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n <div class=\"history-size\">";
- if (stack1 = helpers.nice_size) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.nice_size; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "</div>\n ";
- return buffer;
- }
-
-function program5(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n "
- + "\n <div class=\"";
- if (stack1 = helpers.status) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.status; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "message\">";
- if (stack1 = helpers.message) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.message; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "</div>\n ";
- return buffer;
- }
-
-function program7(depth0,data) {
-
-
- return "You are over your disk quota";
- }
-
-function program9(depth0,data) {
-
-
- return "Tool execution is on hold until your disk usage drops below your allocated quota";
- }
-
-function program11(depth0,data) {
-
-
- return "All";
- }
-
-function program13(depth0,data) {
-
-
- return "None";
- }
-
-function program15(depth0,data) {
-
-
- return "For all selected";
- }
-
-function program17(depth0,data) {
-
-
- return "Your history is empty. Click 'Get Data' on the left pane to start";
- }
-
- buffer += "<div class=\"history-controls\">\n <div class=\"history-search-controls\">\n <div class=\"history-search-input\"></div>\n </div>\n\n <div class=\"history-title\">\n "
- + "\n ";
- stack1 = helpers['if'].call(depth0, depth0.name, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>\n\n <div class=\"history-subtitle clear\">\n ";
- stack1 = helpers['if'].call(depth0, depth0.nice_size, {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n\n <div class=\"history-secondary-actions btn-group\"></div>\n </div>\n\n <div class=\"message-container\">\n ";
- stack1 = helpers['if'].call(depth0, depth0.message, {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>\n\n <div class=\"quota-message errormessage\">\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(7, program7, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += ".\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += ".\n </div>\n\n <div class=\"history-dataset-actions\">\n <div class=\"btn-group\">\n <button class=\"history-select-all-datasets-btn btn btn-default\"\n data-mode=\"select\">";
- options = {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "</button>\n <button class=\"history-deselect-all-datasets-btn btn btn-default\"\n data-mode=\"select\">";
- options = {hash:{},inverse:self.noop,fn:self.program(13, program13, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "</button>\n </div>\n <button class=\"history-dataset-action-popup-btn btn btn-default\"\n >";
- options = {hash:{},inverse:self.noop,fn:self.program(15, program15, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "...</button>\n </div>\n\n </div>"
- + "\n\n "
- + "\n <div class=\"datasets-list\"></div>\n\n <div class=\"empty-history-message infomessagesmall\">\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(17, program17, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>";
- return buffer;
- });
-})();(function() {
- var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
templates['template-history-historyPanel'] = template(function (Handlebars,depth0,helpers,partials,data) {
this.compilerInfo = [4,'>= 1.0.0'];
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
@@ -660,7 +405,7 @@
buffer += "\n </div>\n\n <div class=\"history-subtitle clear\">\n ";
stack1 = helpers['if'].call(depth0, depth0.nice_size, {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});
if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n\n <div class=\"history-secondary-actions btn-group\"></div>\n </div>\n\n ";
+ buffer += "\n\n <div class=\"history-secondary-actions\"></div>\n </div>\n\n ";
stack1 = helpers['if'].call(depth0, depth0.deleted, {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
if(stack1 || stack1 === 0) { buffer += stack1; }
buffer += "\n\n <div class=\"message-container\">\n ";
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/templates/compiled/template-history-historyPanel-anon.js
--- a/static/scripts/templates/compiled/template-history-historyPanel-anon.js
+++ /dev/null
@@ -1,133 +0,0 @@
-(function() {
- var template = Handlebars.template, templates = Handlebars.templates = Handlebars.templates || {};
-templates['template-history-historyPanel-anon'] = template(function (Handlebars,depth0,helpers,partials,data) {
- this.compilerInfo = [4,'>= 1.0.0'];
-helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
- var buffer = "", stack1, options, functionType="function", escapeExpression=this.escapeExpression, self=this, blockHelperMissing=helpers.blockHelperMissing;
-
-function program1(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n <div class=\"history-name\">\n ";
- if (stack1 = helpers.name) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.name; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "\n </div>\n ";
- return buffer;
- }
-
-function program3(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n <div class=\"history-size\">";
- if (stack1 = helpers.nice_size) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.nice_size; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "</div>\n ";
- return buffer;
- }
-
-function program5(depth0,data) {
-
- var buffer = "", stack1;
- buffer += "\n "
- + "\n <div class=\"";
- if (stack1 = helpers.status) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.status; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "message\">";
- if (stack1 = helpers.message) { stack1 = stack1.call(depth0, {hash:{},data:data}); }
- else { stack1 = depth0.message; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- buffer += escapeExpression(stack1)
- + "</div>\n ";
- return buffer;
- }
-
-function program7(depth0,data) {
-
-
- return "You are over your disk quota";
- }
-
-function program9(depth0,data) {
-
-
- return "Tool execution is on hold until your disk usage drops below your allocated quota";
- }
-
-function program11(depth0,data) {
-
-
- return "All";
- }
-
-function program13(depth0,data) {
-
-
- return "None";
- }
-
-function program15(depth0,data) {
-
-
- return "For all selected";
- }
-
-function program17(depth0,data) {
-
-
- return "Your history is empty. Click 'Get Data' on the left pane to start";
- }
-
- buffer += "<div class=\"history-controls\">\n <div class=\"history-search-controls\">\n <div class=\"history-search-input\"></div>\n </div>\n\n <div class=\"history-title\">\n "
- + "\n ";
- stack1 = helpers['if'].call(depth0, depth0.name, {hash:{},inverse:self.noop,fn:self.program(1, program1, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>\n\n <div class=\"history-subtitle clear\">\n ";
- stack1 = helpers['if'].call(depth0, depth0.nice_size, {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n\n <div class=\"history-secondary-actions btn-group\"></div>\n </div>\n\n <div class=\"message-container\">\n ";
- stack1 = helpers['if'].call(depth0, depth0.message, {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>\n\n <div class=\"quota-message errormessage\">\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(7, program7, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += ".\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(9, program9, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += ".\n </div>\n\n <div class=\"history-dataset-actions\">\n <div class=\"btn-group\">\n <button class=\"history-select-all-datasets-btn btn btn-default\"\n data-mode=\"select\">";
- options = {hash:{},inverse:self.noop,fn:self.program(11, program11, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "</button>\n <button class=\"history-deselect-all-datasets-btn btn btn-default\"\n data-mode=\"select\">";
- options = {hash:{},inverse:self.noop,fn:self.program(13, program13, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "</button>\n </div>\n <button class=\"history-dataset-action-popup-btn btn btn-default\"\n >";
- options = {hash:{},inverse:self.noop,fn:self.program(15, program15, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "...</button>\n </div>\n\n </div>"
- + "\n\n "
- + "\n <div class=\"datasets-list\"></div>\n\n <div class=\"empty-history-message infomessagesmall\">\n ";
- options = {hash:{},inverse:self.noop,fn:self.program(17, program17, data),data:data};
- if (stack1 = helpers.local) { stack1 = stack1.call(depth0, options); }
- else { stack1 = depth0.local; stack1 = typeof stack1 === functionType ? stack1.apply(depth0) : stack1; }
- if (!helpers.local) { stack1 = blockHelperMissing.call(depth0, stack1, options); }
- if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n </div>";
- return buffer;
- });
-})();
\ No newline at end of file
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/templates/compiled/template-history-historyPanel.js
--- a/static/scripts/templates/compiled/template-history-historyPanel.js
+++ b/static/scripts/templates/compiled/template-history-historyPanel.js
@@ -103,7 +103,7 @@
buffer += "\n </div>\n\n <div class=\"history-subtitle clear\">\n ";
stack1 = helpers['if'].call(depth0, depth0.nice_size, {hash:{},inverse:self.noop,fn:self.program(3, program3, data),data:data});
if(stack1 || stack1 === 0) { buffer += stack1; }
- buffer += "\n\n <div class=\"history-secondary-actions btn-group\"></div>\n </div>\n\n ";
+ buffer += "\n\n <div class=\"history-secondary-actions\"></div>\n </div>\n\n ";
stack1 = helpers['if'].call(depth0, depth0.deleted, {hash:{},inverse:self.noop,fn:self.program(5, program5, data),data:data});
if(stack1 || stack1 === 0) { buffer += stack1; }
buffer += "\n\n <div class=\"message-container\">\n ";
diff -r 538382c91a75b12f6004ea87c2f7c459f7977f91 -r dcca6c291a6972ecd9024781667eb670de191c40 static/scripts/templates/history-templates.html
--- a/static/scripts/templates/history-templates.html
+++ b/static/scripts/templates/history-templates.html
@@ -63,62 +63,3 @@
{{#local}}Your history is empty. Click 'Get Data' on the left pane to start{{/local}}
</div></script>
-
-
-<!-- history panel for anonymous users -->
-<script type="text/template" class="template-history" id="template-history-historyPanel-anon">
-
- <div class="history-controls">
- <div class="history-search-controls">
- <div class="history-search-input"></div>
- </div>
-
- <div class="history-title">
- {{! wouldn't this always be 'unnamed history'? }}
- {{#if name }}
- <div class="history-name">
- {{name}}
- </div>
- {{/if}}
- </div>
-
- <div class="history-subtitle clear">
- {{#if nice_size }}
- <div class="history-size">{{nice_size}}</div>
- {{/if}}
-
- <div class="history-secondary-actions"></div>
- </div>
-
- <div class="message-container">
- {{#if message}}
- {{! should already be localized }}
- <div class="{{status}}message">{{message}}</div>
- {{/if}}
- </div>
-
- <div class="quota-message errormessage">
- {{#local}}You are over your disk quota{{/local}}.
- {{#local}}Tool execution is on hold until your disk usage drops below your allocated quota{{/local}}.
- </div>
-
- <div class="history-dataset-actions">
- <div class="btn-group">
- <button class="history-select-all-datasets-btn btn btn-default"
- data-mode="select">{{#local}}All{{/local}}</button>
- <button class="history-deselect-all-datasets-btn btn btn-default"
- data-mode="select">{{#local}}None{{/local}}</button>
- </div>
- <button class="history-dataset-action-popup-btn btn btn-default"
- >{{#local}}For all selected{{/local}}...</button>
- </div>
-
- </div>{{! end history-controls }}
-
- {{! where the datasets/hdas are added }}
- <div class="datasets-list"></div>
-
- <div class="empty-history-message infomessagesmall">
- {{#local}}Your history is empty. Click 'Get Data' on the left pane to start{{/local}}
- </div>
-</script>
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0
commit/galaxy-central: guerler: Grids: Fix negative page numbers
by commits-noreply@bitbucket.org 19 Feb '14
by commits-noreply@bitbucket.org 19 Feb '14
19 Feb '14
1 new commit in galaxy-central:
https://bitbucket.org/galaxy/galaxy-central/commits/b31e0927331b/
Changeset: b31e0927331b
User: guerler
Date: 2014-02-19 19:20:42
Summary: Grids: Fix negative page numbers
Affected #: 2 files
diff -r 057069969de059c08a6b6e8343b10bb7cfeea926 -r b31e0927331b7890590585bc9e2d7621b05bce88 static/scripts/mvc/grid/grid-template.js
--- a/static/scripts/mvc/grid/grid-template.js
+++ b/static/scripts/mvc/grid/grid-template.js
@@ -246,7 +246,7 @@
var page_link_range = num_page_links / 2;
var min_page = cur_page_num - page_link_range
var min_offset = 0;
- if (min_page == 0) {
+ if (min_page <= 0) {
// Min page is too low.
min_page = 1;
min_offset = page_link_range - ( cur_page_num - min_page );
diff -r 057069969de059c08a6b6e8343b10bb7cfeea926 -r b31e0927331b7890590585bc9e2d7621b05bce88 static/scripts/packed/mvc/grid/grid-template.js
--- a/static/scripts/packed/mvc/grid/grid-template.js
+++ b/static/scripts/packed/mvc/grid/grid-template.js
@@ -1,1 +1,1 @@
-define([],function(){return{grid:function(b){var a="";if(b.embedded){a=this.grid_header(b)+this.grid_table(b)}else{a='<div class="loading-elt-overlay"></div><table><tr><td width="75%">'+this.grid_header(b)+'</td><td></td><td></td></tr><tr><td width="100%" id="grid-message" valign="top"></td><td></td><td></td></tr></table>'+this.grid_table(b)}if(b.info_text){a+='<br><div class="toolParamHelp" style="clear: both;">'+b.info_text+"</div>"}return a},grid_table:function(a){return'<form method="post" onsubmit="return false;"><table id="grid-table" class="grid"><thead id="grid-table-header"></thead><tbody id="grid-table-body"></tbody><tfoot id="grid-table-footer"></tfoot></table></form>'},grid_header:function(c){var b='<div class="grid-header">';if(!c.embedded){b+="<h2>"+c.title+"</h2>"}if(c.global_actions){b+='<ul class="manage-table-actions">';var d=(c.global_actions.length>=3);if(d){b+='<li><a class="action-button" id="popup-global-actions" class="menubutton">Actions</a></li><div popupmenu="popup-global-actions">'}for(i in c.global_actions){var e=c.global_actions[i];var a="";if(e.inbound){a="use-inbound"}else{a="use-outbound"}b+='<li><a class="action-button '+a+'" href="'+e.url_args+'" onclick="return false;">'+e.label+"</a></li>"}if(d){b+="</div>"}b+="</ul>"}if(c.insert){b+=c.insert}b+=this.grid_filters(c);b+="</div>";return b},header:function(b){var a="<tr>";if(b.show_item_checkboxes){a+="<th>";if(b.items.length>0){a+='<input type="checkbox" id="check_all" name=select_all_checkbox value="true"><input type="hidden" name=select_all_checkbox value="true">'}a+="</th>"}for(var c in b.columns){var d=b.columns[c];if(d.visible){a+='<th id="'+d.key+'-header">';if(d.href){a+='<a href="'+d.href+'" class="sort-link" sort_key="'+d.key+'">'+d.label+"</a>"}else{a+=d.label}a+='<span class="sort-arrow">'+d.extra+"</span></th>"}}a+="</tr>";return a},body:function(r){var k="";var s=0;var e=r.items.length;if(e==0){k+='<tr><td colspan="100"><em>No Items</em></td></tr>';s=1}for(var f in r.items){var p=r.items[f];var a=p.encode_id;var g="grid-"+f+"-popup";k+="<tr ";if(r.current_item_id==p.id){k+='class="current"'}k+=">";if(r.show_item_checkboxes){k+='<td style="width: 1.5em;"><input type="checkbox" name="id" value="'+a+'" id="'+a+'" class="grid-row-select-checkbox" /></td>'}for(j in r.columns){var d=r.columns[j];if(d.visible){var c="";if(d.nowrap){c='style="white-space:nowrap;"'}var q=p.column_config[d.label];var h=q.link;var l=q.value;var o=q.inbound;if(jQuery.type(l)==="string"){l=l.replace(/\/\//g,"/")}var b="";var n="";if(d.attach_popup){b="grid-"+f+"-popup";n="menubutton";if(h!=""){n+=" split"}n+=" popup"}k+="<td "+c+">";if(h){if(r.operations.length!=0){k+='<div id="'+b+'" class="'+n+'" style="float: left;">'}var m="";if(o){m="use-inbound"}else{m="use-outbound"}k+='<a class="label '+m+'" href="'+h+'" onclick="return false;">'+l+"</a>";if(r.operations.length!=0){k+="</div>"}}else{k+='<div id="'+b+'" class="'+n+'"><label id="'+d.label_id_prefix+a+'" for="'+a+'">'+l+"</label></div>"}k+="</td>"}}k+="</tr>";s++}return k},footer:function(o){var k="";if(o.use_paging&&o.num_pages>1){var m=o.num_page_links;var a=o.cur_page_num;var n=o.num_pages;var h=m/2;var g=a-h;var e=0;if(g==0){g=1;e=h-(a-g)}var d=h+e;var c=a+d;if(c<=n){max_offset=0}else{c=n;max_offset=d-(c+1-a)}if(max_offset!=0){g-=max_offset;if(g<1){g=1}}k+='<tr id="page-links-row">';if(o.show_item_checkboxes){k+="<td></td>"}k+='<td colspan="100"><span id="page-link-container">Page:';if(g>1){k+='<span class="page-link" id="page-link-1"><a href="javascript:void(0);" page_num="1" onclick="return false;">1</a></span> ...'}for(var l=g;l<c+1;l++){if(l==o.cur_page_num){k+='<span class="page-link inactive-link" id="page-link-'+l+'">'+l+"</span>"}else{k+='<span class="page-link" id="page-link-'+l+'"><a href="javascript:void(0);" onclick="return false;" page_num="'+l+'">'+l+"</a></span>"}}if(c<n){k+='...<span class="page-link" id="page-link-'+n+'"><a href="javascript:void(0);" onclick="return false;" page_num="'+n+'">'+n+"</a></span>"}k+="</span>";k+='<span class="page-link" id="show-all-link-span"> | <a href="javascript:void(0);" onclick="return false;" page_num="all">Show All</a></span></td></tr>'}if(o.show_item_checkboxes){k+='<tr><input type="hidden" id="operation" name="operation" value=""><td></td><td colspan="100">For <span class="grid-selected-count"></span> selected '+o.get_class_plural+": ";for(i in o.operations){var b=o.operations[i];if(b.allow_multiple){k+='<input type="button" value="'+b.label+'" class="operation-button action-button"> '}}k+="</td></tr>"}var f=false;for(i in o.operations){if(o.operations[i].global_operation){f=true;break}}if(f){k+='<tr><td colspan="100">';for(i in o.operations){var b=o.operations[i];if(b.global_operation){k+='<a class="action-button" href="'+b.global_operation+'">'+b.label+"</a>"}}k+="</td></tr>"}if(o.legend){k+='<tr><td colspan="100">'+o.legend+"</td></tr>"}return k},message:function(a){return'<p><div class="'+a.status+'message transient-message">'+a.message+'</div><div style="clear: both"></div></p>'},grid_filters:function(n){var a=n.default_filter_dict;var b=n.filters;var e="none";if(n.advanced_search){e="block"}var m=false;for(var g in n.columns){var d=n.columns[g];if(d.filterable=="advanced"){var l=d.key;var c=b[l];var f=a[l];if(c&&f&&c!=f){e="block"}m=true}}var k="block";if(e=="block"){k="none"}var h='<div id="standard-search" style="display: '+k+';"><table><tr><td style="padding: 0;"><table>';for(var g in n.columns){var d=n.columns[g];if(d.filterable=="standard"){h+=this.grid_column_filter(n,d)}}h+="</table></td></tr><tr><td>";if(m){h+='<a href="" class="advanced-search-toggle">Advanced Search</a>'}h+="</td></tr></table></div>";h+='<div id="advanced-search" style="display: '+e+'; margin-top: 5px; border: 1px solid #ccc;"><table><tr><td style="text-align: left" colspan="100"><a href="" class="advanced-search-toggle">Close Advanced Search</a></td></tr>';for(var g in n.columns){var d=n.columns[g];if(d.filterable=="advanced"){h+=this.grid_column_filter(n,d)}}h+="</table></div>";return h},grid_column_filter:function(e,c){var t=e.default_filter_dict;var l=e.filters;var a=c.label;var b=c.key;if(c.filterable=="advanced"){a=a.toLowerCase()}var k="<tr>";if(c.filterable=="advanced"){k+='<td align="left" style="padding-left: 10px">'+a+":</td>"}k+='<td style="padding-bottom: 1px;">';if(c.is_text){k+='<form class="text-filter-form" column_key="'+b+'" action="'+e.url+'" method="get" >';for(u in e.columns){var g=e.columns[u];var p=l[g.key];if(p){if(p!="All"){if(g.is_text){p=JSON.stringify(p)}k+='<input type="hidden" id="'+g.key+'" name="f-'+g.key+'" value="'+p+'"/>'}}}k+='<span id="'+b+'-filtering-criteria">';var h=l[b];if(h){var f=jQuery.type(h);if(f=="string"){if(h!="All"){k+=this.filter_element(b,h)}}if(f=="array"){for(var u in h){var n=h[u];var v=h;v=v.slice(u);k+=this.filter_element(b,n)}}}k+="</span>";var r="";if(c.filterable=="standard"){r=c.label.toLowerCase();var q=r.length;if(q<20){q=20}q=q+4}k+='<span class="search-box"><input class="search-box-input" id="input-'+b+'-filter" name="f-'+b+'" type="text" placeholder="'+r+'" size="'+q+'"/><button type="submit" style="background: transparent; border: none; padding: 4px; margin: 0px;"><i class="fa fa-search"></i></button></span></form>'}else{k+='<span id="'+b+'-filtering-criteria">';var s=false;for(cf_label in e.categorical_filters[b]){var o=e.categorical_filters[b][cf_label];var d="";var m="";for(key in o){d=key;m=o[key]}if(s){k+=" | "}s=true;var n=l[b];if(n&&o[b]&&n==m){k+='<span class="categorical-filter '+b+'-filter current-filter">'+cf_label+"</span>"}else{k+='<span class="categorical-filter '+b+'-filter"><a href="javascript:void(0);" filter_key="'+d+'" filter_val="'+m+'">'+cf_label+"</a></span>"}}k+="</span>"}k+="</td></tr>";return k},filter_element:function(b,a){return'<span class="text-filter-val">'+a+'<a href="javascript:void(0);" filter_key="'+b+'" filter_val="'+a+'"><i class="fa fa-times" style="padding-left: 5px; padding-bottom: 6px;"/></a></span>'}}});
\ No newline at end of file
+define([],function(){return{grid:function(b){var a="";if(b.embedded){a=this.grid_header(b)+this.grid_table(b)}else{a='<div class="loading-elt-overlay"></div><table><tr><td width="75%">'+this.grid_header(b)+'</td><td></td><td></td></tr><tr><td width="100%" id="grid-message" valign="top"></td><td></td><td></td></tr></table>'+this.grid_table(b)}if(b.info_text){a+='<br><div class="toolParamHelp" style="clear: both;">'+b.info_text+"</div>"}return a},grid_table:function(a){return'<form method="post" onsubmit="return false;"><table id="grid-table" class="grid"><thead id="grid-table-header"></thead><tbody id="grid-table-body"></tbody><tfoot id="grid-table-footer"></tfoot></table></form>'},grid_header:function(c){var b='<div class="grid-header">';if(!c.embedded){b+="<h2>"+c.title+"</h2>"}if(c.global_actions){b+='<ul class="manage-table-actions">';var d=(c.global_actions.length>=3);if(d){b+='<li><a class="action-button" id="popup-global-actions" class="menubutton">Actions</a></li><div popupmenu="popup-global-actions">'}for(i in c.global_actions){var e=c.global_actions[i];var a="";if(e.inbound){a="use-inbound"}else{a="use-outbound"}b+='<li><a class="action-button '+a+'" href="'+e.url_args+'" onclick="return false;">'+e.label+"</a></li>"}if(d){b+="</div>"}b+="</ul>"}if(c.insert){b+=c.insert}b+=this.grid_filters(c);b+="</div>";return b},header:function(b){var a="<tr>";if(b.show_item_checkboxes){a+="<th>";if(b.items.length>0){a+='<input type="checkbox" id="check_all" name=select_all_checkbox value="true"><input type="hidden" name=select_all_checkbox value="true">'}a+="</th>"}for(var c in b.columns){var d=b.columns[c];if(d.visible){a+='<th id="'+d.key+'-header">';if(d.href){a+='<a href="'+d.href+'" class="sort-link" sort_key="'+d.key+'">'+d.label+"</a>"}else{a+=d.label}a+='<span class="sort-arrow">'+d.extra+"</span></th>"}}a+="</tr>";return a},body:function(r){var k="";var s=0;var e=r.items.length;if(e==0){k+='<tr><td colspan="100"><em>No Items</em></td></tr>';s=1}for(var f in r.items){var p=r.items[f];var a=p.encode_id;var g="grid-"+f+"-popup";k+="<tr ";if(r.current_item_id==p.id){k+='class="current"'}k+=">";if(r.show_item_checkboxes){k+='<td style="width: 1.5em;"><input type="checkbox" name="id" value="'+a+'" id="'+a+'" class="grid-row-select-checkbox" /></td>'}for(j in r.columns){var d=r.columns[j];if(d.visible){var c="";if(d.nowrap){c='style="white-space:nowrap;"'}var q=p.column_config[d.label];var h=q.link;var l=q.value;var o=q.inbound;if(jQuery.type(l)==="string"){l=l.replace(/\/\//g,"/")}var b="";var n="";if(d.attach_popup){b="grid-"+f+"-popup";n="menubutton";if(h!=""){n+=" split"}n+=" popup"}k+="<td "+c+">";if(h){if(r.operations.length!=0){k+='<div id="'+b+'" class="'+n+'" style="float: left;">'}var m="";if(o){m="use-inbound"}else{m="use-outbound"}k+='<a class="label '+m+'" href="'+h+'" onclick="return false;">'+l+"</a>";if(r.operations.length!=0){k+="</div>"}}else{k+='<div id="'+b+'" class="'+n+'"><label id="'+d.label_id_prefix+a+'" for="'+a+'">'+l+"</label></div>"}k+="</td>"}}k+="</tr>";s++}return k},footer:function(o){var k="";if(o.use_paging&&o.num_pages>1){var m=o.num_page_links;var a=o.cur_page_num;var n=o.num_pages;var h=m/2;var g=a-h;var e=0;if(g<=0){g=1;e=h-(a-g)}var d=h+e;var c=a+d;if(c<=n){max_offset=0}else{c=n;max_offset=d-(c+1-a)}if(max_offset!=0){g-=max_offset;if(g<1){g=1}}k+='<tr id="page-links-row">';if(o.show_item_checkboxes){k+="<td></td>"}k+='<td colspan="100"><span id="page-link-container">Page:';if(g>1){k+='<span class="page-link" id="page-link-1"><a href="javascript:void(0);" page_num="1" onclick="return false;">1</a></span> ...'}for(var l=g;l<c+1;l++){if(l==o.cur_page_num){k+='<span class="page-link inactive-link" id="page-link-'+l+'">'+l+"</span>"}else{k+='<span class="page-link" id="page-link-'+l+'"><a href="javascript:void(0);" onclick="return false;" page_num="'+l+'">'+l+"</a></span>"}}if(c<n){k+='...<span class="page-link" id="page-link-'+n+'"><a href="javascript:void(0);" onclick="return false;" page_num="'+n+'">'+n+"</a></span>"}k+="</span>";k+='<span class="page-link" id="show-all-link-span"> | <a href="javascript:void(0);" onclick="return false;" page_num="all">Show All</a></span></td></tr>'}if(o.show_item_checkboxes){k+='<tr><input type="hidden" id="operation" name="operation" value=""><td></td><td colspan="100">For <span class="grid-selected-count"></span> selected '+o.get_class_plural+": ";for(i in o.operations){var b=o.operations[i];if(b.allow_multiple){k+='<input type="button" value="'+b.label+'" class="operation-button action-button"> '}}k+="</td></tr>"}var f=false;for(i in o.operations){if(o.operations[i].global_operation){f=true;break}}if(f){k+='<tr><td colspan="100">';for(i in o.operations){var b=o.operations[i];if(b.global_operation){k+='<a class="action-button" href="'+b.global_operation+'">'+b.label+"</a>"}}k+="</td></tr>"}if(o.legend){k+='<tr><td colspan="100">'+o.legend+"</td></tr>"}return k},message:function(a){return'<p><div class="'+a.status+'message transient-message">'+a.message+'</div><div style="clear: both"></div></p>'},grid_filters:function(n){var a=n.default_filter_dict;var b=n.filters;var e="none";if(n.advanced_search){e="block"}var m=false;for(var g in n.columns){var d=n.columns[g];if(d.filterable=="advanced"){var l=d.key;var c=b[l];var f=a[l];if(c&&f&&c!=f){e="block"}m=true}}var k="block";if(e=="block"){k="none"}var h='<div id="standard-search" style="display: '+k+';"><table><tr><td style="padding: 0;"><table>';for(var g in n.columns){var d=n.columns[g];if(d.filterable=="standard"){h+=this.grid_column_filter(n,d)}}h+="</table></td></tr><tr><td>";if(m){h+='<a href="" class="advanced-search-toggle">Advanced Search</a>'}h+="</td></tr></table></div>";h+='<div id="advanced-search" style="display: '+e+'; margin-top: 5px; border: 1px solid #ccc;"><table><tr><td style="text-align: left" colspan="100"><a href="" class="advanced-search-toggle">Close Advanced Search</a></td></tr>';for(var g in n.columns){var d=n.columns[g];if(d.filterable=="advanced"){h+=this.grid_column_filter(n,d)}}h+="</table></div>";return h},grid_column_filter:function(e,c){var t=e.default_filter_dict;var l=e.filters;var a=c.label;var b=c.key;if(c.filterable=="advanced"){a=a.toLowerCase()}var k="<tr>";if(c.filterable=="advanced"){k+='<td align="left" style="padding-left: 10px">'+a+":</td>"}k+='<td style="padding-bottom: 1px;">';if(c.is_text){k+='<form class="text-filter-form" column_key="'+b+'" action="'+e.url+'" method="get" >';for(u in e.columns){var g=e.columns[u];var p=l[g.key];if(p){if(p!="All"){if(g.is_text){p=JSON.stringify(p)}k+='<input type="hidden" id="'+g.key+'" name="f-'+g.key+'" value="'+p+'"/>'}}}k+='<span id="'+b+'-filtering-criteria">';var h=l[b];if(h){var f=jQuery.type(h);if(f=="string"){if(h!="All"){k+=this.filter_element(b,h)}}if(f=="array"){for(var u in h){var n=h[u];var v=h;v=v.slice(u);k+=this.filter_element(b,n)}}}k+="</span>";var r="";if(c.filterable=="standard"){r=c.label.toLowerCase();var q=r.length;if(q<20){q=20}q=q+4}k+='<span class="search-box"><input class="search-box-input" id="input-'+b+'-filter" name="f-'+b+'" type="text" placeholder="'+r+'" size="'+q+'"/><button type="submit" style="background: transparent; border: none; padding: 4px; margin: 0px;"><i class="fa fa-search"></i></button></span></form>'}else{k+='<span id="'+b+'-filtering-criteria">';var s=false;for(cf_label in e.categorical_filters[b]){var o=e.categorical_filters[b][cf_label];var d="";var m="";for(key in o){d=key;m=o[key]}if(s){k+=" | "}s=true;var n=l[b];if(n&&o[b]&&n==m){k+='<span class="categorical-filter '+b+'-filter current-filter">'+cf_label+"</span>"}else{k+='<span class="categorical-filter '+b+'-filter"><a href="javascript:void(0);" filter_key="'+d+'" filter_val="'+m+'">'+cf_label+"</a></span>"}}k+="</span>"}k+="</td></tr>";return k},filter_element:function(b,a){return'<span class="text-filter-val">'+a+'<a href="javascript:void(0);" filter_key="'+b+'" filter_val="'+a+'"><i class="fa fa-times" style="padding-left: 5px; padding-bottom: 6px;"/></a></span>'}}});
\ No newline at end of file
Repository URL: https://bitbucket.org/galaxy/galaxy-central/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
1
0