Mercurial > repos > bgruening > cp_measure_texture
annotate cp_common_functions.py @ 2:8f3f8c94626f draft
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
| author | bgruening | 
|---|---|
| date | Thu, 16 Apr 2020 05:30:53 -0400 | 
| parents | |
| children | 035a58c7f54a | 
| rev | line source | 
|---|---|
| 
2
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
1 INDENTATION = " " | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
2 LINE_NUM_MODULES = 4 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
3 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
4 def get_json_value(json_input, keys_path): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
5 """Returns the value specified in keys_path (using dot notation) or an empty string if the key doesn't exist""" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
6 if not isinstance(json_input, dict): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
7 return "" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
8 keys = keys_path.split(".") | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
9 try: | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
10 value = json_input[keys[0]] | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
11 for key in keys[1:]: | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
12 value = value[key] | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
13 return value | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
14 except KeyError: | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
15 return "" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
16 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
17 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
18 def concat_conditional(a, b): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
19 if a == "" or b == "": | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
20 return "" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
21 else: | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
22 return f"{a}_{b}" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
23 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
24 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
25 def get_total_number_of_modules(pipeline_lines): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
26 """Gets the number of modules from the header of the previous pipeline""" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
27 number_of_modules = pipeline_lines[LINE_NUM_MODULES].strip().split(':')[1] | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
28 return int(number_of_modules) | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
29 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
30 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
31 def get_pipeline_lines(input_pipeline): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
32 """Returns a list with the lines in the .cppipe file""" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
33 with open(input_pipeline) as f: | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
34 lines = f.readlines() | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
35 return lines | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
36 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
37 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
38 def update_module_count(pipeline_lines, count): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
39 """Updates the number of modules in the .cppipe header""" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
40 module_count_entry = pipeline_lines[LINE_NUM_MODULES].strip().split(':')[0] | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
41 pipeline_lines[4] = f"{module_count_entry}:{count}\n" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
42 return pipeline_lines | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
43 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
44 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
45 def write_pipeline(filename, lines_pipeline): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
46 """Writes the lines composing the pipeline into a file""" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
47 with open(filename, "w") as f: | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
48 f.writelines(lines_pipeline) | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
49 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
50 | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
51 def build_header(module_name, module_number): | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
52 """Creates the first line of a module given the name and module number""" | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
53 result = "|".join([f"{module_name}:[module_num:{module_number}", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
54 "svn_version:\\'Unknown\\'", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
55 "variable_revision_number:4", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
56 "show_window:False", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
57 "notes:\\x5B\\x5D", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
58 "batch_state:array(\\x5B\\x5D, dtype=uint8)", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
59 "enabled:True", | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
60 "wants_pause:False]\n"]) | 
| 
 
8f3f8c94626f
"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools commit 1907942bef43b20edfdbd1d1b5eb1cac3602848b"
 
bgruening 
parents:  
diff
changeset
 | 
61 return result | 
