aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/tools/gen_nvm_devices.py
blob: 3cda8671fdcc6ac0f5aa378b483cb61f0aef0982 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sys
import cascadetoml
import pathlib
import typer
from jinja2 import Template


def main(input_template: pathlib.Path, output_path: pathlib.Path):
    flashes = cascadetoml.filter_toml(pathlib.Path("../../data/nvm.toml"), [])

    template = Template(input_template.read_text())

    settings = {"nvms": []}
    for flash in flashes["nvm"]:
        if "sku" not in flash or flash["sku"] == flash["manufacturer"]:
            continue
        settings["nvms"].append(dict(flash))

    output_path.write_text(template.render(settings))


if __name__ == "__main__":
    typer.run(main)