From c88b3798f03974183666e7b0e6c3806aae477925 Mon Sep 17 00:00:00 2001
From: WebStreamr <210764791+webstreamr@users.noreply.github.com>
Date: Wed, 15 Oct 2025 20:16:56 +0000
Subject: [PATCH] fix(source): switch from imdb to tmdb search for CineHDPlus
---
src/source/CineHDPlus.test.ts | 12 +-
src/source/CineHDPlus.ts | 16 +-
...liculas19678-babylon-5-ver-online-hd.html} | 114 ++++----
...culas9582-black-mirror-ver-online-hd.html} | 104 ++++---
...tory12345678anddosearchandsubactionsearch} | 252 ++++++++---------
...iesstory3137anddosearchandsubactionsearch} | 256 +++++++++---------
...esstory42009anddosearchandsubactionsearch} | 256 +++++++++---------
.../__snapshots__/CineHDPlus.test.ts.snap | 8 +-
8 files changed, 525 insertions(+), 493 deletions(-)
rename src/source/__fixtures__/CineHDPlus/{https:cinehdplus.campeliculas19678-babylon-5-ver-online-hd.html => https:cinehdplus.gratispeliculas19678-babylon-5-ver-online-hd.html} (96%)
rename src/source/__fixtures__/CineHDPlus/{https:cinehdplus.campeliculas9582-black-mirror-ver-online-hd.html => https:cinehdplus.gratispeliculas9582-black-mirror-ver-online-hd.html} (93%)
rename src/source/__fixtures__/CineHDPlus/{https:cinehdplus.camseriesstorytt12345678anddosearchandsubactionsearch => https:cinehdplus.gratisseriesstory12345678anddosearchandsubactionsearch} (76%)
rename src/source/__fixtures__/CineHDPlus/{https:cinehdplus.camseriesstorytt0105946anddosearchandsubactionsearch => https:cinehdplus.gratisseriesstory3137anddosearchandsubactionsearch} (76%)
rename src/source/__fixtures__/CineHDPlus/{https:cinehdplus.camseriesstorytt2085059anddosearchandsubactionsearch => https:cinehdplus.gratisseriesstory42009anddosearchandsubactionsearch} (76%)
diff --git a/src/source/CineHDPlus.test.ts b/src/source/CineHDPlus.test.ts
index 9838f54..0079b9f 100644
--- a/src/source/CineHDPlus.test.ts
+++ b/src/source/CineHDPlus.test.ts
@@ -1,5 +1,5 @@
import { createTestContext } from '../test';
-import { FetcherMock, ImdbId } from '../utils';
+import { FetcherMock, TmdbId } from '../utils';
import { CineHDPlus } from './CineHDPlus';
const ctx = createTestContext({ es: 'on', mx: 'on' });
@@ -12,25 +12,25 @@ describe('CineHDPlus', () => {
});
test('handles non-existent series gracefully', async () => {
- const streams = await source.handle(ctx, 'series', new ImdbId('tt12345678', 1, 1));
+ const streams = await source.handle(ctx, 'series', new TmdbId(12345678, 1, 1));
expect(streams).toHaveLength(0);
});
test('handle imdb black mirror s2e3 (mx)', async () => {
- const streams = await source.handle(ctx, 'series', new ImdbId('tt2085059', 2, 3));
+ const streams = await source.handle(ctx, 'series', new TmdbId(42009, 2, 3));
expect(streams).toMatchSnapshot();
});
test('handle imdb babylon 5 s2e3 (es)', async () => {
- const streams = await source.handle(ctx, 'series', new ImdbId('tt0105946', 2, 3));
+ const streams = await source.handle(ctx, 'series', new TmdbId(3137, 2, 3));
expect(streams).toMatchSnapshot();
});
test('does not return mx results for es and vice-versa', async () => {
- const streamsEs = await source.handle({ ...ctx, ...{ config: { es: 'on' } } }, 'series', new ImdbId('tt2085059', 2, 3));
+ const streamsEs = await source.handle({ ...ctx, ...{ config: { es: 'on' } } }, 'series', new TmdbId(42009, 2, 3));
expect(streamsEs).toHaveLength(0);
- const streamsMx = await source.handle({ ...ctx, ...{ config: { mx: 'on' } } }, 'series', new ImdbId('tt0105946', 2, 3));
+ const streamsMx = await source.handle({ ...ctx, ...{ config: { mx: 'on' } } }, 'series', new TmdbId(3137, 2, 3));
expect(streamsMx).toHaveLength(0);
});
});
diff --git a/src/source/CineHDPlus.ts b/src/source/CineHDPlus.ts
index 56e64d4..ee7914b 100644
--- a/src/source/CineHDPlus.ts
+++ b/src/source/CineHDPlus.ts
@@ -1,7 +1,7 @@
import * as cheerio from 'cheerio';
import { ContentType } from 'stremio-addon-sdk';
import { Context, CountryCode } from '../types';
-import { Fetcher, getImdbId, Id, ImdbId } from '../utils';
+import { Fetcher, getTmdbId, Id, TmdbId } from '../utils';
import { Source, SourceResult } from './Source';
export class CineHDPlus extends Source {
@@ -13,7 +13,7 @@ export class CineHDPlus extends Source {
public readonly countryCodes: CountryCode[] = [CountryCode.es, CountryCode.mx];
- public readonly baseUrl = 'https://cinehdplus.cam';
+ public readonly baseUrl = 'https://cinehdplus.gratis';
private readonly fetcher: Fetcher;
@@ -24,9 +24,9 @@ export class CineHDPlus extends Source {
}
public async handleInternal(ctx: Context, _type: string, id: Id): Promise Era de la humanidad, diez años después de la guerra entre la tierra y los minbari. El proyecto Babylon era un sueño al que se le había dado forma. su objetivo: evitar otra guerra creando un lugar donde humanos y alienígenas pudieran solucionar sus diferencias pacíficamente. Es un punto de encuentro, un hogar lejos de casa para diplomáticos, estafadores, empresarios y vagabundos: humanos y alienígenas envueltos en dos millones y medio de toneladas de metal, solos en la oscuridad. Puede ser un lugar peligroso, pero es nuestra última esperanza de paz. Esta es la historia de la última de las estaciones Babylon. El año es 2258. El nombre del lugar es Babylon 5.
Black Mirror es una serie de televisión británica creada por Charlie Brooker que muestra el lado oscuro de la vida y la tecnología. La serie es producida por Zeppotron para Endemol. En cuanto al contenido del programa y la estructura, Brooker ha señalado que "cada episodio tiene un tono diferente, un entorno diferente, incluso una realidad diferente, pero todos son acerca de la forma en que vivimos ahora - y la forma en que podríamos estar viviendo en 10 minutos si somos torpes".