Skip to content

Commit

Permalink
update json output
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenpieters committed Sep 5, 2023
1 parent 56c0448 commit 8f8e202
Showing 1 changed file with 30 additions and 9 deletions.
39 changes: 30 additions & 9 deletions rules_doc_generator/model/section.py
Expand Up @@ -77,7 +77,7 @@ def to_json(self, config: Config, id_map: RefDict) -> str:

@dataclass
class SubRule:
id: Union[str, None]
id: str
new: bool
format_text: FormatText
examples: list[Example]
Expand Down Expand Up @@ -110,13 +110,18 @@ def to_latex(self, config: Config, id_map: RefDict) -> str:

def to_json(self, config: Config, id_map: RefDict) -> str:
obj = "{"
obj += f'"{self.id}": "{self.format_text.to_json(config, id_map)}", "children": []'
obj += f'"id": "{self.id}",'
obj += f'"nr": "{id_map[self.id].reference}",'
obj += f'"type": "{id_map[self.id].type}",'
obj += f'"text": "{self.format_text.to_json(config, id_map)}", "children": [],'
examples = ','.join(map(lambda example: f'"{example.text.to_json(config, id_map)}"', self.examples))
obj += f'"examples": [{examples}]'
obj += "}"
return obj

@dataclass
class Rule:
id: Union[str, None]
id: str
new: bool
format_text: FormatText
examples: list[Example]
Expand Down Expand Up @@ -150,13 +155,18 @@ def to_latex(self, config: Config, id_map: RefDict) -> str:

def to_json(self, config: Config, id_map: RefDict) -> str:
obj = "{"
obj += f'"{self.id}": "{self.format_text.to_json(config, id_map)}", "children": []'
obj += f'"id": "{self.id}",'
obj += f'"nr": "{id_map[self.id].reference}",'
obj += f'"type": "{id_map[self.id].type}",'
obj += f'"text": "{self.format_text.to_json(config, id_map)}", "children": [],'
examples = ','.join(map(lambda example: f'"{example.text.to_json(config, id_map)}"', self.examples))
obj += f'"examples": [{examples}]'
obj += "}"
return obj

@dataclass
class SubSection:
id: Union[str, None]
id: str
new: bool
format_text: FormatText
toc: bool
Expand Down Expand Up @@ -221,9 +231,14 @@ def to_latex(self, config: Config, id_map: RefDict) -> str:

def to_json(self, config: Config, id_map: RefDict) -> str:
obj = "{"
obj += f'"{self.id}": "{self.format_text.to_json(config, id_map)}",'
obj += f'"id": "{self.id}",'
obj += f'"nr": "{id_map[self.id].reference}",'
obj += f'"type": "{id_map[self.id].type}",'
obj += f'"text": "{self.format_text.to_json(config, id_map)}",'
childrenIds = ','.join(map(lambda rule: f'"{rule.id}"', self.rules))
obj += f'"children": [{childrenIds}]'
obj += f'"children": [{childrenIds}],'
examples = ','.join(map(lambda example: f'"{example.text.to_json(config, id_map)}"', self.examples))
obj += f'"examples": [{examples}]'
obj += "}"
return f'{obj},\n' + \
',\n'.join(map(lambda element: element.to_json(config, id_map), self.rules))
Expand Down Expand Up @@ -277,7 +292,10 @@ def to_latex(self, config: Config, id_map: RefDict) -> str:

def to_json(self, config: Config, id_map: RefDict) -> str:
obj = "{"
obj += f'"{self.id}": "{self.text.to_json(config, id_map)}",'
obj += f'"id": "{self.id}",'
obj += f'"nr": "{id_map[self.id].reference}",'
obj += f'"type": "{id_map[self.id].type}",'
obj += f'"text": "{self.text.to_json(config, id_map)}",'
childrenIds = ','.join(map(lambda element: f'"{element.id}"' if hasattr(element, "id") else "TODO", self.section_elements))
obj += f'"children": [{childrenIds}]'
obj += "}"
Expand Down Expand Up @@ -309,7 +327,10 @@ def to_latex(self, config: Config, id_map: RefDict) -> str:

def to_json(self, config: Config, id_map: RefDict) -> str:
obj = "{"
obj += f'"{self.id}": "{self.text}",'
obj += f'"id": "{self.id}",'
obj += f'"nr": "{id_map[self.id].reference}",'
obj += f'"type": "{id_map[self.id].type}",'
obj += f'"text": "{self.text}",'
childrenIds = ','.join(map(lambda section: f'"{section.id}"', self.sections))
obj += f'"children": [{childrenIds}]'
obj += "}"
Expand Down

0 comments on commit 8f8e202

Please sign in to comment.