bundle.website.core.ws_messages =============================== .. py:module:: bundle.website.core.ws_messages .. autoapi-nested-parse:: Typed websocket message helpers shared by website pages. Attributes ---------- .. autoapisummary:: bundle.website.core.ws_messages.MessageT Classes ------- .. autoapisummary:: bundle.website.core.ws_messages.WebSocketDataMixin bundle.website.core.ws_messages.DownloaderStartMessage bundle.website.core.ws_messages.DownloaderUpdateMessage bundle.website.core.ws_messages.DownloaderEndMessage Module Contents --------------- .. py:data:: MessageT .. py:class:: WebSocketDataMixin Mixin that adds async websocket send/receive helpers to Data models. .. py:method:: send(websocket: fastapi.WebSocket) -> None :async: .. py:method:: receive(websocket: fastapi.WebSocket) -> MessageT :classmethod: :async: .. py:class:: DownloaderStartMessage(/, **data: Any) Bases: :py:obj:`bundle.core.data.Data`, :py:obj:`WebSocketDataMixin` Download progress message emitted when transfer starts. .. py:attribute:: type :type: Literal['downloader_start'] :value: 'downloader_start' .. py:attribute:: total :type: int :value: None .. py:class:: DownloaderUpdateMessage(/, **data: Any) Bases: :py:obj:`bundle.core.data.Data`, :py:obj:`WebSocketDataMixin` Download progress message emitted while bytes are received. .. py:attribute:: type :type: Literal['downloader_update'] :value: 'downloader_update' .. py:attribute:: progress :type: int :value: None .. py:class:: DownloaderEndMessage(/, **data: Any) Bases: :py:obj:`bundle.core.data.Data`, :py:obj:`WebSocketDataMixin` Download progress message emitted when transfer completes. .. py:attribute:: type :type: Literal['downloader_end'] :value: 'downloader_end'