diff --git a/sites/watch.whaletvplus.com/watch.whaletvplus.com.channels.xml b/sites/watch.whaletvplus.com/watch.whaletvplus.com.channels.xml index 3fb2a126..708463c7 100644 --- a/sites/watch.whaletvplus.com/watch.whaletvplus.com.channels.xml +++ b/sites/watch.whaletvplus.com/watch.whaletvplus.com.channels.xml @@ -13,7 +13,7 @@ DDR TV-Archiv Deluxe DeutschPop Deluxe Lounge HD - euronews deutsch + euronews deutsch Fabella Fantasja FIFA+ @@ -31,8 +31,8 @@ More Than Sports TV Motorvision Motorvision Classic - MovieSphere - Naruto + Nachrichten 360 + Naruto Netzkino One Terra Red Bull TV @@ -54,7 +54,6 @@ wedotv Movies wedotv Sports wedotv True Stories - Wicked Tuna Xplore Free Yu-Gi-Oh! 5-Minute Crafts @@ -77,7 +76,7 @@ Afroland Thriller AfroLandTV AllHipHop - Are We There Yet? + Arab Heritage TV Autentic History Autentic Travel AWE Plus @@ -88,8 +87,11 @@ Billiards TV Bloomberg Originals Bloomberg TV+ + Bollywood 4U Brat TV - China Travel + China Travel + Chrono TV + CNA Originals Confess by Nosey Cooking Panda Craftsy TV @@ -97,29 +99,38 @@ Daystar DeFiance News DFB Play TV - Discovering China - Drone TV + Discovering China + DIY Art + Docu Vision + Drive+Speed + Drone TV Drool Earth Day 365 + Encore+ + Escape TV euronews english FailArmy FIFA+ Filmzie France 24 + FUEL TV + FUEL TV FUEL TV FUEL TV FUEL TV + FUEL TV FUEL TV FUEL TV FUEL TV FUEL TV FUEL TV - FUEL TV Europe - FUEL TV US/MX - Ghost Hunters Global Biz + Goal TV GoUSA TV Gusto TV + Homerun TV + Hoop TV + Hunt Fish TV In Touch + INFAST INTER 24/7 @@ -129,13 +140,12 @@ INWONDER Judge Nosey Just For Laughs Gags - Just For Laughs TV + Just For Laughs TV LatiNation - LatinoCircuit TV - Loop Trivia Loupe Art Love The Planet Love Wine + Mercury+ Moonball Sports TV MotoRRacing Motorvision @@ -145,8 +155,7 @@ Movie Music Movie Music Movieitaly Channel - MovieSphere - NEW KFOOD + NEW KFOOD Newsmax NHRA TV Nolly Africa HD @@ -154,23 +163,25 @@ Nosey NTD OAN Plus - Party Tyme Karaoke + Peekflick People are Awesome Pet Collective + PLL Network PowerSports World Qwest TV RACER International - Red Bull TV Australia - Red Bull TV Europe - Red Bull TV UK + Red Bull TV + Red Bull TV + Red Bull TV Revry Global Revry Her - Revry News Royalworld - Nobility & Dynasties + Scifi World SHIFT SKWAD Smart Healthy Green Living + Space Series + Sport Fishing TV SportOutdoor.TV Stingray Cityscapes Stingray Cozy Café @@ -186,19 +197,19 @@ The Boat Show The Red Green Channel TidPix - Timber Kings time2Rlx Trace Sport Stars Trace UK Trace Urban Trailers - Travel & Food TV + Travel & Food TV Travelxp Travelxp TRT World + UnchainedTV Unleashed by DOGTV VladTV - WatchMojo + WatchMojo WaterBear Weather Spy wedotv Big Stories @@ -207,14 +218,14 @@ wedotv Big Stories wedotv Big Stories wedotv Big Stories + wedotv Movies wedotv Movies wedotv Movies wedotv Movies wedotv Movies wedotv Movies - wedotv Movies Europe + WeShort Whoa! That was Wild! - Wicked Tuna World Billiards TV World Poker Tour Yu-Gi-Oh! @@ -230,6 +241,7 @@ Box Cinema Box Gamers Box Playlist + CINDIE Cine en Español Cine Friki Cine Friki Latino @@ -240,7 +252,7 @@ Daystar Español Delito Docs & Historias - euronews español + euronews español FIFA+ FIFA+ Film&Co @@ -284,7 +296,7 @@ Drive TV Emotion'L Enquêtes De Choc - euronews français + euronews français FIFA+ France 24 Fréquence Novelas @@ -292,6 +304,7 @@ Homicide IntoCrime Love Crime & History + Mayday: Catastrophe Aérienne MotoRRacing Motorvision Motus @@ -306,7 +319,7 @@ Bizzarro Movies Cinema Italiano CineWestern - euronews italiano + euronews italiano FIFA+ Grandi Nomi Hip Hop TV @@ -314,8 +327,8 @@ INTER 24/7 InuYasha Love The Planet + Mayday: Disastro Aereo Per Caso TV - Risate Cult ’80 Rock TV Smile Soap Latino @@ -323,21 +336,22 @@ SportOutdoor.TV Storie Criminali The Boat Show + Totò & Co Trailers Velvet Viaggi & Sapori wedotv Movies Yu-Gi-Oh! - Food ON + Food ON NEW KPOP - Travel ON + Travel ON AUTO MOTOR OG SPORT - euronews português + euronews português Feliz7Play FIFA+ FreeTV Crime FreeTV Drama - Revry Brazil + Red Bull TV Sessão Trash Tastemade Brasil Tastemade Casa @@ -345,4 +359,4 @@ Trace Brasil Ubisoft TV Brasil World Poker Tour - + \ No newline at end of file diff --git a/sites/watch.whaletvplus.com/watch.whaletvplus.com.config.js b/sites/watch.whaletvplus.com/watch.whaletvplus.com.config.js index 80d4ce8c..c03efaa3 100644 --- a/sites/watch.whaletvplus.com/watch.whaletvplus.com.config.js +++ b/sites/watch.whaletvplus.com/watch.whaletvplus.com.config.js @@ -8,7 +8,6 @@ const HEADERS = { 'Origin': 'https://watch.whaletvplus.com' } const apiToken = '4ef13b5f3d2744e3b0a569feb8dde298' -const LOGO_BASE = 'https://d3b6luslimvglo.cloudfront.net/images/79/rlaxximages/channels-rescaled/icon-white/' let authTokenPromise = null @@ -70,6 +69,10 @@ module.exports = { program.episode = detail.episodeNumber || null program.sub_title = detail.prgTitle || detail.seriesTitle || null + if (program.title === program.sub_title) { + program.sub_title = null + } + if (detail.images && Array.isArray(detail.images)) { const bestImg = detail.images.find((i) => i.pimgWidth === '1920') || detail.images[0] if (bestImg) program.image = bestImg.pimgUrl @@ -106,7 +109,7 @@ module.exports = { lang: (ch.chlLangCode ? ch.chlLangCode.split('-')[0] : 'en'), site_id: ch.chlId, name: ch.chlName, - logo: ch.imageIdentifier ? `${LOGO_BASE}${ch.imageIdentifier}_white.png` : null + // logo: ch.imageIdentifier ? `https://d3b6luslimvglo.cloudfront.net/images/79/rlaxximages/channels-rescaled/icon-white/${ch.imageIdentifier}_white.png` : null }) } } diff --git a/sites/watch.whaletvplus.com/watch.whaletvplus.com.test.js b/sites/watch.whaletvplus.com/watch.whaletvplus.com.test.js index 869300e2..2aa5dce1 100644 --- a/sites/watch.whaletvplus.com/watch.whaletvplus.com.test.js +++ b/sites/watch.whaletvplus.com/watch.whaletvplus.com.test.js @@ -28,6 +28,20 @@ it('can generate valid url', () => { }) it('can parse response', async () => { + axios.get.mockImplementation((url) => { + if (url.includes('auth/access')) { + return Promise.resolve({ + data: { data: { token: 'mock_token' } } + }) + } + if (url.includes('epg/detail')) { + return Promise.resolve({ + data: { data: { prgDesc: 'Test Description' } } + }) + } + return Promise.resolve({ data: {} }) + }) + const json = JSON.parse(content) const firstChannel = json.data && json.data.length > 0 ? json.data[0] : null const validSiteId = firstChannel ? firstChannel.chlId : '878765717599035555' @@ -99,4 +113,22 @@ it('can parse channel list', async () => { site_id: expect.any(String), lang: expect.any(String) }) +}) + +it('can parse token', async () => { + jest.resetModules() + const { request } = require('./watch.whaletvplus.com.config.js') + const axios = require('axios') + + axios.get.mockImplementation((url) => { + if (url.includes('auth/access')) { + return Promise.resolve({ + data: { data: { token: 'test_token' } } + }) + } + return Promise.resolve({ data: {} }) + }) + + const headers = await request.headers() + expect(headers.token).toBe('test_token') }) \ No newline at end of file