From aa19b1c424f9a2baa9462269358cd42a7da889d2 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 24 Aug 2016 23:03:41 +0300 Subject: [PATCH] Show error message when broken JSON manifest is found --- platformio/exception.py | 5 +++++ platformio/managers/platform.py | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/platformio/exception.py b/platformio/exception.py index 7064b34e..5b30ba24 100644 --- a/platformio/exception.py +++ b/platformio/exception.py @@ -60,6 +60,11 @@ class UnknownBoard(PlatformioException): MESSAGE = "Unknown board ID '{0}'" +class InvalidBoardManifest(PlatformioException): + + MESSAGE = "Invalid board JSON manifest '{0}'" + + class UnknownFramework(PlatformioException): MESSAGE = "Unknown framework '{0}'" diff --git a/platformio/managers/platform.py b/platformio/managers/platform.py index 600c8b4f..97295e40 100644 --- a/platformio/managers/platform.py +++ b/platformio/managers/platform.py @@ -491,7 +491,10 @@ class PlatformBoardConfig(object): self._id = basename(manifest_path)[:-5] assert isfile(manifest_path) self.manifest_path = manifest_path - self._manifest = util.load_json(manifest_path) + try: + self._manifest = util.load_json(manifest_path) + except ValueError: + raise exception.InvalidBoardManifest(manifest_path) assert set(["name", "url", "vendor"]) <= set(self._manifest.keys()) def get(self, path, default=None):