bundle.website.sites.thebundle.pages.youtube.page¶
YouTube page routes and websocket download/probe workflow.
Attributes¶
Classes¶
UI status message sent over websocket. |
|
Signal that the current probe/download cycle is finished. |
|
Provide a ready-to-download file URL to the client. |
|
Client request payload for YouTube probe/download actions. |
|
Resolved track metadata payload for the frontend. |
|
Optional payload for available quality selections. |
Functions¶
|
Render the YouTube page. |
|
Handle probe/download commands and stream progress/results to the UI. |
Module Contents¶
- bundle.website.sites.thebundle.pages.youtube.page.page¶
- bundle.website.sites.thebundle.pages.youtube.page.MUSIC_PATH¶
- class bundle.website.sites.thebundle.pages.youtube.page.InfoMessage(/, **data: Any)¶
Bases:
bundle.core.data.Data,bundle.website.core.ws_messages.WebSocketDataMixinUI status message sent over websocket.
- type: Literal['info'] = 'info'¶
- class bundle.website.sites.thebundle.pages.youtube.page.CompletedMessage(/, **data: Any)¶
Bases:
bundle.core.data.Data,bundle.website.core.ws_messages.WebSocketDataMixinSignal that the current probe/download cycle is finished.
- type: Literal['completed'] = 'completed'¶
- class bundle.website.sites.thebundle.pages.youtube.page.FileReadyMessage(/, **data: Any)¶
Bases:
bundle.core.data.Data,bundle.website.core.ws_messages.WebSocketDataMixinProvide a ready-to-download file URL to the client.
- type: Literal['file_ready'] = 'file_ready'¶
- class bundle.website.sites.thebundle.pages.youtube.page.DownloadTrackRequest(/, **data: Any)¶
Bases:
bundle.core.data.Data,bundle.website.core.ws_messages.WebSocketDataMixinClient request payload for YouTube probe/download actions.
- action: Literal['probe', 'download'] = 'probe'¶
- normalize()¶
Normalize URL and constrain action/format to supported values.
- class bundle.website.sites.thebundle.pages.youtube.page.TrackMetadata(/, **data: Any)¶
Bases:
bundle.youtube.track.YoutubeTrackData,bundle.website.core.ws_messages.WebSocketDataMixinResolved track metadata payload for the frontend.
- type: Literal['metadata'] = 'metadata'¶
- class bundle.website.sites.thebundle.pages.youtube.page.QualityOptionsMessage(/, **data: Any)¶
Bases:
bundle.core.data.Data,bundle.website.core.ws_messages.WebSocketDataMixinOptional payload for available quality selections.
- type: Literal['qualities'] = 'qualities'¶
- options: list[bundle.youtube.track.YoutubeStreamOption] = None¶
- async bundle.website.sites.thebundle.pages.youtube.page.youtube(request: fastapi.Request)¶
Render the YouTube page.
- async bundle.website.sites.thebundle.pages.youtube.page.download_track(websocket: fastapi.WebSocket)¶
Handle probe/download commands and stream progress/results to the UI.