'Returns whether or not all the conditions are met for this task instance to be run
given the context for the dependencies (e.g. a task instance being force run from
the UI will ignore some dependencies).
:param dep_context: The execution context that determines the dependencies that
should be evaluated.
:type dep_context: DepContext
:param session: database session
:type session: Session
:param verbose: whether or not to print details on failed dependencies
:type verbose: boolean'

@provide_session
def are_dependencies_met(self, dep_context=None, session=None, verbose=False):

    dep_context = (dep_context or DepContext())
    failed = False
    for dep_status in self.get_failed_dep_statuses(dep_context=dep_context, session=session):
        failed = True
        if verbose:
            logging.info(u"Dependencies    not    met    for    {},    dependency    '{}'    FAILED:    {}".format(self, dep_status.dep_name, dep_status.reason))
    if failed:
        return False
    if verbose:
        logging.info(u'Dependencies    all    met    for    {}'.format(self))
    return True
