feat!: remove channel_videos_ordered due to unstable API
This commit is contained in:
parent
264f82346c
commit
4ebee5856e
3 changed files with 36 additions and 66 deletions
|
|
@ -7,7 +7,7 @@ use url::Url;
|
|||
use crate::{
|
||||
error::{Error, ExtractionError},
|
||||
model::{Channel, ChannelInfo, Paginator, PlaylistItem, VideoItem},
|
||||
param::{ChannelOrder, Language},
|
||||
param::Language,
|
||||
serializer::MapResult,
|
||||
timeago,
|
||||
util::{self, TryRemove},
|
||||
|
|
@ -26,11 +26,7 @@ struct QChannel<'a> {
|
|||
#[derive(Debug, Serialize)]
|
||||
enum Params {
|
||||
#[serde(rename = "EgZ2aWRlb3PyBgQKAjoA")]
|
||||
VideosLatest,
|
||||
#[serde(rename = "EgZ2aWRlb3MYAiAAMAE%3D")]
|
||||
VideosOldest,
|
||||
#[serde(rename = "EgZ2aWRlb3MYASAAMAE%3D")]
|
||||
VideosPopular,
|
||||
Videos,
|
||||
#[serde(rename = "EglwbGF5bGlzdHMgAQ%3D%3D")]
|
||||
Playlists,
|
||||
#[serde(rename = "EgVhYm91dPIGBAoCEgA%3D")]
|
||||
|
|
@ -41,25 +37,12 @@ impl RustyPipeQuery {
|
|||
pub async fn channel_videos(
|
||||
&self,
|
||||
channel_id: &str,
|
||||
) -> Result<Channel<Paginator<VideoItem>>, Error> {
|
||||
self.channel_videos_ordered(channel_id, ChannelOrder::default())
|
||||
.await
|
||||
}
|
||||
|
||||
pub async fn channel_videos_ordered(
|
||||
&self,
|
||||
channel_id: &str,
|
||||
order: ChannelOrder,
|
||||
) -> Result<Channel<Paginator<VideoItem>>, Error> {
|
||||
let context = self.get_context(ClientType::Desktop, true, None).await;
|
||||
let request_body = QChannel {
|
||||
context,
|
||||
browse_id: channel_id,
|
||||
params: match order {
|
||||
ChannelOrder::Latest => Params::VideosLatest,
|
||||
ChannelOrder::Oldest => Params::VideosOldest,
|
||||
ChannelOrder::Popular => Params::VideosPopular,
|
||||
},
|
||||
params: Params::Videos,
|
||||
};
|
||||
|
||||
self.execute_request::<response::Channel, _, _>(
|
||||
|
|
|
|||
|
|
@ -7,19 +7,6 @@ pub use locale::{Country, Language};
|
|||
use serde::{Deserialize, Serialize};
|
||||
pub use stream_filter::StreamFilter;
|
||||
|
||||
/// Channel video sort order
|
||||
#[derive(Default, Debug, Copy, Clone, PartialEq, Eq)]
|
||||
#[non_exhaustive]
|
||||
pub enum ChannelOrder {
|
||||
/// Output the latest videos first
|
||||
#[default]
|
||||
Latest,
|
||||
/// Output the oldest videos first
|
||||
Oldest,
|
||||
/// Output the most viewed videos first
|
||||
Popular,
|
||||
}
|
||||
|
||||
/// YouTube API endpoint to fetch continuations from
|
||||
#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)]
|
||||
#[serde(rename_all = "lowercase")]
|
||||
|
|
|
|||
Reference in a new issue