diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2018-08-13 22:14:54 +0200 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2018-08-13 22:14:54 +0200 |
commit | e4d7baefdfbb278b61ea31ecd5306e110ed043b2 (patch) | |
tree | d74bbdb441b01396e4c1022133ee1ab6654ba48c /Artix-7/run.py | |
parent | 06e395bc68e7d959a43d583f5e481e3ab4f093bf (diff) | |
download | semantic-sandbox-e4d7baefdfbb278b61ea31ecd5306e110ed043b2.tar.gz semantic-sandbox-e4d7baefdfbb278b61ea31ecd5306e110ed043b2.tar.bz2 semantic-sandbox-e4d7baefdfbb278b61ea31ecd5306e110ed043b2.tar.xz semantic-sandbox-e4d7baefdfbb278b61ea31ecd5306e110ed043b2.zip |
o Using jinja2 for templating.
o Adjusting some field names.
Diffstat (limited to 'Artix-7/run.py')
-rwxr-xr-x | Artix-7/run.py | 59 |
1 files changed, 12 insertions, 47 deletions
diff --git a/Artix-7/run.py b/Artix-7/run.py index 7b1c5a8..f436b37 100755 --- a/Artix-7/run.py +++ b/Artix-7/run.py @@ -1,29 +1,19 @@ #!/usr/bin/env python3 -import shutil import csv import os import re +import shutil import sys -from pathlib import Path -from itertools import groupby from collections import defaultdict, namedtuple +from itertools import groupby +from jinja2 import Environment, FileSystemLoader, select_autoescape +from pathlib import Path -field_skip = set([ - "18 Kb", -]) -field_mapping = { - "36 Kb": ("RAM blocks", None), - "Max Distributed RAM (Kb)": ("Distributed RAM", None), - "Max (Kb)": ("RAM", None), - "Total I/O Banks": ("IO banks", None), - "Logic Cells": (None, "Xilix logic cells"), - "CMTs": ("Clock management tiles", "Xilix Clock management tiles"), -} - -extra_fields = { - "RAM Block Size": "36 kB" -} +env = Environment( + loader=FileSystemLoader("."), + autoescape=select_autoescape(['html', 'xml']) +) def index_by_header(rows): item_keys = rows[0] @@ -131,35 +121,10 @@ with open("parts.csv") as f: for part in parts.values(): part_number = part["Part number"] - for k, v in extra_fields.items(): - part[k] = v - print("--- PART: {} ---".format(part_number)) path = out_dir / "{}.mw".format(part_number) with open(path, "w") as out: - p = lambda s = None: print(s if s is not None else "", file=out) - def field(k, v): - pass - - p("= {} =".format(part_number)) - p() - p("{|class='wikitable'") - for field, value in part.items(): - if field in field_skip: - continue - - mapping = field_mapping.get(field) - f = field - if mapping is not None: - field = mapping[0] if mapping[0] else field - f = mapping[1] if mapping[1] else field - - p("!{}".format(field)) - p("|[[{}::{}]]".format(f, value)) - p("|-") - p("|}") - - p() - p("[[Category:Generated]]") - p("[[Category:FPGA Chip]]") - p("[[Category:Artix-7 generated data set]]") + template = env.get_template("mw.j2") + out.write(template.render(part=part)) + for field in part: + print(field) |