youtube_handler

Module Contents

Classes

YoutubeOperations

Youtube operation types.

YoutubeHandler

Handles youtube url music.

YoutubeQueryHandler

Youtube query handler.

class youtube_handler.YoutubeOperations

Bases: enum.StrEnum

Youtube operation types.

URL = 'url'
PLAYLIST = 'playlist'
QUERY = 'query'
class youtube_handler.YoutubeHandler

Bases: pipo.player.audio_source.base_handler.BaseHandler

Handles youtube url music.

name
static __valid_source(source: Iterable[str]) bool

Check whether source is a youtube url.

handle(source: str) pipo.player.audio_source.source_pair.SourcePair

Check whether handler is able to process source.

static parse_playlist(url: str) Iterator[str]
static get_audio(query: str) str | None

Obtain a youtube audio url.

Given a query or a youtube url obtains the best quality audio url. Retries fetching audio url in case of error waiting between attempts.

Parameters:
query: str

Youtube video url or query.

Returns:

Youtube audio url or None if no audio url was found.

Return type:

Optional[str]

class youtube_handler.YoutubeQueryHandler

Bases: pipo.player.audio_source.base_handler.BaseHandler

Youtube query handler.

Handles youtube search queries. Exposes no accept condition therefore should only be used as terminal handler.

name
static __valid_source(source: str) bool

Check whether source is an url.

handle(source: str) pipo.player.audio_source.source_pair.SourcePair

Check whether handler is able to process source.

static encode_url(url: str) str
async static url_from_query(query: str) str | None

Get youtube audio url based on search query.

Perform a youtube query to obtain the related video with the most views.

Parameters:
query: str

Word query to search.

Returns:

Youtube video url best matching query, None if no video found.

Return type:

Optional[str]