Add "--json-output" option to "platformio boards" command // Resolve issue #42

This commit is contained in:
Ivan Kravets
2015-01-10 16:20:09 +02:00
parent c8c1c7a83f
commit e8b87a0168
2 changed files with 21 additions and 1 deletions

View File

@ -1,6 +1,14 @@
Release History
===============
0.11.0 (2015-01-?)
------------------
* Added ``--json-output`` option to
`platformio boards <http://docs.platformio.org/en/latest/userguide/cmd_boards.html>`__
command which allows to return the output in `JSON <http://en.wikipedia.org/wiki/JSON>`_ format
(`issue #42 <https://github.com/ivankravets/platformio/issues/42>`_)
0.10.2 (2015-01-06)
-------------------

View File

@ -10,7 +10,19 @@ from platformio.util import get_boards
@click.command("list", short_help="Pre-configured Embedded Boards")
@click.argument("query", required=False)
def cli(query):
@click.option("--json-output", is_flag=True)
def cli(query, json_output):
if json_output:
result = {}
for type_, data in get_boards().items():
if query:
search_data = "%s %s" % (type_, json.dumps(data).lower())
if query.lower() not in search_data.lower():
continue
result[type_] = data
click.echo(json.dumps(result))
return
BOARDLIST_TPL = ("{type:<30} {mcu:<13} {frequency:<8} "
" {flash:<7} {ram:<6} {name}")