piped_api.models.channels
View Source
import typing as t from . import BasePipedModel from .videos import Video class NextPageChannel(BasePipedModel): """ Represents a channel obtained via the `nextpage` endpoint. This model contains only `nextpage` and `relatedStreams`. It's a parent for `Channel`. """ @property def nextpage(self) -> str: """ A JSON encoded string to be passed to the `'nextpage'` endpoint(s) when obtaining paginated data. """ return self.data['nextpage'] @property def uploaded_videos(self) -> t.List[Video.RelatedStream]: """ List of uploaded videos from the current fetched data There are max. 30 videos per page """ return [Video.RelatedStream(video_data) for video_data in self.data['relatedStreams']] class Channel(NextPageChannel): """ Represents a YouTube channel. Contains properties of `NextPageChannel`. """ @property def id(self) -> str: """ The channel's ID """ return self.data['id'] @property def name(self) -> str: """ The channel's name """ return self.data['name'] @property def avatar_url(self) -> str: """ The channel's avatar URL """ return self.data['avatarUrl'] @property def banner_url(self) -> str: """ The channel's banner URL """ return self.data['bannerUrl'] @property def description(self) -> str: """ The channel's description """ return self.data['description'] @property def subscriber_count(self) -> int: """ The number of subscribers the channel has """ return self.data['subscriberCount'] @property def verified(self) -> bool: """ Whether or not the channel is verified by YouTube (has a badge) """ return self.data['verified']
View Source
class NextPageChannel(BasePipedModel): """ Represents a channel obtained via the `nextpage` endpoint. This model contains only `nextpage` and `relatedStreams`. It's a parent for `Channel`. """ @property def nextpage(self) -> str: """ A JSON encoded string to be passed to the `'nextpage'` endpoint(s) when obtaining paginated data. """ return self.data['nextpage'] @property def uploaded_videos(self) -> t.List[Video.RelatedStream]: """ List of uploaded videos from the current fetched data There are max. 30 videos per page """ return [Video.RelatedStream(video_data) for video_data in self.data['relatedStreams']]
Represents a channel obtained via the nextpage
endpoint.
This model contains only nextpage
and relatedStreams
. It's a parent for Channel
.
A JSON encoded string to be passed to the 'nextpage'
endpoint(s) when
obtaining paginated data.
List of uploaded videos from the current fetched data
There are max. 30 videos per page
Inherited Members
View Source
class Channel(NextPageChannel): """ Represents a YouTube channel. Contains properties of `NextPageChannel`. """ @property def id(self) -> str: """ The channel's ID """ return self.data['id'] @property def name(self) -> str: """ The channel's name """ return self.data['name'] @property def avatar_url(self) -> str: """ The channel's avatar URL """ return self.data['avatarUrl'] @property def banner_url(self) -> str: """ The channel's banner URL """ return self.data['bannerUrl'] @property def description(self) -> str: """ The channel's description """ return self.data['description'] @property def subscriber_count(self) -> int: """ The number of subscribers the channel has """ return self.data['subscriberCount'] @property def verified(self) -> bool: """ Whether or not the channel is verified by YouTube (has a badge) """ return self.data['verified']
Represents a YouTube channel.
Contains properties of NextPageChannel
.
The channel's ID
The channel's name
The channel's avatar URL
The channel's description
The number of subscribers the channel has
Whether or not the channel is verified by YouTube (has a badge)