more checks for the presence of keys
diff --git a/reclass/storage/yaml_git/__init__.py b/reclass/storage/yaml_git/__init__.py
index dbd1945..3dadeef 100644
--- a/reclass/storage/yaml_git/__init__.py
+++ b/reclass/storage/yaml_git/__init__.py
@@ -232,8 +232,12 @@
uri = self._env_to_uri(environment)
if uri.root is not None:
name = '{0}.{1}'.format(uri.root, name)
+ if uri.repo not in self._repos:
+ raise reclass.errors.NotFoundError("Repo " + uri.repo + " unknown or missing")
if uri.branch not in self._repos[uri.repo].files:
raise reclass.errors.NotFoundError("Branch " + uri.branch + " missing from " + uri.repo)
+ if name not in self._repos[uri.repo].files[uri.branch]:
+ raise reclass.errors.NotFoundError("File " + name + " missing from " + uri.repo + " branch " + uri.branch)
file = self._repos[uri.repo].files[uri.branch][name]
blob = self._repos[uri.repo].get(file.id)
entity = YamlData.from_string(blob.data, 'git_fs://{0}#{1}/{2}'.format(uri.repo, uri.branch, file.path)).get_entity(name)