From b462f533cba12d58c4b265c0a658909b0752153e Mon Sep 17 00:00:00 2001 From: Trygve Laugstøl Date: Thu, 28 Mar 2019 21:23:27 +0100 Subject: create-distributor-search-list: Ignore mechanical parts. create-order: Adding an option for a strategy to ignore/modify parts. ninja/init: Moving strategy from ninja to init so they're more persistent. --- src/ee/tools/init.py | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) (limited to 'src/ee/tools/init.py') diff --git a/src/ee/tools/init.py b/src/ee/tools/init.py index f87c958..74a67d1 100644 --- a/src/ee/tools/init.py +++ b/src/ee/tools/init.py @@ -6,19 +6,19 @@ from ee.project import Project import configparser -def init_kicad_project(basedir: Path, cfg): +def init_kicad_project(basedir: Path, cfg, args): pro_files: List[Path] = [f for f in basedir.iterdir() if f.name.endswith(".pro")] if len(pro_files) == 0: return + cfg.add_section("kicad-project") + if len(pro_files) == 1: pro_file = pro_files[0] sch_file: Path = pro_file.parent / (pro_file.name[0:-4] + ".sch") pcb_file: Path = pro_file.parent / (pro_file.name[0:-4] + ".kicad_pcb") - cfg.add_section("kicad-project") - if sch_file.is_file(): print("Found KiCAD project and schematic") cfg["kicad-project"]["sch"] = str(sch_file) @@ -28,19 +28,26 @@ def init_kicad_project(basedir: Path, cfg): else: print("Found more than one kicad project file.") + if args.kicad_bom_strategy: + cfg["kicad-project"]["strategy"] = args.kicad_bom_strategy + def init_seeed_opl(project: Project): import ee.supplier.seeed ee.supplier.seeed.init_project(project) -def init(project_dir: Path, basedir: Path): +def init(project_dir: Path, basedir: Path, args): cfg = configparser.ConfigParser() project = Project(project_dir, cfg) - init_kicad_project(basedir, cfg) + init_kicad_project(basedir, cfg, args) init_seeed_opl(project) + if args.create_order_strategy: + project.cfg.add_section("create-order") + project.cfg["create-order"]["strategy"] = args.create_order_strategy + print("Saving project. Now run 'ee ninja' to generate Ninja build file") project.save() @@ -50,9 +57,17 @@ parser = argparse.ArgumentParser() parser.add_argument("--basedir", metavar="DIR") +parser.add_argument("--kicad-bom-strategy", + required=False, + metavar="PY CALLABLE") + +parser.add_argument("--create-order-strategy", + required=False, + metavar="PY CALLABLE") + args = parser.parse_args() if not args.basedir: args.basedir = "." -init(Path("."), Path(args.basedir)) +init(Path("."), Path(args.basedir), args) -- cgit v1.2.3