util.py 358 B

12345678910111213141516
  1. from __future__ import annotations
  2. from uuid import UUID
  3. import sqlite3
  4. def ensure_uuid(val: bytes | str | UUID) -> UUID:
  5. if not isinstance(val, UUID):
  6. if isinstance(val, bytes):
  7. val = val.decode("utf-8")
  8. return UUID(val)
  9. return val
  10. sqlite3.register_adapter(UUID, str)
  11. sqlite3.register_converter("UUID", ensure_uuid)