aboutsummaryrefslogtreecommitdiff
path: root/src/ee/tools/init.py
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2019-03-28 21:23:27 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2019-03-28 21:23:27 +0100
commitb462f533cba12d58c4b265c0a658909b0752153e (patch)
tree516491980acc26c6da4e953704563f842d7aea0a /src/ee/tools/init.py
parentf0c1785f42b17b5024c3e76681c603351013c780 (diff)
downloadee-python-b462f533cba12d58c4b265c0a658909b0752153e.tar.gz
ee-python-b462f533cba12d58c4b265c0a658909b0752153e.tar.bz2
ee-python-b462f533cba12d58c4b265c0a658909b0752153e.tar.xz
ee-python-b462f533cba12d58c4b265c0a658909b0752153e.zip
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.
Diffstat (limited to 'src/ee/tools/init.py')
-rw-r--r--src/ee/tools/init.py27
1 files changed, 21 insertions, 6 deletions
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)