|
""" |
|
Run this script to generate the model-index files in `models` from the templates in `.templates/models`. |
|
""" |
|
|
|
import argparse |
|
from pathlib import Path |
|
|
|
from jinja2 import Environment, FileSystemLoader |
|
|
|
import modelindex |
|
|
|
|
|
def generate_readmes(templates_path: Path, dest_path: Path): |
|
"""Add the code snippet template to the readmes""" |
|
readme_templates_path = templates_path / "models" |
|
code_template_path = templates_path / "code_snippets.md" |
|
|
|
env = Environment( |
|
loader=FileSystemLoader([readme_templates_path, readme_templates_path.parent]), |
|
) |
|
|
|
for readme in readme_templates_path.iterdir(): |
|
if readme.suffix == ".md": |
|
template = env.get_template(readme.name) |
|
|
|
|
|
mi = modelindex.load(str(readme)) |
|
model_name = mi.models[0].name |
|
|
|
full_content = template.render(model_name=model_name) |
|
|
|
|
|
with open(dest_path / readme.name, "w") as f: |
|
f.write(full_content) |
|
|
|
|
|
def main(): |
|
parser = argparse.ArgumentParser(description="Model index generation config") |
|
parser.add_argument( |
|
"-t", |
|
"--templates", |
|
default=Path(__file__).parent / ".templates", |
|
type=str, |
|
help="Location of the markdown templates", |
|
) |
|
parser.add_argument( |
|
"-d", |
|
"--dest", |
|
default=Path(__file__).parent / "models", |
|
type=str, |
|
help="Destination folder that contains the generated model-index files.", |
|
) |
|
args = parser.parse_args() |
|
templates_path = Path(args.templates) |
|
dest_readmes_path = Path(args.dest) |
|
|
|
generate_readmes( |
|
templates_path, |
|
dest_readmes_path, |
|
) |
|
|
|
|
|
if __name__ == "__main__": |
|
main() |
|
|