370 Commits

Author SHA1 Message Date
KV
1c0c13bb52 Add DOCTYPE declaration in HTML output 2020-07-18 13:18:31 +02:00
KV
b5ac632da9 Remove XML and DOCTYPE declarations from embedded SVG 2020-07-18 13:18:31 +02:00
Andrew Katz
861380ddd6 Update build_examples
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
2020-07-16 19:46:39 +02:00
Jason
d1b48861ec Add initial contribution guidelines 2020-07-15 20:26:23 +02:00
Jason
8f6b8a7e84 Add initial contribution guidelines 2020-07-15 20:25:15 +02:00
Daniel Rojas
11baf0f507 Move part number info directly below designator
(to be consistent with the changes proposed in #11)
2020-07-15 20:06:31 +02:00
Daniel Rojas
6c7d700a1f Remove obsolete nesting function, fine-tune table generating behavior 2020-07-15 20:06:31 +02:00
Daniel Rojas
7e54c7aaef Refactor connector GraphViz code generation (#66) 2020-07-15 20:04:58 +02:00
Jason
12d3002af8
Add type hinting (#92) 2020-07-15 19:30:23 +02:00
KV
ba8b83f792 Make multi-line connector attributes centered for consistency 2020-07-15 19:16:24 +02:00
Jason
34cd9c2612
Match parse() return tuple order to input tuple order (#89)
Fixes #88.
2020-07-15 08:07:15 +02:00
Jason
c8dc697845
Add ability for parse() to return the Harness instance (#87) 2020-07-14 22:01:00 +02:00
Jason R. Jones
9de33b49bd Make file output more consistently behaved. 2020-07-13 19:58:23 +02:00
Tyler Ward
8b69e9a8a8
Add ability to include aditional BOM lines (#80) 2020-07-13 18:23:23 +02:00
Jason
3eed9681da
Remove unused parameter, fix default parameter (#76) 2020-07-12 08:21:28 +02:00
Daniel Rojas
0cef5e3687 Add changelog
in preparation for release of v0.2
2020-07-11 23:23:39 +02:00
Daniel Rojas
9e11051cac Simplify connector loop code 2020-07-11 11:53:29 +02:00
Daniel Rojas
cf6d3676c4 Ensure items in a connection set alternate between connectors and cables 2020-07-11 11:31:02 +02:00
Daniel Rojas
b988e9b063 Update example YAML files 2020-07-10 19:21:33 +02:00
Daniel Rojas
b4791900f2 Make connecting components together easier and more flexible
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, ...)
2020-07-10 18:53:32 +02:00
Daniel Rojas
8f5b1aaf16 Allow using connector pin names to define connections
Pin names from pinout list can now be used in addition to pin numbers when defining connections, provided the identifier is unambiguous.
Closes #71.
2020-07-09 19:21:53 +02:00
Daniel Rojas
6a2924fa12 Check for duplicate pin numbers and raise an exception
Closes #72.
2020-07-09 18:10:38 +02:00
Daniel Rojas
e1e665583f Outsource nested HTML table creation to helper function 2020-07-05 20:36:02 +02:00
Daniel Rojas
0252476248 Fix bug in bundle wire BOM generation 2020-07-05 20:10:38 +02:00
Daniel Rojas
501303cbee Implement line break parsing for ferrules 2020-07-05 19:54:14 +02:00
Daniel Rojas
c2fa1d09e7 Merge changes to ferrule code generation 2020-07-05 19:46:20 +02:00
Daniel Rojas
981b585540 Fine-tune examples including ferrules 2020-07-05 19:07:59 +02:00
Daniel Rojas
54f114e592 Refactor ferrule GraphViz code generation
Cleaner code, better graphical output, more flexible (splices look as good as ferrules)
2020-07-05 19:07:59 +02:00
Daniel Rojas
46ed2418b4 Remove any newlines in fields for BOM generation 2020-07-05 18:06:57 +02:00
Daniel Rojas
d4ac4da651 Implement line break parsing for some fields
Implemented in `type`, `subtype`, `notes` fields
2020-07-05 17:41:18 +02:00
kvid
4e9933f01d
Simplify BOM code (#62)
* 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
2020-07-05 16:52:10 +02:00
Daniel Rojas
de1e45f72b Fix bug in refactoring of #55, add SVG output option 2020-07-05 12:24:51 +02:00
Daniel Rojas
144c99e021 Refactor #55 2020-07-04 17:16:00 +02:00
Jason
ebf1e5a6f2
Add ability to export PNG data directly to other programs. (#55) 2020-07-04 17:03:04 +02:00
Greg Stein
8b067e5873
Update requirements.txt (#58)
Include graphviz and pyyaml in requirements.txt
(the graphviz/dot commands are needed at the OS level, but that can't be fixed here)

Co-authored-by: Daniel Rojas <github@danielrojas.net>
2020-07-04 16:52:15 +02:00
Daniel Rojas
b2387378c3 Make parts of BOM code more pythonic 2020-07-04 13:55:37 +02:00
Daniel Rojas
84c10e2c1a Clean up code 2020-07-04 13:55:37 +02:00
Daniel Rojas
407a9235b7 Simplify and fix bug in BOM generation 2020-07-04 13:55:37 +02:00
Daniel Rojas
4796c7cc97 Fix bug of non-bundle wires appearing in BOM 2020-07-02 19:45:28 +02:00
Daniel Rojas
21b3c9e59b Rebuild examples 2020-07-02 19:16:56 +02:00
Daniel Rojas
16929687d3 Fine-tune cable appearance
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.
2020-07-02 19:16:56 +02:00
Daniel Rojas
65a4d6bd07 Update example+tutorial input files
tut
2020-07-02 19:16:56 +02:00
Daniel Rojas
94731cdf81 Fix post-merge bugs 2020-07-02 18:56:17 +02:00
Daniel Rojas
5fbe3e6b7e Merge branch 'feature/part-number' into dev
# Conflicts:
#	src/wireviz/Harness.py
2020-07-02 08:26:58 +02:00
KV
77bf398176 Add cable type in a couple of examples 2020-07-02 07:44:17 +02:00
KV
6f91b65128 Support named type of cables (or wires in a bundle)
Add cable type to diagram and BOM entries.
2020-07-02 07:44:17 +02:00
KV
c9895bd282 Move the cable category filtering before BOM grouping
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
2020-07-02 07:44:17 +02:00
KV
dd1372c31d Use lambdas for BOM grouping, and rename group variables
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
2020-07-02 07:44:17 +02:00
Tyler Ward
39ad070ca8 Added rendered output for new tutorial 2020-07-02 01:26:48 +01:00
Tyler Ward
4d2cb63350 Added part number tutorial 2020-07-02 01:20:26 +01:00