Source code for pycloudlib.result

# This file is part of pycloudlib. See LICENSE file for license information.
"""Base Result Class."""


[docs]class Result(str): # pylint: disable=too-many-ancestors """Result Class."""
[docs] def __init__(self, stdout, stderr='', return_code=0): """Initialize class.""" super().__init__() self.stdout = stdout self.stderr = stderr self.return_code = return_code
def __new__(cls, stdout, stderr, return_code): """Create new class.""" obj = str.__new__(cls, stdout) obj.stderr = stderr obj.return_code = return_code return obj def __bool__(self): """Boolean behavior.""" return self.ok @property def failed(self): """Return boolean if result was failure.""" return not self.ok @property def ok(self): """Return boolean if result was success.""" if self.return_code == 0: return True return False