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
 | 
			
		||||
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):
 | 
			
		||||
    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.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")
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue