328 Commits

Author SHA1 Message Date
Daniel Rojas
1c9a1d886f
Consolidate wireviz.parse() to handle Path, str and Dict as input 2023-01-19 16:36:18 -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
23db602445
Split file output logic and object return logic
Use `output_formats` parameter to specify which *files* to output to disk,
Use `return_types` parameter to specify which objects to return to a calling Python script
2023-01-19 16:35:24 -05:00
Daniel Rojas
b8d74bae81
Output help string if no arguments are received 2023-01-19 16:35:23 -05:00
Daniel Rojas
0044997b9c
Sort --format flags alphabetically 2023-01-19 16:35:22 -05:00
Daniel Rojas
884b98216e
Add encoding info to wv_cli.py 2023-01-19 16:35:22 -05:00
Daniel Rojas
63be33e9db
Add main() to wireviz.py as fallback 2023-01-19 16:35:22 -05:00
Daniel Rojas
7638425fd9
Remove obsolete comments 2023-01-19 16:35:21 -05:00
Daniel Rojas
97207e6986
Fix smart file resolver for images 2023-01-19 16:35:21 -05:00
Daniel Rojas
b9527a8086
Do not output .gv files by default 2023-01-19 16:35:20 -05:00
Daniel Rojas
a4a89eb3df
Implement image path resolver 2023-01-19 16:35:20 -05:00
Daniel Rojas
471a6c3e29
Split the YAML loading and parsing functions 2023-01-19 16:35:20 -05:00
Daniel Rojas
f325b69d9a
Fix entry point 2023-01-19 16:35:19 -05:00
Daniel Rojas
a98e17b737
Only output requested file types (closes #60) 2023-01-19 16:35:19 -05:00
Daniel Rojas
0764a8d2ff
Add CLI help strings 2023-01-19 16:35:19 -05:00
Daniel Rojas
d0909d4cbb
Remove unneeded code from wireviz.py
Re-add `parse_file()` for building examples

bla
2023-01-19 16:35:18 -05:00
Daniel Rojas
7121a3eb34
Implement working proof of concept 2023-01-19 16:35:18 -05:00
Daniel Rojas
ef6af32a01
Add wv_cli.py, add Click requirement, change entry point 2023-01-19 16:35:17 -05:00
Daniel Rojas
095a2a023b
Simplify main() 2023-01-19 16:35:17 -05:00
Daniel Rojas
f78f83cfdd
Add explanatory comment 2023-01-19 16:35:16 -05:00
Daniel Rojas
0192f6defd
Replace os.path with pathlib.Path where used 2023-01-19 16:35:16 -05:00
Daniel Rojas
c1494db571
Equalize line weights and simplify CSS
Experiments in exporting PDF using `wkhtmltopdf` utility caused borders to disappear when set to 0.25mm, but 0.35mm renders fine
2023-01-19 16:35:15 -05:00
Daniel Rojas
fd8749bab2
Apply suggestions from code review
Co-authored-by: kvid <kvid@users.noreply.github.com>
2023-01-19 16:35:15 -05:00
Daniel Rojas
e2f1a4eff1
Apply suggestions from code review
Co-authored-by: kvid <kvid@users.noreply.github.com>
2023-01-19 16:35:15 -05:00
Daniel Rojas
359cd8d936
Update smart_file_resolve() 2023-01-19 16:35:14 -05:00
Daniel Rojas
ef69d7e4e7
Use regex-based replacement 2023-01-19 16:35:14 -05:00
Daniel Rojas
a80192b82a
Implement fontname and bgcolor(WIP) replacement 2023-01-19 16:35:14 -05:00
Daniel Rojas
928f607457
Consolidate code for replacing HTML placeholders 2023-01-19 16:35:13 -05:00
Daniel Rojas
cf5315d01c
Apply fontname and bgcolor to output HTML
Co-authored-by: kvid <kvid@users.noreply.github.com>
2023-01-19 16:35:13 -05:00
Daniel Rojas
ea89dd4fe0
Add type hint
Co-authored-by: kvid <kvid@users.noreply.github.com>
2023-01-19 16:35:12 -05:00
Daniel Rojas
a839a47c3f
Implement template-based HTML output 2023-01-19 16:35:12 -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
37cd08d476
Simplify code 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
def03d1ce3
Resolve component level mate not revealing connection count 2023-01-19 16:35:09 -05:00
Daniel Rojas
f20f313af0
Resolve edge case of empty HTML tables 2023-01-19 16:35:09 -05:00
Daniel Rojas
e3fbc91312
Squash feature/mate+autogenerate branch 2023-01-19 16:35:08 -05:00
Daniel Rojas
4c97195e0e
Bump version to 0.4-dev 2023-01-19 16:34:43 -05:00
Daniel Rojas
b0d0070f08 Bump version to 0.3.2 2021-11-27 13:32:40 +01: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
7f33517a79 Bump version to 0.3.1 2021-10-25 20:13:24 +02:00
Andreas Motl
80b7a5407b Improve gracefulness when invoking wireviz.parse() without file_out
This happened to be a regression for WireViz-Web [1], which aims to do
as much in memory as possible.

[1] https://github.com/daq-tools/wireviz-web.
2021-10-25 20:05:05 +02:00
Daniel Rojas
2629e1c0da Bump version to 0.3 2021-10-11 20:55:53 +02: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
7125f28760 Move color type aliases into wv_colors.py to avoid circular imports 2021-09-28 19:14:28 +02:00
KV
c34946183e Support specifying hex colors for any color attributes 2021-09-28 19:14:28 +02:00
KV
b3fdd48a83 Support specifying hex colors where no color name is needed
This was requested by designer2k2 in #219 for bgcolor usage.
It has also been discussed in #135.

The input validation is more detailed to help the user identifying
and locating invalid values. The wire color padding is now done on
the output to cover different input alternatives.
2021-09-28 19:14:28 +02:00