From 8c53cf1d3c593a4c2e4fbd0b537898c5275d5c86 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Mon, 5 Jan 2015 22:58:55 +0200 Subject: [PATCH] Fix an issue with ``--json-output`` // Resolve #42 --- HISTORY.rst | 5 +++++ platformio/commands/lib.py | 5 ++++- platformio/commands/list.py | 4 +++- platformio/commands/serialports.py | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/HISTORY.rst b/HISTORY.rst index ca81838c..25b3928c 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,6 +1,11 @@ Release History =============== +0.10.2 (2015-01-?) +------------------ + +* Fixed an issue with ``--json-output`` (`issue #42 `_) + 0.10.1 (2015-01-02) ------------------- diff --git a/platformio/commands/lib.py b/platformio/commands/lib.py index f3b87445..96b750e5 100644 --- a/platformio/commands/lib.py +++ b/platformio/commands/lib.py @@ -1,12 +1,15 @@ # Copyright (C) Ivan Kravets # See LICENSE for details. +import json + import click from platformio import app, exception from platformio.libmanager import LibraryManager from platformio.util import get_api_result, get_lib_dir + LIBLIST_TPL = ("[{id:^14}] {name:<25} {compatibility:<30} " "\"{authornames}\": {description}") @@ -160,7 +163,7 @@ def lib_list(json_output): items = lm.get_installed().values() if json_output: - click.echo(items) + click.echo(json.dumps(items)) return if not items: diff --git a/platformio/commands/list.py b/platformio/commands/list.py index 3520d2ad..c47a95b8 100644 --- a/platformio/commands/list.py +++ b/platformio/commands/list.py @@ -1,6 +1,8 @@ # Copyright (C) Ivan Kravets # See LICENSE for details. +import json + import click from platformio.platforms.base import PlatformFactory @@ -23,7 +25,7 @@ def cli(json_output): }) if json_output: - click.echo(data) + click.echo(json.dumps(data)) else: for item in data: click.echo("{name:<20} with packages: {pkgs}".format( diff --git a/platformio/commands/serialports.py b/platformio/commands/serialports.py index d62d9482..c52f27da 100644 --- a/platformio/commands/serialports.py +++ b/platformio/commands/serialports.py @@ -1,6 +1,7 @@ # Copyright (C) Ivan Kravets # See LICENSE for details. +import json import sys import click @@ -19,7 +20,7 @@ def cli(): def serialports_list(json_output): if json_output: - click.echo(get_serialports()) + click.echo(json.dumps(get_serialports())) return for item in get_serialports():