| 12345678910111213141516171819202122 |
- #!/usr/bin/sh
- source .venv/bin/activate
- path=$1
- python -c "
- from bom_assistant.ingestion.parser import parse_bom
- from bom_assistant.ingestion.column_mapper import map_columns
- from bom_assistant.ingestion.normalizer import normalize
- from bom_assistant.suppliers.lcsc.category_resolver import resolve
- import pathlib
- f = pathlib.Path('$path')
- raw = parse_bom(f.read_bytes(), f.name)
- mapped = map_columns(raw)
- rows = normalize(mapped)
- for r in rows:
- p = r.normalized_params
- cats = resolve(r)
- lcsc = ' | '.join(c.name for c in cats) if cats else '???'
- print(f'{r.state.value:8} [{r.category.value:10}] {str(r.designators):30} val={p.value_str!r:10} pkg={p.package!r:15} → {lcsc}')
- "
|