util.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import uuid
  2. from datetime import datetime
  3. import jwt
  4. def datetime2timestamp(value: datetime):
  5. if not value:
  6. return None
  7. return value.timestamp()
  8. def str2datetime(value: str):
  9. if not value:
  10. return None
  11. return datetime.fromisoformat(value)
  12. def is_valid_datetime(date_str, format="%Y-%m-%d %H:%M:%S"):
  13. if not date_str or not isinstance(date_str, str):
  14. return False
  15. try:
  16. datetime.strptime(date_str, format)
  17. return True
  18. except ValueError:
  19. return False
  20. def random_uuid() -> str:
  21. return "ml-" + str(uuid.uuid4()).replace("-", "")
  22. def verify_jwt_expiration(token):
  23. decoded_token = jwt.decode(
  24. token, options={"verify_signature": False, "verify_exp": False}
  25. )
  26. expiration_time = datetime.fromtimestamp(decoded_token["exp"])
  27. current_time = datetime.now()
  28. print(
  29. "time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>time=>"
  30. )
  31. print(f"expiration_time: {expiration_time}")
  32. print(f"expiration_time: {current_time}")
  33. return current_time < expiration_time