summaryrefslogtreecommitdiff
path: root/Artix-7/run.py
diff options
context:
space:
mode:
Diffstat (limited to 'Artix-7/run.py')
-rwxr-xr-xArtix-7/run.py59
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)