annotate regex_switch.xml @ 0:8da8330208f4 draft default tip

planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
author iuc
date Thu, 09 Oct 2025 08:39:02 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
1 <tool name="Regex switch" id="regex_switch" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" tool_type="expression">
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
2 <description>boolean from regex on element identifier</description>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
3 <macros>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
4 <token name="@TOOL_VERSION@">1.0.0</token>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
5 <token name="@VERSION_SUFFIX@">0</token>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
6 </macros>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
7 <expression type="ecma5.1"><![CDATA[{
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
8 var name = $job.input.name;
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
9 var pat = $job.pattern;
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
10 var matched = false;
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
11
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
12 try {
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
13 var re = new RegExp(pat);
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
14 matched = re.test(name);
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
15 } catch (e) {
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
16 return { "__error_message": "Invalid regular expression: " + (e && e.message ? e.message : String(e)) };
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
17 }
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
18
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
19 return { "matched": matched, "unmatched": !matched };
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
20 }]]></expression>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
21 <inputs>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
22 <param name="input" type="data" format="data"
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
23 label="Dataset" />
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
24 <param name="pattern" sanitize="false" type="text" label="Regex pattern"
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
25 help="Example: \.csv$">
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
26 <sanitizer>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
27 <valid>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
28 <add preset="string.printable"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
29 </valid>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
30 </sanitizer>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
31 <validator type="empty_field" message="Please enter a regular expression."/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
32 </param>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
33 </inputs>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
34 <outputs>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
35 <output type="boolean" name="matched" from="matched" label="Match result"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
36 <output type="boolean" name="unmatched" from="unmatched" label="Unmatched result"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
37 </outputs>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
38 <tests>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
39 <test expect_num_outputs="2">
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
40 <param name="input" value="sample.csv" ftype="txt"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
41 <param name="pattern" value="\.csv$"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
42 <output name="matched" value_json="true"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
43 <output name="unmatched" value_json="false"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
44 </test>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
45
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
46 <test expect_num_outputs="2">
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
47 <param name="input" value="table.tsv" ftype="txt"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
48 <param name="pattern" value="\.csv$"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
49 <output name="matched" value_json="false"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
50 <output name="unmatched" value_json="true"/>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
51 </test>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
52 </tests>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
53 <help><![CDATA[
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
54 **Regex switch**
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
55
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
56 Matches a regular expression against the name of the input file. It emits two booleans:
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
57 `matched` (the match result) and `unmatched` (its negation). Connect either to a step's **Conditionally skip step?** input.
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
58
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
59 **Regex syntax reference:** https://262.ecma-international.org/16.0/index.html#sec-patterns
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
60 ]]></help>
8da8330208f4 planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/main/tools/regex_switch commit 502f06ff9cb9edd0eceaba726b2cc848757e34dd
iuc
parents:
diff changeset
61 </tool>