"""Contain logic for checking average files""" import re from typing import Union from .errors import InvalidValue def invalid_value(line_number: int, column_number: int, val: str) -> Union[ InvalidValue, None]: """Return an `InvalidValue` object if `val` is not a valid "averages" value.""" if re.search(r"^[0-9]+\.[0-9]{3}$", val): return None return InvalidValue( line_number, column_number, val, ( f"Invalid value '{val}'. " "Expected string representing a number with exactly three decimal " "places."))