fix: parsing music details with video description tab

This commit is contained in:
ThetaDev 2024-03-24 02:31:17 +01:00
parent f60b4bb1cd
commit a81c3e8336
No known key found for this signature in database
GPG key ID: E319D3C5148D65B6
4 changed files with 31 additions and 3 deletions

View file

@ -73,7 +73,7 @@ commit_parsers = [
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ 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\\(pull\\)", skip = true },
{ message = "^chore", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },

View file

@ -1,6 +1,5 @@
use serde::Deserialize;
use serde_with::serde_as;
use serde_with::DefaultOnError;
use serde_with::{serde_as, DefaultOnError, VecSkipError};
use crate::serializer::text::Text;
@ -36,9 +35,11 @@ pub(crate) struct TabbedRenderer {
pub watch_next_tabbed_results_renderer: TabbedRendererInner,
}
#[serde_as]
#[derive(Debug, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct TabbedRendererInner {
#[serde_as(as = "VecSkipError<_>")]
pub tabs: Vec<Tab>,
}

View 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,
)

View file

@ -2218,6 +2218,7 @@ async fn music_search_suggestion(
#[rstest]
#[case::mv("mv", "ZeerrnuLi5E")]
#[case::track("track", "qIZ-vvg-wiU")]
#[case::track_details("track_details", "1eekOcpx_iQ")]
#[tokio::test]
async fn music_details(#[case] name: &str, #[case] id: &str, rp: RustyPipe) {
let track = rp.query().music_details(id).await.unwrap();