code: def check_first_party_caveat(self, ctx, cav):
          ''' Checks the caveat against all registered caveat conditions.
          :return: error message string if any or None
          '''
          try:
              cond, arg = parse_caveat(cav)
          except ValueError as ex:
              # If we can't parse it, perhaps it's in some other format,
              # return a not-recognised error.
              return 'cannot parse caveat "{}": {}'.format(cav, ex.args[0])
          checker = self._checkers.get(cond)
          if checker is None:
              return 'caveat "{}" not satisfied: caveat not recognized'.format(
                  cav)
          err = checker.check(ctx, cond, arg)
          if err is not None:
              return 'caveat "{}" not satisfied: {}'.format(cav, errf check_first_party_caveat(self, ctx, cav):
          ''' Checks the caveat against all registered caveat conditions.
          :return: error message string if any or None
          '''
          try:
              cond, arg = parse_caveat(cav)
          except ValueError as ex:
              # If we can't parse it, perhaps it's in some other format,
              # return a not-recognised error.
              return 'cannot parse caveat "{}": {}'.format(cav, ex.args[0])
          checker = self._checkers.get(cond)
          if checker is None:
              return 'caveat "{}" not satisfied: caveat not recognized'.format(
                  cav)
          err = checker.check(ctx, cond, arg)
          if err is not None:
              return 'caveat "{}" not satisfied: {}'.format(cav, err)
docs: Checks the caveat against all registered caveat conditions.
          :return: error message string if any or None