diff --git a/platformio/commands/boards.py b/platformio/commands/boards.py index 6e79a10c..7b7a6e77 100644 --- a/platformio/commands/boards.py +++ b/platformio/commands/boards.py @@ -11,18 +11,10 @@ from platformio.util import get_boards @click.command("list", short_help="Pre-configured Embedded Boards") @click.argument("query", required=False) @click.option("--json-output", is_flag=True) -def cli(query, json_output): +def cli(query, json_output): # pylint: disable=R0912 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 + return ouput_boards_json(query) BOARDLIST_TPL = ("{type:<30} {mcu:<13} {frequency:<8} " " {flash:<7} {ram:<6} {name}") @@ -70,3 +62,14 @@ def cli(query, json_output): frequency="%dMhz" % (int(data['build']['f_cpu'][:-1]) / 1000000), flash=flash_size, ram=ram_size, name=data['name'])) + + +def ouput_boards_json(query): + 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))