Compare commits

...

2 commits

Author SHA1 Message Date
7ca17f725a
fix: failing YTM tests by changing objects
Some checks failed
ci/woodpecker/manual/woodpecker Pipeline failed
2023-11-23 03:08:13 +01:00
0a02e946b3
chore: update woodpecker pipeline schema 2023-11-23 02:11:44 +01:00
10 changed files with 3938 additions and 1906 deletions

View file

@ -1,4 +1,4 @@
pipeline:
steps:
test:
image: rust:latest
environment:

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -3,37 +3,37 @@ source: tests/youtube.rs
expression: album
---
MusicAlbum(
id: "MPREb_nlBWQROfvjo",
playlist_id: Some("OLAK5uy_myZkBX2d2TzcrlQhIwLy3hCj2MkAMaPR4"),
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
playlist_id: Some("OLAK5uy_mAg4o-PpgUtVY97PDxaY3DRTZt37WUDaQ"),
name: "Demi",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
description: None,
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
description: Some("Demi is the fourth studio album by American singer Demi Lovato. It was released on May 10, 2013, by Hollywood Records. Looking to transition from her self-described \"generic\" third album Unbroken, Lovato wanted her fourth album to \"have songs that excited her\". Demi is primarily a pop record with elements of synthpop, and bubblegum pop.\nDemi received generally favorable reviews from music critics, who complimented Lovato\'s vocal performance. The album debuted at number three on the US Billboard 200 with first-week sales of 110,000 copies. The album also reached the top five in Canada, Ireland, Italy, Mexico and Spain. It has since sold 490,000 digital copies in the US and been certified Gold by the RIAA.\nThe album\'s lead single, \"Heart Attack\" peaked at number ten on the Billboard Hot 100, marking Lovato\'s third US top-ten single, and has been certified double platinum by the RIAA. The second single \"Made in the USA\" peaked at number 80, while later singles \"Neon Lights\" and \"Really Don\'t Care\" both reached the top 40 peaking at 36 and 26, respectively, and both have been certified platinum by RIAA.\n\nFrom Wikipedia (https://en.wikipedia.org/wiki/Demi_(album)) under Creative Commons Attribution CC-BY-SA 3.0 (https://creativecommons.org/licenses/by-sa/3.0/legalcode)"),
album_type: Album,
year: Some(2016),
year: Some(2013),
by_va: false,
tracks: [
TrackItem(
id: "g0iRiJ_ck48",
name: "Aulë und Yavanna",
duration: Some(217),
id: "8DmPZaCLMcE",
name: "Heart Attack",
duration: Some(211),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -41,20 +41,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "rREEBXp0y9s",
name: "Numenor",
duration: Some(225),
id: "RRE0hz60t8I",
name: "Made In The USA",
duration: Some(197),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -62,20 +62,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "zvU5Y8Q19hU",
name: "Das Mädchen und die Liebe (feat. Santiano)",
duration: Some(177),
id: "O38fBJpWqGM",
name: "Without The Love",
duration: Some(236),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -83,20 +83,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "ARKLrzzTQA0",
name: "Niënna",
duration: Some(216),
id: "BB1Q5XjCOho",
name: "Neon Lights",
duration: Some(234),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -104,20 +104,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "tstLgN8A_Ng",
name: "Der fahle Mond",
duration: Some(269),
id: "0VOm-MoZ3Xg",
name: "Two Pieces",
duration: Some(266),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -125,20 +125,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "k2DjgQOY3Ts",
name: "Weise den Weg",
duration: Some(203),
id: "vvm-XtXQ7wI",
name: "Nightingale",
duration: Some(217),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -146,20 +146,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "azHwhecxEsI",
name: "Zeit der Sommernächte",
duration: Some(186),
id: "CJYhllodSAc",
name: "In Case",
duration: Some(215),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -167,20 +167,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "_FcsdYIQ2co",
name: "Märchen enden gut",
duration: Some(227),
id: "tTmJoiCIebg",
name: "Really Don\'t Care (feat. Cher Lloyd)",
duration: Some(202),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -188,20 +188,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "27bOWEbshyE",
name: "Das Mädchen und der Tod",
duration: Some(208),
id: "qmGtn0TQ8Fk",
name: "Fire Starter",
duration: Some(205),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -209,20 +209,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "riD_3oZwt8w",
name: "Wir sehn uns wieder",
duration: Some(212),
id: "Bb_j4TTlEZA",
name: "Something That We\'re Not",
duration: Some(198),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -230,20 +230,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "8GNvjF3no9s",
name: "Tanz mit mir",
duration: Some(180),
id: "rVey1Qgn1vc",
name: "Never Been Hurt",
duration: Some(237),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -251,20 +251,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "YHMFzf1uN2U",
name: "Nachtigall",
duration: Some(219),
id: "mdXNWcYYZ10",
name: "Shouldn\'t Come Back",
duration: Some(230),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
@ -272,155 +272,50 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "jvV-z5F3oAo",
name: "Gayatri Mantra",
duration: Some(278),
id: "yX40-XWjWe0",
name: "Warrior",
duration: Some(232),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(13),
by_va: false,
),
TrackItem(
id: "u8_9cxlrh8k",
name: "Sing mir deine Lieder",
duration: Some(205),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(14),
by_va: false,
),
TrackItem(
id: "gSvKcvM1Wk0",
name: "Laurië lantar",
duration: Some(203),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(15),
by_va: false,
),
TrackItem(
id: "wQHgKRJ0pDQ",
name: "Wächter vor dem Tor",
duration: Some(223),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(16),
by_va: false,
),
TrackItem(
id: "Ckz5i6-hzf0",
name: "Stroh zu Gold",
duration: Some(178),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(17),
by_va: false,
),
TrackItem(
id: "y5zuUgyFqrc",
name: "Sonnenwendnacht",
duration: Some(221),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(18),
by_va: false,
),
],
variants: [
AlbumItem(
id: "MPREb_jk6Msw8izou",
name: "Märchen enden gut (Nyáre Ranta (Märchenedition))",
id: "MPREb_bURBKIaURqK",
name: "Demi (Deluxe)",
cover: [
Thumbnail(
url: "https://lh3.googleusercontent.com/BKgnW_-hapCHk599AtRfTYZGdXVIo0C4bJp1Bh7qUpGK7fNAXGW8Bhv2x-ukeFM8cuxKbGqqGaTo8fZASA=w226-h226-l90-rj",
url: "https://lh3.googleusercontent.com/p6Fy9_hfUY-Y6BXzdsIfOKpSZBhjGkDrpPcbA8DNrR1zvCFUL7p3cCeUywx8PxQ6FX7eb30MsWq3fpn2=w226-h226-l90-rj",
width: 226,
height: 226,
),
Thumbnail(
url: "https://lh3.googleusercontent.com/BKgnW_-hapCHk599AtRfTYZGdXVIo0C4bJp1Bh7qUpGK7fNAXGW8Bhv2x-ukeFM8cuxKbGqqGaTo8fZASA=w544-h544-l90-rj",
url: "https://lh3.googleusercontent.com/p6Fy9_hfUY-Y6BXzdsIfOKpSZBhjGkDrpPcbA8DNrR1zvCFUL7p3cCeUywx8PxQ6FX7eb30MsWq3fpn2=w544-h544-l90-rj",
width: 544,
height: 544,
),
],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album_type: Album,
year: None,
by_va: false,

View file

@ -3,36 +3,36 @@ source: tests/youtube.rs
expression: album
---
MusicAlbum(
id: "MPREb_nlBWQROfvjo",
playlist_id: Some("OLAK5uy_myZkBX2d2TzcrlQhIwLy3hCj2MkAMaPR4"),
id: "MPREb_mXdQvyCqLnx",
playlist_id: Some("OLAK5uy_mAg4o-PpgUtVY97PDxaY3DRTZt37WUDaQ"),
name: "[name]",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
description: "[description]",
album_type: Album,
year: Some(2016),
year: Some(2013),
by_va: false,
tracks: [
TrackItem(
id: "g0iRiJ_ck48",
id: "8DmPZaCLMcE",
name: "[name]",
duration: Some(217),
duration: Some(211),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -41,19 +41,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "rREEBXp0y9s",
id: "RRE0hz60t8I",
name: "[name]",
duration: Some(225),
duration: Some(197),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -62,19 +62,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "zvU5Y8Q19hU",
id: "O38fBJpWqGM",
name: "[name]",
duration: Some(177),
duration: Some(236),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -83,19 +83,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "ARKLrzzTQA0",
id: "BB1Q5XjCOho",
name: "[name]",
duration: Some(216),
duration: Some(234),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -104,19 +104,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "tstLgN8A_Ng",
id: "0VOm-MoZ3Xg",
name: "[name]",
duration: Some(269),
duration: Some(266),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -125,19 +125,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "k2DjgQOY3Ts",
id: "vvm-XtXQ7wI",
name: "[name]",
duration: Some(203),
duration: Some(217),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -146,19 +146,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "azHwhecxEsI",
id: "CJYhllodSAc",
name: "[name]",
duration: Some(186),
duration: Some(215),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -167,19 +167,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "_FcsdYIQ2co",
id: "tTmJoiCIebg",
name: "[name]",
duration: Some(227),
duration: Some(202),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -188,19 +188,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "27bOWEbshyE",
id: "qmGtn0TQ8Fk",
name: "[name]",
duration: Some(208),
duration: Some(205),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -209,19 +209,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "riD_3oZwt8w",
id: "Bb_j4TTlEZA",
name: "[name]",
duration: Some(212),
duration: Some(198),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -230,19 +230,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "8GNvjF3no9s",
id: "rVey1Qgn1vc",
name: "[name]",
duration: Some(180),
duration: Some(237),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -251,19 +251,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "YHMFzf1uN2U",
id: "mdXNWcYYZ10",
name: "[name]",
duration: Some(219),
duration: Some(230),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -272,19 +272,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "jvV-z5F3oAo",
id: "yX40-XWjWe0",
name: "[name]",
duration: Some(278),
duration: Some(232),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
id: "MPREb_mXdQvyCqLnx",
name: "[name]",
)),
view_count: "[view_count]",
@ -292,135 +292,30 @@ MusicAlbum(
track_nr: Some(13),
by_va: false,
),
TrackItem(
id: "u8_9cxlrh8k",
name: "[name]",
duration: Some(205),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(14),
by_va: false,
),
TrackItem(
id: "gSvKcvM1Wk0",
name: "[name]",
duration: Some(203),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(15),
by_va: false,
),
TrackItem(
id: "wQHgKRJ0pDQ",
name: "[name]",
duration: Some(223),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(16),
by_va: false,
),
TrackItem(
id: "Ckz5i6-hzf0",
name: "[name]",
duration: Some(178),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(17),
by_va: false,
),
TrackItem(
id: "y5zuUgyFqrc",
name: "[name]",
duration: Some(221),
cover: [],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_nlBWQROfvjo",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(18),
by_va: false,
),
],
variants: [
AlbumItem(
id: "MPREb_jk6Msw8izou",
name: "Märchen enden gut (Nyáre Ranta (Märchenedition))",
id: "MPREb_bURBKIaURqK",
name: "Demi (Deluxe)",
cover: [
Thumbnail(
url: "https://lh3.googleusercontent.com/BKgnW_-hapCHk599AtRfTYZGdXVIo0C4bJp1Bh7qUpGK7fNAXGW8Bhv2x-ukeFM8cuxKbGqqGaTo8fZASA=w226-h226-l90-rj",
url: "https://lh3.googleusercontent.com/p6Fy9_hfUY-Y6BXzdsIfOKpSZBhjGkDrpPcbA8DNrR1zvCFUL7p3cCeUywx8PxQ6FX7eb30MsWq3fpn2=w226-h226-l90-rj",
width: 226,
height: 226,
),
Thumbnail(
url: "https://lh3.googleusercontent.com/BKgnW_-hapCHk599AtRfTYZGdXVIo0C4bJp1Bh7qUpGK7fNAXGW8Bhv2x-ukeFM8cuxKbGqqGaTo8fZASA=w544-h544-l90-rj",
url: "https://lh3.googleusercontent.com/p6Fy9_hfUY-Y6BXzdsIfOKpSZBhjGkDrpPcbA8DNrR1zvCFUL7p3cCeUywx8PxQ6FX7eb30MsWq3fpn2=w544-h544-l90-rj",
width: 544,
height: 544,
),
],
artists: [
ArtistId(
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "[name]",
),
],
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
album_type: Album,
year: None,
by_va: false,

View file

@ -3,37 +3,37 @@ source: tests/youtube.rs
expression: album
---
MusicAlbum(
id: "MPREb_cwzk8EUwypZ",
playlist_id: Some("OLAK5uy_kODvYZ5CEpYdtd4VPsmg0eRTlpazG0dvA"),
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
playlist_id: Some("OLAK5uy_kdNoJ-uBZrMFvZCHQpkCwz9kmAELojcKs"),
name: "Die Abenteuer des Odysseus. Hörspiel",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
description: None,
album_type: Show,
year: Some(2022),
year: Some(2015),
by_va: false,
tracks: [
TrackItem(
id: "lSbKz5LWvKE",
name: "Achtung, Waldbrand - Teil 1",
duration: Some(229),
id: "ZIjGPc6vG0Y",
name: "Kapitel 1 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -41,20 +41,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "fdO6gu4qjRw",
name: "Achtung, Waldbrand - Teil 2",
duration: Some(235),
id: "Wqrg6ceVgK8",
name: "Kapitel 2 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(122),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -62,20 +62,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "muCxstXirvY",
name: "Achtung, Waldbrand - Teil 3",
duration: Some(197),
id: "oWlZR0mU3fQ",
name: "Kapitel 3 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(125),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -83,20 +83,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "aG1N0vo__Ng",
name: "Eiszeit - Teil 1",
duration: Some(186),
id: "pcdWTaNK_w4",
name: "Kapitel 4 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(181),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -104,20 +104,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "roHhLNYS9yo",
name: "Eiszeit - Teil 2",
duration: Some(188),
id: "hJhcL8A4AEI",
name: "Kapitel 5 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -125,20 +125,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "nJ49NuLvcAw",
name: "Eiszeit - Teil 3",
duration: Some(205),
id: "ROwmS2PzXiE",
name: "Kapitel 6 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -146,20 +146,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Me119D570h0",
name: "Eiszeit - Teil 4",
duration: Some(219),
id: "u5fduXogSKU",
name: "Kapitel 7 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(143),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -167,20 +167,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "YXnRLK-qKG8",
name: "Im Sinkloch - Teil 1",
duration: Some(240),
id: "37aeBkbW5Y4",
name: "Kapitel 8 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(128),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -188,20 +188,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "A61wz1jz9X0",
name: "Im Sinkloch - Teil 2",
duration: Some(239),
id: "Hn2701yNst0",
name: "Kapitel 9 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(124),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -209,20 +209,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "u_S08EJOTUg",
name: "Im Sinkloch - Teil 3",
duration: Some(197),
id: "dQiTv0BdwwA",
name: "Kapitel 10 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -230,20 +230,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "0qwYJihV1EU",
name: "Vorsicht, heiß - Teil 1",
duration: Some(201),
id: "DXYXlAljscM",
name: "Kapitel 11 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(166),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -251,20 +251,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "zjhoyTnEzuQ",
name: "Vorsicht, heiß - Teil 2",
duration: Some(187),
id: "mfbmff4MQ2M",
name: "Kapitel 12 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(148),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -272,20 +272,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "oDjDd0UBzAY",
name: "Vorsicht, heiß - Teil 3",
duration: Some(183),
id: "mHkR5PHlHpQ",
name: "Kapitel 13 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(136),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
@ -293,26 +293,299 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "_3-WVmqgi-Q",
name: "Vorsicht, heiß - Teil 4",
duration: Some(193),
id: "VBnKIZ1b5Cg",
name: "Kapitel 14 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(149),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(14),
by_va: false,
),
TrackItem(
id: "1iOIPRlLFgM",
name: "Kapitel 15 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(121),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(15),
by_va: false,
),
TrackItem(
id: "z1nDiIcnxoM",
name: "Kapitel 16 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(122),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(16),
by_va: false,
),
TrackItem(
id: "TNpe9wfbW9U",
name: "Kapitel 17 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(120),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(17),
by_va: false,
),
TrackItem(
id: "9FtXAfifarI",
name: "Kapitel 18 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(136),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(18),
by_va: false,
),
TrackItem(
id: "bRG8YR7ZBtI",
name: "Kapitel 19 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(155),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(19),
by_va: false,
),
TrackItem(
id: "wYV9GxkHdRE",
name: "Kapitel 20 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(209),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(20),
by_va: false,
),
TrackItem(
id: "wbrz2yUKiwo",
name: "Kapitel 21 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(148),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(21),
by_va: false,
),
TrackItem(
id: "_MUx8LqzuY8",
name: "Kapitel 22 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(22),
by_va: false,
),
TrackItem(
id: "s0xXo8ftgCA",
name: "Kapitel 23 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(134),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(23),
by_va: false,
),
TrackItem(
id: "6Q_etK9rgV8",
name: "Kapitel 24 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(203),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(24),
by_va: false,
),
TrackItem(
id: "4pwRZBhZH6Y",
name: "Kapitel 25 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(128),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(25),
by_va: false,
),
TrackItem(
id: "O75q5a1s02E",
name: "Kapitel 26 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(148),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(26),
by_va: false,
),
TrackItem(
id: "KSD9dI_ZgPQ",
name: "Kapitel 27 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(185),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(27),
by_va: false,
),
],
variants: [],
)

View file

@ -3,36 +3,36 @@ source: tests/youtube.rs
expression: album
---
MusicAlbum(
id: "MPREb_cwzk8EUwypZ",
playlist_id: Some("OLAK5uy_kODvYZ5CEpYdtd4VPsmg0eRTlpazG0dvA"),
id: "MPREb_aDDw2kVEFtM",
playlist_id: Some("OLAK5uy_kdNoJ-uBZrMFvZCHQpkCwz9kmAELojcKs"),
name: "[name]",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
description: "[description]",
album_type: Show,
year: Some(2022),
year: Some(2015),
by_va: false,
tracks: [
TrackItem(
id: "lSbKz5LWvKE",
id: "ZIjGPc6vG0Y",
name: "[name]",
duration: Some(229),
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -41,19 +41,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "fdO6gu4qjRw",
id: "Wqrg6ceVgK8",
name: "[name]",
duration: Some(235),
duration: Some(122),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -62,19 +62,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "muCxstXirvY",
id: "oWlZR0mU3fQ",
name: "[name]",
duration: Some(197),
duration: Some(125),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -83,19 +83,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "aG1N0vo__Ng",
id: "pcdWTaNK_w4",
name: "[name]",
duration: Some(186),
duration: Some(181),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -104,19 +104,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "roHhLNYS9yo",
id: "hJhcL8A4AEI",
name: "[name]",
duration: Some(188),
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -125,19 +125,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "nJ49NuLvcAw",
id: "ROwmS2PzXiE",
name: "[name]",
duration: Some(205),
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -146,19 +146,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Me119D570h0",
id: "u5fduXogSKU",
name: "[name]",
duration: Some(219),
duration: Some(143),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -167,19 +167,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "YXnRLK-qKG8",
id: "37aeBkbW5Y4",
name: "[name]",
duration: Some(240),
duration: Some(128),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -188,19 +188,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "A61wz1jz9X0",
id: "Hn2701yNst0",
name: "[name]",
duration: Some(239),
duration: Some(124),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -209,19 +209,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "u_S08EJOTUg",
id: "dQiTv0BdwwA",
name: "[name]",
duration: Some(197),
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -230,19 +230,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "0qwYJihV1EU",
id: "DXYXlAljscM",
name: "[name]",
duration: Some(201),
duration: Some(166),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -251,19 +251,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "zjhoyTnEzuQ",
id: "mfbmff4MQ2M",
name: "[name]",
duration: Some(187),
duration: Some(148),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -272,19 +272,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "oDjDd0UBzAY",
id: "mHkR5PHlHpQ",
name: "[name]",
duration: Some(183),
duration: Some(136),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -293,19 +293,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "_3-WVmqgi-Q",
id: "VBnKIZ1b5Cg",
name: "[name]",
duration: Some(193),
duration: Some(149),
cover: [],
artists: [
ArtistId(
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_cwzk8EUwypZ",
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
@ -313,6 +313,279 @@ MusicAlbum(
track_nr: Some(14),
by_va: false,
),
TrackItem(
id: "1iOIPRlLFgM",
name: "[name]",
duration: Some(121),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(15),
by_va: false,
),
TrackItem(
id: "z1nDiIcnxoM",
name: "[name]",
duration: Some(122),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(16),
by_va: false,
),
TrackItem(
id: "TNpe9wfbW9U",
name: "[name]",
duration: Some(120),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(17),
by_va: false,
),
TrackItem(
id: "9FtXAfifarI",
name: "[name]",
duration: Some(136),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(18),
by_va: false,
),
TrackItem(
id: "bRG8YR7ZBtI",
name: "[name]",
duration: Some(155),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(19),
by_va: false,
),
TrackItem(
id: "wYV9GxkHdRE",
name: "[name]",
duration: Some(209),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(20),
by_va: false,
),
TrackItem(
id: "wbrz2yUKiwo",
name: "[name]",
duration: Some(148),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(21),
by_va: false,
),
TrackItem(
id: "_MUx8LqzuY8",
name: "[name]",
duration: Some(123),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(22),
by_va: false,
),
TrackItem(
id: "s0xXo8ftgCA",
name: "[name]",
duration: Some(134),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(23),
by_va: false,
),
TrackItem(
id: "6Q_etK9rgV8",
name: "[name]",
duration: Some(203),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(24),
by_va: false,
),
TrackItem(
id: "4pwRZBhZH6Y",
name: "[name]",
duration: Some(128),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(25),
by_va: false,
),
TrackItem(
id: "O75q5a1s02E",
name: "[name]",
duration: Some(148),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(26),
by_va: false,
),
TrackItem(
id: "KSD9dI_ZgPQ",
name: "[name]",
duration: Some(185),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "[name]",
)),
view_count: "[view_count]",
is_video: false,
track_nr: Some(27),
by_va: false,
),
],
variants: [],
)

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -300,7 +300,6 @@ fn get_player(
#[case::censored("6SJNVb0GnPI", UnavailabilityReason::Deleted)]
// This video is geoblocked outside of Japan, so expect this test case to fail when using a Japanese IP address.
#[case::geoblock("sJL6WA-aGkQ", UnavailabilityReason::Geoblocked)]
#[case::drm("1bfOsni7EgI", UnavailabilityReason::Paid)]
#[case::private("s7_qI6_mIXc", UnavailabilityReason::Private)]
#[case::age_restricted("CUO8secmc0g", UnavailabilityReason::AgeRestricted)]
#[case::premium_only("3LvozjEOUxU", UnavailabilityReason::Premium)]
@ -316,6 +315,24 @@ fn get_player_error(#[case] id: &str, #[case] expect: UnavailabilityReason, rp:
}
}
#[rstest]
fn get_player_error_paid(rp: RustyPipe) {
let err = tokio_test::block_on(rp.query().player("N8ee9OLumrs")).unwrap_err();
match err {
// Sometimes YouTube shows an 'unplayable' error on paid videos
Error::Extraction(ExtractionError::Unavailable { reason, .. }) => {
assert!(
matches!(
reason,
UnavailabilityReason::Paid | UnavailabilityReason::Unplayable
),
"got {err}"
)
}
_ => panic!("got {err}"),
}
}
//#PLAYLIST
#[rstest]
@ -1448,12 +1465,12 @@ fn music_playlist_not_found(rp: RustyPipe) {
}
#[rstest]
#[case::one_artist("one_artist", "MPREb_nlBWQROfvjo")]
#[case::one_artist("one_artist", "MPREb_mXdQvyCqLnx")]
#[case::various_artists("various_artists", "MPREb_8QkDeEIawvX")]
#[case::single("single", "MPREb_bHfHGoy7vuv")]
#[case::ep("ep", "MPREb_u1I69lSAe5v")]
// #[case::audiobook("audiobook", "MPREb_gaoNzsQHedo")]
#[case::show("show", "MPREb_cwzk8EUwypZ")]
#[case::audiobook("audiobook", "MPREb_gaoNzsQHedo")]
#[case::show("show", "MPREb_aDDw2kVEFtM")]
#[case::unavailable("unavailable", "MPREb_AzuWg8qAVVl")]
#[case::no_year("no_year", "MPREb_F3Af9UZZVxX")]
#[case::version_no_artist("version_no_artist", "MPREb_h8ltx5oKvyY")]
@ -1495,7 +1512,7 @@ fn music_album_not_found(rp: RustyPipe) {
}
#[rstest]
#[case::basic_all("basic_all", "UC7cl4MmM6ZZ2TcFyMk_b4pg", true, 15, 2)]
#[case::basic_all("basic_all", "UCNezSmfQ8VIgvHUNj1Gzx6A", true, 15, 1)]
// TODO: wait for A/B test 6 to stabilize
// #[case::basic("basic", "UC7cl4MmM6ZZ2TcFyMk_b4pg", false, 15, 2)]
#[case::no_more_albums("no_more_albums", "UCOR4_bSVIXPsGa4BbCSt60Q", true, 15, 0)]
@ -1521,7 +1538,7 @@ fn music_artist(
assert!(artist.similar_artists.is_empty());
assert!(artist.subscriber_count.is_none());
} else {
assert_gte(artist.subscriber_count.unwrap(), 30000, "subscribers");
assert_gte(artist.subscriber_count.unwrap(), 10_000, "subscribers");
}
artist.tracks.iter().for_each(|t| {
@ -1888,12 +1905,12 @@ fn music_search_episode(rp: RustyPipe, #[case] videos: bool) {
false
)]
#[case::album(
"märchen enden",
"Märchen enden gut",
"MPREb_nlBWQROfvjo",
"Oonagh",
"UC_vmjW5e1xEHhYjY2a0kK1A",
2016,
"demi",
"Demi",
"MPREb_mXdQvyCqLnx",
"Demi Lovato",
"UCwem2sj-QUJCiWiPAo9JuAw",
2013,
AlbumType::Album,
true
)]