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
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
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
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
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
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
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
19023ef4e6
Added tests to cover 100% of kiplot/config_reader.py
...
Mostly parser errors.
2020-06-19 23:38:09 -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
Salvador E. Tropea
c2c221151b
Bumped version to 0.4.0.
2020-06-17 15:38:49 -03:00
Salvador E. Tropea
b8f8ed53bd
Added a mechanism to avoid problems with ibom
...
This new mechanism should be accepted in the upstream.
So we will be able to use unpatched ibom.
2020-06-17 15:34:43 -03:00
Salvador E. Tropea
3382b4fe7b
Fixed the way options with arguments are passed to kicad2step.
2020-06-15 15:58:08 -03:00
Salvador E. Tropea
ef64a57697
Documented the fact that current kicad2step program never fails.
...
Well, it fails, but returns 0.
2020-06-15 15:17:09 -03:00
Salvador E. Tropea
2766b5afcb
Added STEP file output
2020-06-15 13:21:24 -03:00
Salvador E. Tropea
8fbcffba0f
Bumped version to 0.3.0
2020-06-14 15:28:25 -03:00
Salvador E. Tropea
0d9256fb24
The 'check_zone_fills' option is now independent of 'run_drc'
...
Implemented in a different way.
For all internal commands now we use Python bindings to fill the zones as
suggested by @arikrupnik in johnbeard/kiplot#11
For 'print_pcb' now we ask KiCad to do it before printing (needs v1.4.1)
2020-06-14 15:12:56 -03:00
Salvador E. Tropea
406a9ab374
Fixed gzip exception name.
2020-06-14 12:02:15 -03:00
Salvador E. Tropea
4101f69cd4
Added support for compressed YAML files.
2020-06-14 11:05:08 -03:00
Salvador E. Tropea
61f1ebbab2
Better debug info, fixed errors and no .kicad_pcb dependency
...
- When a BoM operation fails now we show the output of the child process.
(Only enabled when using debug verbosity)
- The error levels 1 and 2 were overlapped with internal Python codes.
- Now we delay the PCB load until we really need it. Which could be never.
2020-06-12 15:10:56 -03:00
Salvador E. Tropea
aef19e31c7
Bumped version to 0.2.5
2020-06-11 13:10:45 -03:00
Salvador E. Tropea
c390ec3cb8
Added support for kicad-automation-tools v1.4.0 DRC/ERC filters
2020-06-09 13:49:04 -03:00
Salvador E. Tropea
9e3865d881
Removed another redundant makedirs.
2020-05-26 19:28:14 -03:00
Salvador E. Tropea
46248a6e2e
Removed redundant checks to create the output dir.
...
They became useless after adding it to _configure_output_dir
2020-05-26 19:15:10 -03:00
Salvador E. Tropea
be7a613fc8
Removed os import on plot_config.py. No longer used.
2020-05-26 19:14:10 -03:00
Salvador E. Tropea
ee7de07ee4
Removed impossible error condition
2020-05-26 14:55:04 -03:00
Salvador E. Tropea
6c5c33be12
Excluded from coverage an internal error.
...
Is code that gets executed only if we are in the middle of an
implementation.
2020-05-26 14:52:54 -03:00
Salvador E. Tropea
9f60eca419
Removed two PlotConfig members formerly used for testing.
2020-05-26 14:45:19 -03:00
Salvador E. Tropea
3b7bfe40f7
Set the domain for log messages so we get "kiplot..." and not "kilog...."
2020-05-26 14:33:34 -03:00
Salvador E. Tropea
103ef8b79e
Fixed: Most formats that needed layers didn't complain when ommited
2020-05-26 13:50:38 -03:00
Salvador E. Tropea
bb6bae95a2
Excluded from coverage the fatal case case when python-yaml isn't installed.
2020-05-26 12:43:14 -03:00