Skip to content

Commit f2e46f8

Browse files
committed
tools: Expand entities with tools entities expander.
1 parent 4ed9b71 commit f2e46f8

File tree

2 files changed

+5
-25
lines changed

2 files changed

+5
-25
lines changed

.tools/readmes/render.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from typing import Dict, List, Tuple
1414

1515
import config
16+
from aws_doc_sdk_examples_tools.entities import expand_all_entities
1617
from aws_doc_sdk_examples_tools.metadata import Example
1718
from aws_doc_sdk_examples_tools.sdks import Sdk
1819
from aws_doc_sdk_examples_tools.services import Service
@@ -202,16 +203,6 @@ def _transform_custom_categories(self) -> Dict[str, List[Dict[str, str]]]:
202203
sorted_cats[key] = post_cats[key]
203204
return sorted_cats
204205

205-
def _expand_entities(self, readme_text: str) -> str:
206-
entities = set(re.findall(r"&[\dA-Za-z-_]+;", readme_text))
207-
for entity in entities:
208-
expanded = self.scanner.expand_entity(entity)
209-
if expanded is not None:
210-
readme_text = readme_text.replace(entity, expanded)
211-
else:
212-
logger.warning("Entity found with no expansion defined: %s", entity)
213-
return readme_text
214-
215206
def _lang_level_double_dots(self) -> str:
216207
return "../" * self.lang_config["service_folder"].count("/")
217208

@@ -313,7 +304,10 @@ def render(self) -> RenderStatus:
313304
customs=customs,
314305
unsupported=unsupported,
315306
)
316-
self.readme_text = self._expand_entities(self.readme_text)
307+
[text, errors] = expand_all_entities(self.readme_text, self.scanner.doc_gen.entities)
308+
if errors:
309+
raise errors
310+
self.readme_text = text
317311

318312
# Check if the rendered text is different from the existing file
319313
if self.read_current() == self.readme_text:

.tools/readmes/scanner.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,6 @@ def __init__(self, doc_gen: DocGen):
2929
self.sdk_ver: int = -1
3030
self.svc_name: str = ""
3131
self.snippets = None
32-
self.entities: Dict[str, str] = {}
33-
self._prepare_entities()
3432
self.examples: Dict[str, List[Example]] = {}
3533
self._build_examples()
3634
self.hellos: Dict[str, Example] = {}
@@ -41,15 +39,6 @@ def __init__(self, doc_gen: DocGen):
4139
self.crosses: Dict[str, Example] = {}
4240
self.cross_scenarios: Dict[str, Example] = {}
4341

44-
def _prepare_entities(self):
45-
for svc in self.services().values():
46-
if svc.expanded:
47-
self.entities[svc.long] = svc.expanded.long
48-
self.entities[svc.short] = svc.expanded.short
49-
# config entities override
50-
for entity, expanded in config.entities.items():
51-
self.entities[entity] = expanded
52-
5342
def load_crosses(self):
5443
self.doc_gen.process_metadata(
5544
self.doc_gen.root / ".doc_gen" / "metadata" / "cross_metadata.yaml"
@@ -112,9 +101,6 @@ def service(self) -> Service:
112101
def services(self) -> Dict[str, Service]:
113102
return self.doc_gen.services
114103

115-
def expand_entity(self, entity):
116-
return self.entities[entity]
117-
118104
def snippet(self, example: Example, readme_folder, api_name: str):
119105
if self.lang_name not in example.languages:
120106
return None

0 commit comments

Comments
 (0)