@staticmethod<EOL><INDENT>def _check_status(func, read_exception, *args, **kwargs):<DEDENT>
try:<EOL><INDENT>return func(*args, **kwargs)<EOL><DEDENT>except Exception as e:<EOL><INDENT>_LOG.exception(e)<EOL>message = str(e) if read_exception else '<STR_LIT>'<EOL>return dict(message=message, available=False)<EOL><DEDENT>
Checks the status of a single component by
calling the func with the args.  The func is expected to
return a dict with at least an `available=<bool>` key
value pair

:param func func: The function to call
:param read_exception: If an exception is thrown
    should the exception message be passed as the
    message parameter.  If not a generic
    message parameter will be added to the dict
:param tuple args: A list of arguments to pass to
    to function
:param dict kwargs: a dict of keyword arguments
    to pass to the function
:return: a dictionary that includes the state
    of the component.  At least an 'available'
    key is guaranteed
:rtype: dict