bundle.website.sites.thebundle.pages.youtube.page

YouTube page routes and websocket download/probe workflow.

Attributes

Classes

InfoMessage

UI status message sent over websocket.

CompletedMessage

Signal that the current probe/download cycle is finished.

FileReadyMessage

Provide a ready-to-download file URL to the client.

DownloadTrackRequest

Client request payload for YouTube probe/download actions.

TrackMetadata

Resolved track metadata payload for the frontend.

QualityOptionsMessage

Optional payload for available quality selections.

Functions

youtube(request)

Render the YouTube page.

download_track(websocket)

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.WebSocketDataMixin

UI status message sent over websocket.

type: Literal['info'] = 'info'
info_message: str
class bundle.website.sites.thebundle.pages.youtube.page.CompletedMessage(/, **data: Any)

Bases: bundle.core.data.Data, bundle.website.core.ws_messages.WebSocketDataMixin

Signal 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.WebSocketDataMixin

Provide a ready-to-download file URL to the client.

type: Literal['file_ready'] = 'file_ready'
url: str
filename: str
format: str = None
class bundle.website.sites.thebundle.pages.youtube.page.DownloadTrackRequest(/, **data: Any)

Bases: bundle.core.data.Data, bundle.website.core.ws_messages.WebSocketDataMixin

Client request payload for YouTube probe/download actions.

youtube_url: str
format: str = 'mp4'
action: Literal['probe', 'download'] = 'probe'
itag: int | None = None
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.WebSocketDataMixin

Resolved 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.WebSocketDataMixin

Optional 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.