__init__.py 790 B

1234567891011121314151617181920212223242526272829303132333435
  1. import sqlite3
  2. import uuid
  3. from mautrix.util.async_db import Database
  4. from .disappearing_message import DisappearingMessage
  5. from .message import Message
  6. from .portal import Portal
  7. from .puppet import Puppet
  8. from .reaction import Reaction
  9. from .upgrade import upgrade_table
  10. from .user import User
  11. def init(db: Database) -> None:
  12. for table in (User, Puppet, Portal, Message, Reaction, DisappearingMessage):
  13. table.db = db
  14. # TODO should this be in mautrix-python?
  15. sqlite3.register_adapter(uuid.UUID, lambda u: str(u))
  16. sqlite3.register_converter(
  17. "UUID", lambda b: uuid.UUID(b.decode("utf-8") if isinstance(b, bytes) else b)
  18. )
  19. __all__ = [
  20. "upgrade_table",
  21. "init",
  22. "User",
  23. "Puppet",
  24. "Portal",
  25. "Message",
  26. "Reaction",
  27. "DisappearingMessage",
  28. ]