test.sh 699 B

12345678910111213141516171819202122
  1. #!/usr/bin/sh
  2. source .venv/bin/activate
  3. path=$1
  4. python -c "
  5. from bom_assistant.ingestion.parser import parse_bom
  6. from bom_assistant.ingestion.column_mapper import map_columns
  7. from bom_assistant.ingestion.normalizer import normalize
  8. from bom_assistant.suppliers.lcsc.category_resolver import resolve
  9. import pathlib
  10. f = pathlib.Path('$path')
  11. raw = parse_bom(f.read_bytes(), f.name)
  12. mapped = map_columns(raw)
  13. rows = normalize(mapped)
  14. for r in rows:
  15. p = r.normalized_params
  16. cats = resolve(r)
  17. lcsc = ' | '.join(c.name for c in cats) if cats else '???'
  18. 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}')
  19. "