Source code for atlas_doc_parser.nodes.node_decision_list
# -*- coding: utf-8 -*-importtypingasTimportdataclassesfromfunc_args.apiimportREQ,OPTfrom..type_enumimportTypeEnumfrom..mark_or_nodeimportBase,BaseNodeifT.TYPE_CHECKING:# pragma: no coverfrom.node_decision_itemimportNodeDecisionItem
[docs]@dataclasses.dataclass(frozen=True)classNodeDecisionListAttrs(Base):""" Attributes for :class:`NodeDecisionList`. :param localId: A unique identifier for the decision list. """localId:str=REQ
[docs]@dataclasses.dataclass(frozen=True)classNodeDecisionList(BaseNode):""" A container for decision items. The decisionList node is a top-level block node that groups multiple decisionItem nodes together for rendering as a decision list. """type:str=TypeEnum.decisionList.valueattrs:NodeDecisionListAttrs=REQcontent:list["NodeDecisionItem"]=REQ
[docs]defto_markdown(self,ignore_error:bool=False,)->str:""" Convert the decision list to Markdown format. Each decision item is rendered as a blockquote with ``>`` prefix on every line, separated by blank lines between items. """decision_blocks=[]foriteminself.content:ifitem.is_type_of(TypeEnum.decisionItem):try:md=item.to_markdown(ignore_error=ignore_error)decision_blocks.append(md)exceptExceptionase:ifignore_error:passelse:raisee# Join with blank lines between each decisionreturn"\n\n".join(decision_blocks)