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)