def create_tag_parser()

in tools/tags_validator.py [0:0]


  def create_tag_parser(cls: Type[TagDefinitionFileParserT],
                        file_path: str) -> TagDefinitionFileParserT:
    """Returns the correct parser instance for the given YAML file.

    Args:
      file_path: absolute path to the YAML file that should be validated.

    Returns:
      EnumerableTagParser or TaskTagParser instance for validating the file.

    Raises:
      TagDefinitionError: if no parser is associated to the YAML file.
    """
    file_name = os.path.basename(file_path)
    parser_from_file_name = {
        "dataset.yaml": EnumerableTagParser,
        "language.yaml": EnumerableTagParser,
        "network_architecture.yaml": EnumerableTagParser,
        "task.yaml": TaskTagParser,
        "license.yaml": LicenseTagParser,
        "interactive_visualizer.yaml": InteractiveVisualizerTagParser,
        "colab.yaml": UrlTagParser,
        "demo.yaml": UrlTagParser
    }
    if file_name not in parser_from_file_name:
      raise TagDefinitionError(f"No parser is registered for {file_name}.")
    return parser_from_file_name[file_name](file_path)