code: def check_config_txt(self, contents, is_config_string=False):
          
          self.log(u"Checking contents TXT config file")
          self.result = ValidatorResult()
          if self._are_safety_checks_disabled(u"check_config_txt"):
              return self.result
          is_bstring = gf.is_bytes(contents)
          if is_bstring:
              self.log(u"Checking that contents is well formed")
              self.check_raw_string(contents, is_bstring=True)
              if not self.result.passed:
                  return self.result
              contents = gf.safe_unicode(contents)
          if not is_config_string:
              self.log(u"Converting file contents to config string")
              contents = gf.config_txt_to_string(contents)
          self.log(u"Checking required parameters")
          required_parameters = self.TXT_REQUIRED_PARAMETERS
          parameters = gf.config_string_to_dict(contents, self.result)
          self._check_required_parameters(required_parameters, parameters)
          self.log([u"Checking contents: returning %s", self.result.passed])
          return self.result
docs: Check whether the given TXT config file contents
          (if ``is_config_string`` is ``False``) or
          TXT config string (if ``is_config_string`` is ``True``)
          is well-formed and it has all the required parameters.
  
          :param string contents: the TXT config file contents or TXT config string
          :param bool is_config_string: if ``True``, contents is a config string
          :rtype: :class:`~aeneas.validator.ValidatorResult`