comparison generate_macros.py @ 2:b6029f2c71cb draft

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/ebi_tools commit 19ea4feff5ccf3744c549b9a67259947a1cb90ba
author iuc
date Sat, 21 Jan 2017 14:41:05 -0500
parents bb7989bd88ba
children 42d5e40fcd0b
comparison
equal deleted inserted replaced
1:a2c83f79f253 2:b6029f2c71cb
14 14
15 15
16 def add_select_parameter(name, label, multiple=False): 16 def add_select_parameter(name, label, multiple=False):
17 to_write = '<param ' 17 to_write = '<param '
18 to_write += 'name="%s" ' % (name) 18 to_write += 'name="%s" ' % (name)
19 to_write += 'type="select" ' 19 to_write += 'type="select"'
20 to_write += 'label="%s" ' % (label)
21 if multiple: 20 if multiple:
22 to_write += 'multiple=\"true\"' 21 to_write += ' multiple="true" optional="false"'
22 to_write += ' label="%s"' % (label)
23 to_write += '>\n' 23 to_write += '>\n'
24 return to_write 24 return to_write
25 25
26 26
27 def write_macros_file(macros_filepath, domains_fields): 27 def write_macros_file(macros_filepath, domains_fields):
28 spaces = ' ' 28 spaces = ' '
29 to_write = '<macros>\n' 29 to_write = '<macros>\n'
30 30
31 to_write += '%s<xml name="requirements">\n' % (spaces) 31 to_write += '%s<xml name="requirements">\n' % (spaces)
32 to_write += '%s<requirements>\n' % (2 * spaces) 32 to_write += '%s<requirements>\n' % (2 * spaces)
33 to_write += '%s<requirement type="package" version="2.7.12">python</requirement>\n' % (3 * spaces)
33 to_write += '%s<requirement type="package" version="3.1.1">xmltramp2</requirement>\n' % (3 * spaces) 34 to_write += '%s<requirement type="package" version="3.1.1">xmltramp2</requirement>\n' % (3 * spaces)
34 to_write += '%s<requirement type="package" version="1.12">urllib3</requirement>\n' % (3 * spaces) 35 to_write += '%s<requirement type="package" version="1.12">urllib3</requirement>\n' % (3 * spaces)
35 to_write += '%s<yield/>\n' % (3 * spaces) 36 to_write += '%s<yield/>\n' % (3 * spaces)
36 to_write += '%s</requirements>\n' % (2 * spaces) 37 to_write += '%s</requirements>\n' % (2 * spaces)
37 to_write += '%s</xml>\n' % (spaces) 38 to_write += '%s</xml>\n' % (spaces)
42 to_write += '%s%s' % (3 * spaces, add_select_parameter( 43 to_write += '%s%s' % (3 * spaces, add_select_parameter(
43 'domain', 44 'domain',
44 'Domain to query')) 45 'Domain to query'))
45 46
46 sorted_domains = [(d, domains_fields[d]['name']) for d in domains_fields.keys()] 47 sorted_domains = [(d, domains_fields[d]['name']) for d in domains_fields.keys()]
47 sorted_domains = sorted(sorted_domains, key=lambda tup: tup[1]) 48 sorted_domains.sort(key=lambda tup: tup[1])
48 for domain in sorted_domains: 49 for domain in sorted_domains:
49 to_write += '%s%s' % (4 * spaces, add_option( 50 to_write += '%s%s' % (4 * spaces, add_option(
50 domain[0], 51 domain[0],
51 domain[1])) 52 domain[1]))
52 53
63 for field in domains_fields[domain]['retrievable_fields']: 64 for field in domains_fields[domain]['retrievable_fields']:
64 to_write += '%s%s' % (5 * spaces, add_option( 65 to_write += '%s%s' % (5 * spaces, add_option(
65 field, 66 field,
66 field, 67 field,
67 selected=True)) 68 selected=True))
68 to_write += '%s<validator type="no_options" message="Please select at least one field" />\n' % (5 * spaces)
69 to_write += '%s</param>\n' % (4 * spaces) 69 to_write += '%s</param>\n' % (4 * spaces)
70 70
71 to_write += '%s<repeat name="queries" title="Add a query">\n' % ( 71 to_write += '%s<repeat name="queries" title="Add a query">\n' % (
72 4 * spaces) 72 4 * spaces)
73 73