validators.py 986 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. """Validation utilities for the Work Statistics System."""
  2. def is_valid_name(name):
  3. """Check if a name is valid (non-empty and not whitespace only).
  4. Args:
  5. name: The name string to validate
  6. Returns:
  7. True if valid, False otherwise
  8. """
  9. if name is None:
  10. return False
  11. return bool(name.strip())
  12. def is_positive_number(value):
  13. """Check if a value is a positive number.
  14. Args:
  15. value: The value to check
  16. Returns:
  17. True if positive number, False otherwise
  18. """
  19. try:
  20. return float(value) > 0
  21. except (TypeError, ValueError):
  22. return False
  23. def is_positive_integer(value):
  24. """Check if a value is a positive integer.
  25. Args:
  26. value: The value to check
  27. Returns:
  28. True if positive integer, False otherwise
  29. """
  30. try:
  31. return isinstance(value, int) and value > 0
  32. except (TypeError, ValueError):
  33. return False