Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
galaxyproject
GitHub Repository: galaxyproject/training-material
Path: blob/main/_plugins/gtn/toolshed.rb
1677 views
1
# frozen_string_literal: true
2
3
module Gtn
4
# Handle toolshed yaml formatting for ephemeris
5
module Toolshed
6
##
7
# Prepare a tool list for installation
8
#
9
# Params:
10
# +data+:: The data from metadata/toolshed-revisions.json
11
# +tool_list+:: The list of tools to check (either 'upload1' or
12
# 'toolshed.g2.bx.psu.edu/repos/iuc/circos/circos/0.69.8+galaxy10' style tools)
13
# +topic+:: The topic to install the tools under
14
# Returns:
15
# +supported+:: A string of the admin install, ready for ephemeris
16
def self.format_admin_install(data, tool_list, topic, tool_cats)
17
# p "Calculating supported servers for this tool list"
18
return {} if data.nil? || data.empty?
19
20
tools = tool_list.select { |t| data.key? t }.map do |tool|
21
tool_info = data[tool]
22
{
23
'name' => tool_info[1],
24
'owner' => tool_info[0],
25
'revisions' => tool_info[2],
26
'tool_panel_section_label' => tool_cats["#{tool_info[0]}/#{tool_info[1]}"] || topic,
27
'tool_shed_url' => 'https://toolshed.g2.bx.psu.edu/',
28
}
29
end
30
31
{
32
'install_tool_dependencies' => true,
33
'install_repository_dependencies' => true,
34
'install_resolver_dependencies' => true,
35
'tools' => tools
36
}
37
end
38
end
39
end
40
41