From c94c94837bb74defa9001688ca32cbb7a8597d99 Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Tue, 21 May 2019 11:00:50 +0200 Subject: ninja/init: Let init specify defaults, ninja just drops arguments if not specified. --- src/ee/digikey/functions.py | 5 ++++- src/ee/tools/init.py | 2 +- src/ee/tools/templates/build.ninja.j2 | 19 +++++++------------ 3 files changed, 12 insertions(+), 14 deletions(-) diff --git a/src/ee/digikey/functions.py b/src/ee/digikey/functions.py index c902b71..f95fd4c 100644 --- a/src/ee/digikey/functions.py +++ b/src/ee/digikey/functions.py @@ -5,7 +5,10 @@ from ee import EeVal, EeException from ee.part import Part from ee.xml import types, uris -__all__ = ["normalize_facts"] +__all__ = [ + "normalize_facts", + "default", +] # TODO: this should be moved to a generic normalizer diff --git a/src/ee/tools/init.py b/src/ee/tools/init.py index f77b60b..1e01dc7 100644 --- a/src/ee/tools/init.py +++ b/src/ee/tools/init.py @@ -38,7 +38,7 @@ def init_kicad_project(basedir: Path, cfg, args): def init_digikey(project: Project): project.cfg.add_section("supplier:digikey") - project.cfg["supplier:digikey"]["function"] = "ee.kicad.digikey.functions.default" + project.cfg["supplier:digikey"]["function"] = "ee.digikey.functions.default" def init_seeed_opl(project: Project): diff --git a/src/ee/tools/templates/build.ninja.j2 b/src/ee/tools/templates/build.ninja.j2 index 4d2e22f..522b010 100644 --- a/src/ee/tools/templates/build.ninja.j2 +++ b/src/ee/tools/templates/build.ninja.j2 @@ -72,18 +72,15 @@ build {{ gerber_zip }}: kicad-gerber $pcb {%- endif %} {% if sch is defined -%} +{%- set cfg = project.cfg["kicad-project"] %} build ee/kicad-sch.xml: kicad-make-bom $sch build ee/sch.xml: part-apply-function ee/kicad-sch.xml execution = kicad -{%- if project.cfg["kicad-project"]["functions"] %} - functions = --function {{ project.cfg["kicad-project"]["functions"] }} -{%- else %} - functions = --function ee.kicad.functions.default +{%- if cfg and "functions" in cfg and cfg["functions"] %} + functions = --function {{ cfg["functions"] }} {%- endif %} -{%- if project.cfg["kicad-project"]["function-arguments"] %} - arguments = --argument {{ project.cfg["kicad-project"]["function-arguments"] }} -{%- else %} - arguments = +{%- if cfg and "function-arguments" in cfg and cfg["function-arguments"] %} + arguments = --argument {{ cfg["function-arguments"] }} {%- endif %} {%- endif %} @@ -103,12 +100,10 @@ build ee/{{ s }}/downloaded.xml | ee/{{ s }}/downloaded.rst: {{ s }}-search-part build ee/{{ s }}/parts.xml: part-apply-function ee/{{ s }}/downloaded.xml execution = {{ s }} -{%- if cfg and "functions" in cfg %} +{%- if cfg and "functions" in cfg and cfg["functions"] %} functions = --function {{ cfg["functions"] }} -{%- else %} - functions = --function ee.{{ s }}.functions.default {%- endif %} -{%- if cfg and "function-arguments" in cfg %} +{%- if cfg and "function-arguments" in cfg and cfg["function-arguments"] %} arguments = --argument {{ cfg["function-arguments"] }} {%- endif %} {%- endfor %} -- cgit v1.2.3