Skip to content

Commit

Permalink
Fix bug of non-bundle wires appearing in BOM
Browse files Browse the repository at this point in the history
  • Loading branch information
17o2 committed Jul 2, 2020
1 parent 21b3c9e commit 4796c7c
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 6 deletions.
2 changes: 1 addition & 1 deletion src/wireviz/Harness.py
Original file line number Diff line number Diff line change
Expand Up @@ -350,7 +350,7 @@ def bom(self):
# bundles (ignores wirecount)
wirelist = []
# list all cables again, since bundles are represented as wires internally, with the category='bundle' set
bundle_group = lambda b: (b.type, b.gauge, b.gauge_unit, b.length) # TODO: Why is b.length included?
bundle_group = lambda b: (b.category, b.type, b.gauge, b.gauge_unit, b.length) # TODO: Why is b.length included?
groups = Counter([bundle_group(v) for v in self.cables.values() if v.category == 'bundle'])
for group in groups:
items = {k: v for k, v in self.cables.items() if bundle_group(v) == group}
Expand Down
4 changes: 0 additions & 4 deletions tutorial/tutorial08.bom.tsv
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,5 @@ Connector, Molex KK 254, female, 4 pins 2 X1, X3 Molex 22013047
Connector, Molex KK 254, female, 4 pins 1 X2 Molex 22013047 CON4
Cable, 4 x 0.25 mm² 1 m W1 CablesCo ABC123 CAB1
Wire, 0.25 mm², BK 2 m W2 WiresCo W1-BK WIRE2
Wire, 0.25 mm², BN 1 m W1
Wire, 0.25 mm², OG 1 m W1
Wire, 0.25 mm², RD 1 m W1
Wire, 0.25 mm², RD 1 m W2 WiresCo W1-RD WIRE3
Wire, 0.25 mm², YE 1 m W1
Wire, 0.25 mm², YE 1 m W2 WiresCo W1-YE WIRE1
2 changes: 1 addition & 1 deletion tutorial/tutorial08.html
Original file line number Diff line number Diff line change
Expand Up @@ -292,4 +292,4 @@
</g>
</g>
</svg>
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th><th align="left" style="border:1px solid #000000; padding: 8px">Manufacturer</th><th align="left" style="border:1px solid #000000; padding: 8px">Manufacturer part number</th><th align="left" style="border:1px solid #000000; padding: 8px">Internal part number</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X3</td><td style="border:1px solid #000000; padding: 4px">Molex</td><td style="border:1px solid #000000; padding: 4px">22013047</td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X2</td><td style="border:1px solid #000000; padding: 4px">Molex</td><td style="border:1px solid #000000; padding: 4px">22013047</td><td style="border:1px solid #000000; padding: 4px">CON4</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Cable, 4 x 0.25 mm²</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px">CablesCo</td><td style="border:1px solid #000000; padding: 4px">ABC123</td><td style="border:1px solid #000000; padding: 4px">CAB1</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², BK</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-BK</td><td style="border:1px solid #000000; padding: 4px">WIRE2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², BN</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², OG</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², RD</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², RD</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-RD</td><td style="border:1px solid #000000; padding: 4px">WIRE3</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², YE</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², YE</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-YE</td><td style="border:1px solid #000000; padding: 4px">WIRE1</td></tr></table></body></html>
<h1>Bill of Materials</h1><table style="border:1px solid #000000; font-size: 14pt; border-spacing: 0px"><tr><th align="left" style="border:1px solid #000000; padding: 8px">Item</th><th align="left" style="border:1px solid #000000; padding: 8px">Qty</th><th align="left" style="border:1px solid #000000; padding: 8px">Unit</th><th align="left" style="border:1px solid #000000; padding: 8px">Designators</th><th align="left" style="border:1px solid #000000; padding: 8px">Manufacturer</th><th align="left" style="border:1px solid #000000; padding: 8px">Manufacturer part number</th><th align="left" style="border:1px solid #000000; padding: 8px">Internal part number</th></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X1, X3</td><td style="border:1px solid #000000; padding: 4px">Molex</td><td style="border:1px solid #000000; padding: 4px">22013047</td><td style="border:1px solid #000000; padding: 4px"></td></tr><tr><td style="border:1px solid #000000; padding: 4px">Connector, Molex KK 254, female, 4 pins</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px"></td><td style="border:1px solid #000000; padding: 4px">X2</td><td style="border:1px solid #000000; padding: 4px">Molex</td><td style="border:1px solid #000000; padding: 4px">22013047</td><td style="border:1px solid #000000; padding: 4px">CON4</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Cable, 4 x 0.25 mm²</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W1</td><td style="border:1px solid #000000; padding: 4px">CablesCo</td><td style="border:1px solid #000000; padding: 4px">ABC123</td><td style="border:1px solid #000000; padding: 4px">CAB1</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², BK</td><td align="right" style="border:1px solid #000000; padding: 4px">2</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-BK</td><td style="border:1px solid #000000; padding: 4px">WIRE2</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², RD</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-RD</td><td style="border:1px solid #000000; padding: 4px">WIRE3</td></tr><tr><td style="border:1px solid #000000; padding: 4px">Wire, 0.25 mm², YE</td><td align="right" style="border:1px solid #000000; padding: 4px">1</td><td style="border:1px solid #000000; padding: 4px">m</td><td style="border:1px solid #000000; padding: 4px">W2</td><td style="border:1px solid #000000; padding: 4px">WiresCo</td><td style="border:1px solid #000000; padding: 4px">W1-YE</td><td style="border:1px solid #000000; padding: 4px">WIRE1</td></tr></table></body></html>

1 comment on commit 4796c7c

@kvid
Copy link
Collaborator

@kvid kvid commented on 4796c7c Jul 5, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm sorry for causing this bug. See also the related correction of my wrong TODO statement in PR: #62
We can probably catch many bugs like this early on by using regression testing as described in issue: #63

Please sign in to comment.