Commit Graph

108 Commits

Author SHA1 Message Date
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
Salvador E. Tropea 53be46e1fe Fixed the pragma in __main__ (typo) 2020-05-26 12:27:48 -03:00
Salvador E. Tropea 9672871ebe Excluded the module import main() exclusion from coverage 2020-05-26 12:23:01 -03:00
Salvador E. Tropea 153d967015 Excluded an "internal error check" from coverage and commented why. 2020-05-25 20:01:31 -03:00
Salvador E. Tropea 1dda835cc5 Removed some dead code about configurations.
_configure_plot_ctrl is called only for "layer" outputs, there is no
point trying to configure other formats.
Also some of the "configuration" were ridiculous calls with an assert
that only tested Python's sanity. Probably optimized out by python
compiler.
2020-05-25 19:23:11 -03:00
Salvador E. Tropea c22ccb607a Fixed: All pcbnew plot formats generated gerber job files 2020-05-25 18:31:31 -03:00
Salvador E. Tropea b053017284 Tolerate config files without outputs 2020-05-20 10:36:28 -03:00
Salvador E. Tropea da94eb3f57 Excluded from coverage the test for pcbnew import 2020-05-20 09:24:59 -03:00
Salvador E. Tropea 84831cbdfc Bumped version to 0.2.4. 2020-05-19 12:14:06 -03:00
Salvador E. Tropea 26b4f5c385 Adapted to kicad-automation-scripts 1.3.x 2020-05-19 12:09:19 -03:00
Salvador E. Tropea bcfaead5f1 Fixed: for print_sch, when the PCB name included a path, it wasn't removed and the
output pointed to a mix of both paths, failing.
2020-05-19 11:37:51 -03:00