build_examples supports cleaning examples and intelligently will detect new examples.
SUGGESTION: When merging into dev, require
```
build_examples.py clean
```
and then only build when merging into master branch
Closes#67.
- Allow defining arbitrarily long lists of alternating connectors and cables in a connection set.
- Start work towards removing 'ferrules' as special case, merging them with normal connectors
- Stramline auto-generation of simple, one pin connectors (ferrules, wire splices, ...)
* Remove bundle grouping as it is not needed for the wire grouping
Grouping the bundles has no purpose, as the same
wires can be collected by just looping all bundles.
* Allow one common value or list of values for each wire
Allow one common value when they are equal for all wires,
or a list of values to allow each wire a different value.
* Fix the minor issues commented by the owner
The owner review comments can be seen here:
https://github.com/formatc1702/WireViz/pull/62
* Make grouping code more pythonic
Add hack to make manufacturer / part number row have vertical separators, to be visually consistent with connectors.
In the future, connectors will have to be modified to be HTML tables instead of GraphViz record nodes, in order to support colored bands for the connector, or individual pins (#53). When this is implemented, a cleaner solution should be found for both connectors and cables.
Simplify the grouping loop slightly, by moving the filtering out.
The category of bundle entries is allways the same and is therefore
not needed for grouping.
The BOM output is unchanged by this change. It is verified using:
python build_examples.py
git diff ../../{examples,tutorial}/*.tsv
Avoid duplications of BOM entry grouping definitions by moving
each grouping into a single lambda function.
Use the 'group' term in the involved variable names for clarity.
The BOM output is unchanged by this change. It is verified using:
python build_examples.py
git diff ../../{examples,tutorial}/*.tsv
Added internal part number and manufacturer fields
Added support for wire part numbers in a bundle
Moved part number information to seperate row in table
* Fix AWG<-> mm2 conversions
Add an inverted dictionary and a lookup function from awg -> mm2. Also
do some minor refactoring. Both sides of the conversion table were
converted to strings, since '0000' and '2/0' are perfectly valid AWG
values.
* Update example ex02 with awg -> mm2 conversion
Show conversions for ex02, and make sure it displays conversions in both
directions. Rebuild the example files.
* Fix faulty conversion of non-(mm2,AWG) units
The parsing allows arbitrary units to be used for cable dimensions --
this might be valid units, e.g. square inches, or invalid, e.g. bananas.
We only allow conversion between mm2 and AWG, so check that the
gauge_unit is either of those before conversion. If not, pass through as
is.
* Fix AWG string casing in output
Convert e.g. 'awg, 'AwG' to upper case for consistent rendering. Leave
any other input gauge units as they were.
Co-authored-by: Daniel Rojas <github@danielrojas.net>