"""Contain logic for checking standard error 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]: """ Returns a `quality_control.errors.InvalidValue` object in the case where `val` is not a valid input for standard error files, otherwise, it returns `None`. """ if re.search(r"(^[0-9]+\.[0-9]{6,}$|^[0-9]+\.[0-9]{6,}[eE]-[0-9]+$)", val): return None return InvalidValue( line_number, column_number, val, ( f"Invalid value '{val}'. " "Expected string representing a number with at least six decimal " "places."))