# vim: tabstop=4 shiftwidth=4 softtabstop=4 class ProcessExecutionError(IOError): message_tmpl = ('%(description)s\nCommand: %(cmd)s\n' 'Exit code: %(exit_code)s\nStdout: %(stdout)r\n' 'Stderr: %(stderr)r') def __init__(self, stdout=None, stderr=None, exit_code=None, cmd=None, description=None, reason=None): if not cmd: self.cmd = '-' else: self.cmd = cmd if not description: self.description = 'Unexpected error while running command.' else: self.description = description if not isinstance(exit_code, (long, int)): self.exit_code = '-' else: self.exit_code = exit_code if not stderr: self.stderr = '' else: self.stderr = stderr if not stdout: self.stdout = '' else: self.stdout = stdout message = self.message_tmpl % { 'description': self.description, 'cmd': self.cmd, 'exit_code': self.exit_code, 'stdout': self.stdout, 'stderr': self.stderr, } IOError.__init__(self, message) self.reason = reason class MountFailedError(Exception): pass class StackExceeded(Exception): pass class RecursiveInclude(Exception): pass class DataSourceNotFoundException(Exception): pass