Mercurial > repos > shellac > guppy_basecaller
comparison env/lib/python3.7/site-packages/planemo/tool_lint.py @ 0:26e78fe6e8c4 draft
"planemo upload commit c699937486c35866861690329de38ec1a5d9f783"
| author | shellac |
|---|---|
| date | Sat, 02 May 2020 07:14:21 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| -1:000000000000 | 0:26e78fe6e8c4 |
|---|---|
| 1 from __future__ import absolute_import | |
| 2 | |
| 3 from os.path import basename | |
| 4 | |
| 5 from galaxy.tool_util.lint import lint_tool_source | |
| 6 | |
| 7 from planemo.exit_codes import ( | |
| 8 EXIT_CODE_GENERIC_FAILURE, | |
| 9 EXIT_CODE_OK, | |
| 10 ) | |
| 11 from planemo.io import ( | |
| 12 coalesce_return_codes, | |
| 13 error, | |
| 14 info, | |
| 15 ) | |
| 16 from planemo.tools import ( | |
| 17 is_tool_load_error, | |
| 18 yield_tool_sources_on_paths, | |
| 19 ) | |
| 20 | |
| 21 LINTING_TOOL_MESSAGE = "Linting tool %s" | |
| 22 | |
| 23 | |
| 24 def lint_tools_on_path(ctx, paths, lint_args, **kwds): | |
| 25 assert_tools = kwds.get("assert_tools", True) | |
| 26 recursive = kwds.get("recursive", False) | |
| 27 exit_codes = [] | |
| 28 for (tool_path, tool_xml) in yield_tool_sources_on_paths(ctx, paths, recursive): | |
| 29 if handle_tool_load_error(tool_path, tool_xml): | |
| 30 exit_codes.append(EXIT_CODE_GENERIC_FAILURE) | |
| 31 continue | |
| 32 info("Linting tool %s" % tool_path) | |
| 33 if not lint_tool_source(tool_xml, name=basename(tool_path), **lint_args): | |
| 34 error("Failed linting") | |
| 35 exit_codes.append(EXIT_CODE_GENERIC_FAILURE) | |
| 36 else: | |
| 37 exit_codes.append(EXIT_CODE_OK) | |
| 38 return coalesce_return_codes(exit_codes, assert_at_least_one=assert_tools) | |
| 39 | |
| 40 | |
| 41 def handle_tool_load_error(tool_path, tool_xml): | |
| 42 """ Return True if tool_xml is tool load error (invalid XML), and | |
| 43 print a helpful error message. | |
| 44 """ | |
| 45 is_error = False | |
| 46 if is_tool_load_error(tool_xml): | |
| 47 info("Could not lint %s due to malformed xml." % tool_path) | |
| 48 is_error = True | |
| 49 return is_error |
