chore: introduce helper for better and central season/episode formatting

This commit is contained in:
WebStreamr 2025-12-01 10:51:44 +00:00
parent ef2b6721c7
commit 5c04104ad2
No known key found for this signature in database
17 changed files with 68 additions and 64 deletions

View file

@ -37,7 +37,7 @@ export class CineHDPlus extends Source {
const countryCodes = [($('.details__langs').html() as string).includes('Latino') ? CountryCode.mx : CountryCode.es];
const title = `${($('meta[property="og:title"]').attr('content') as string).trim()} S${tmdbId.season} E${tmdbId.episode}`;
const title = `${($('meta[property="og:title"]').attr('content') as string).trim()} ${tmdbId.formatSeasonAndEpisode()}`;
return Promise.all(
$(`[data-num="${tmdbId.season}x${tmdbId.episode}"]`)

View file

@ -36,7 +36,7 @@ export class Cuevana extends Source {
let title: string = name;
if (tmdbId.season) {
title += ` S${tmdbId.season} E${tmdbId.episode}`;
title += ` ${tmdbId.formatSeasonAndEpisode()}`;
pageUrl = await this.fetchEpisodeUrl(ctx, pageUrl, tmdbId);
if (!pageUrl) {

View file

@ -37,7 +37,7 @@ export class Eurostreaming extends Source {
const $ = cheerio.load(html);
const title = `${name} S${tmdbId.season} E${tmdbId.episode}`;
const title = `${name} ${tmdbId.formatSeasonAndEpisode()}`;
return Promise.all(
$(`[data-num="${tmdbId.season}x${tmdbId.episode}"]`)

View file

@ -44,7 +44,7 @@ export class Frembed extends Source {
}
const title = tmdbId.season
? `${json['title']} S${tmdbId.season} E${tmdbId.episode}`
? `${json['title']} ${tmdbId.formatSeasonAndEpisode()}`
: `${json['title']} (${year})`;
return urls.map(url => ({ url, meta: { countryCodes: [CountryCode.fr], referer: this.baseUrl, title } }));

View file

@ -48,7 +48,7 @@ export class HomeCine extends Source {
pageHtml = await this.fetcher.text(ctx, pageUrl);
}
const title = tmdbId.season ? `${name} S${tmdbId.season} E${tmdbId.episode}` : `${name} (${year})`;
const title = tmdbId.season ? `${name} ${tmdbId.formatSeasonAndEpisode()}` : `${name} (${year})`;
const $ = cheerio.load(pageHtml);

View file

@ -45,7 +45,7 @@ export class Movix extends Source {
const urls: URL[] = data['player_links'].map(({ decoded_url }) => new URL(decoded_url));
const title = tmdbId.season
? `${json['tmdb_details']['title']} S${tmdbId.season} E${tmdbId.episode}`
? `${json['tmdb_details']['title']} ${tmdbId.formatSeasonAndEpisode()}`
: `${json['tmdb_details']['title']} (${year})`;
return urls.map(url => ({ url, meta: { countryCodes: [CountryCode.fr], referer: data.iframe_src, title } }));

View file

@ -35,7 +35,7 @@ export class StreamKiste extends Source {
const $ = cheerio.load(html);
const title = `${($('meta[property="og:title"]').attr('content') as string).trim()} S${tmdbId.season} E${tmdbId.episode}`;
const title = `${($('meta[property="og:title"]').attr('content') as string).trim()} ${tmdbId.formatSeasonAndEpisode()}`;
return Promise.all(
$(`[data-num="${tmdbId.season}x${tmdbId.episode}"]`)

View file

@ -28,7 +28,7 @@ export class VixSrc extends Source {
let title: string = name;
if (tmdbId.season) {
title += ` S${tmdbId.season} E${tmdbId.episode}`;
title += ` ${tmdbId.formatSeasonAndEpisode()}`;
} else {
title += ` (${year})`;
}

View file

@ -8,7 +8,7 @@ exports[`CineHDPlus handle imdb babylon 5 s2e3 (es) 1`] = `
"es",
],
"referer": "https://cinehdplus.gratis/peliculas/19678-babylon-5-ver-online-hd.html",
"title": "Babylon 5 S2 E3",
"title": "Babylon 5 S02E03",
},
"url": "https://supervideo.tv/embed-1p0m1fi9mok8.html",
},
@ -18,7 +18,7 @@ exports[`CineHDPlus handle imdb babylon 5 s2e3 (es) 1`] = `
"es",
],
"referer": "https://cinehdplus.gratis/peliculas/19678-babylon-5-ver-online-hd.html",
"title": "Babylon 5 S2 E3",
"title": "Babylon 5 S02E03",
},
"url": "https://dropload.io/embed-957hny8mzrvh.html",
},
@ -33,7 +33,7 @@ exports[`CineHDPlus handle imdb black mirror s2e3 (mx) 1`] = `
"mx",
],
"referer": "https://cinehdplus.gratis/peliculas/9582-black-mirror-ver-online-hd.html",
"title": "Black Mirror S2 E3",
"title": "Black Mirror S02E03",
},
"url": "https://supervideo.tv/embed-avmgppo37sx1.html",
},
@ -43,7 +43,7 @@ exports[`CineHDPlus handle imdb black mirror s2e3 (mx) 1`] = `
"mx",
],
"referer": "https://cinehdplus.gratis/peliculas/9582-black-mirror-ver-online-hd.html",
"title": "Black Mirror S2 E3",
"title": "Black Mirror S02E03",
},
"url": "https://dropload.io/embed-t058ulwwkwn6.html",
},

View file

@ -323,7 +323,7 @@ exports[`Cuevana handle la frontera s1e1 1`] = `
"es",
],
"referer": "https://ww1.cuevana3.is/episodio/la-frontera-temporada-1-episodio-1",
"title": "La frontera S1 E1",
"title": "La frontera S01E01",
},
"url": "https://streamwish.to/e/tpzbrzz7p41k",
},
@ -333,7 +333,7 @@ exports[`Cuevana handle la frontera s1e1 1`] = `
"es",
],
"referer": "https://ww1.cuevana3.is/episodio/la-frontera-temporada-1-episodio-1",
"title": "La frontera S1 E1",
"title": "La frontera S01E01",
},
"url": "https://filemoon.sx/e/nhbmj6o6zl0l",
},
@ -343,7 +343,7 @@ exports[`Cuevana handle la frontera s1e1 1`] = `
"es",
],
"referer": "https://ww1.cuevana3.is/episodio/la-frontera-temporada-1-episodio-1",
"title": "La frontera S1 E1",
"title": "La frontera S01E01",
},
"url": "https://vidhidepro.com/v/x5w6b0wys1fs",
},
@ -353,7 +353,7 @@ exports[`Cuevana handle la frontera s1e1 1`] = `
"es",
],
"referer": "https://ww1.cuevana3.is/episodio/la-frontera-temporada-1-episodio-1",
"title": "La frontera S1 E1",
"title": "La frontera S01E01",
},
"url": "https://voe.sx/e/nfal9zqu9yvy",
},
@ -363,7 +363,7 @@ exports[`Cuevana handle la frontera s1e1 1`] = `
"es",
],
"referer": "https://ww1.cuevana3.is/episodio/la-frontera-temporada-1-episodio-1",
"title": "La frontera S1 E1",
"title": "La frontera S01E01",
},
"url": "https://doodstream.com/e/dyvg7ofnnqgi",
},
@ -373,7 +373,7 @@ exports[`Cuevana handle la frontera s1e1 1`] = `
"es",
],
"referer": "https://ww1.cuevana3.is/episodio/la-frontera-temporada-1-episodio-1",
"title": "La frontera S1 E1",
"title": "La frontera S01E01",
},
"url": "https://waaw.to/f/goypdL0qGqks",
},
@ -388,7 +388,7 @@ exports[`Cuevana handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://ww1.cuevana3.is/episodio/the-walking-dead-temporada-2-episodio-1",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://streamwish.to/e/gudk6hvc4qwl",
},
@ -398,7 +398,7 @@ exports[`Cuevana handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://ww1.cuevana3.is/episodio/the-walking-dead-temporada-2-episodio-1",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://filemoon.sx/e/kp39yor1z0js",
},
@ -408,7 +408,7 @@ exports[`Cuevana handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://ww1.cuevana3.is/episodio/the-walking-dead-temporada-2-episodio-1",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://voe.sx/e/4ahrkbnofnty",
},
@ -418,7 +418,7 @@ exports[`Cuevana handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://ww1.cuevana3.is/episodio/the-walking-dead-temporada-2-episodio-1",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://doodstream.com/e/wvk23p39ikyd",
},
@ -428,7 +428,7 @@ exports[`Cuevana handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://ww1.cuevana3.is/episodio/the-walking-dead-temporada-2-episodio-1",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://streamtape.com/e/qMjrKleBMpCLO0",
},
@ -438,7 +438,7 @@ exports[`Cuevana handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://ww1.cuevana3.is/episodio/the-walking-dead-temporada-2-episodio-1",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://filelions.to/v/rvyogjvsejlh",
},

View file

@ -8,7 +8,7 @@ exports[`Eurostreaming alien earth s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/4331-alien-pianeta-terra-streaming-streaming.html",
"title": "Alien - Pianeta Terra S1 E1",
"title": "Alien - Pianeta Terra S01E01",
},
"url": "https://supervideo.cc/e/lsz10iyul3ot",
},
@ -18,7 +18,7 @@ exports[`Eurostreaming alien earth s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/4331-alien-pianeta-terra-streaming-streaming.html",
"title": "Alien - Pianeta Terra S1 E1",
"title": "Alien - Pianeta Terra S01E01",
},
"url": "https://dropload.tv/e/xjbjskdi9tuj",
},
@ -33,7 +33,7 @@ exports[`Eurostreaming game of thrones s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/194-visualizza-game-of-thrones-il-trono-di-spade-5-streaming.html",
"title": "Il Trono di Spade S1 E1",
"title": "Il Trono di Spade S01E01",
},
"url": "https://supervideo.cc/e/05jfivnr5hiw",
},
@ -43,7 +43,7 @@ exports[`Eurostreaming game of thrones s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/194-visualizza-game-of-thrones-il-trono-di-spade-5-streaming.html",
"title": "Il Trono di Spade S1 E1",
"title": "Il Trono di Spade S01E01",
},
"url": "https://dropload.io/embed-dub8oh3k3yk5.html",
},
@ -58,7 +58,7 @@ exports[`Eurostreaming handle imdb black mirror s2e4 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/284-black-mirror-streaming-streaming.html",
"title": "Black Mirror S2 E4",
"title": "Black Mirror S02E04",
},
"url": "https://supervideo.cc/e/anf0clp2vb6y",
},
@ -68,7 +68,7 @@ exports[`Eurostreaming handle imdb black mirror s2e4 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/284-black-mirror-streaming-streaming.html",
"title": "Black Mirror S2 E4",
"title": "Black Mirror S02E04",
},
"url": "https://dropload.io/embed-978xyyxi3ldq.html",
},
@ -83,7 +83,7 @@ exports[`Eurostreaming handle lost s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/496-lost-streaming.html",
"title": "Lost S1 E1",
"title": "Lost S01E01",
},
"url": "https://supervideo.cc/e/lgslt2lst4jv",
},
@ -93,7 +93,7 @@ exports[`Eurostreaming handle lost s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/496-lost-streaming.html",
"title": "Lost S1 E1",
"title": "Lost S01E01",
},
"url": "https://dropload.io/embed-vabynwo8glxz.html",
},
@ -108,7 +108,7 @@ exports[`Eurostreaming last of us s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/2605-the-last-of-us-streamingcommunity-streaming.html",
"title": "The Last of Us S1 E1",
"title": "The Last of Us S01E01",
},
"url": "https://supervideo.cc/e/ic1mmvrh5xv6",
},
@ -118,7 +118,7 @@ exports[`Eurostreaming last of us s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/2605-the-last-of-us-streamingcommunity-streaming.html",
"title": "The Last of Us S1 E1",
"title": "The Last of Us S01E01",
},
"url": "https://dropload.io/embed-uyzfrh62n31l.html",
},
@ -133,7 +133,7 @@ exports[`Eurostreaming wednesday s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/2529-mercoledi-wednesday-streaming.html",
"title": "Mercoledì S1 E1",
"title": "Mercoledì S01E01",
},
"url": "https://supervideo.cc/e/n6i7qyxpkw2e",
},
@ -143,7 +143,7 @@ exports[`Eurostreaming wednesday s1e1 1`] = `
"it",
],
"referer": "https://eurostreaming.luxe/stream/2529-mercoledi-wednesday-streaming.html",
"title": "Mercoledì S1 E1",
"title": "Mercoledì S01E01",
},
"url": "https://dropload.tv/e/fkbw1uszc0nh",
},

View file

@ -63,7 +63,7 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://dsvplay.com/e/dfx8me4un4ul",
},
@ -73,7 +73,7 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://netu.fremtv.lol/e/0DFgfkcXOsDP",
},
@ -83,7 +83,7 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://christopheruntilpoint.com/e/cqy9oue7sv0g",
},
@ -93,7 +93,7 @@ exports[`Frembed handle imdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://ds2play.com/e/fzfvfq3ngig0",
},
@ -108,7 +108,7 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://dsvplay.com/e/dfx8me4un4ul",
},
@ -118,7 +118,7 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://netu.fremtv.lol/e/0DFgfkcXOsDP",
},
@ -128,7 +128,7 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://christopheruntilpoint.com/e/cqy9oue7sv0g",
},
@ -138,7 +138,7 @@ exports[`Frembed handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://frembed.my",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://ds2play.com/e/fzfvfq3ngig0",
},

View file

@ -78,7 +78,7 @@ exports[`HomeCine handle marvel - the punisher 1`] = `
"es",
],
"referer": "https://www3.homecine.to/series/marvel-the-punisher",
"title": "Marvel - The Punisher S1 E1",
"title": "Marvel - The Punisher S01E01",
},
"url": "https://fastream.to/embed-ujq9uojoftog.html",
},
@ -93,7 +93,7 @@ exports[`HomeCine handle walking dead s1e1 1`] = `
"mx",
],
"referer": "https://www3.homecine.to/series/serie-the-walking-dead-cualquier-idioma",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://fastream.to/embed-nkztf1memuca.html",
},
@ -103,7 +103,7 @@ exports[`HomeCine handle walking dead s1e1 1`] = `
"es",
],
"referer": "https://www3.homecine.to/series/serie-the-walking-dead-cualquier-idioma",
"title": "The Walking Dead S1 E1",
"title": "The Walking Dead S01E01",
},
"url": "https://fastream.to/embed-5bv96pdifz0b.html",
},

View file

@ -133,7 +133,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://uqload.net/embed-xjmhb7rbzdjh.html",
},
@ -143,7 +143,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://lulustream.com/e/c3defa2cbtmm",
},
@ -153,7 +153,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://wishonly.site/e/bzfdmjlrsqxk",
},
@ -163,7 +163,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://vidoza.net/embed-i2e8gn4m64e1.html",
},
@ -173,7 +173,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://filemoon.sx/e/0iuzfpt5cbx6",
},
@ -183,7 +183,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://voe.sx/e/mustkdlxo67t",
},
@ -193,7 +193,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "http://vidmoly.me/embed-2rls953tvhxc.html",
},
@ -203,7 +203,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://waaw.to/f/GdQ6mHpxPdd8",
},
@ -213,7 +213,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://veev.to/e/nifwerilwo0i",
},
@ -223,7 +223,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://listeamed.net/e/8ozgENePwdLxmjA",
},
@ -233,7 +233,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://coflix.upn.one/#x63hig",
},
@ -243,7 +243,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://do7go.com/e/2zn4y7ueq1ta",
},
@ -253,7 +253,7 @@ exports[`Movix handle tmdb black mirror s4e2 1`] = `
"fr",
],
"referer": "https://lecteurvideo.com/embed.php?id=17320&ads=true",
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://movearnpre.com/embed/eiel2p4z74kp",
},

View file

@ -8,7 +8,7 @@ exports[`StreamKiste handle black mirror s2e4 1`] = `
"de",
],
"referer": "https://streamkiste.taxi/movie/29992-black-mirror-stream-kostenlos.html",
"title": "Black Mirror S2 E4",
"title": "Black Mirror S02E04",
},
"url": "https://supervideo.cc/embed-22go50mon0ke.html",
},
@ -18,7 +18,7 @@ exports[`StreamKiste handle black mirror s2e4 1`] = `
"de",
],
"referer": "https://streamkiste.taxi/movie/29992-black-mirror-stream-kostenlos.html",
"title": "Black Mirror S2 E4",
"title": "Black Mirror S02E04",
},
"url": "https://dropload.io/embed-jvjwrkpijr0f.html",
},
@ -33,7 +33,7 @@ exports[`StreamKiste handle monster: the ed gein story s1e2 1`] = `
"de",
],
"referer": "https://streamkiste.taxi/movie/40087-monster-die-geschichte-von-ed-gein-stream-kostenlos.html",
"title": "Monster: Die Geschichte von Ed Gein S1 E2",
"title": "Monster: Die Geschichte von Ed Gein S01E02",
},
"url": "https://supervideo.cc/embed-lfwd3ytzsyry.html",
},

View file

@ -7,7 +7,7 @@ exports[`VixSrc handle imdb black mirror s4e2 1`] = `
"countryCodes": [
"multi",
],
"title": "Black Mirror S4 E2",
"title": "Black Mirror S04E02",
},
"url": "https://vixsrc.to/tv/42009/4/2",
},

View file

@ -26,4 +26,8 @@ export class TmdbId {
public toString(): string {
return this.season ? `${this.id}:${this.season}:${this.episode}` : `${this.id}`;
}
public formatSeasonAndEpisode(): string {
return `S${String(this.season).padStart(2, '0')}E${String(this.episode).padStart(2, '0')}`;
}
}