From 03a4bd6132e2d04962c658b9a3b33ecd7264d3e5 Mon Sep 17 00:00:00 2001 From: gandalf3 Date: Tue, 29 Aug 2017 04:45:14 -0700 Subject: More precise error messages --- release/scripts/modules/bpkg/types.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/release/scripts/modules/bpkg/types.py b/release/scripts/modules/bpkg/types.py index 5eec26ca421..e95a69c0e92 100644 --- a/release/scripts/modules/bpkg/types.py +++ b/release/scripts/modules/bpkg/types.py @@ -546,10 +546,16 @@ class Repository: try: name = repodict['name'] + except KeyError as err: + raise exceptions.BadRepositoryException("Cannot set repository from dict; missing name") from err + try: url = repodict['url'] + except KeyError as err: + raise exceptions.BadRepositoryException("Cannot set repository from dict; missing url") from err + try: pkg_dicts = repodict['packages'] except KeyError as err: - raise exceptions.BadRepositoryException("Cannot set repository from incomplete dict") from err + raise exceptions.BadRepositoryException("Cannot set repository from dict; missing packages") from err headers = repodict.get('_headers', {}) self.name = name @@ -586,20 +592,6 @@ class Repository: json.dump(self.to_dict(), repo_file, indent=4, sort_keys=True) self.log.debug("Repository written to %s" % path) - # def set_from_file(self, path: Path): - # """ - # Set the current instance's attributes from a json file - # """ - # repo_file = path.open('r', encoding='utf-8') - # - # with repo_file: - # try: - # self.set_from_dict(json.load(repo_file)) - # except Exception as err: - # raise BadRepository from err - # - # self.log.debug("Repository read from %s", path) - @classmethod def from_file(cls, path: Path): """ -- cgit v1.2.3