Commit Graph

18 Commits

Author SHA1 Message Date
SET 6d09d662be Fixed flake8 style details 2020-08-11 12:46:36 -03:00
Salvador E. Tropea 7dc94bf7be Added default output file name pattern.
Can be applied to all outputs.
2020-07-23 18:26:03 -03:00
Salvador E. Tropea 165d9aa15d Added full KiBoM configuration from the YAML config. 2020-07-22 18:33:53 -03:00
Salvador E. Tropea 53d840a5b1 Delayed the outputs configuration until last moment.
Now we set the data tree, but only configure the used outputs.
This gives a chance to setup things like the PCB and SCH meta-data.
2020-07-22 18:26:12 -03:00
Salvador E. Tropea bc52d932b0 Changed default file name for pdf_pcb_print
Now %i is the list of layers (suffixes) and %x is PDF.
The default is %f-%i.%x
2020-07-12 16:17:38 -03:00
Salvador E. Tropea 9fdc02ecea Added aliases for options.
The test case is the pdf_pcb_print.output_name, which is different than
other *.output options. Now output_name is an alias for output.
2020-07-12 09:41:16 -03:00
Salvador E. Tropea f72ff3f441 Extra dot in step.metric_units docstring.
Remove dead code in check_eeschema_do()
Fixed the way we read scale stuff from a PCB
Added special checks for check_script and check_version
2020-07-09 12:50:27 -03:00
Salvador E. Tropea a48e9ecc96 Added tests to cover out_pdf_pcb_print.py, error case left out 2020-07-09 09:20:52 -03:00
Salvador E. Tropea 4368364489 Refactored the BaseOutput class to make it more similar to the YAML
Now the options are just an attribute of the outputs.
It means we have a set of classes for the options.
All the output content is parsed by the classes, including the Layers.
Now the layers support a simple string (with interesting shortcuts), a list of
strings or the original list of dicts.
2020-07-08 15:17:24 -03:00
Salvador E. Tropea 1c4c94cfa2 Some super() use clean-up.
Now using Python3 style everywhere.
Added some missing calls to allow more cases of use.
2020-07-05 19:11:52 -03:00
Salvador E. Tropea 4ae54f3ded Added --example/-x option to generate a configuration example.
The example contains all the available preflights and outputs.
If the user specifies a PCB the names of the layers are from the provided PCB
2020-06-30 20:09:14 -03:00
Salvador E. Tropea 3c6f4950c7 Now the schematic can be specified separately.
We now test if the PCB and/or SCH are there only when we need them.
2020-06-29 19:25:54 -03:00
Salvador E. Tropea 42d1f14056 Now layers are solved when we really need it.
So we can do some operations (like --list) without loading the board.
Also: now the names for the layers are asked to pcbnew classes (not from file)
2020-06-29 12:55:02 -03:00
Salvador E. Tropea f70e484780 Excluded from coverage the last line of the with document block
This isn't recorded as executed and I don't know how to inform to coverage
that this is executed. SO I'm just excluding them.
2020-06-26 14:46:09 -03:00
Salvador E. Tropea 5ce3da2bcc Added a macro decorator to register output classes. 2020-06-25 11:32:13 -03:00
Salvador E. Tropea fa1ea5bdc9 Outputs help and options review
- Included properties
- The final dot is placed by the printing code (removed from messages)
- docstrings line lengths limited
- Better HPGL help
- Fixed ibom default output (.html.html)
- pdf_pcb_print to use PCB name when not output name
- Default PS scaling factor to 1 (not 2)
2020-06-25 09:05:46 -03:00
Salvador E. Tropea 89fb93d6d7 Documented the output formats in the source code. 2020-06-24 11:01:43 -03:00
Salvador E. Tropea 7679604646 Major code refactor
Pro:
- Much easier to add new outputs and pre-flights
- All options are optional
- Much better configuration syntax check
- Access to data is simpler

Cons:
- Much more source code files
- I focused on one application, not multiple instances running on the same
  process.
2020-06-19 15:54:55 -03:00