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
45ecb1d02a
Added a mechanism to specify suboptions.
...
Now the legacy drill.map.type and drill.report.filename are specified in this
way.
The BaseOutput class now inherits from Optionable.
Suboptions are just Optionable classes.
Also: added traceback print when an error is reported and we are in debug mode.
2020-07-05 12:40:57 -03:00
Salvador E. Tropea
ee11ecf8e7
Added number, variant, conf and separator KiBoM options.
2020-07-02 23:30:57 -03:00
Salvador E. Tropea
b48998bb86
Applied abspath to the output path to make is cleaner.
2020-07-02 23:29:53 -03:00
Salvador E. Tropea
25730bce39
Added a note about inner layer names in the README.md
...
After analyzing all the forks I found that at least 6 forks tried to fix the
Inner.X vs InX.Cu difference.
Also one seems to add support for the names used by pcbnew, but breaks
compatibility with old config files.
2020-07-02 17:19:04 -03:00
Salvador E. Tropea
4538236574
Now outputs and preflights are loaded as plugins.
...
They can be added from ~/.config/kiplot/plugins/
Also sorted the preflights in the YAML example and allower -v for
--help-list-outputs, needed to know from where are the plugins loaded.
2020-07-02 12:30:30 -03:00
Salvador E. Tropea
1ca21efe94
Now the docstring for string options can specify a list of allowed values
...
This reduces the number of setters/getters we need to write.
On the other side the time to validate the YAML is increased.
2020-07-02 09:25:06 -03:00
Salvador E. Tropea
ec35d2443f
Added option to copy plot options from the PCB to the YAML example.
...
Also added DXF.metric_units and updated the README.
2020-07-01 20:43:03 -03:00
Salvador E. Tropea
3685e3cb8b
Enforced a limit to line_width [0.02,2] mm
2020-07-01 11:21:25 -03:00
Salvador E. Tropea
3a1d5d0652
Added pen_number and pen_speed HPGL options
2020-07-01 11:11:33 -03:00
Salvador E. Tropea
be8339ddff
Added tests to cover all the out_any_drill.py errors.
2020-06-30 22:57:59 -03:00
Salvador E. Tropea
d926a5419e
Added --example basic tests
...
Also added support for output directory to --example
2020-06-30 20:43:42 -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
f579d648bf
Added check for string in outputs.drill.map/report.
...
Also support 'None' as Python None.
2020-06-30 19:59:21 -03:00
Salvador E. Tropea
60a2649c0f
Moved the dril_marks attribute to a separated class.
...
Reused by 5 output classes.
2020-06-29 20:10:40 -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
017f2ace47
Fixed redundant "Supported outputs" in the README and updated command line help
2020-06-29 12:57:06 -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
ef4b2f8f95
Regenarte the README.md when we run the linter.
2020-06-29 12:52:14 -03:00
Salvador E. Tropea
adb9e26750
Added examples of problems using Coverage.py with macros.
2020-06-27 20:38:16 -03:00
Salvador E. Tropea
7cd0afcdb9
Excluded from coverage code in macros.py that we aren't using.
...
This code covers cases that we aren't using.
2020-06-27 19:18:32 -03:00
Salvador E. Tropea
a436aea8e7
Now the README.md is sychronized using the help output.
...
The --help-outputs and --help are embedded in the README.md
To make it easier to read now options are enclosed in `` and the list of
outputs is sorted.
2020-06-27 18:28:05 -03:00
Salvador E. Tropea
c82c2f0c39
Added support for all the missing IBoM options.
...
Note that variants_blacklist and variants_whitelist needs a fresh IBoM.
These options didn't work and crashed IBoM. It was reported as a result of
the tests included in this commit.
2020-06-27 15:04:35 -03:00
Salvador E. Tropea
d48f258c33
Added tests for the various help options.
2020-06-26 14:48:40 -03:00
Salvador E. Tropea
c049d8f9ef
Excluded docopt.py from coverage.
2020-06-26 14:48:05 -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
7726732df9
Created a decorator to register the preflight options
2020-06-26 14:45:33 -03:00
Salvador E. Tropea
2f0f3f755d
Changed the command line parser from argparse to docopt.
...
This make the code cleaner and better documented.
Now the usage is more clear, and also a little bit more strict.
I'm using a modified docopt because I preffer using args.option instead of
args['--option'], I also fixed a few flake8 issues in docopt.py.
2020-06-26 12:04:56 -03:00
Salvador E. Tropea
43b7e27a22
Documented the output_class macro
2020-06-26 12:02:18 -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
46a20404a4
Added preflights help.
2020-06-25 10:31:23 -03:00
Salvador E. Tropea
523aaa2ace
Added the map/report stuff to the changelog.
2020-06-25 09:43:14 -03:00
Salvador E. Tropea
acd5592a45
Now the map.type and report.filename are deprecated in favor of map and report.
...
The old mechanism is supported, but removed from examples.
Added a test case for the new mechanism.
Documented the reason for the complex properties.
Added docstrings to these particular cases (with None as default).
2020-06-25 09:37:43 -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
fb5c32f0ad
Added negative numbers support to the document macro.
2020-06-25 08:09:39 -03:00
Salvador E. Tropea
6295b00657
Implemented the `sketch_plot` option.
2020-06-24 12:00:53 -03:00
Salvador E. Tropea
505039332b
Made sketch_plot default to false when absent.
2020-06-24 11:59:13 -03:00
Salvador E. Tropea
a63e12579b
Changed all the examples to set "sketch_plot" to false.
...
This is what we usually want, but this wasn't implemented.
2020-06-24 11:56:39 -03:00
Salvador E. Tropea
090aa6b8f1
Removed the "plot" option "check_zone_fills".
...
Not used and overlapped with the preflight option.
2020-06-24 11:26:08 -03:00
Salvador E. Tropea
ac4ae89aba
Added command line help for the outputs.
...
--help-list-outputs list supported outputs
--help-outputs list details for the supported outputs
--help-output OUTPUT shows the help for this particular output
2020-06-24 11:02:17 -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
cb809cbb8d
Added documentation for the technique used for the automagic doc
2020-06-23 11:17:53 -03:00
Salvador E. Tropea
a066887744
Modified the macros examples to make them as similar as possible.
...
So a diff between them is minimal.
2020-06-23 11:16:58 -03:00
Salvador E. Tropea
bcb35e90ef
Renamed test_mymacros.py to try_mymacros.py for pytest
...
They aren't regression tests.
2020-06-23 10:36:10 -03:00
Salvador E. Tropea
458d4ba0a9
Removed flake8 issues
2020-06-23 10:27:11 -03:00
Salvador E. Tropea
d68376ba2e
Added a small test to gerbers output.
...
Currently commented.
2020-06-23 10:26:29 -03:00
Salvador E. Tropea
6859f89c9c
Copied the experiments implementation to the macros file
...
Is more robust
2020-06-23 10:25:29 -03:00
Salvador E. Tropea
2bb2bd2034
Added preliminary tests to add "automagic" documenation for the output options
2020-06-22 19:47:37 -03:00
Salvador E. Tropea
20d79d58ad
Restricted the YAML support to safe features.
...
I think it doesn't change anything important, but looks sensitive.
2020-06-21 11:58:35 -03:00
Salvador E. Tropea
734d2b9c35
Added an evaluation of "Strict YAML" to replace "PyYAML".
...
Conclusion: not worth the effort
2020-06-21 11:57:03 -03:00