Compare commits

..

No commits in common. "7ca17f725ac963761afe8eb9d2151b93ca50ec84" and "22deccb4081f86ac479c6824d7a2d4ccebc2dbb9" have entirely different histories.

10 changed files with 1894 additions and 3926 deletions

View file

@ -1,4 +1,4 @@
steps:
pipeline:
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_mXdQvyCqLnx",
playlist_id: Some("OLAK5uy_mAg4o-PpgUtVY97PDxaY3DRTZt37WUDaQ"),
name: "Demi",
id: "MPREb_nlBWQROfvjo",
playlist_id: Some("OLAK5uy_myZkBX2d2TzcrlQhIwLy3hCj2MkAMaPR4"),
name: "Märchen enden gut",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
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)"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
description: None,
album_type: Album,
year: Some(2013),
year: Some(2016),
by_va: false,
tracks: [
TrackItem(
id: "8DmPZaCLMcE",
name: "Heart Attack",
duration: Some(211),
id: "g0iRiJ_ck48",
name: "Aulë und Yavanna",
duration: Some(217),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -41,20 +41,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "RRE0hz60t8I",
name: "Made In The USA",
duration: Some(197),
id: "rREEBXp0y9s",
name: "Numenor",
duration: Some(225),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -62,20 +62,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "O38fBJpWqGM",
name: "Without The Love",
duration: Some(236),
id: "zvU5Y8Q19hU",
name: "Das Mädchen und die Liebe (feat. Santiano)",
duration: Some(177),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -83,20 +83,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "BB1Q5XjCOho",
name: "Neon Lights",
duration: Some(234),
id: "ARKLrzzTQA0",
name: "Niënna",
duration: Some(216),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -104,20 +104,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "0VOm-MoZ3Xg",
name: "Two Pieces",
duration: Some(266),
id: "tstLgN8A_Ng",
name: "Der fahle Mond",
duration: Some(269),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -125,20 +125,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "vvm-XtXQ7wI",
name: "Nightingale",
duration: Some(217),
id: "k2DjgQOY3Ts",
name: "Weise den Weg",
duration: Some(203),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -146,20 +146,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "CJYhllodSAc",
name: "In Case",
duration: Some(215),
id: "azHwhecxEsI",
name: "Zeit der Sommernächte",
duration: Some(186),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -167,20 +167,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "tTmJoiCIebg",
name: "Really Don\'t Care (feat. Cher Lloyd)",
duration: Some(202),
id: "_FcsdYIQ2co",
name: "Märchen enden gut",
duration: Some(227),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -188,20 +188,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "qmGtn0TQ8Fk",
name: "Fire Starter",
duration: Some(205),
id: "27bOWEbshyE",
name: "Das Mädchen und der Tod",
duration: Some(208),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -209,20 +209,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Bb_j4TTlEZA",
name: "Something That We\'re Not",
duration: Some(198),
id: "riD_3oZwt8w",
name: "Wir sehn uns wieder",
duration: Some(212),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -230,20 +230,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "rVey1Qgn1vc",
name: "Never Been Hurt",
duration: Some(237),
id: "8GNvjF3no9s",
name: "Tanz mit mir",
duration: Some(180),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -251,20 +251,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "mdXNWcYYZ10",
name: "Shouldn\'t Come Back",
duration: Some(230),
id: "YHMFzf1uN2U",
name: "Nachtigall",
duration: Some(219),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
view_count: "[view_count]",
is_video: false,
@ -272,50 +272,155 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "yX40-XWjWe0",
name: "Warrior",
duration: Some(232),
id: "jvV-z5F3oAo",
name: "Gayatri Mantra",
duration: Some(278),
cover: [],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album: Some(AlbumId(
id: "MPREb_mXdQvyCqLnx",
name: "Demi",
id: "MPREb_nlBWQROfvjo",
name: "Märchen enden gut",
)),
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_bURBKIaURqK",
name: "Demi (Deluxe)",
id: "MPREb_jk6Msw8izou",
name: "Märchen enden gut (Nyáre Ranta (Märchenedition))",
cover: [
Thumbnail(
url: "https://lh3.googleusercontent.com/p6Fy9_hfUY-Y6BXzdsIfOKpSZBhjGkDrpPcbA8DNrR1zvCFUL7p3cCeUywx8PxQ6FX7eb30MsWq3fpn2=w226-h226-l90-rj",
url: "https://lh3.googleusercontent.com/BKgnW_-hapCHk599AtRfTYZGdXVIo0C4bJp1Bh7qUpGK7fNAXGW8Bhv2x-ukeFM8cuxKbGqqGaTo8fZASA=w226-h226-l90-rj",
width: 226,
height: 226,
),
Thumbnail(
url: "https://lh3.googleusercontent.com/p6Fy9_hfUY-Y6BXzdsIfOKpSZBhjGkDrpPcbA8DNrR1zvCFUL7p3cCeUywx8PxQ6FX7eb30MsWq3fpn2=w544-h544-l90-rj",
url: "https://lh3.googleusercontent.com/BKgnW_-hapCHk599AtRfTYZGdXVIo0C4bJp1Bh7qUpGK7fNAXGW8Bhv2x-ukeFM8cuxKbGqqGaTo8fZASA=w544-h544-l90-rj",
width: 544,
height: 544,
),
],
artists: [
ArtistId(
id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
name: "Demi Lovato",
id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
name: "Oonagh",
),
],
artist_id: Some("UCwem2sj-QUJCiWiPAo9JuAw"),
artist_id: Some("UC_vmjW5e1xEHhYjY2a0kK1A"),
album_type: Album,
year: None,
by_va: false,

View file

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

View file

@ -3,37 +3,37 @@ source: tests/youtube.rs
expression: album
---
MusicAlbum(
id: "MPREb_aDDw2kVEFtM",
playlist_id: Some("OLAK5uy_kdNoJ-uBZrMFvZCHQpkCwz9kmAELojcKs"),
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
playlist_id: Some("OLAK5uy_kODvYZ5CEpYdtd4VPsmg0eRTlpazG0dvA"),
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
description: None,
album_type: Show,
year: Some(2015),
year: Some(2022),
by_va: false,
tracks: [
TrackItem(
id: "ZIjGPc6vG0Y",
name: "Kapitel 1 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
id: "lSbKz5LWvKE",
name: "Achtung, Waldbrand - Teil 1",
duration: Some(229),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -41,20 +41,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Wqrg6ceVgK8",
name: "Kapitel 2 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(122),
id: "fdO6gu4qjRw",
name: "Achtung, Waldbrand - Teil 2",
duration: Some(235),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -62,20 +62,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "oWlZR0mU3fQ",
name: "Kapitel 3 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(125),
id: "muCxstXirvY",
name: "Achtung, Waldbrand - Teil 3",
duration: Some(197),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -83,20 +83,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "pcdWTaNK_w4",
name: "Kapitel 4 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(181),
id: "aG1N0vo__Ng",
name: "Eiszeit - Teil 1",
duration: Some(186),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -104,20 +104,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "hJhcL8A4AEI",
name: "Kapitel 5 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
id: "roHhLNYS9yo",
name: "Eiszeit - Teil 2",
duration: Some(188),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -125,20 +125,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "ROwmS2PzXiE",
name: "Kapitel 6 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
id: "nJ49NuLvcAw",
name: "Eiszeit - Teil 3",
duration: Some(205),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -146,20 +146,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "u5fduXogSKU",
name: "Kapitel 7 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(143),
id: "Me119D570h0",
name: "Eiszeit - Teil 4",
duration: Some(219),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -167,20 +167,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "37aeBkbW5Y4",
name: "Kapitel 8 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(128),
id: "YXnRLK-qKG8",
name: "Im Sinkloch - Teil 1",
duration: Some(240),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -188,20 +188,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Hn2701yNst0",
name: "Kapitel 9 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(124),
id: "A61wz1jz9X0",
name: "Im Sinkloch - Teil 2",
duration: Some(239),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -209,20 +209,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "dQiTv0BdwwA",
name: "Kapitel 10 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(123),
id: "u_S08EJOTUg",
name: "Im Sinkloch - Teil 3",
duration: Some(197),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -230,20 +230,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "DXYXlAljscM",
name: "Kapitel 11 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(166),
id: "0qwYJihV1EU",
name: "Vorsicht, heiß - Teil 1",
duration: Some(201),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -251,20 +251,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "mfbmff4MQ2M",
name: "Kapitel 12 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(148),
id: "zjhoyTnEzuQ",
name: "Vorsicht, heiß - Teil 2",
duration: Some(187),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -272,20 +272,20 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "mHkR5PHlHpQ",
name: "Kapitel 13 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(136),
id: "oDjDd0UBzAY",
name: "Vorsicht, heiß - Teil 3",
duration: Some(183),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
view_count: "[view_count]",
is_video: false,
@ -293,299 +293,26 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "VBnKIZ1b5Cg",
name: "Kapitel 14 - Die Abenteuer des Odysseus. Hörspiel",
duration: Some(149),
id: "_3-WVmqgi-Q",
name: "Vorsicht, heiß - Teil 4",
duration: Some(193),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
name: "Dimiter Inkiow",
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "Kingdom Force",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
name: "Die Abenteuer des Odysseus. Hörspiel",
id: "MPREb_cwzk8EUwypZ",
name: "Folge 2: Eiszeit (Das Original-Hörspiel zur TV-Serie)",
)),
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_aDDw2kVEFtM",
playlist_id: Some("OLAK5uy_kdNoJ-uBZrMFvZCHQpkCwz9kmAELojcKs"),
id: "MPREb_cwzk8EUwypZ",
playlist_id: Some("OLAK5uy_kODvYZ5CEpYdtd4VPsmg0eRTlpazG0dvA"),
name: "[name]",
cover: "[cover]",
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
description: "[description]",
album_type: Show,
year: Some(2015),
year: Some(2022),
by_va: false,
tracks: [
TrackItem(
id: "ZIjGPc6vG0Y",
id: "lSbKz5LWvKE",
name: "[name]",
duration: Some(123),
duration: Some(229),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -41,19 +41,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Wqrg6ceVgK8",
id: "fdO6gu4qjRw",
name: "[name]",
duration: Some(122),
duration: Some(235),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -62,19 +62,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "oWlZR0mU3fQ",
id: "muCxstXirvY",
name: "[name]",
duration: Some(125),
duration: Some(197),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -83,19 +83,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "pcdWTaNK_w4",
id: "aG1N0vo__Ng",
name: "[name]",
duration: Some(181),
duration: Some(186),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -104,19 +104,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "hJhcL8A4AEI",
id: "roHhLNYS9yo",
name: "[name]",
duration: Some(123),
duration: Some(188),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -125,19 +125,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "ROwmS2PzXiE",
id: "nJ49NuLvcAw",
name: "[name]",
duration: Some(123),
duration: Some(205),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -146,19 +146,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "u5fduXogSKU",
id: "Me119D570h0",
name: "[name]",
duration: Some(143),
duration: Some(219),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -167,19 +167,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "37aeBkbW5Y4",
id: "YXnRLK-qKG8",
name: "[name]",
duration: Some(128),
duration: Some(240),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -188,19 +188,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "Hn2701yNst0",
id: "A61wz1jz9X0",
name: "[name]",
duration: Some(124),
duration: Some(239),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -209,19 +209,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "dQiTv0BdwwA",
id: "u_S08EJOTUg",
name: "[name]",
duration: Some(123),
duration: Some(197),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -230,19 +230,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "DXYXlAljscM",
id: "0qwYJihV1EU",
name: "[name]",
duration: Some(166),
duration: Some(201),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -251,19 +251,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "mfbmff4MQ2M",
id: "zjhoyTnEzuQ",
name: "[name]",
duration: Some(148),
duration: Some(187),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -272,19 +272,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "mHkR5PHlHpQ",
id: "oDjDd0UBzAY",
name: "[name]",
duration: Some(136),
duration: Some(183),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -293,19 +293,19 @@ MusicAlbum(
by_va: false,
),
TrackItem(
id: "VBnKIZ1b5Cg",
id: "_3-WVmqgi-Q",
name: "[name]",
duration: Some(149),
duration: Some(193),
cover: [],
artists: [
ArtistId(
id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
name: "[name]",
),
],
artist_id: Some("UCAotr_lJ3JJ79DPRlA7k47w"),
artist_id: Some("UCNoyEM0e2A7WlsBmP2w3avg"),
album: Some(AlbumId(
id: "MPREb_aDDw2kVEFtM",
id: "MPREb_cwzk8EUwypZ",
name: "[name]",
)),
view_count: "[view_count]",
@ -313,279 +313,6 @@ 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,6 +300,7 @@ 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)]
@ -315,24 +316,6 @@ 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]
@ -1465,12 +1448,12 @@ fn music_playlist_not_found(rp: RustyPipe) {
}
#[rstest]
#[case::one_artist("one_artist", "MPREb_mXdQvyCqLnx")]
#[case::one_artist("one_artist", "MPREb_nlBWQROfvjo")]
#[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_aDDw2kVEFtM")]
// #[case::audiobook("audiobook", "MPREb_gaoNzsQHedo")]
#[case::show("show", "MPREb_cwzk8EUwypZ")]
#[case::unavailable("unavailable", "MPREb_AzuWg8qAVVl")]
#[case::no_year("no_year", "MPREb_F3Af9UZZVxX")]
#[case::version_no_artist("version_no_artist", "MPREb_h8ltx5oKvyY")]
@ -1512,7 +1495,7 @@ fn music_album_not_found(rp: RustyPipe) {
}
#[rstest]
#[case::basic_all("basic_all", "UCNezSmfQ8VIgvHUNj1Gzx6A", true, 15, 1)]
#[case::basic_all("basic_all", "UC7cl4MmM6ZZ2TcFyMk_b4pg", true, 15, 2)]
// 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)]
@ -1538,7 +1521,7 @@ fn music_artist(
assert!(artist.similar_artists.is_empty());
assert!(artist.subscriber_count.is_none());
} else {
assert_gte(artist.subscriber_count.unwrap(), 10_000, "subscribers");
assert_gte(artist.subscriber_count.unwrap(), 30000, "subscribers");
}
artist.tracks.iter().for_each(|t| {
@ -1905,12 +1888,12 @@ fn music_search_episode(rp: RustyPipe, #[case] videos: bool) {
false
)]
#[case::album(
"demi",
"Demi",
"MPREb_mXdQvyCqLnx",
"Demi Lovato",
"UCwem2sj-QUJCiWiPAo9JuAw",
2013,
"märchen enden",
"Märchen enden gut",
"MPREb_nlBWQROfvjo",
"Oonagh",
"UC_vmjW5e1xEHhYjY2a0kK1A",
2016,
AlbumType::Album,
true
)]