Spaces:
Runtime error
Runtime error
Download src/shared/utils/validation.py from pnstack/template-python: direct link, hf CLI and curl.
- Browser
- Download file 1.4 kB
-
https://huggingface.co/spaces/pnstack/template-python/resolve/43909516e0cf3c8301074a335734d496399a54b9/src/shared/utils/validation.py
- Command line
-
hf download hf://spaces/pnstack/template-python@43909516e0cf3c8301074a335734d496399a54b9/src/shared/utils/validation.py
-
curl -L -o validation.py https://huggingface.co/spaces/pnstack/template-python/resolve/43909516e0cf3c8301074a335734d496399a54b9/src/shared/utils/validation.py
1.4 kB
| """Shared validation utilities.""" | |
| import re | |
| from typing import Any, Optional, Pattern | |
| # Common validation patterns | |
| EMAIL_PATTERN: Pattern = re.compile(r"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$") | |
| UUID_PATTERN: Pattern = re.compile( | |
| r"^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$" | |
| ) | |
| def validate_email(email: str) -> bool: | |
| """Validate email format. | |
| Args: | |
| email: Email address to validate | |
| Returns: | |
| bool: True if email format is valid, False otherwise | |
| """ | |
| return bool(EMAIL_PATTERN.match(email)) | |
| def validate_uuid(uuid: str) -> bool: | |
| """Validate UUID format. | |
| Args: | |
| uuid: UUID string to validate | |
| Returns: | |
| bool: True if UUID format is valid, False otherwise | |
| """ | |
| return bool(UUID_PATTERN.match(uuid.lower())) | |
| def validate_required_fields( | |
| data: dict[str, Any], required_fields: list[str] | |
| ) -> tuple[bool, Optional[str]]: | |
| """Validate required fields in a dictionary. | |
| Args: | |
| data: Dictionary containing data to validate | |
| required_fields: List of required field names | |
| Returns: | |
| tuple[bool, Optional[str]]: (is_valid, error_message) | |
| """ | |
| missing_fields = [field for field in required_fields if field not in data] | |
| if missing_fields: | |
| return False, f"Missing required fields: {', '.join(missing_fields)}" | |
| return True, None | |