Skip to content

Commit

Permalink
Merge pull request #15457 from bernt-matthias/topic/rst_invalid
Browse files Browse the repository at this point in the history
[22.05] restore rst_invalid function
  • Loading branch information
mvdbeek authored Feb 1, 2023
2 parents ca1d2f5 + e0ab580 commit 5fd1141
Showing 1 changed file with 20 additions and 5 deletions.
25 changes: 20 additions & 5 deletions lib/galaxy/tool_util/linters/help.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
"""This module contains a linting function for a tool's help."""

from typing import Union

from galaxy.util import (
rst_to_html,
unicodify,
Expand Down Expand Up @@ -30,10 +33,22 @@ def lint_help(tool_xml, lint_ctx):
if "TODO" in help_text:
lint_ctx.warn("Help contains TODO text.", node=helps[0])

invalid_rst = rst_invalid(help_text)
if invalid_rst:
lint_ctx.warn(f"Invalid reStructuredText found in help - [{invalid_rst}].", node=helps[0])
else:
lint_ctx.valid("Help contains valid reStructuredText.", node=helps[0])


def rst_invalid(text: str) -> Union[bool, str]:
"""
Predicate to determine if text is invalid reStructuredText.
Return False if the supplied text is valid reStructuredText or
a string indicating the problem.
"""
invalid_rst: Union[bool, str] = False
try:
rst_to_html(help_text, error=True)
rst_to_html(text, error=True)
except Exception as e:
lint_ctx.warn(f"Invalid reStructuredText found in help - [{unicodify(e)}].", node=helps[0])
return

lint_ctx.valid("Help contains valid reStructuredText.", node=helps[0])
invalid_rst = unicodify(e)
return invalid_rst

0 comments on commit 5fd1141

Please sign in to comment.