validators_base.py 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import re
  2. class validators_base:
  3. @staticmethod
  4. def _validate_generic_name(content: str, name: str = "it") -> str:
  5. copy = content.replace("-", "").replace("_", "")
  6. if not copy.isalpha():
  7. raise ValueError(
  8. name.title() + " can contain only _ and alphanumeric chars."
  9. )
  10. return content
  11. @staticmethod
  12. def _validate_white_chars(content: str, name: str = "it") -> str:
  13. contain = str(" ") in content
  14. contain = contain or str("\t") in content
  15. contain = contain or str("\r") in content
  16. contain = contain or str("\n") in content
  17. if contain:
  18. raise ValueError(
  19. name.title() + " can not contain whitespace chars."
  20. )
  21. return content
  22. @staticmethod
  23. def _validate_lenght(
  24. content: str,
  25. name: str,
  26. minimum: int,
  27. maximum: int | None
  28. ) -> str:
  29. if len(content) < minimum:
  30. raise ValueError(name.title() + " is too short.")
  31. if maximum is not None and len(content) > maximum:
  32. raise ValueError(name.title() + " is too long.")
  33. return content