Recognize a Boolean-like string value as a Boolean.
            Note: the rules are a bit different than string "truthiness."

            '0'             --> False
            '1'             --> True
            ('no', 'false') --> False  # case-insensitive
            ('yes', 'true') --> True   # case-insensitive

def truthy(self):
        ''' Recognize a Boolean-like string value as a Boolean.
            Note: the rules are a bit different than string "truthiness."

            '0'             --> False
            '1'             --> True
            ('no', 'false') --> False  # case-insensitive
            ('yes', 'true') --> True   # case-insensitive
        '''
        lower = self.lower()
        if lower.isdigit():
            return bool(int(lower))
        elif lower in ('yes', 'true'):
            return True
        elif lower in ('no', 'false'):
            return False
        elif self == '':
            return False
        else:
            return None