""" Flare – Parameter Validation (with date support) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Basit tip + regex kontrolü; Spark veya harici lib ile zenginleştirilebilir. """ import re from typing import Any from datetime import datetime from config_provider import ParameterConfig def validate(value: str, param: ParameterConfig) -> bool: t = param.canonical_type() if t == "int": if not value.isdigit(): return False elif t == "float": try: float(value) except ValueError: return False elif t in ("str", "string"): pass # All strings are valid elif t == "bool": if value.lower() not in ("true","false","1","0","evet","hayır"): return False # Special handling for date type if param.type == "date": try: # Check if it's a valid ISO date format (YYYY-MM-DD) datetime.strptime(value, "%Y-%m-%d") except ValueError: return False # Regex validation if provided if param.validation_regex and not re.fullmatch(param.validation_regex, value, re.I): return False return True