def _assert_correct_tag_values()

in tools/validator.py [0:0]


  def _assert_correct_tag_values(
      self, metadata: Mapping[str, AbstractSet[str]]) -> None:
    """Checks that all tag values are defined in the respective YAML files.

    Args:
      metadata: Mapping of metadata fields to their values e.g.
        {"language": {"en", "fr"}}.

    Raises:
      FileNotFoundError: if a YAML file containing the parser config does not
        exist.
      yaml.parser.ParserError: if a YAML file containing the parser config is no
        valid YAML file.
      MarkdownDocumentationError: if a tag value from `metadata` is invalid as
        determined by its respective parser from `yaml_parser_by_tag_name`.
    """
    for tag_name in metadata:
      if tag_name not in self._yaml_parser_by_tag_name:
        # Not every tag has a parser associated with it.
        continue

      yaml_parser = self._yaml_parser_by_tag_name[tag_name]
      try:
        yaml_parser.assert_tag_values_are_correct(metadata[tag_name])
      except ValueError as e:
        raise MarkdownDocumentationError(
            f"Validating {tag_name} failed: {e}") from e