'Do not override this method!
For custom dependency checks override self.check_requirements().
Two things are checked: Configuration file and requirements.'

def check(self):

    conf = self.get_config()
    if (conf in [True, 'auto']):
        message = 'installing'
        if (conf is True):
            self.optional = False
    elif (self.force is True):
        message = 'installing    forced    (config    override)'
    else:
        raise CheckFailed('skipping    due    to    configuration')
    additional_info = self.check_requirements()
    if additional_info:
        message += (',    ' + additional_info)
    return message
