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
52e6bb1b5f
Added support for PcbDraw
2020-07-11 13:49:03 -03:00
Salvador E. Tropea
995b6990aa
Added HPGL and PS autoscaling tests.
...
Added test for example in a dir that must be created.
Removed code not used in docstring trim.
2020-07-08 23:16:04 -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
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
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
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
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
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
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
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
46a20404a4
Added preflights help.
2020-06-25 10:31:23 -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
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
458d4ba0a9
Removed flake8 issues
2020-06-23 10:27:11 -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
2766b5afcb
Added STEP file output
2020-06-15 13:21:24 -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
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
b053017284
Tolerate config files without outputs
2020-05-20 10:36:28 -03:00
Salvador E. Tropea
0a018e8b2b
Added a catch for KiPlotConfigurationError errors and printed it with context.
2020-03-23 00:42:48 -03:00
Salvador E. Tropea
9267597330
Made flake8 compliant
2020-03-22 20:16:57 -03:00
Salvador E. Tropea
d4f12a1d13
Unified the YAML errors, added more context information
2020-03-22 13:02:17 -03:00
Salvador E. Tropea
6067c84394
Added support for the layer names used in the PCB file.
2020-03-21 15:10:24 -03:00
Salvador E. Tropea
3aaf1ce045
Added support to print the PCB in PDF format (using print, not plot)
2020-03-21 14:34:02 -03:00
Salvador E. Tropea
d0d9c37064
Added schematic printing to PDF.
...
Partially added PCB printing to PDF.
2020-03-19 19:59:19 -03:00
Salvador E. Tropea
438142dabd
Added KiBoM and InteractiveHtmlBoM support
2020-03-19 16:26:45 -03:00
Salvador E. Tropea
85acaadf26
Added generation of the BoM in XML format
2020-03-19 09:57:11 -03:00
Salvador E. Tropea
5a386bdd32
Added ERC check
2020-03-18 23:15:17 -03:00
Salvador E. Tropea
2af2c0c88d
Added DRC support using kicad-automation-scripts
2020-03-16 10:59:36 -03:00
Salvador E. Tropea
c0acfe3865
Added format and color to the logs. Also enhanced the yaml/pcbnew log error.
2020-03-14 16:12:05 -03:00
Salvador E. Tropea
8d1668a7d6
Merge branch 'add_info_process'
2020-03-13 14:16:50 -03:00
Salvador E. Tropea
bce849b44b
Added only_smd to only generate positions for SMD components.
...
Made the .pos more similar to what KiCad generates (sorted, capitalization, date, etc.)
2020-03-13 13:04:27 -03:00
Salvador E. Tropea
97b6cedf06
Merge branch 'position' of https://github.com/rdeterre/kiplot
2020-03-13 10:46:10 -03:00
Salvador E. Tropea
49bb86d748
Moved the module to the root and added a script named kiplot to call it from /usr/bin.
...
Simplified the setup.py to make it work with Debian.
Added Debian package files.
Added a MANIFEST.in
2020-03-10 14:49:18 -03:00
John Beard
c80c34939e
Move to src directory
2018-06-02 17:55:32 +01:00
John Beard
2eec853d08
Tweak debug
2018-06-02 17:52:33 +01:00
John Beard
02f3db1a2d
Add preflight options, but they don't wowork
2018-06-02 17:21:47 +01:00
John Beard
57c320984a
Add svg, fix mirror plot
2018-06-02 16:56:20 +01:00
John Beard
d3b331e3ad
Add validation
2018-06-02 16:33:11 +01:00
John Beard
5aada8a3cd
Add postscript and other stuff
2018-06-02 15:51:24 +01:00
John Beard
1519ff2e08
Overhaul config parsing
2018-06-02 13:31:03 +01:00
John Beard
fb7e579a64
Even more working
2018-06-02 12:28:46 +01:00