fix: rewritten album mv replacement

This commit is contained in:
ThetaDev 2023-02-09 00:30:22 +01:00
parent 3574a44b77
commit d0a8b6fabe
8 changed files with 841 additions and 45 deletions

View file

@ -1,7 +1,5 @@
use std::borrow::Cow;
use serde::Serialize;
use crate::{
error::{Error, ExtractionError},
model::{MusicGenre, MusicGenreItem, MusicGenreSection},
@ -10,17 +8,9 @@ use crate::{
use super::{
response::{self, music_item::MusicListMapper},
ClientType, MapResponse, QBrowse, RustyPipeQuery, YTContext,
ClientType, MapResponse, QBrowse, QBrowseParams, RustyPipeQuery,
};
#[derive(Debug, Serialize)]
#[serde(rename_all = "camelCase")]
struct QGenre<'a> {
context: YTContext<'a>,
browse_id: &'a str,
params: &'a str,
}
impl RustyPipeQuery {
/// Get a list of moods and genres from YouTube Music
pub async fn music_genres(&self) -> Result<Vec<MusicGenreItem>, Error> {
@ -44,7 +34,7 @@ impl RustyPipeQuery {
pub async fn music_genre<S: AsRef<str>>(&self, genre_id: S) -> Result<MusicGenre, Error> {
let genre_id = genre_id.as_ref();
let context = self.get_context(ClientType::DesktopMusic, true, None).await;
let request_body = QGenre {
let request_body = QBrowseParams {
context,
browse_id: "FEmusic_moods_and_genres_category",
params: genre_id,