diff --git a/HISTORY.rst b/HISTORY.rst index a0d0a645..f8d2a437 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -7,6 +7,7 @@ PlatformIO 3.0 3.0.2 (2016-09-??) ~~~~~~~~~~~~~~~~~~ +* Improved a work in off-line mode * Improved Project Generator when custom ``--project-option`` is passed to `platformio init `__ command diff --git a/platformio/maintenance.py b/platformio/maintenance.py index 6df212e1..7b4c66a0 100644 --- a/platformio/maintenance.py +++ b/platformio/maintenance.py @@ -34,7 +34,9 @@ from platformio.managers.platform import PlatformManager from platformio.pioplus import pioplus_update -def in_silence(ctx): +def in_silence(ctx=None): + ctx = ctx or app.get_session_var("command_ctx") + assert ctx ctx_args = ctx.args or [] return (ctx_args and (ctx.args[0] == "upgrade" or "--json-output" in ctx_args)) diff --git a/platformio/util.py b/platformio/util.py index 69316d1f..98d18182 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -417,11 +417,13 @@ def get_api_result(path, params=None, data=None): return _get_api_result(path, params, data) except (requests.exceptions.ConnectionError, requests.exceptions.Timeout) as e: + from platformio.maintenance import in_silence total += 1 - click.secho( - "[API] ConnectionError: {0} (incremented retry: max={1}, " - "total={2})".format(e, max_retries, total), - fg="yellow") + if not in_silence(): + click.secho( + "[API] ConnectionError: {0} (incremented retry: max={1}, " + "total={2})".format(e, max_retries, total), + fg="yellow") sleep(2 * total) raise exception.APIRequestError(