fix: parsing music details with video description tab
This commit is contained in:
parent
e5d85ae76d
commit
a267413a82
4 changed files with 31 additions and 3 deletions
|
|
@ -73,7 +73,7 @@ commit_parsers = [
|
||||||
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
|
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
|
||||||
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
|
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
|
||||||
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
|
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
|
||||||
{ message = "^chore\\(release\\): prepare for", skip = true },
|
{ message = "^chore\\(release\\): release", skip = true },
|
||||||
{ message = "^chore\\(pr\\)", skip = true },
|
{ message = "^chore\\(pr\\)", skip = true },
|
||||||
{ message = "^chore\\(pull\\)", skip = true },
|
{ message = "^chore\\(pull\\)", skip = true },
|
||||||
{ message = "^chore", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
|
{ message = "^chore", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
use serde_with::serde_as;
|
use serde_with::{serde_as, DefaultOnError, VecSkipError};
|
||||||
use serde_with::DefaultOnError;
|
|
||||||
|
|
||||||
use crate::serializer::text::Text;
|
use crate::serializer::text::Text;
|
||||||
|
|
||||||
|
|
@ -36,9 +35,11 @@ pub(crate) struct TabbedRenderer {
|
||||||
pub watch_next_tabbed_results_renderer: TabbedRendererInner,
|
pub watch_next_tabbed_results_renderer: TabbedRendererInner,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[serde_as]
|
||||||
#[derive(Debug, Deserialize)]
|
#[derive(Debug, Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
pub(crate) struct TabbedRendererInner {
|
pub(crate) struct TabbedRendererInner {
|
||||||
|
#[serde_as(as = "VecSkipError<_>")]
|
||||||
pub tabs: Vec<Tab>,
|
pub tabs: Vec<Tab>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
26
tests/snapshots/youtube__music_details_track_details.snap
Normal file
26
tests/snapshots/youtube__music_details_track_details.snap
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
---
|
||||||
|
source: tests/youtube.rs
|
||||||
|
expression: track
|
||||||
|
---
|
||||||
|
TrackDetails(
|
||||||
|
track: TrackItem(
|
||||||
|
id: "1eekOcpx_iQ",
|
||||||
|
name: "NCT 127 \'Highway to Heaven\' NEO CITY Tour Film ver.",
|
||||||
|
duration: Some(202),
|
||||||
|
cover: "[cover]",
|
||||||
|
artists: [
|
||||||
|
ArtistId(
|
||||||
|
id: Some("UCk2E0dbAyEJWnrN2bbQOcbg"),
|
||||||
|
name: "NCT 127",
|
||||||
|
),
|
||||||
|
],
|
||||||
|
artist_id: Some("UCk2E0dbAyEJWnrN2bbQOcbg"),
|
||||||
|
album: None,
|
||||||
|
view_count: "[view_count]",
|
||||||
|
is_video: true,
|
||||||
|
track_nr: None,
|
||||||
|
by_va: false,
|
||||||
|
),
|
||||||
|
lyrics_id: None,
|
||||||
|
related_id: None,
|
||||||
|
)
|
||||||
|
|
@ -2218,6 +2218,7 @@ async fn music_search_suggestion(
|
||||||
#[rstest]
|
#[rstest]
|
||||||
#[case::mv("mv", "ZeerrnuLi5E")]
|
#[case::mv("mv", "ZeerrnuLi5E")]
|
||||||
#[case::track("track", "qIZ-vvg-wiU")]
|
#[case::track("track", "qIZ-vvg-wiU")]
|
||||||
|
#[case::track_details("track_details", "1eekOcpx_iQ")]
|
||||||
#[tokio::test]
|
#[tokio::test]
|
||||||
async fn music_details(#[case] name: &str, #[case] id: &str, rp: RustyPipe) {
|
async fn music_details(#[case] name: &str, #[case] id: &str, rp: RustyPipe) {
|
||||||
let track = rp.query().music_details(id).await.unwrap();
|
let track = rp.query().music_details(id).await.unwrap();
|
||||||
|
|
|
||||||
Reference in a new issue