pub struct Video {
pub id: String,
pub title: String,
pub duration: Option<u64>,
pub uploader: Option<String>,
pub view_count: Option<u64>,
}Expand description
A YouTube video — a yt-dlp search result, and also the format saved in history.toml (hence deriving Serialize in addition to Deserialize).
Fields§
§id: StringThe YouTube video id (the v= query parameter of its watch URL).
title: StringThe video’s title, as reported by yt-dlp.
duration: Option<u64>Duration in whole seconds, if yt-dlp reported one.
uploader: Option<String>Uploader/channel name, if yt-dlp reported one.
view_count: Option<u64>View count, if yt-dlp reported one.
Implementations§
Source§impl Video
impl Video
Sourcepub fn url(&self) -> String
pub fn url(&self) -> String
The canonical https://www.youtube.com/watch?v=... URL for this
video — what gets handed to mpv to play.
Sourcepub fn duration_fmt(&self) -> String
pub fn duration_fmt(&self) -> String
Formats Video::duration as MM:SS, or --:-- if unknown.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Video
impl<'de> Deserialize<'de> for Video
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Video
impl StructuralPartialEq for Video
Auto Trait Implementations§
impl Freeze for Video
impl RefUnwindSafe for Video
impl Send for Video
impl Sync for Video
impl Unpin for Video
impl UnsafeUnpin for Video
impl UnwindSafe for Video
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more