diff options
| author | 2020-07-22 02:03:31 +0200 | |
|---|---|---|
| committer | 2020-07-22 02:03:31 +0200 | |
| commit | e10def8a3d79dffd8cc53acd6b30fa43741d140c (patch) | |
| tree | 79283d26174ac43fea89315d2f4164f3abb6c8f7 | |
| parent | Fix handling of elements when fetching signatures. (diff) | |
Move DocMarkdownConverter to parsing.
Diffstat (limited to '')
| -rw-r--r-- | bot/cogs/doc/cog.py | 34 | ||||
| -rw-r--r-- | bot/cogs/doc/parsing.py | 34 | 
2 files changed, 34 insertions, 34 deletions
| diff --git a/bot/cogs/doc/cog.py b/bot/cogs/doc/cog.py index 36fbe9010..a7dcd9020 100644 --- a/bot/cogs/doc/cog.py +++ b/bot/cogs/doc/cog.py @@ -64,40 +64,6 @@ class DocItem(NamedTuple):      group: str -class DocMarkdownConverter(MarkdownConverter): -    """Subclass markdownify's MarkdownCoverter to provide custom conversion methods.""" - -    def __init__(self, *, page_url: str, **options): -        super().__init__(**options) -        self.page_url = page_url - -    def convert_code(self, el: PageElement, text: str) -> str: -        """Undo `markdownify`s underscore escaping.""" -        return f"`{text}`".replace('\\', '') - -    def convert_pre(self, el: PageElement, text: str) -> str: -        """Wrap any codeblocks in `py` for syntax highlighting.""" -        code = ''.join(el.strings) -        return f"```py\n{code}```" - -    def convert_a(self, el: PageElement, text: str) -> str: -        """Resolve relative URLs to `self.page_url`.""" -        el["href"] = urljoin(self.page_url, el["href"]) -        return super().convert_a(el, text) - -    def convert_p(self, el: PageElement, text: str) -> str: -        """Include only one newline instead of two when the parent is a li tag.""" -        parent = el.parent -        if parent is not None and parent.name == "li": -            return f"{text}\n" -        return super().convert_p(el, text) - - -def markdownify(html: str, *, url: str = "") -> str: -    """Create a DocMarkdownConverter object from the input html.""" -    return DocMarkdownConverter(bullets='•', page_url=url).convert(html) - -  class InventoryURL(commands.Converter):      """      Represents an Intersphinx inventory URL. diff --git a/bot/cogs/doc/parsing.py b/bot/cogs/doc/parsing.py index 725fe47cd..8f6688bd2 100644 --- a/bot/cogs/doc/parsing.py +++ b/bot/cogs/doc/parsing.py @@ -25,6 +25,40 @@ SEARCH_END_TAG_ATTRS = (  ) +class DocMarkdownConverter(MarkdownConverter): +    """Subclass markdownify's MarkdownCoverter to provide custom conversion methods.""" + +    def __init__(self, *, page_url: str, **options): +        super().__init__(**options) +        self.page_url = page_url + +    def convert_code(self, el: PageElement, text: str) -> str: +        """Undo `markdownify`s underscore escaping.""" +        return f"`{text}`".replace('\\', '') + +    def convert_pre(self, el: PageElement, text: str) -> str: +        """Wrap any codeblocks in `py` for syntax highlighting.""" +        code = ''.join(el.strings) +        return f"```py\n{code}```" + +    def convert_a(self, el: PageElement, text: str) -> str: +        """Resolve relative URLs to `self.page_url`.""" +        el["href"] = urljoin(self.page_url, el["href"]) +        return super().convert_a(el, text) + +    def convert_p(self, el: PageElement, text: str) -> str: +        """Include only one newline instead of two when the parent is a li tag.""" +        parent = el.parent +        if parent is not None and parent.name == "li": +            return f"{text}\n" +        return super().convert_p(el, text) + + +def markdownify(html: str, *, url: str = "") -> str: +    """Create a DocMarkdownConverter object from the input html.""" +    return DocMarkdownConverter(bullets='•', page_url=url).convert(html) + +  def find_elements_until_tag(          start_element: PageElement,          tag_filter: Union[Tuple[str, ...], Callable[[Tag], bool]], | 
