'BlankLine' object has no attribute 'children' when parsing a text with gfm
sulunemre opened this issue · comments
Emre Sülün commented
I am not sure if this is the expected behaviour.
from marko.ext.gfm import gfm
text = '## The problem\r\n\r\nwhenever we are launching the website. The site asks for permission to send notifications but unfortunately, we are unable to handle it. Have tried passing the capabilities.\r\n\r\n## Environment\r\n\r\n* Appium version (or git revision) that exhibits the issue: 1.7.2\r\n* Mobile platform/version under test: Android \r\n* Real device or emulator/simulator:One Plus 2 V6.0.1\r\n\r\n## Details\r\n\r\nCapabilities tired: \r\nChromeOptions options = new ChromeOptions();\r\noptions.addArguments("--disable-notifications");\r\ncap.setCapability(ChromeOptions.CAPABILITY, options);\r\ncap.setCapability("autoAcceptAlerts", true);\r\ncap.setCapability(CapabilityType.UNEXPECTED_ALERT_BEHAVIOUR, "UnexpectedAlertBehaviour.ACCEPT");\r\ncap.setCapability("autoDismissAlerts", true);\r\ncap.setCapability(AndroidMobileCapabilityType.AUTO_GRANT_PERMISSIONS, true);\r\n\r\n## Link to Appium logs\r\n\r\nhttps://gist.github.com/Rakeshsp05/0f9c6c868c18590097393f59ac5988fe\r\n\r\n\r\n![Uploading Screen Sh\r\n<img width="390" alt="screen shot 2018-02-27 at 1 03 36 pm" src="https://user-images.githubusercontent.com/32235525/36716113-1ab12c3e-1bbf-11e8-9e56-a8c3d278d58a.png">\r\not 2018-02-27 at 1.03.36 PM.png…]()\r\n\r\n'
gfm(text)
Error: AttributeError: 'BlankLine' object has no attribute 'children'
A BlankLine shouldn't have children I guess, but gfm parser tries to parse its children.
Frost Ming commented
Can you show a bit more tracebacks?
Emre Sülün commented
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
Cell In [9], line 1
----> 1 gfm(text)
File XXX\.venv\lib\site-packages\marko\__init__.py:112, in Markdown.__call__(self, text)
111 def __call__(self, text: str) -> str:
--> 112 return self.convert(text)
File XXX\.venv\lib\site-packages\marko\__init__.py:109, in Markdown.convert(self, text)
107 def convert(self, text: str) -> str:
108 """Parse and render the given text."""
--> 109 return self.render(self.parse(text))
File XXX\.venv\lib\site-packages\marko\__init__.py:129, in Markdown.render(self, parsed)
127 self.renderer.root_node = parsed
128 with self.renderer as r:
--> 129 return r.render(parsed)
File XXX\.venv\lib\site-packages\marko\html_renderer.py:90, in HTMLRenderer.render_plain_text(self, element)
88 if isinstance(element.children, str):
89 return self.escape_html(element.children)
---> 90 return self.render_children(element)
File XXX\.venv\lib\site-packages\marko\renderer.py:83, in Renderer.render_children(self, element)
71 def render_children(self, element: Any) -> Any:
72 """
73 Recursively renders child elements. Joins the rendered
74 strings with no space in between.
(...)
81 :param element: a branch node who has children attribute.
82 """
---> 83 rendered = [self.render(child) for child in element.children] # type: ignore
84 return "".join(rendered)
File XXX\.venv\lib\site-packages\marko\renderer.py:83, in <listcomp>(.0)
71 def render_children(self, element: Any) -> Any:
72 """
73 Recursively renders child elements. Joins the rendered
74 strings with no space in between.
(...)
81 :param element: a branch node who has children attribute.
82 """
---> 83 rendered = [self.render(child) for child in element.children] # type: ignore
84 return "".join(rendered)
File XXX\.venv\lib\site-packages\marko\html_renderer.py:88, in HTMLRenderer.render_plain_text(self, element)
87 def render_plain_text(self, element: Any) -> str:
---> 88 if isinstance(element.children, str):
89 return self.escape_html(element.children)
90 return self.render_children(element)
AttributeError: 'BlankLine' object has no attribute 'children'