diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2019-03-28 16:38:50 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2019-03-28 16:43:14 +0100 |
commit | fa85d46af0b91477cf354947df628af0dc0d2800 (patch) | |
tree | b18b775d232560f57eaeb3f43d0861b98201d4ef /src/ee/project/report.py | |
parent | 52401b170d8f1c9deaa153acca76e7d6060a06df (diff) | |
download | ee-python-fa85d46af0b91477cf354947df628af0dc0d2800.tar.gz ee-python-fa85d46af0b91477cf354947df628af0dc0d2800.tar.bz2 ee-python-fa85d46af0b91477cf354947df628af0dc0d2800.tar.xz ee-python-fa85d46af0b91477cf354947df628af0dc0d2800.zip |
ee.xsd:
o Renaming <part-uri> to <part-reference>.
o Adding <supplier> on <part>, removing from <supplier-part-number>. A
part can have exactly one part.
create-order:
o Creating anonymous part objects, with two references, one schematic
reference and one part-uri reference to the selected part.
o Redoing how the order is calculated with the new ObjDb structure.
ee.part.Part:
o Absorbing bom_file_utils into Part. Much better wrapper object around
the xml goop.
Diffstat (limited to 'src/ee/project/report.py')
-rw-r--r-- | src/ee/project/report.py | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/ee/project/report.py b/src/ee/project/report.py index 80e590a..26cdaa3 100644 --- a/src/ee/project/report.py +++ b/src/ee/project/report.py @@ -3,8 +3,9 @@ from typing import Optional from jinja2 import Environment, PackageLoader, select_autoescape +from ee.part import Part from ee.tools import mk_parents -from ee.xml import types, bom_file_utils +from ee.xml import types class Message(object): @@ -29,12 +30,16 @@ def subsubsubsection_filter(s: str): return "{}\n{}".format(s, "." * len(s)) -def first_pn_filter(part: types.Part): - return next(iter(bom_file_utils.part_numbers(part)), None) +def first_ref_filter(part: Part) -> Optional[types.SchematicReference]: + return part.get_only_schematic_reference() -def first_spn_filter(part: types.Part): - return next(iter(bom_file_utils.supplier_part_numbers(part)), None) +def first_pn_filter(part: Part) -> Optional[types.PartNumber]: + return part.get_only_mpn() + + +def first_spn_filter(part: Part) -> Optional[types.SupplierPartNumber]: + return part.get_only_spn() def save_report(package: str, template_name: str, out_file: Path, **kwargs): @@ -45,6 +50,7 @@ def save_report(package: str, template_name: str, out_file: Path, **kwargs): env.filters["subsection"] = subsection_filter env.filters["subsubsection"] = subsubsection_filter env.filters["subsubsubsection"] = subsubsubsection_filter + env.filters["first_ref"] = first_ref_filter env.filters["first_pn"] = first_pn_filter env.filters["first_spn"] = first_spn_filter |