make convert_hn() public instead of internal (#213)
Signed-off-by: chrispy <chrispy@synopsys.com>
This commit is contained in:
committed by
GitHub
parent
2d654a6b7e
commit
e29de4e753
@@ -363,11 +363,11 @@ class MarkdownConverter(object):
|
||||
if not self.should_convert_tag(tag_name):
|
||||
return None
|
||||
|
||||
# Handle headings with _convert_hn() function
|
||||
# Handle headings with convert_hN() function
|
||||
match = re_html_heading.match(tag_name)
|
||||
if match:
|
||||
n = int(match.group(1))
|
||||
return lambda el, text, parent_tags: self._convert_hn(n, el, text, parent_tags)
|
||||
return lambda el, text, parent_tags: self.convert_hN(n, el, text, parent_tags)
|
||||
|
||||
# For other tags, look up their conversion function by tag name
|
||||
convert_fn_name = "convert_%s" % re_make_convert_fn_name.sub('_', tag_name)
|
||||
@@ -510,12 +510,12 @@ class MarkdownConverter(object):
|
||||
|
||||
return '\n\n%s\n' % text
|
||||
|
||||
def _convert_hn(self, n, el, text, parent_tags):
|
||||
""" Method name prefixed with _ to prevent <hn> to call this """
|
||||
def convert_hN(self, n, el, text, parent_tags):
|
||||
# convert_hN() converts <hN> tags, where N is any integer
|
||||
if '_inline' in parent_tags:
|
||||
return text
|
||||
|
||||
# prevent MemoryErrors in case of very large n
|
||||
# Markdown does not support heading depths of n > 6
|
||||
n = max(1, min(6, n))
|
||||
|
||||
style = self.options['heading_style'].lower()
|
||||
|
||||
@@ -164,7 +164,8 @@ def test_hn():
|
||||
assert md('<h5>Hello</h5>') == '\n\n##### Hello\n\n'
|
||||
assert md('<h6>Hello</h6>') == '\n\n###### Hello\n\n'
|
||||
assert md('<h10>Hello</h10>') == md('<h6>Hello</h6>')
|
||||
assert md('<hn>Hello</hn>') == md('Hello')
|
||||
assert md('<h0>Hello</h0>') == md('<h1>Hello</h1>')
|
||||
assert md('<hx>Hello</hx>') == md('Hello')
|
||||
|
||||
|
||||
def test_hn_chained():
|
||||
|
||||
@@ -12,7 +12,11 @@ class UnitTestConverter(MarkdownConverter):
|
||||
|
||||
def convert_custom_tag(self, el, text, parent_tags):
|
||||
"""Ensure conversion function is found for tags with special characters in name"""
|
||||
return "FUNCTION USED: %s" % text
|
||||
return "convert_custom_tag(): %s" % text
|
||||
|
||||
def convert_hN(self, n, el, text, parent_tags):
|
||||
"""Ensure conversion function is found for headings"""
|
||||
return "convert_hN(%d): %s" % (n, text)
|
||||
|
||||
|
||||
def test_custom_conversion_functions():
|
||||
@@ -23,7 +27,9 @@ def test_custom_conversion_functions():
|
||||
assert md('<img src="/path/to/img.jpg" alt="Alt text" title="Optional title" />text') == '\n\ntext'
|
||||
assert md('<img src="/path/to/img.jpg" alt="Alt text" />text') == '\n\ntext'
|
||||
|
||||
assert md("<custom-tag>text</custom-tag>") == "FUNCTION USED: text"
|
||||
assert md("<custom-tag>text</custom-tag>") == "convert_custom_tag(): text"
|
||||
|
||||
assert md("<h3>text</h3>") == "convert_hN(3): text"
|
||||
|
||||
|
||||
def test_soup():
|
||||
|
||||
Reference in New Issue
Block a user