100 Commits

Author SHA1 Message Date
Daniel Rojas
1227586509
Alphabetize HTML tags, improve bgcolor rendering 2023-01-19 16:36:31 -05:00
Daniel Rojas
efda8fa219
Make connecting things more object-oriented 2023-01-19 16:36:31 -05:00
Daniel Rojas
6353a79a41
Outsource gv_edge_wire() 2023-01-19 16:36:30 -05:00
Daniel Rojas
95631a44c6
Reactivate cable edge generation 2023-01-19 16:36:30 -05:00
Daniel Rojas
2999878f0d
Outsource set_dot_basics() and apply_dot_tweaks() 2023-01-19 16:36:29 -05:00
Daniel Rojas
05ad6b0ec7
Add TODOs 2023-01-19 16:36:28 -05:00
Daniel Rojas
7c0e75f45e
Outsource gv_pin_table(), simplify padding 2023-01-19 16:36:28 -05:00
Daniel Rojas
c8690a99c9
WIP 2023-01-19 16:36:27 -05:00
Daniel Rojas
0f6ed3ae0d
Implement HTML indentation 2023-01-19 16:36:27 -05:00
Daniel Rojas
bb9b43c872
WIP: refactor cable node generation 2023-01-19 16:36:26 -05:00
Daniel Rojas
4eff1de6f7
Generate gauge string inside Cable object 2023-01-19 16:36:26 -05:00
Daniel Rojas
738012911d
Further refactor connector node generation 2023-01-19 16:36:25 -05:00
Daniel Rojas
77080c90a2
Refactor connector node generation 2023-01-19 16:36:25 -05:00
Daniel Rojas
e769be3905
WIP 2023-01-19 16:36:24 -05:00
Daniel Rojas
81b0dba858
Make prefix for autogenerated component names configurable
`edotor.net` does not seem to like leading underscores, which makes GraphViz debugging difficult.
2023-01-19 16:36:23 -05:00
Daniel Rojas
28aa7f0420
Embed images into SVG output 2023-01-19 16:36:22 -05:00
Daniel Rojas
c38305b3a5
Simplify file access operations 2023-01-19 16:36:21 -05:00
Daniel Rojas
a255596471
Apply some manual fixes, reapply black 2023-01-19 16:36:17 -05:00
Daniel Rojas
343cd2949f
Apply black 2023-01-19 16:36:17 -05:00
Daniel Rojas
e6f76f9ab7
Apply isort 2023-01-19 16:35:25 -05:00
Daniel Rojas
a9eb4f6481
Create cache of graph to avoid generating it more than once 2023-01-19 16:35:24 -05:00
Daniel Rojas
b9527a8086
Do not output .gv files by default 2023-01-19 16:35:20 -05:00
Daniel Rojas
a98e17b737
Only output requested file types (closes #60) 2023-01-19 16:35:19 -05:00
Daniel Rojas
d44b649fcc
Refactor functions for harness building
- Use pin names instead of pin indices, until the last moment when generating the ports for the GraphViz nodes
- `Harness.add_mate_pin()` now uses pin names
- Remove unused `if is_arrow()` check from `Harness.connect()`
- Consolidate calling of `Connector.activate_pin()` to prevent subtle bugs
  - Call it from `connect()` and `add_mate_pin()`
  - No longer call it from `create_graph()`
- Misc. other tuning
2023-01-19 16:35:11 -05:00
Daniel Rojas
bc5ef2ecce
Fix bug of arrows using the wrong port IDs 2023-01-19 16:35:11 -05:00
Daniel Rojas
e3fbc91312
Squash feature/mate+autogenerate branch 2023-01-19 16:35:08 -05:00
Julien Lecoeur
9af0cb8ab0 Fix graphviz file header
The two header comments were missing an endline.

Closes #258
2021-11-27 13:27:22 +01:00
Daniel Rojas
3cc36e1573 Harmonize shebangs and encoding info
- Use `#!/usr/bin/env python3` on executable modules
- Remove shebangs on all other `.py` files
- Add UTF-8 encoding info where mising
2021-10-11 20:05:52 +02:00
KV
45d7d03fe0 Support both bgcolor and bgcolor_title attributes
Solves #210 completely by supporting bgcolor of both the node title
and the whole node independently using separate attributes.
2021-09-28 19:14:28 +02:00
KV
dbccb77b08 Add bgcolor attribute to connectors and cables
This solves the #210 suggestion to render the title row of
the graph nodes with this bgcolor.
2021-09-28 19:14:28 +02:00
Daniel Rojas
a3eefe6659
Implement suppliers and supplier part numbers (#241)
Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-09-14 19:29:59 +02:00
kvid
db05514469
Add optional tweaking of the .gv output (#215)
Co-authored-by: Daniel Rojas <github@danielrojas.net>
2021-09-14 19:20:51 +02:00
kvid
92354e6852
Add basic options and metadata (#214) 2021-08-25 19:46:37 +02:00
Daniel Rojas
e212fc9058
Use unique index for connector pin ports (#229)
Closes #160.

Co-authored-by: kvid <kvid@users.noreply.github.com>
2021-08-23 19:26:23 +02:00
KV
7546991b04 Show connector pins even when all are unconnected
Bug: Hiding connector pins when none are connected is not reasonable.
When combined with loops or neither pinlabels nor pincolors, then
exceptions are raised as well.

Fix: Forcing pins at the left side in such cases solves #217.
2021-03-20 11:11:11 +01:00
William Sutton
dec64abaf5 Add support for wire length units
Based on #161, #162, #171.

Co-authored-by: stevegt <stevegt@t7a.org>
Co-authored-by: kvid <kvid@users.noreply.github.com>
2020-11-16 17:14:46 +01:00
Daniel Rojas
96bd121403 Create separate modules for BOM and HTML functions 2020-11-15 08:42:57 +01:00
Daniel Rojas
eebf932c8d Show pin labels of adjacent connectors in cable node (#70) 2020-11-14 23:21:08 +01:00
Daniel Rojas
03e6077512 Allow referencing wires by color/label (#169,#193) 2020-11-14 23:21:08 +01:00
Daniel Rojas
feff47f47b
Add option to add colors to connector pins (#141) 2020-11-14 09:43:01 +01:00
Miklos Marton
e2e8bbfb91 Remove input text hyperlinks except in the HTML BOM
GraphViz does not support the a HTML tag when generating the tables for the
cables/connectors, so this change will remove these tags for the graph generation.
However for the HTML BOM output table these links will be generated.
2020-10-22 23:08:13 +02:00
Tyler Ward
e85ee5d285
Allow addittional BOM items within components (#115) 2020-10-22 17:53:33 +02:00
KV
fb17eae7a6 Avoid errors from HTML validator
The https://validator.w3.org/ reported Errors:
The align attribute on the th/td element is obsolete. Use CSS instead.

By replacing align="X" attributes with text-align:X; CSS equivalent,
the validator now completes without any errors or warnings.

This solves the remaining issues from #97.
2020-10-16 22:02:15 +02:00
KV
7dcd1a7eeb Define application name and URL only once
The application name and URL was defined several places in the code,
and the name was not written exactly the same everywhere.

By using the same constants everywhere, consistency is obtained.
2020-10-16 22:02:15 +02:00
KV
b00040cdd9 Add version number to output files with meta info
Tag the .gv and .html output files with generator and version number.
2020-10-16 22:02:15 +02:00
KV
1809f73d58 Simplify colorbar using the same technique as html_image()
Moving common code into html_colorbar() helper function.
2020-10-14 22:37:20 +02:00
kvid
4782da47c9
Add optional image to connectors and cables (#153)
This image, with an optional caption below, is displayed in the lower 
section of the connector/cable node in the diagram - just above the 
notes if present.

This solves the basic part of issue #27, and is a continuation of 
PR #137 that was closed due to changes in the base branch.
2020-10-14 16:08:16 +02:00
Daniel Rojas
e3fb39f5ae Add whitespace to GraphViz HTML for readability 2020-08-13 17:21:42 +02:00
Daniel Rojas
94faec536e Rebuild GV HTML generation using lists
Simplify code

remove superfluous temporary variables `pinlist`, `wirerow`

Add suggested changes
2020-08-13 17:21:42 +02:00
Daniel Rojas
af196dfd8c Improve line break handling 2020-08-13 17:21:42 +02:00