forked from ungleich-public/cdist
throw a better exception when environment variables are missing
Signed-off-by: Nico Schottelius <nico@bento.schottelius.org>
This commit is contained in:
parent
2f5de23ae9
commit
866645679a
1 changed files with 10 additions and 2 deletions
|
@ -28,7 +28,14 @@ import sys
|
||||||
import cdist
|
import cdist
|
||||||
from cdist import core
|
from cdist import core
|
||||||
|
|
||||||
class MissingEnvironmentVariable(cdist.Error):
|
class MissingRequiredEnvironmentVariableError(cdist.Error):
|
||||||
|
def __init__(self, name):
|
||||||
|
self.name = name
|
||||||
|
self.message = "Emulator requires the environment variable %s to be setup" % self.name
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.message
|
||||||
|
|
||||||
|
|
||||||
class Emulator(object):
|
class Emulator(object):
|
||||||
def __init__(self, argv, stdin=sys.stdin.buffer, env=os.environ):
|
def __init__(self, argv, stdin=sys.stdin.buffer, env=os.environ):
|
||||||
|
@ -46,7 +53,8 @@ class Emulator(object):
|
||||||
self.object_source = self.env['__cdist_manifest']
|
self.object_source = self.env['__cdist_manifest']
|
||||||
self.type_base_path = self.env['__cdist_type_base_path']
|
self.type_base_path = self.env['__cdist_type_base_path']
|
||||||
|
|
||||||
except KeyError:
|
except KeyError as e:
|
||||||
|
raise MissingRequiredEnvironmentVariableError(e.args[0])
|
||||||
|
|
||||||
self.object_base_path = os.path.join(self.global_path, "object")
|
self.object_base_path = os.path.join(self.global_path, "object")
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue