doc/cable: move to yml

This commit is contained in:
Gwenhael Goavec-Merou
2022-02-20 15:47:35 +01:00
parent 7384573992
commit 4482deec18
5 changed files with 244 additions and 21 deletions
+35
View File
@@ -80,3 +80,38 @@ def FPGADataToTable(data, tablefmt: str = "rst"):
headers=["Vendor", "Description", "Model", "Memory", "Flash"],
tablefmt=tablefmt
)
@dataclass
class Cable:
Name: str
Description: str
URL: str = None
Note: str = None
def ReadCableDataFromYAML():
with (ROOT / 'cable.yml').open('r', encoding='utf-8') as fptr:
data = yaml_load(fptr, yaml_loader)
for keyword, content in data.items():
data[keyword] = [Cable(**item) for item in content]
return data
def CableDataToTable(data, tablefmt: str = "rst"):
def processURL(name, url):
if url is None:
return f"{name}"
else:
return f"`{name} <{url}>`__"
return tabulate(
[
[
f"{vendor}",
processURL(item.Name, item.URL),
item.Description
] for vendor, content in data.items() for item in content
],
headers=["keyword", "Name", "Description"],
tablefmt=tablefmt
)