code: def Boolean(v):
      
      if isinstance(v, basestring):
          v = v.lower()
          if v in ('1', 'true', 'yes', 'on', 'enable'):
              return True
          if v in ('0', 'false', 'no', 'off', 'disable'):
              return False
          raise ValueError
      return bool(v)
docs: Convert human-readable boolean values to a bool.
  
      Accepted values are 1, true, yes, on, enable, and their negatives.
      Non-string values are cast to bool.
  
      >>> validate = Schema(Boolean())
      >>> validate(True)
      True
      >>> validate("1")
      True
      >>> validate("0")
      False
      >>> with raises(MultipleInvalid, "expected boolean"):
      ...   validate('moo')
      >>> try:
      ...  validate('moo')
      ... except MultipleInvalid as e:
      ...   assert isinstance(e.errors[0], BooleanInvalid)