From bb6771f53952802370c3956d2c526fa23a3d3695 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 24 Jun 2024 16:49:35 +0300 Subject: [PATCH 1/2] Replaces icon with image --- sites/9tv.co.il/9tv.co.il.config.js | 4 +- sites/9tv.co.il/9tv.co.il.test.js | 4 +- sites/abc.net.au/abc.net.au.config.js | 4 +- sites/abc.net.au/abc.net.au.test.js | 2 +- sites/allente.dk/allente.dk.config.js | 2 +- sites/allente.dk/allente.dk.test.js | 3 +- sites/allente.fi/allente.fi.config.js | 2 +- sites/allente.fi/allente.fi.test.js | 3 +- sites/allente.no/allente.no.config.js | 2 +- sites/allente.no/allente.no.test.js | 3 +- sites/allente.se/allente.se.config.js | 2 +- sites/allente.se/allente.se.test.js | 3 +- sites/arirang.com/arirang.com.config.js | 4 +- sites/arirang.com/arirang.com.test.js | 3 +- sites/artonline.tv/artonline.tv.config.js | 6 +- sites/artonline.tv/artonline.tv.test.js | 2 +- .../cableplus.com.uy.config.js | 4 +- .../cableplus.com.uy/cableplus.com.uy.test.js | 4 +- .../canalplus-haiti.com.config.js | 4 +- .../canalplus-haiti.com.test.js | 3 +- sites/canalplus.com/canalplus.com.config.js | 4 +- sites/canalplus.com/canalplus.com.test.js | 6 +- .../chaines-tv.orange.fr.config.js | 4 +- .../chaines-tv.orange.fr.test.js | 2 +- .../content.astro.com.my.config.js | 2 +- .../content.astro.com.my.test.js | 2 +- sites/directv.com/directv.com.config.js | 4 +- sites/directv.com/directv.com.test.js | 5 +- sites/disneystar.com/disneystar.com.config.js | 2 +- sites/disneystar.com/disneystar.com.test.js | 3 +- sites/dstv.com/dstv.com.config.js | 4 +- sites/dstv.com/dstv.com.test.js | 6 +- sites/elcinema.com/elcinema.com.config.js | 4 +- sites/elcinema.com/elcinema.com.test.js | 6 +- .../entertainment.ie.config.js | 4 +- .../entertainment.ie/entertainment.ie.test.js | 6 +- sites/flixed.io/flixed.io.config.js | 4 +- sites/flixed.io/flixed.io.test.js | 2 +- sites/foxtel.com.au/foxtel.com.au.config.js | 4 +- sites/foxtel.com.au/foxtel.com.au.test.js | 3 +- sites/gatotv.com/gatotv.com.config.js | 8 +- sites/guidatv.sky.it/guidatv.sky.it.config.js | 4 +- sites/guidatv.sky.it/guidatv.sky.it.test.js | 3 +- sites/i24news.tv/i24news.tv.config.js | 4 +- sites/i24news.tv/i24news.tv.test.js | 3 +- sites/iltalehti.fi/iltalehti.fi.config.js | 4 +- sites/iltalehti.fi/iltalehti.fi.test.js | 3 +- sites/ionplustv.com/ionplustv.com.config.js | 4 +- sites/ionplustv.com/ionplustv.com.test.js | 3 +- sites/kan.org.il/kan.org.il.config.js | 2 +- sites/kan.org.il/kan.org.il.test.js | 2 +- sites/kplus.vn/kplus.vn.config.js | 2 +- sites/kplus.vn/kplus.vn.test.js | 5 +- sites/m.tving.com/m.tving.com.config.js | 4 +- sites/m.tving.com/m.tving.com.test.js | 2 +- sites/mako.co.il/mako.co.il.config.js | 2 +- sites/mako.co.il/mako.co.il.test.js | 2 +- sites/maxtvgo.mk/maxtvgo.mk.config.js | 4 +- sites/maxtvgo.mk/maxtvgo.mk.test.js | 6 +- sites/mediaklikk.hu/mediaklikk.hu.config.js | 10 +- sites/mediaklikk.hu/mediaklikk.hu.test.js | 3 +- sites/melita.com/melita.com.config.js | 4 +- sites/melita.com/melita.com.test.js | 3 +- sites/mewatch.sg/mewatch.sg.config.js | 2 +- sites/mewatch.sg/mewatch.sg.test.js | 3 +- sites/mi.tv/mi.tv.config.js | 8 +- sites/mi.tv/mi.tv.test.js | 6 +- .../mon-programme-tv.be.config.js | 4 +- .../mon-programme-tv.be.test.js | 6 +- sites/mtel.ba/mtel.ba.config.js | 2 +- sites/mtel.ba/mtel.ba.test.js | 2 +- sites/mts.rs/mts.rs.config.js | 2 +- sites/mts.rs/mts.rs.test.js | 3 +- sites/musor.tv/musor.tv.config.js | 4 +- sites/nostv.pt/nostv.pt.config.js | 22 +++-- sites/nostv.pt/nostv.pt.test.js | 14 +-- sites/novacyprus.com/novacyprus.com.config.js | 4 +- sites/novacyprus.com/novacyprus.com.test.js | 3 +- .../nuevosiglo.com.uy.config.js | 4 +- .../nuevosiglo.com.uy.test.js | 4 +- sites/pickx.be/pickx.be.config.js | 91 ++++++++++--------- sites/pickx.be/pickx.be.test.js | 20 ++-- sites/plex.tv/plex.tv.config.js | 2 +- sites/plex.tv/plex.tv.test.js | 2 +- .../programacion-tv.elpais.com.config.js | 4 +- .../programacion-tv.elpais.com.test.js | 2 +- .../programacion.tcc.com.uy.config.js | 4 +- .../programacion.tcc.com.uy.test.js | 6 +- .../programme-tv.net.config.js | 8 +- .../programme-tv.net/programme-tv.net.test.js | 6 +- .../programme-tv.vini.pf.config.js | 2 +- .../programme-tv.vini.pf.test.js | 9 +- sites/raiplay.it/raiplay.it.config.js | 4 +- sites/raiplay.it/raiplay.it.test.js | 2 +- sites/reportv.com.ar/reportv.com.ar.config.js | 6 +- sites/reportv.com.ar/reportv.com.ar.test.js | 4 +- sites/rotana.net/rotana.net.config.js | 17 ++-- sites/rotana.net/rotana.net.test.js | 4 +- sites/rthk.hk/rthk.hk.config.js | 4 +- sites/rthk.hk/rthk.hk.test.js | 4 +- sites/rtp.pt/rtp.pt.config.js | 4 +- sites/rtp.pt/rtp.pt.test.js | 2 +- sites/ruv.is/ruv.is.config.js | 4 +- sites/ruv.is/ruv.is.test.js | 3 +- sites/sat.tv/sat.tv.config.js | 4 +- sites/sat.tv/sat.tv.test.js | 11 ++- sites/sky.com/sky.com.config.js | 2 +- sites/sky.com/sky.com.test.js | 6 +- sites/sky.de/sky.de.config.js | 2 +- sites/sky.de/sky.de.test.js | 4 +- sites/taiwanplus.com/taiwanplus.com.config.js | 2 +- sites/taiwanplus.com/taiwanplus.com.test.js | 2 +- sites/tapdmv.com/tapdmv.com.config.js | 2 +- sites/tapdmv.com/tapdmv.com.test.js | 2 +- sites/teliatv.ee/teliatv.ee.config.js | 4 +- sites/teliatv.ee/teliatv.ee.test.js | 3 +- sites/telsu.fi/telsu.fi.config.js | 4 +- sites/telsu.fi/telsu.fi.test.js | 2 +- .../toonamiaftermath.com.config.js | 4 +- .../toonamiaftermath.com.test.js | 2 +- .../tv-programme.telecablesat.fr.config.js | 4 +- .../tv-programme.telecablesat.fr.test.js | 6 +- sites/tv.blue.ch/tv.blue.ch.config.js | 4 +- sites/tv.blue.ch/tv.blue.ch.test.js | 3 +- sites/tv.lv/tv.lv.config.js | 2 +- sites/tv.magenta.at/tv.magenta.at.config.js | 2 +- .../tv.movistar.com.pe.config.js | 4 +- .../tv.movistar.com.pe.test.js | 3 +- sites/tv.nu/tv.nu.config.js | 4 +- sites/tv.nu/tv.nu.test.js | 2 +- sites/tv.post.lu/tv.post.lu.config.js | 2 +- sites/tv.post.lu/tv.post.lu.test.js | 3 +- sites/tv.trueid.net/tv.trueid.net.config.js | 13 +-- sites/tv.trueid.net/tv.trueid.net.test.js | 8 +- sites/tv.yettel.hu/tv.yettel.hu.config.js | 4 +- sites/tv.yettel.hu/tv.yettel.hu.test.js | 3 +- sites/tv24.se/tv24.se.config.js | 6 +- sites/tv24.se/tv24.se.test.js | 4 +- sites/tv2go.t-2.net/tv2go.t-2.net.config.js | 4 +- sites/tv2go.t-2.net/tv2go.t-2.net.test.js | 2 +- sites/tvgids.nl/tvgids.nl.config.js | 4 +- sites/tvgids.nl/tvgids.nl.test.js | 4 +- .../tvguide.myjcom.jp.config.js | 4 +- .../tvguide.myjcom.jp.test.js | 3 +- sites/tvheute.at/tvheute.at.config.js | 4 +- sites/tvheute.at/tvheute.at.test.js | 2 +- sites/tvmi.mt/tvmi.mt.config.js | 4 +- sites/tvmi.mt/tvmi.mt.test.js | 6 +- sites/tvmusor.hu/tvmusor.hu.config.js | 4 +- sites/tvmusor.hu/tvmusor.hu.test.js | 3 +- sites/tvpassport.com/tvpassport.com.config.js | 4 +- sites/tvpassport.com/tvpassport.com.test.js | 2 +- sites/tvplus.com.tr/tvplus.com.tr.config.js | 4 +- sites/tvplus.com.tr/tvplus.com.tr.test.js | 3 +- sites/tvprofil.com/tvprofil.com.config.js | 6 +- .../virginmediatelevision.ie.config.js | 4 +- .../virginmediatelevision.ie.test.js | 2 +- sites/vtm.be/vtm.be.config.js | 2 +- sites/vtm.be/vtm.be.test.js | 3 +- .../watch.sportsnet.ca.config.js | 4 +- .../watch.sportsnet.ca.test.js | 3 +- sites/watchyour.tv/watchyour.tv.test.js | 4 +- .../web.magentatv.de.config.js | 4 +- .../web.magentatv.de/web.magentatv.de.test.js | 3 +- sites/webtv.delta.nl/webtv.delta.nl.config.js | 2 +- sites/webtv.delta.nl/webtv.delta.nl.test.js | 2 +- .../worldfishingnetwork.com.config.js | 4 +- .../worldfishingnetwork.com.test.js | 4 +- sites/www3.nhk.or.jp/www3.nhk.or.jp.config.js | 4 +- sites/www3.nhk.or.jp/www3.nhk.or.jp.test.js | 3 +- 170 files changed, 428 insertions(+), 351 deletions(-) diff --git a/sites/9tv.co.il/9tv.co.il.config.js b/sites/9tv.co.il/9tv.co.il.config.js index aafd4bb61..b55f6a10b 100644 --- a/sites/9tv.co.il/9tv.co.il.config.js +++ b/sites/9tv.co.il/9tv.co.il.config.js @@ -27,7 +27,7 @@ module.exports = { const stop = start.add(1, 'h') programs.push({ title: parseTitle($item), - icon: parseIcon($item), + image: parseImage($item), description: parseDescription($item), start, stop @@ -44,7 +44,7 @@ function parseStart($item, date) { return dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'Asia/Jerusalem') } -function parseIcon($item) { +function parseImage($item) { const backgroundImage = $item('a > div.guide_info_group > div.guide_info_pict').css( 'background-image' ) diff --git a/sites/9tv.co.il/9tv.co.il.test.js b/sites/9tv.co.il/9tv.co.il.test.js index e55c16103..0672f1dd7 100644 --- a/sites/9tv.co.il/9tv.co.il.test.js +++ b/sites/9tv.co.il/9tv.co.il.test.js @@ -31,14 +31,14 @@ it('can parse response', () => { start: '2022-03-06T04:30:00.000Z', stop: '2022-03-06T07:10:00.000Z', title: 'Слепая', - icon: 'https://www.9tv.co.il/download/pictures/img_id=8484.jpg', + image: 'https://www.9tv.co.il/download/pictures/img_id=8484.jpg', description: 'Она не очень любит говорить о себе или о том, кто и зачем к ней обращается. Живет уединенно, в глуши. Но тех, кто приходит -принимает. Она видит судьбы.' }, { start: '2022-03-06T07:10:00.000Z', stop: '2022-03-06T08:10:00.000Z', - icon: 'https://www.9tv.co.il/download/pictures/img_id=23694.jpg', + image: 'https://www.9tv.co.il/download/pictures/img_id=23694.jpg', title: 'Орел и решка. Морской сезон', description: 'Орел и решка. Морской сезон. Ведущие -Алина Астровская и Коля Серга.' } diff --git a/sites/abc.net.au/abc.net.au.config.js b/sites/abc.net.au/abc.net.au.config.js index 0a3eec0d1..5caa93569 100644 --- a/sites/abc.net.au/abc.net.au.config.js +++ b/sites/abc.net.au/abc.net.au.config.js @@ -33,7 +33,7 @@ module.exports = { season: parseSeason(item), episode: parseEpisode(item), rating: parseRating(item), - icon: parseIcon(item), + image: parseImage(item), start: parseTime(item.start_time), stop: parseTime(item.end_time) }) @@ -106,7 +106,7 @@ function parseEpisode(item) { function parseTime(time) { return dayjs.tz(time, 'YYYY-MM-DD HH:mm', 'Australia/Sydney') } -function parseIcon(item) { +function parseImage(item) { return item.image_file ? `https://www.abc.net.au/tv/common/images/publicity/${item.image_file}` : null diff --git a/sites/abc.net.au/abc.net.au.test.js b/sites/abc.net.au/abc.net.au.test.js index 74f31fd8e..769ee6eff 100644 --- a/sites/abc.net.au/abc.net.au.test.js +++ b/sites/abc.net.au/abc.net.au.test.js @@ -35,7 +35,7 @@ it('can parse response', () => { }, season: 22, episode: 4, - icon: 'https://www.abc.net.au/tv/common/images/publicity/ZW2178A004S00_460.jpg', + image: 'https://www.abc.net.au/tv/common/images/publicity/ZW2178A004S00_460.jpg', start: '2022-12-21T13:46:00.000Z', stop: '2022-12-21T14:44:00.000Z' } diff --git a/sites/allente.dk/allente.dk.config.js b/sites/allente.dk/allente.dk.config.js index 5c4806a1b..adab26cad 100644 --- a/sites/allente.dk/allente.dk.config.js +++ b/sites/allente.dk/allente.dk.config.js @@ -22,7 +22,7 @@ module.exports = { title: item.title, category: item.details.categories, description: item.details.description, - icon: item.details.image, + image: item.details.image, season: parseSeason(item), episode: parseEpisode(item), start, diff --git a/sites/allente.dk/allente.dk.test.js b/sites/allente.dk/allente.dk.test.js index c09a8fd9a..c3594d9d2 100644 --- a/sites/allente.dk/allente.dk.test.js +++ b/sites/allente.dk/allente.dk.test.js @@ -32,7 +32,8 @@ it('can parse response', () => { category: ['other'], description: 'Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.', - icon: 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', + image: + 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', season: 4, episode: 1 } diff --git a/sites/allente.fi/allente.fi.config.js b/sites/allente.fi/allente.fi.config.js index fa829f1f4..470dca852 100644 --- a/sites/allente.fi/allente.fi.config.js +++ b/sites/allente.fi/allente.fi.config.js @@ -22,7 +22,7 @@ module.exports = { title: item.title, category: item.details.categories, description: item.details.description, - icon: item.details.image, + image: item.details.image, season: parseSeason(item), episode: parseEpisode(item), start, diff --git a/sites/allente.fi/allente.fi.test.js b/sites/allente.fi/allente.fi.test.js index 93b3ececb..6e069a94f 100644 --- a/sites/allente.fi/allente.fi.test.js +++ b/sites/allente.fi/allente.fi.test.js @@ -32,7 +32,8 @@ it('can parse response', () => { category: ['other'], description: 'Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.', - icon: 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', + image: + 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', season: 4, episode: 1 } diff --git a/sites/allente.no/allente.no.config.js b/sites/allente.no/allente.no.config.js index ba4e9adfa..3406d64fb 100644 --- a/sites/allente.no/allente.no.config.js +++ b/sites/allente.no/allente.no.config.js @@ -22,7 +22,7 @@ module.exports = { title: item.title, category: item.details.categories, description: item.details.description, - icon: item.details.image, + image: item.details.image, season: parseSeason(item), episode: parseEpisode(item), start, diff --git a/sites/allente.no/allente.no.test.js b/sites/allente.no/allente.no.test.js index 204d0a10e..3ca1fbfcc 100644 --- a/sites/allente.no/allente.no.test.js +++ b/sites/allente.no/allente.no.test.js @@ -32,7 +32,8 @@ it('can parse response', () => { category: ['other'], description: 'Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.', - icon: 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', + image: + 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', season: 4, episode: 1 } diff --git a/sites/allente.se/allente.se.config.js b/sites/allente.se/allente.se.config.js index 87d30fe97..972d6ee3e 100644 --- a/sites/allente.se/allente.se.config.js +++ b/sites/allente.se/allente.se.config.js @@ -22,7 +22,7 @@ module.exports = { title: item.title, category: item.details.categories, description: item.details.description, - icon: item.details.image, + image: item.details.image, season: parseSeason(item), episode: parseEpisode(item), start, diff --git a/sites/allente.se/allente.se.test.js b/sites/allente.se/allente.se.test.js index 225d39c6d..5c6e90cd1 100644 --- a/sites/allente.se/allente.se.test.js +++ b/sites/allente.se/allente.se.test.js @@ -32,7 +32,8 @@ it('can parse response', () => { category: ['other'], description: 'Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.', - icon: 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', + image: + 'https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440', season: 4, episode: 1 } diff --git a/sites/arirang.com/arirang.com.config.js b/sites/arirang.com/arirang.com.config.js index 17e9b911f..219616f5d 100644 --- a/sites/arirang.com/arirang.com.config.js +++ b/sites/arirang.com/arirang.com.config.js @@ -62,7 +62,7 @@ module.exports = { title: item.displayNm, start: parseStart(item), stop: parseStop(item), - icon: parseIcon(programDetail), + image: parseImage(programDetail), category: parseCategory(programDetail), description: parseDescription(programDetail) }) @@ -121,7 +121,7 @@ async function parseProgramDetail(item) { }) } -function parseIcon(programDetail) { +function parseImage(programDetail) { if (programDetail && programDetail.image && programDetail.image[0].url) { return programDetail.image[0].url } else { diff --git a/sites/arirang.com/arirang.com.test.js b/sites/arirang.com/arirang.com.test.js index a43ba5c70..2dd7d2a9c 100644 --- a/sites/arirang.com/arirang.com.test.js +++ b/sites/arirang.com/arirang.com.test.js @@ -64,7 +64,8 @@ it('can parse response', async () => { title: 'WITHIN THE FRAME [R]', start: dayjs.tz(date, 'Asia/Seoul'), stop: dayjs.tz(date, 'Asia/Seoul').add(30, 'minute'), - icon: 'https://img.arirang.com/v1/AUTH_d52449c16d3b4bbca17d4fffd9fc44af/public/images/202308/2080840096998752900.png', + image: + 'https://img.arirang.com/v1/AUTH_d52449c16d3b4bbca17d4fffd9fc44af/public/images/202308/2080840096998752900.png', description: 'NEWS', category: 'Current Affairs' }) diff --git a/sites/artonline.tv/artonline.tv.config.js b/sites/artonline.tv/artonline.tv.config.js index f00e6fd69..4513751ef 100644 --- a/sites/artonline.tv/artonline.tv.config.js +++ b/sites/artonline.tv/artonline.tv.config.js @@ -33,14 +33,14 @@ module.exports = { if (!content) return programs const items = JSON.parse(content) items.forEach(item => { - const icon = parseIcon(item) + const image = parseImage(item) const start = parseStart(item) const duration = parseDuration(item) const stop = start.add(duration, 's') programs.push({ title: item.title, description: item.description, - icon, + image, start, stop }) @@ -63,6 +63,6 @@ function parseDuration(item) { return parseInt(HH) * 3600 + parseInt(mm) * 60 + parseInt(ss) } -function parseIcon(item) { +function parseImage(item) { return item.thumbnail ? `https://www.artonline.tv${item.thumbnail}` : null } diff --git a/sites/artonline.tv/artonline.tv.test.js b/sites/artonline.tv/artonline.tv.test.js index 5f8e6843d..315f056ff 100644 --- a/sites/artonline.tv/artonline.tv.test.js +++ b/sites/artonline.tv/artonline.tv.test.js @@ -52,7 +52,7 @@ it('can parse response', () => { title: 'الراقصه و السياسي', description: 'تقرر الراقصه سونيا انشاء دار حضانه للأطفال اليتامى و عندما تتقدم بمشورعها للمسئول يرفض فتتحداه ، تلجأ للوزير عبد الحميد رأفت تربطه بها علاقة قديمة ، يخشى على مركزه و يرفض مساعدتها فتقرر كتابة مذكراتها بمساعدة أحد الصحفيين ، يتخوف عبد الحميد و المسئولين ثم يفاجأ عبد الحميد بحصول سونيا على الموافقه للمشورع و البدء في تنفيذه و ذلك لعلاقتها بأحد كبار المسئولين .', - icon: 'https://www.artonline.tv/UploadImages/Channel/ARTAFLAM1/03/AlRaqesaWaAlSeyasi.jpg' + image: 'https://www.artonline.tv/UploadImages/Channel/ARTAFLAM1/03/AlRaqesaWaAlSeyasi.jpg' } ]) }) diff --git a/sites/cableplus.com.uy/cableplus.com.uy.config.js b/sites/cableplus.com.uy/cableplus.com.uy.config.js index 017f6f45a..65ad148b0 100644 --- a/sites/cableplus.com.uy/cableplus.com.uy.config.js +++ b/sites/cableplus.com.uy/cableplus.com.uy.config.js @@ -48,7 +48,7 @@ module.exports = { programs.push({ title: parseTitle($item), categories: parseCategories($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -84,7 +84,7 @@ function parseTitle($item) { .trim() } -function parseIcon($item) { +function parseImage($item) { return $item('img').data('src') || $item('img').attr('src') || null } diff --git a/sites/cableplus.com.uy/cableplus.com.uy.test.js b/sites/cableplus.com.uy/cableplus.com.uy.test.js index 04298ba53..642a8ffa0 100644 --- a/sites/cableplus.com.uy/cableplus.com.uy.test.js +++ b/sites/cableplus.com.uy/cableplus.com.uy.test.js @@ -51,7 +51,7 @@ it('can parse response', () => { start: '2023-02-12T09:30:00.000Z', stop: '2023-02-12T10:30:00.000Z', title: 'Revista agropecuaria', - icon: 'https://www.reportv.com.ar/buscador/img/Programas/2797844.jpg', + image: 'https://www.reportv.com.ar/buscador/img/Programas/2797844.jpg', categories: [] }) @@ -59,7 +59,7 @@ it('can parse response', () => { start: '2023-02-12T12:30:00.000Z', stop: '2023-02-12T13:30:00.000Z', title: 'De pago en pago', - icon: 'https://www.reportv.com.ar/buscador/img/Programas/3772835.jpg', + image: 'https://www.reportv.com.ar/buscador/img/Programas/3772835.jpg', categories: ['Cultural'] }) }) diff --git a/sites/canalplus-haiti.com/canalplus-haiti.com.config.js b/sites/canalplus-haiti.com/canalplus-haiti.com.config.js index f9ba119f5..77c7d7fe4 100644 --- a/sites/canalplus-haiti.com/canalplus-haiti.com.config.js +++ b/sites/canalplus-haiti.com/canalplus-haiti.com.config.js @@ -23,7 +23,7 @@ module.exports = { title: item.title, description: parseDescription(detail), category: parseCategory(detail), - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -70,7 +70,7 @@ function parseDescription(detail) { function parseCategory(detail) { return detail.detail.informations.subGenre || null } -function parseIcon(item) { +function parseImage(item) { return item.URLImage || item.URLImageDefault } diff --git a/sites/canalplus-haiti.com/canalplus-haiti.com.test.js b/sites/canalplus-haiti.com/canalplus-haiti.com.test.js index 53b667ee5..4590d1fff 100644 --- a/sites/canalplus-haiti.com/canalplus-haiti.com.test.js +++ b/sites/canalplus-haiti.com/canalplus-haiti.com.test.js @@ -149,7 +149,8 @@ it('can parse response', done => { start: '2022-08-17T23:55:00.000Z', stop: '2022-08-18T00:40:00.000Z', title: 'New Amsterdam - S3 - Ep7', - icon: 'https://service.canal-overseas.com/image-api/v1/image/52a18a209e28380b199201961c27097e', + image: + 'https://service.canal-overseas.com/image-api/v1/image/52a18a209e28380b199201961c27097e', category: 'Série Hôpital', description: "C'est la journée nationale de dépistage du VIH et Max offre des soins gratuits à tous les malades séropositifs qui se présentent à New Amsterdam." diff --git a/sites/canalplus.com/canalplus.com.config.js b/sites/canalplus.com/canalplus.com.config.js index 34f1e06ed..5f7d9e67c 100644 --- a/sites/canalplus.com/canalplus.com.config.js +++ b/sites/canalplus.com/canalplus.com.config.js @@ -32,7 +32,7 @@ module.exports = { programs.push({ title: item.title, description: parseDescription(info), - icon: parseIcon(info), + image: parseImage(info), actors: parseCast(info, 'Avec :'), director: parseCast(info, 'De :'), writer: parseCast(info, 'Scénario :'), @@ -123,7 +123,7 @@ function parseStart(item) { return item && item.startTime ? dayjs(item.startTime) : null } -function parseIcon(info) { +function parseImage(info) { return info ? info.URLImage : null } diff --git a/sites/canalplus.com/canalplus.com.test.js b/sites/canalplus.com/canalplus.com.test.js index 13c72e8e5..43c2fb0bb 100644 --- a/sites/canalplus.com/canalplus.com.test.js +++ b/sites/canalplus.com/canalplus.com.test.js @@ -96,7 +96,8 @@ it('can parse response', done => { title: 'Le cercle', description: "Tant qu'il y aura du cinéma, LE CERCLE sera là. C'est la seule émission télévisée de débats critiques 100% consacrée au cinéma et elle rentre dans sa 18e saison. Chaque semaine, elle offre des joutes enflammées, joyeuses et sans condescendance, sur les films à l'affiche ; et invite avec \"Le questionnaire du CERCLE\" les réalisatrices et réalisateurs à venir partager leur passion cinéphile.", - icon: 'https://thumb.canalplus.pro/http/unsafe/{resolutionXY}/filters:quality({imageQualityPercentage})/img-hapi.canalplus.pro:80/ServiceImage/ImageID/107297573', + image: + 'https://thumb.canalplus.pro/http/unsafe/{resolutionXY}/filters:quality({imageQualityPercentage})/img-hapi.canalplus.pro:80/ServiceImage/ImageID/107297573', presenter: ['Lily Bloom'], rating: { system: 'CSA', @@ -109,7 +110,8 @@ it('can parse response', done => { title: 'Illusions perdues', description: "Pendant la Restauration, Lucien de Rubempré, jeune provincial d'Angoulême, se rêve poète. Il débarque à Paris en quête de gloire. Il a le soutien de Louise de Bargeton, une aristocrate qui croit en son talent. Pour gagner sa vie, Lucien trouve un emploi dans le journal dirigé par le peu scrupuleux Etienne Lousteau...", - icon: 'https://thumb.canalplus.pro/http/unsafe/{resolutionXY}/filters:quality({imageQualityPercentage})/img-hapi.canalplus.pro:80/ServiceImage/ImageID/107356485', + image: + 'https://thumb.canalplus.pro/http/unsafe/{resolutionXY}/filters:quality({imageQualityPercentage})/img-hapi.canalplus.pro:80/ServiceImage/ImageID/107356485', director: ['Xavier Giannoli'], actors: [ 'Benjamin Voisin', diff --git a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js index 89349fd5d..d8b491485 100644 --- a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js +++ b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js @@ -19,7 +19,7 @@ module.exports = { title: item.season?.serie?.title ? item.season.serie.title : item.title, category: item.genreDetailed, description: item.synopsis, - icon: parseIcon(item), + image: parseImage(item), start: start.toJSON(), stop: stop.toJSON() }) @@ -49,7 +49,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.covers && item.covers.length ? item.covers[0].url : null } diff --git a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js index 53b03f1c9..cd4dae36d 100644 --- a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js +++ b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.test.js @@ -30,7 +30,7 @@ it('can parse response', () => { description: "Un tueur en série prend un plaisir pervers à prévenir les autorités de Tallahassee avant chaque nouveau meurtre. Rossi apprend le décès d'un de ses vieux amis.", category: 'Série Suspense', - icon: 'https://proxymedia.woopic.com/340/p/169_EMI_9697669.jpg' + image: 'https://proxymedia.woopic.com/340/p/169_EMI_9697669.jpg' } ]) }) diff --git a/sites/content.astro.com.my/content.astro.com.my.config.js b/sites/content.astro.com.my/content.astro.com.my.config.js index 1345db9fe..12c7f2af4 100644 --- a/sites/content.astro.com.my/content.astro.com.my.config.js +++ b/sites/content.astro.com.my/content.astro.com.my.config.js @@ -26,7 +26,7 @@ module.exports = { description: details.longSynopsis || details.shortSynopsis, actors: parseList(details.cast), directors: parseList(details.director), - icon: details.imageUrl, + image: details.imageUrl, rating: parseRating(details), categories: parseCategories(details), episode: parseEpisode(item), diff --git a/sites/content.astro.com.my/content.astro.com.my.test.js b/sites/content.astro.com.my/content.astro.com.my.test.js index 00fd56013..8e9b46609 100644 --- a/sites/content.astro.com.my/content.astro.com.my.test.js +++ b/sites/content.astro.com.my/content.astro.com.my.test.js @@ -52,7 +52,7 @@ it('can parse response', async () => { 'This classic drama depicts the many aspects of two complicated relationships set against an airline company. Will those involved ever find true love?', actors: ['Francis Ng Chun Yu', 'Joe Ma Tak Chung', 'Flora Chan Wai San'], directors: ['Joe Ma Tak Chung'], - icon: 'https://s3-ap-southeast-1.amazonaws.com/ams-astro/production/images/1035X328883.jpg', + image: 'https://s3-ap-southeast-1.amazonaws.com/ams-astro/production/images/1035X328883.jpg', rating: { system: 'LPF', value: 'U' diff --git a/sites/directv.com/directv.com.config.js b/sites/directv.com/directv.com.config.js index 50d2cb299..5d8c924e3 100644 --- a/sites/directv.com/directv.com.config.js +++ b/sites/directv.com/directv.com.config.js @@ -38,7 +38,7 @@ module.exports = { category: item.subcategoryList, season: item.seasonNumber, episode: item.episodeNumber, - icon: parseIcon(item), + image: parseImage(item), start, stop }) @@ -92,7 +92,7 @@ function parseRating(item) { } : null } -function parseIcon(item) { +function parseImage(item) { return item.primaryImageUrl ? `https://www.directv.com${item.primaryImageUrl}` : null } function loadProgramDetail(programID) { diff --git a/sites/directv.com/directv.com.test.js b/sites/directv.com/directv.com.test.js index 1e17dc4ae..a4abfa0ca 100644 --- a/sites/directv.com/directv.com.test.js +++ b/sites/directv.com/directv.com.test.js @@ -56,7 +56,7 @@ it('can parse response', done => { description: 'Kay (Tommy Lee Jones) and Jay (Will Smith) reunite to provide our best line of defense against a seductress who levels the toughest challenge yet to the MIBs mission statement: protecting the earth from the scum of the universe. While investigating a routine crime, Jay uncovers a plot masterminded by Serleena (Boyle), a Kylothian monster who disguises herself as a lingerie model. When Serleena takes the MIB building hostage, there is only one person Jay can turn to -- his former MIB partner.', date: '2002', - icon: 'https://www.directv.com/db_photos/movies/AllPhotosAPGI/29160/29160_aa.jpg', + image: 'https://www.directv.com/db_photos/movies/AllPhotosAPGI/29160/29160_aa.jpg', category: ['Comedy', 'Movies Anywhere', 'Action/Adventure', 'Science Fiction'], rating: { system: 'MPA', @@ -69,7 +69,8 @@ it('can parse response', done => { title: 'South Park', sub_title: 'Goth Kids 3: Dawn of the Posers', description: 'The goth kids are sent to a camp for troubled children.', - icon: 'https://www.directv.com/db_photos/showcards/v5/AllPhotos/184338/p184338_b_v5_aa.jpg', + image: + 'https://www.directv.com/db_photos/showcards/v5/AllPhotos/184338/p184338_b_v5_aa.jpg', category: ['Series', 'Animation', 'Comedy'], season: 17, episode: 4, diff --git a/sites/disneystar.com/disneystar.com.config.js b/sites/disneystar.com/disneystar.com.config.js index c09bf630f..834417251 100644 --- a/sites/disneystar.com/disneystar.com.config.js +++ b/sites/disneystar.com/disneystar.com.config.js @@ -34,7 +34,7 @@ module.exports = { programs.push({ title: item.title, description: item.desc, - icon: item.programmeurl, + image: item.programmeurl, category: item.subgenre, start: parseStart(item), stop: parseStop(item) diff --git a/sites/disneystar.com/disneystar.com.test.js b/sites/disneystar.com/disneystar.com.test.js index 1a04310ab..ee883f35a 100644 --- a/sites/disneystar.com/disneystar.com.test.js +++ b/sites/disneystar.com/disneystar.com.test.js @@ -49,7 +49,8 @@ it('can parse response', () => { title: 'Imlie', description: 'Imlie finds herself in deep trouble when she gets tied up before the wedding. Meanwhile, Aryan assumes that he is getting married to Imlie and performs the wedding rituals.', - icon: 'http://imagesstartv.whatsonindia.com/dasimages/landscape/360x270/59A9215E5DE13ABF4B05C59A6C87768AD61CA608M.jpg', + image: + 'http://imagesstartv.whatsonindia.com/dasimages/landscape/360x270/59A9215E5DE13ABF4B05C59A6C87768AD61CA608M.jpg', category: 'Drama' } ]) diff --git a/sites/dstv.com/dstv.com.config.js b/sites/dstv.com/dstv.com.config.js index c8f415b22..8e526ab57 100644 --- a/sites/dstv.com/dstv.com.config.js +++ b/sites/dstv.com/dstv.com.config.js @@ -35,7 +35,7 @@ module.exports = { programs.push({ title: item.Title, description: parseDescription(details), - icon: parseIcon(details), + image: parseImage(details), category: parseCategory(details), start: parseTime(item.StartTime, channel), stop: parseTime(item.EndTime, channel) @@ -178,7 +178,7 @@ function parseDescription(details) { return details ? details.Synopsis : null } -function parseIcon(details) { +function parseImage(details) { return details ? details.ThumbnailUri : null } diff --git a/sites/dstv.com/dstv.com.test.js b/sites/dstv.com/dstv.com.test.js index f6ddd45aa..c2065a589 100644 --- a/sites/dstv.com/dstv.com.test.js +++ b/sites/dstv.com/dstv.com.test.js @@ -60,7 +60,8 @@ it('can parse response for ZA', async () => { title: 'UFC FN HL: Nzechukwu v Cutelaba', description: "'UFC Fight Night Highlights - Heavyweight Bout: Kennedy Nzechukwu vs Ion Cutelaba'. From The UFC APEX Center - Las Vegas, USA.", - icon: 'https://03mcdecdnimagerepository.blob.core.windows.net/epguideimage/img/271546_UFC Fight Night.png', + image: + 'https://03mcdecdnimagerepository.blob.core.windows.net/epguideimage/img/271546_UFC Fight Night.png', category: ['All Sport', 'Mixed Martial Arts'] }) }) @@ -91,7 +92,8 @@ it('can parse response for NG', async () => { title: 'UFC FN HL: Nzechukwu v Cutelaba', description: "'UFC Fight Night Highlights - Heavyweight Bout: Kennedy Nzechukwu vs Ion Cutelaba'. From The UFC APEX Center - Las Vegas, USA.", - icon: 'https://03mcdecdnimagerepository.blob.core.windows.net/epguideimage/img/271546_UFC Fight Night.png', + image: + 'https://03mcdecdnimagerepository.blob.core.windows.net/epguideimage/img/271546_UFC Fight Night.png', category: ['All Sport', 'Mixed Martial Arts'] }) }) diff --git a/sites/elcinema.com/elcinema.com.config.js b/sites/elcinema.com/elcinema.com.config.js index 3efe6c69f..02b9897f8 100644 --- a/sites/elcinema.com/elcinema.com.config.js +++ b/sites/elcinema.com/elcinema.com.config.js @@ -28,7 +28,7 @@ module.exports = { title: parseTitle(item), description: parseDescription(item), category: parseCategory(item), - icon: parseIcon(item), + image: parseImage(item), start, stop }) @@ -62,7 +62,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { const $ = cheerio.load(item) const imgSrc = $('.row > div.columns.small-3.large-1 > a > img').data('src') || diff --git a/sites/elcinema.com/elcinema.com.test.js b/sites/elcinema.com/elcinema.com.test.js index 553269fff..92a794fea 100644 --- a/sites/elcinema.com/elcinema.com.test.js +++ b/sites/elcinema.com/elcinema.com.test.js @@ -35,7 +35,8 @@ it('can parse response (en)', () => { start: '2022-08-27T14:25:00.000Z', stop: '2022-08-27T15:15:00.000Z', title: 'Station 19 S5', - icon: 'https://media.elcinema.com/uploads/_150x200_ec30d1a2251c8edf83334be4860184c74d2534d7ba508a334ad66fa59acc4926.jpg', + image: + 'https://media.elcinema.com/uploads/_150x200_ec30d1a2251c8edf83334be4860184c74d2534d7ba508a334ad66fa59acc4926.jpg', category: 'Series' }) }) @@ -52,7 +53,8 @@ it('can parse response (ar)', () => { start: '2022-08-27T14:25:00.000Z', stop: '2022-08-27T15:15:00.000Z', title: 'Station 19 S5', - icon: 'https://media.elcinema.com/uploads/_150x200_ec30d1a2251c8edf83334be4860184c74d2534d7ba508a334ad66fa59acc4926.jpg', + image: + 'https://media.elcinema.com/uploads/_150x200_ec30d1a2251c8edf83334be4860184c74d2534d7ba508a334ad66fa59acc4926.jpg', category: 'مسلسل' }) }) diff --git a/sites/entertainment.ie/entertainment.ie.config.js b/sites/entertainment.ie/entertainment.ie.config.js index 88350aafb..04ff4ec6e 100644 --- a/sites/entertainment.ie/entertainment.ie.config.js +++ b/sites/entertainment.ie/entertainment.ie.config.js @@ -27,7 +27,7 @@ module.exports = { title: parseTitle($item), description: parseDescription($item), categories: parseCategories($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -54,7 +54,7 @@ module.exports = { } } -function parseIcon($item) { +function parseImage($item) { return $item('.text-holder > .btn-hold > .btn-wrap > a.btn-share').data('img') } diff --git a/sites/entertainment.ie/entertainment.ie.test.js b/sites/entertainment.ie/entertainment.ie.test.js index 7bdad654b..eaf660dd5 100644 --- a/sites/entertainment.ie/entertainment.ie.test.js +++ b/sites/entertainment.ie/entertainment.ie.test.js @@ -31,7 +31,8 @@ it('can parse response', () => { stop: '2023-06-29T08:00:00.000Z', title: 'EuroNews', description: 'European and international headlines live via satellite', - icon: 'https://img.resized.co/entertainment/eyJkYXRhIjoie1widXJsXCI6XCJodHRwczpcXFwvXFxcL3R2LmFzc2V0cy5wcmVzc2Fzc29jaWF0aW9uLmlvXFxcLzcxZDdkYWY2LWQxMjItNTliYy1iMGRjLTFkMjc2ODg1MzhkNC5qcGdcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6Mjg4LFwiZGVmYXVsdFwiOlwiaHR0cHM6XFxcL1xcXC9lbnRlcnRhaW5tZW50LmllXFxcL2ltYWdlc1xcXC9uby1pbWFnZS5wbmdcIn0iLCJoYXNoIjoiZDhjYzA0NzFhMGZhOTI1Yjc5ODI0M2E3OWZjMGI2ZGJmMDIxMjllNyJ9/71d7daf6-d122-59bc-b0dc-1d27688538d4.jpg', + image: + 'https://img.resized.co/entertainment/eyJkYXRhIjoie1widXJsXCI6XCJodHRwczpcXFwvXFxcL3R2LmFzc2V0cy5wcmVzc2Fzc29jaWF0aW9uLmlvXFxcLzcxZDdkYWY2LWQxMjItNTliYy1iMGRjLTFkMjc2ODg1MzhkNC5qcGdcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6Mjg4LFwiZGVmYXVsdFwiOlwiaHR0cHM6XFxcL1xcXC9lbnRlcnRhaW5tZW50LmllXFxcL2ltYWdlc1xcXC9uby1pbWFnZS5wbmdcIn0iLCJoYXNoIjoiZDhjYzA0NzFhMGZhOTI1Yjc5ODI0M2E3OWZjMGI2ZGJmMDIxMjllNyJ9/71d7daf6-d122-59bc-b0dc-1d27688538d4.jpg', categories: ['Factual'] }) @@ -40,7 +41,8 @@ it('can parse response', () => { stop: '2023-06-30T06:00:00.000Z', title: 'EuroNews', description: 'European and international headlines live via satellite', - icon: 'https://img.resized.co/entertainment/eyJkYXRhIjoie1widXJsXCI6XCJodHRwczpcXFwvXFxcL3R2LmFzc2V0cy5wcmVzc2Fzc29jaWF0aW9uLmlvXFxcLzcxZDdkYWY2LWQxMjItNTliYy1iMGRjLTFkMjc2ODg1MzhkNC5qcGdcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6Mjg4LFwiZGVmYXVsdFwiOlwiaHR0cHM6XFxcL1xcXC9lbnRlcnRhaW5tZW50LmllXFxcL2ltYWdlc1xcXC9uby1pbWFnZS5wbmdcIn0iLCJoYXNoIjoiZDhjYzA0NzFhMGZhOTI1Yjc5ODI0M2E3OWZjMGI2ZGJmMDIxMjllNyJ9/71d7daf6-d122-59bc-b0dc-1d27688538d4.jpg', + image: + 'https://img.resized.co/entertainment/eyJkYXRhIjoie1widXJsXCI6XCJodHRwczpcXFwvXFxcL3R2LmFzc2V0cy5wcmVzc2Fzc29jaWF0aW9uLmlvXFxcLzcxZDdkYWY2LWQxMjItNTliYy1iMGRjLTFkMjc2ODg1MzhkNC5qcGdcIixcIndpZHRoXCI6NDgwLFwiaGVpZ2h0XCI6Mjg4LFwiZGVmYXVsdFwiOlwiaHR0cHM6XFxcL1xcXC9lbnRlcnRhaW5tZW50LmllXFxcL2ltYWdlc1xcXC9uby1pbWFnZS5wbmdcIn0iLCJoYXNoIjoiZDhjYzA0NzFhMGZhOTI1Yjc5ODI0M2E3OWZjMGI2ZGJmMDIxMjllNyJ9/71d7daf6-d122-59bc-b0dc-1d27688538d4.jpg', categories: ['Factual'] }) }) diff --git a/sites/flixed.io/flixed.io.config.js b/sites/flixed.io/flixed.io.config.js index 315130977..8715a3a74 100644 --- a/sites/flixed.io/flixed.io.config.js +++ b/sites/flixed.io/flixed.io.config.js @@ -16,7 +16,7 @@ module.exports = { title: item.program.title, description: item.program.longDescription, category: item.program.subType, - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -26,7 +26,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { const uri = item.program.preferredImage.uri return uri ? `https://adma.tmsimg.com/assets/${uri}` : null diff --git a/sites/flixed.io/flixed.io.test.js b/sites/flixed.io/flixed.io.test.js index 96b399105..9be7c47fe 100644 --- a/sites/flixed.io/flixed.io.test.js +++ b/sites/flixed.io/flixed.io.test.js @@ -33,7 +33,7 @@ it('can parse response', () => { stop: '2023-01-19T06:00:00.000Z', title: 'The Greg Peterson Experience', category: 'Sports non-event', - icon: 'https://adma.tmsimg.com/assets/assets/p20628892_b_v13_aa.jpg?w=270&h=360', + image: 'https://adma.tmsimg.com/assets/assets/p20628892_b_v13_aa.jpg?w=270&h=360', description: 'A different kind of sports betting.' }) }) diff --git a/sites/foxtel.com.au/foxtel.com.au.config.js b/sites/foxtel.com.au/foxtel.com.au.config.js index 280c1285e..09194f42d 100644 --- a/sites/foxtel.com.au/foxtel.com.au.config.js +++ b/sites/foxtel.com.au/foxtel.com.au.config.js @@ -34,7 +34,7 @@ module.exports = { programs.push({ title: parseTitle($item), sub_title: parseSubTitle($item), - icon: parseIcon($item), + image: parseImage($item), rating: parseRating($item), season: parseSeason($item), episode: parseEpisode($item), @@ -87,7 +87,7 @@ function parseEpisode($item) { return episode ? parseInt(episode) : null } -function parseIcon($item) { +function parseImage($item) { return $item('.epg-event-thumbnail > img').attr('src') } diff --git a/sites/foxtel.com.au/foxtel.com.au.test.js b/sites/foxtel.com.au/foxtel.com.au.test.js index bce364370..12d43af95 100644 --- a/sites/foxtel.com.au/foxtel.com.au.test.js +++ b/sites/foxtel.com.au/foxtel.com.au.test.js @@ -41,7 +41,8 @@ it('can parse response', () => { stop: '2022-11-07T13:30:00.000Z', title: 'The Equalizer', sub_title: 'Glory', - icon: 'https://images1.resources.foxtel.com.au/store2/mount1/16/3/69e0v.jpg?maxheight=90&limit=91aa1c7a2c485aeeba0706941f79f111adb35830', + image: + 'https://images1.resources.foxtel.com.au/store2/mount1/16/3/69e0v.jpg?maxheight=90&limit=91aa1c7a2c485aeeba0706941f79f111adb35830', rating: { system: 'ACB', value: 'M' diff --git a/sites/gatotv.com/gatotv.com.config.js b/sites/gatotv.com/gatotv.com.config.js index 1ace7d5bf..b814da0a7 100644 --- a/sites/gatotv.com/gatotv.com.config.js +++ b/sites/gatotv.com/gatotv.com.config.js @@ -30,7 +30,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -62,14 +62,16 @@ module.exports = { } function parseTitle($item) { - return $item('td:nth-child(4) > div > div > a > span,td:nth-child(3) > div > div > span,td:nth-child(3) > div > div > a > span').text() + return $item( + 'td:nth-child(4) > div > div > a > span,td:nth-child(3) > div > div > span,td:nth-child(3) > div > div > a > span' + ).text() } function parseDescription($item) { return $item('td:nth-child(4) > div').clone().children().remove().end().text().trim() } -function parseIcon($item) { +function parseImage($item) { return $item('td:nth-child(3) > a > img').attr('src') } diff --git a/sites/guidatv.sky.it/guidatv.sky.it.config.js b/sites/guidatv.sky.it/guidatv.sky.it.config.js index e222a54e8..834deab44 100644 --- a/sites/guidatv.sky.it/guidatv.sky.it.config.js +++ b/sites/guidatv.sky.it/guidatv.sky.it.config.js @@ -24,7 +24,7 @@ module.exports = { start: parseStart(item), stop: parseStop(item), url: parseURL(item), - icon: parseIcon(item) + image: parseImage(item) }) }) @@ -79,7 +79,7 @@ function parseURL(item) { return item.content.url ? `https://guidatv.sky.it${item.content.url}` : null } -function parseIcon(item) { +function parseImage(item) { const cover = item.content.imagesMap ? item.content.imagesMap.find(i => i.key === 'cover') : null return cover && cover.img && cover.img.url ? `https://guidatv.sky.it${cover.img.url}` : null diff --git a/sites/guidatv.sky.it/guidatv.sky.it.test.js b/sites/guidatv.sky.it/guidatv.sky.it.test.js index 24ce181f3..a114c1e0b 100644 --- a/sites/guidatv.sky.it/guidatv.sky.it.test.js +++ b/sites/guidatv.sky.it/guidatv.sky.it.test.js @@ -35,7 +35,8 @@ it('can parse response', () => { "S6 Ep26 La resa dei conti - Fino all'ultimo la sfida tra Ardenzi e Carrano, nemici di vecchia data, riserva clamorosi colpi di scena. E si scopre che non e' tutto come sembrava.", season: 6, episode: 26, - icon: 'https://guidatv.sky.it/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/cover?md5ChecksumParam=61135b999a63e3d3f4a933b9edeb0c1b', + image: + 'https://guidatv.sky.it/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/cover?md5ChecksumParam=61135b999a63e3d3f4a933b9edeb0c1b', category: 'Intrattenimento/Fiction', url: 'https://guidatv.sky.it/serie-tv/distretto-di-polizia/stagione-6/episodio-26/77c630aa-4744-44cb-a88e-3e871c6b73d9' } diff --git a/sites/i24news.tv/i24news.tv.config.js b/sites/i24news.tv/i24news.tv.config.js index 9fab012e6..556bea40d 100644 --- a/sites/i24news.tv/i24news.tv.config.js +++ b/sites/i24news.tv/i24news.tv.config.js @@ -23,7 +23,7 @@ module.exports = { programs.push({ title: item.show.title, description: item.show.body, - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item, date), stop: parseStop(item, date) }) @@ -33,7 +33,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.show.image ? item.show.image.href : null } diff --git a/sites/i24news.tv/i24news.tv.test.js b/sites/i24news.tv/i24news.tv.test.js index 358244fda..54c05f7af 100644 --- a/sites/i24news.tv/i24news.tv.test.js +++ b/sites/i24news.tv/i24news.tv.test.js @@ -30,7 +30,8 @@ it('can parse response', () => { stop: '2022-03-06T13:28:00.000Z', title: 'تغطية خاصة', description: 'Special Edition', - icon: 'https://cdn.i24news.tv/uploads/a1/be/85/20/69/6f/32/1c/ed/b0/f8/5c/f6/1c/40/f9/a1be8520696f321cedb0f85cf61c40f9.png' + image: + 'https://cdn.i24news.tv/uploads/a1/be/85/20/69/6f/32/1c/ed/b0/f8/5c/f6/1c/40/f9/a1be8520696f321cedb0f85cf61c40f9.png' } ]) }) diff --git a/sites/iltalehti.fi/iltalehti.fi.config.js b/sites/iltalehti.fi/iltalehti.fi.config.js index a131ce767..4302794ba 100644 --- a/sites/iltalehti.fi/iltalehti.fi.config.js +++ b/sites/iltalehti.fi/iltalehti.fi.config.js @@ -23,7 +23,7 @@ module.exports = { programs.push({ title: item.title, description: item.description, - icon: getIcon(item), + image: getImage(item), start: getStart(item), stop: getStop(item) }) @@ -52,7 +52,7 @@ module.exports = { } } -function getIcon(item) { +function getImage(item) { const image = item.images.find(i => i.type === 'default' && i.sizeTag === '1200x630') return image ? image.url : null diff --git a/sites/iltalehti.fi/iltalehti.fi.test.js b/sites/iltalehti.fi/iltalehti.fi.test.js index 2a0a5031c..b117e3d0f 100644 --- a/sites/iltalehti.fi/iltalehti.fi.test.js +++ b/sites/iltalehti.fi/iltalehti.fi.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: 'Puoli seitsemän', description: 'Vieraana näyttelijä Elias Salonen. Puoli seiskassa vietetään sekä halloweeniä että joulua, kun Olli-Pekka tapaa todellisen jouluttajan. Juontajina Anniina Valtonen, Tuulianna Tola ja Olli-Pekka Kursi.', - icon: 'https://thumbor.prod.telkku.com/YTglotoUl7aJtzPtYnvM9tH03sY=/1200x630/smart/filters:quality(86):format(jpeg)/img.prod.telkku.com/program-images/0f885238ac16ce167a9d80eace450254.jpg' + image: + 'https://thumbor.prod.telkku.com/YTglotoUl7aJtzPtYnvM9tH03sY=/1200x630/smart/filters:quality(86):format(jpeg)/img.prod.telkku.com/program-images/0f885238ac16ce167a9d80eace450254.jpg' }) }) diff --git a/sites/ionplustv.com/ionplustv.com.config.js b/sites/ionplustv.com/ionplustv.com.config.js index eb370e9eb..77073521e 100644 --- a/sites/ionplustv.com/ionplustv.com.config.js +++ b/sites/ionplustv.com/ionplustv.com.config.js @@ -35,7 +35,7 @@ module.exports = { title: parseTitle($item), sub_title: parseSubTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), rating: parseRating($item), start, stop @@ -50,7 +50,7 @@ function parseDescription($item) { return $item('.panel-body > div > div > div > p:nth-child(2)').text().trim() } -function parseIcon($item) { +function parseImage($item) { return $item('.video-thumbnail img').attr('src') } diff --git a/sites/ionplustv.com/ionplustv.com.test.js b/sites/ionplustv.com/ionplustv.com.test.js index 486f43ce4..1a76e1f4a 100644 --- a/sites/ionplustv.com/ionplustv.com.test.js +++ b/sites/ionplustv.com/ionplustv.com.test.js @@ -29,7 +29,8 @@ it('can parse response', () => { stop: '2022-11-08T11:00:00.000Z', title: 'All For Nothing?', sub_title: '226 : Randy & Sarita Vs. Jean-marcel & Melodie', - icon: 'https://ionplustv.com/static/programs/shows/all-for-nothing/show-banner-all-for-nothing-5ab162f2d8ee6-897aca6d7d9a7d4e2026ca3b592d8b2a047238fa.png', + image: + 'https://ionplustv.com/static/programs/shows/all-for-nothing/show-banner-all-for-nothing-5ab162f2d8ee6-897aca6d7d9a7d4e2026ca3b592d8b2a047238fa.png', rating: { system: 'MPA', value: 'TV-PG+L' diff --git a/sites/kan.org.il/kan.org.il.config.js b/sites/kan.org.il/kan.org.il.config.js index 0170d5509..01aaec094 100644 --- a/sites/kan.org.il/kan.org.il.config.js +++ b/sites/kan.org.il/kan.org.il.config.js @@ -22,7 +22,7 @@ module.exports = { programs.push({ title: item.title, description: item.live_desc, - icon: item.picture_code, + image: item.picture_code, start: parseStart(item), stop: parseStop(item) }) diff --git a/sites/kan.org.il/kan.org.il.test.js b/sites/kan.org.il/kan.org.il.test.js index 44ef7354b..4dfd2575b 100644 --- a/sites/kan.org.il/kan.org.il.test.js +++ b/sites/kan.org.il/kan.org.il.test.js @@ -33,7 +33,7 @@ it('can parse response', () => { title: 'ארץ מולדת - בין תורכיה לבריטניה', description: "קבוצת תלמידים מתארגנת בפרוץ מלחמת העולם הראשונה להגיש עזרה לישוב. באמצעות התלמידים לומד הצופה על בעיותיו של הישוב בתקופת המלחמה, והתלבטותו בין נאמנות לשלטון העות'מאני לבין תקוותיו מהבריטים הכובשים.", - icon: 'https://kanweb.blob.core.windows.net/download/pictures/2021/1/20/imgid=45847_Z.jpeg' + image: 'https://kanweb.blob.core.windows.net/download/pictures/2021/1/20/imgid=45847_Z.jpeg' } ]) }) diff --git a/sites/kplus.vn/kplus.vn.config.js b/sites/kplus.vn/kplus.vn.config.js index 9ed52fd7f..7fef74487 100644 --- a/sites/kplus.vn/kplus.vn.config.js +++ b/sites/kplus.vn/kplus.vn.config.js @@ -35,7 +35,7 @@ module.exports = { if (prev) prev.stop = start programs.push({ title: item.Program.Name, - icon: item.Program.Images, + image: item.Program.Images, category: item.Program.Genres, start, stop diff --git a/sites/kplus.vn/kplus.vn.test.js b/sites/kplus.vn/kplus.vn.test.js index 878d5fec9..4eebea9d2 100644 --- a/sites/kplus.vn/kplus.vn.test.js +++ b/sites/kplus.vn/kplus.vn.test.js @@ -42,14 +42,15 @@ it('can parse response', () => { start: '2022-03-14T23:15:00.000Z', stop: '2022-03-15T00:00:00.000Z', title: 'WEEKLY FILMS AND STARS, EP740', - icon: 'https://img.kplus.vn/images?filename=Media/HDVN/2022_02/ENT_DOC_LNO_21_2649421_2652183_2652183.jpg', + image: + 'https://img.kplus.vn/images?filename=Media/HDVN/2022_02/ENT_DOC_LNO_21_2649421_2652183_2652183.jpg', category: 'Documentary' }, { start: '2022-03-15T00:00:00.000Z', stop: '2022-03-15T01:00:00.000Z', title: 'ST. VINCENT', - icon: 'https://img.kplus.vn/images?filename=Media/HDVN/2020_05/MOV_COM__2632318_2632318.jpg', + image: 'https://img.kplus.vn/images?filename=Media/HDVN/2020_05/MOV_COM__2632318_2632318.jpg', category: 'Comedy' } ]) diff --git a/sites/m.tving.com/m.tving.com.config.js b/sites/m.tving.com/m.tving.com.config.js index 454d0c027..77ef4ea24 100644 --- a/sites/m.tving.com/m.tving.com.config.js +++ b/sites/m.tving.com/m.tving.com.config.js @@ -30,7 +30,7 @@ module.exports = { actors: item.program.actor, start: parseStart(item), stop: parseStop(item), - icon: parseIcon(item) + image: parseImage(item) }) }) @@ -63,7 +63,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.program.image.length ? `https://image.tving.com${item.program.image[0].url}` : null } diff --git a/sites/m.tving.com/m.tving.com.test.js b/sites/m.tving.com/m.tving.com.test.js index d3ba9fc1f..afb7a07fe 100644 --- a/sites/m.tving.com/m.tving.com.test.js +++ b/sites/m.tving.com/m.tving.com.test.js @@ -30,7 +30,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ title: '외계+인 1부', description: '외계+인 1부', - icon: 'https://image.tving.com/upload/cms/caip/CAIP0200/P001661154.jpg', + image: 'https://image.tving.com/upload/cms/caip/CAIP0200/P001661154.jpg', date: 2022, categories: [], directors: ['최동훈'], diff --git a/sites/mako.co.il/mako.co.il.config.js b/sites/mako.co.il/mako.co.il.config.js index 73474d11b..0a6a0b199 100644 --- a/sites/mako.co.il/mako.co.il.config.js +++ b/sites/mako.co.il/mako.co.il.config.js @@ -20,7 +20,7 @@ module.exports = { programs.push({ title: item.ProgramName, description: item.EventDescription, - icon: item.Picture, + image: item.Picture, start, stop }) diff --git a/sites/mako.co.il/mako.co.il.test.js b/sites/mako.co.il/mako.co.il.test.js index ea059cbcb..70f1586eb 100644 --- a/sites/mako.co.il/mako.co.il.test.js +++ b/sites/mako.co.il/mako.co.il.test.js @@ -26,7 +26,7 @@ it('can parse response', () => { stop: '2022-03-07T00:39:00.000Z', title: 'רוקדים עם כוכבים - בר זומר', description: 'מהדורת החדשות המרכזית של הבוקר, האנשים הפרשנויות והכותרות שיעשו את היום.', - icon: 'https://img.mako.co.il/2022/02/13/DancingWithStars2022_EPG.jpg' + image: 'https://img.mako.co.il/2022/02/13/DancingWithStars2022_EPG.jpg' } ]) }) diff --git a/sites/maxtvgo.mk/maxtvgo.mk.config.js b/sites/maxtvgo.mk/maxtvgo.mk.config.js index aa5df0aee..9573d1842 100644 --- a/sites/maxtvgo.mk/maxtvgo.mk.config.js +++ b/sites/maxtvgo.mk/maxtvgo.mk.config.js @@ -22,7 +22,7 @@ module.exports = { title: item.title, category: item.category, description: parseDescription(item), - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -60,7 +60,7 @@ function parseDescription(item) { return typeof item.desc === 'string' ? item.desc : null } -function parseIcon(item) { +function parseImage(item) { return item.icon['@attributes'].src } diff --git a/sites/maxtvgo.mk/maxtvgo.mk.test.js b/sites/maxtvgo.mk/maxtvgo.mk.test.js index e21d18545..f218c3bae 100644 --- a/sites/maxtvgo.mk/maxtvgo.mk.test.js +++ b/sites/maxtvgo.mk/maxtvgo.mk.test.js @@ -34,7 +34,8 @@ it('can parse response', () => { category: 'Останато', description: 'Екстремниот рибар, Џереми Вејд, е во потрага по слатководни риби кои јадат човечко месо. Со форензички методи, Џереми им илустрира на гледачите како овие нови чудовишта се создадени да убиваат.', - icon: 'https://prd-static-mkt.spectar.tv/rev-1636968170/image_transform.php/transform/1/epg_program_id/21949063/instance_id/1' + image: + 'https://prd-static-mkt.spectar.tv/rev-1636968170/image_transform.php/transform/1/epg_program_id/21949063/instance_id/1' } ]) }) @@ -55,7 +56,8 @@ it('can parse response with no description', () => { title: 'Палмето - игран филм', category: 'Останато', description: null, - icon: 'https://prd-static-mkt.spectar.tv/rev-1636968170/image_transform.php/transform/1/epg_program_id/21949063/instance_id/1' + image: + 'https://prd-static-mkt.spectar.tv/rev-1636968170/image_transform.php/transform/1/epg_program_id/21949063/instance_id/1' } ]) }) diff --git a/sites/mediaklikk.hu/mediaklikk.hu.config.js b/sites/mediaklikk.hu/mediaklikk.hu.config.js index 26f41c641..07d17a30b 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.config.js +++ b/sites/mediaklikk.hu/mediaklikk.hu.config.js @@ -34,7 +34,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -69,13 +69,13 @@ function parseDescription($item) { return $item('.program_about > .program_description > p').text().trim() } -function parseIcon($item) { +function parseImage($item) { const backgroundImage = $item('.program_about > .program_photo').css('background-image') if (!backgroundImage) return null - const [, icon] = backgroundImage.match(/url\('(.*)'\)/) || [null, null] - if (!icon) return null + const [, imageUrl] = backgroundImage.match(/url\('(.*)'\)/) || [null, null] + if (!imageUrl) return null - return `https:${icon}` + return `https:${imageUrl}` } function parseItems(content) { diff --git a/sites/mediaklikk.hu/mediaklikk.hu.test.js b/sites/mediaklikk.hu/mediaklikk.hu.test.js index a04efd6a5..7ab04fbe9 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.test.js +++ b/sites/mediaklikk.hu/mediaklikk.hu.test.js @@ -49,7 +49,8 @@ it('can parse response', () => { title: 'A hegyi doktor - I. évad', description: 'Maxl iskolatársának, Vroninak az anyja egy autóbalesetben meghal. A 20 éves testvér, Vinzenz magához szeretné venni a lányt, ám a gyámüggyel problémái akadnak, ezért megpróbálja elszöktetni.(Eredeti hang digitálisan.)', - icon: 'https://mediaklikk.hu/wp-content/uploads/sites/4/2019/10/A-hegyi-doktor-I-évad-e1571318391226-150x150.jpg' + image: + 'https://mediaklikk.hu/wp-content/uploads/sites/4/2019/10/A-hegyi-doktor-I-évad-e1571318391226-150x150.jpg' }) expect(results[56]).toMatchObject({ diff --git a/sites/melita.com/melita.com.config.js b/sites/melita.com/melita.com.config.js index 5edf4012e..d344170ca 100644 --- a/sites/melita.com/melita.com.config.js +++ b/sites/melita.com/melita.com.config.js @@ -18,7 +18,7 @@ module.exports = { programs.push({ title: item.title, description: item.shortSynopsis, - icon: parseIcon(item), + image: parseImage(item), category: item.tags, season: item.season, episode: item.episode, @@ -59,7 +59,7 @@ function parseStop(item) { return dayjs(item.published.end) } -function parseIcon(item) { +function parseImage(item) { return item.posterImage ? item.posterImage + '?form=epg-card-6' : null } diff --git a/sites/melita.com/melita.com.test.js b/sites/melita.com/melita.com.test.js index 06e491317..2cedf24e5 100644 --- a/sites/melita.com/melita.com.test.js +++ b/sites/melita.com/melita.com.test.js @@ -35,7 +35,8 @@ it('can parse response', () => { 'Symphony of Illumination - Robin gets some bad news and decides to keep it to herself. Marshall decorates the house.', season: 7, episode: 12, - icon: 'https://androme.melitacable.com/media/images/epg/bc/07/p8953134_e_h10_ad.jpg?form=epg-card-6', + image: + 'https://androme.melitacable.com/media/images/epg/bc/07/p8953134_e_h10_ad.jpg?form=epg-card-6', category: ['comedy'] } ]) diff --git a/sites/mewatch.sg/mewatch.sg.config.js b/sites/mewatch.sg/mewatch.sg.config.js index e8f8bff64..4c9456090 100644 --- a/sites/mewatch.sg/mewatch.sg.config.js +++ b/sites/mewatch.sg/mewatch.sg.config.js @@ -16,7 +16,7 @@ module.exports = { programs.push({ title: info.title, description: info.description, - icon: info.images.tile, + image: info.images.tile, episode: info.episodeNumber, season: info.seasonNumber, start: parseStart(item), diff --git a/sites/mewatch.sg/mewatch.sg.test.js b/sites/mewatch.sg/mewatch.sg.test.js index 787fcf5f1..adc73f2ff 100644 --- a/sites/mewatch.sg/mewatch.sg.test.js +++ b/sites/mewatch.sg/mewatch.sg.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: 'Open Homes S3 - EP 2', description: 'Mike heads down to the Sydney beaches to visit a beachside renovation with all the bells and whistles, we see a kitchen tip and recipe anyone can do at home. We finish up in the prestigious Byron bay to visit a multi million dollar award winning home.', - icon: "https://production.togglestatic.com/shain/v1/dataservice/ResizeImage/$value?Format='jpg'&Quality=85&ImageId='4853697'&EntityType='LinearSchedule'&EntityId='788a7dd9-9b12-446f-91b4-c8ac9fec95e5'&Width=1280&Height=720&device=web_browser&subscriptions=Anonymous&segmentationTags=all", + image: + "https://production.togglestatic.com/shain/v1/dataservice/ResizeImage/$value?Format='jpg'&Quality=85&ImageId='4853697'&EntityType='LinearSchedule'&EntityId='788a7dd9-9b12-446f-91b4-c8ac9fec95e5'&Width=1280&Height=720&device=web_browser&subscriptions=Anonymous&segmentationTags=all", episode: 2, season: 3, rating: { diff --git a/sites/mi.tv/mi.tv.config.js b/sites/mi.tv/mi.tv.config.js index 76eb67420..fde677dba 100644 --- a/sites/mi.tv/mi.tv.config.js +++ b/sites/mi.tv/mi.tv.config.js @@ -34,7 +34,7 @@ module.exports = { title: parseTitle($item), category: parseCategory($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -93,11 +93,11 @@ function parseDescription($item) { return $item('a > div.content > p.synopsis').text().trim() } -function parseIcon($item) { +function parseImage($item) { const backgroundImage = $item('a > div.image-parent > div.image').css('background-image') - const [, icon] = backgroundImage.match(/url\('(.*)'\)/) || [null, null] + const [, image] = backgroundImage.match(/url\('(.*)'\)/) || [null, null] - return icon + return image } function parseItems(content) { diff --git a/sites/mi.tv/mi.tv.test.js b/sites/mi.tv/mi.tv.test.js index 801bc68f4..5bd1a9f3e 100644 --- a/sites/mi.tv/mi.tv.test.js +++ b/sites/mi.tv/mi.tv.test.js @@ -33,7 +33,7 @@ it('can parse response', () => { title: 'Trasnoche de 24/7', category: 'Interés general', description: 'Lo más visto de la semana en nuestra pantalla.', - icon: 'https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg' + image: 'https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg' }, { start: '2021-11-24T23:00:00.000Z', @@ -42,7 +42,7 @@ it('can parse response', () => { category: 'Noticiero', description: 'Cerramos el día con un completo resumen de los temas más relevantes con columnistas y análisis especiales para terminar el día.', - icon: 'https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg' + image: 'https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg' }, { start: '2021-11-25T01:00:00.000Z', @@ -51,7 +51,7 @@ it('can parse response', () => { category: 'Cultural', description: 'La energía tiene mucho para mostrar. Este programa reúne a las principales empresas y protagonistas de la actividad que esta revolucionando la región.', - icon: 'https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg' + image: 'https://cdn.mitvstatic.com/programs/fallback_other_l_m.jpg' } ]) }) diff --git a/sites/mon-programme-tv.be/mon-programme-tv.be.config.js b/sites/mon-programme-tv.be/mon-programme-tv.be.config.js index 436270f73..23307f4f8 100644 --- a/sites/mon-programme-tv.be/mon-programme-tv.be.config.js +++ b/sites/mon-programme-tv.be/mon-programme-tv.be.config.js @@ -34,7 +34,7 @@ module.exports = { title: parseTitle($item), description: parseDescription($item), category: parseCategory($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -85,7 +85,7 @@ function parseCategory($item) { return $item('.type').text().trim() } -function parseIcon($item) { +function parseImage($item) { return $item('.image img').data('src') } diff --git a/sites/mon-programme-tv.be/mon-programme-tv.be.test.js b/sites/mon-programme-tv.be/mon-programme-tv.be.test.js index de0d46310..c6dc381a0 100644 --- a/sites/mon-programme-tv.be/mon-programme-tv.be.test.js +++ b/sites/mon-programme-tv.be/mon-programme-tv.be.test.js @@ -32,7 +32,7 @@ it('can parse response', () => { stop: '2023-01-19T05:55:00.000Z', title: 'LN Matin', category: 'Magazine Actualité', - icon: 'https://dnsmptv-img.pragma-consult.be/imgs/picto/132/Reportage_1.jpg' + image: 'https://dnsmptv-img.pragma-consult.be/imgs/picto/132/Reportage_1.jpg' }) expect(results[1]).toMatchObject({ @@ -40,7 +40,7 @@ it('can parse response', () => { stop: '2023-01-19T06:00:00.000Z', title: 'Météo', category: 'Météo', - icon: 'https://dnsmptv-img.pragma-consult.be/imgs/picto/132/Meteo.jpg' + image: 'https://dnsmptv-img.pragma-consult.be/imgs/picto/132/Meteo.jpg' }) expect(results[8]).toMatchObject({ @@ -49,7 +49,7 @@ it('can parse response', () => { title: 'Le journal', description: "L'information de la mi-journée avec des JT...", category: 'Journal', - icon: 'https://dnsmptv-img.pragma-consult.be/imgs/picto/132/journal.jpg' + image: 'https://dnsmptv-img.pragma-consult.be/imgs/picto/132/journal.jpg' }) }) diff --git a/sites/mtel.ba/mtel.ba.config.js b/sites/mtel.ba/mtel.ba.config.js index dcd9add8d..2da967bdb 100644 --- a/sites/mtel.ba/mtel.ba.config.js +++ b/sites/mtel.ba/mtel.ba.config.js @@ -26,7 +26,7 @@ module.exports = { title: item.title, description: item.description, category: item.category, - icon: item.image, + image: item.image, start: parseStart(item).toJSON(), stop: parseStop(item).toJSON() }) diff --git a/sites/mtel.ba/mtel.ba.test.js b/sites/mtel.ba/mtel.ba.test.js index d9e2a9b6c..5fe0d8d6a 100644 --- a/sites/mtel.ba/mtel.ba.test.js +++ b/sites/mtel.ba/mtel.ba.test.js @@ -32,7 +32,7 @@ it('can parse response', () => { start: '2021-11-09T22:29:00.000Z', stop: '2021-11-09T23:46:00.000Z', title: 'Šuma', - icon: 'https://mtel.ba/oec/images/epg/60881491.jpg', + image: 'https://mtel.ba/oec/images/epg/60881491.jpg', description: 'Krajem decembra 1947. godine jugoslovenski predsjednik Josip Broz Tito prvi put je posjetio Rumuniju. Da bi učvrstili novo socijalističko prijateljstvo, rumunski zvaničnici su poklonili Titu sliku velikog rumunskog umjetnika Jona Andreskua pod nazivom Šuma. Mnogo godina kasnije ta slika je umješana u napetu špijunsku priču i otkriva tajnu koja će uzdrmati temelje i Jugoslavije i Rumunije. Film je svjedok kompleksnosti i raznovrsnosti glasova koji čine ono što zovemo stvarnošću.', category: 'Televizijski film' diff --git a/sites/mts.rs/mts.rs.config.js b/sites/mts.rs/mts.rs.config.js index 8be454629..251cae944 100644 --- a/sites/mts.rs/mts.rs.config.js +++ b/sites/mts.rs/mts.rs.config.js @@ -28,7 +28,7 @@ module.exports = { title: item.title, category: item.category, description: item.description, - icon: item.image, + image: item.image, start: parseStart(item), stop: parseStop(item) }) diff --git a/sites/mts.rs/mts.rs.test.js b/sites/mts.rs/mts.rs.test.js index 7fff11041..220dd9a1c 100644 --- a/sites/mts.rs/mts.rs.test.js +++ b/sites/mts.rs/mts.rs.test.js @@ -36,7 +36,8 @@ it('can parse response', () => { stop: '2021-11-07T00:43:00.000Z', title: 'Zaboravljeni zlo\u010din', category: 'Bioskopski film', - icon: 'https://mts.rs/oec/images/epg/2_abb81cc24d8ce957eece50f991a31e59780e4e53_E7D8ECDE568E84E3C86CCDBDB647355E.jpg', + image: + 'https://mts.rs/oec/images/epg/2_abb81cc24d8ce957eece50f991a31e59780e4e53_E7D8ECDE568E84E3C86CCDBDB647355E.jpg', description: 'Novinarka-fotoreporter, D\u017ein, istra\u017euje okrutno i senzacionalno, nere\u0161eno ubistvo sekirom iz davne 1873. godine. Ubistvo koje koincidira sa nedavnim identi\u010dnim brutalnim dvostrukim ubistvom. Zaplet se odvija izme\u0111u pri\u010de o\u010devica iz toga doba - pri\u010de iz novinske arhive i D\u017einine privatne borbe sa ljubomorom i sumnjom koje prate njen brak.' } diff --git a/sites/musor.tv/musor.tv.config.js b/sites/musor.tv/musor.tv.config.js index 6a58e6b4d..d8e75543d 100644 --- a/sites/musor.tv/musor.tv.config.js +++ b/sites/musor.tv/musor.tv.config.js @@ -27,7 +27,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -59,7 +59,7 @@ module.exports = { } } -function parseIcon($item) { +function parseImage($item) { const imgSrc = $item('div.smartpe_screenshot > img').attr('src') return imgSrc ? `https:${imgSrc}` : null diff --git a/sites/nostv.pt/nostv.pt.config.js b/sites/nostv.pt/nostv.pt.config.js index 0f8295940..a823d1650 100644 --- a/sites/nostv.pt/nostv.pt.config.js +++ b/sites/nostv.pt/nostv.pt.config.js @@ -10,15 +10,20 @@ const headers = { 'X-Core-Contentratinglimit': '0', 'X-Core-Deviceid': '', 'X-Core-Devicetype': 'web', - 'Origin': 'https://nostv.pt', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' + Origin: 'https://nostv.pt', + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36' } module.exports = { site: 'nostv.pt', days: 2, url({ channel, date }) { - return `https://tyr-prod.apigee.net/nostv/ott/schedule/range/contents/guest?channels=${channel.site_id}&minDate=${date.format('YYYY-MM-DD')}T00:00:00Z&maxDate=${date.format('YYYY-MM-DD')}T23:59:59Z&isDateInclusive=true&client_id=${headers['X-Apikey']}` + return `https://tyr-prod.apigee.net/nostv/ott/schedule/range/contents/guest?channels=${ + channel.site_id + }&minDate=${date.format('YYYY-MM-DD')}T00:00:00Z&maxDate=${date.format( + 'YYYY-MM-DD' + )}T23:59:59Z&isDateInclusive=true&client_id=${headers['X-Apikey']}` }, request: { headers }, parser({ content }) { @@ -32,9 +37,9 @@ module.exports = { description: item.Metadata?.Description, season: item.Metadata?.Season, episode: item.Metadata?.Episode, - icon: item.Images ? - `https://mage.stream.nos.pt/v1/nostv_mage/Images?sourceUri=${item.Images[0].Url}&profile=ott_1_452x340&client_id=${headers['X-Apikey']}` : - null, + image: item.Images + ? `https://mage.stream.nos.pt/v1/nostv_mage/Images?sourceUri=${item.Images[0].Url}&profile=ott_1_452x340&client_id=${headers['X-Apikey']}` + : null, start: dayjs.utc(item.UtcDateTimeStart), stop: dayjs.utc(item.UtcDateTimeEnd) }) @@ -45,7 +50,10 @@ module.exports = { }, async channels() { const result = await axios - .get(`https://tyr-prod.apigee.net/nostv/ott/channels/guest?client_id=${headers['X-Apikey']}`, { headers }) + .get( + `https://tyr-prod.apigee.net/nostv/ott/channels/guest?client_id=${headers['X-Apikey']}`, + { headers } + ) .then(r => r.data) .catch(console.error) diff --git a/sites/nostv.pt/nostv.pt.test.js b/sites/nostv.pt/nostv.pt.test.js index 76259a569..472978450 100644 --- a/sites/nostv.pt/nostv.pt.test.js +++ b/sites/nostv.pt/nostv.pt.test.js @@ -22,12 +22,11 @@ it('can generate valid url', () => { it('can parse response', () => { const content = fs.readFileSync(path.resolve(__dirname, '__data__/data.json')) - const results = parser({ content }) - .map(p => { - p.start = p.start.toJSON() - p.stop = p.stop.toJSON() - return p - }) + const results = parser({ content }).map(p => { + p.start = p.start.toJSON() + p.stop = p.stop.toJSON() + return p + }) expect(results[0]).toMatchObject({ start: '2023-12-11T16:30:00.000Z', @@ -37,7 +36,8 @@ it('can parse response', () => { 'A história de dois melhores amigos veterinários e o seu extraordinário trabalho na Austrália.', season: 1, episode: 12, - icon: 'https://mage.stream.nos.pt/v1/nostv_mage/Images?sourceUri=http://vip.pam.local.internal/PAM.Images/Store/8329ed1aec5d4c0faa2056972256ff9f&profile=ott_1_452x340&client_id=xe1dgrShwdR1DVOKGmsj8Ut4QLlGyOFI' + image: + 'https://mage.stream.nos.pt/v1/nostv_mage/Images?sourceUri=http://vip.pam.local.internal/PAM.Images/Store/8329ed1aec5d4c0faa2056972256ff9f&profile=ott_1_452x340&client_id=xe1dgrShwdR1DVOKGmsj8Ut4QLlGyOFI' }) }) diff --git a/sites/novacyprus.com/novacyprus.com.config.js b/sites/novacyprus.com/novacyprus.com.config.js index 0eb06083e..6bf63c84b 100644 --- a/sites/novacyprus.com/novacyprus.com.config.js +++ b/sites/novacyprus.com/novacyprus.com.config.js @@ -27,7 +27,7 @@ module.exports = { programs.push({ title: item.title, description: item.description, - icon: parseIcon(item), + image: parseImage(item), start, stop }) @@ -55,7 +55,7 @@ function parseStart(item) { return dayjs.tz(item.datetime, 'YYYY-MM-DD HH:mm:ss', 'Asia/Nicosia') } -function parseIcon(item) { +function parseImage(item) { return item.mediaItems.length ? item.mediaItems[0].CdnUrl : null } diff --git a/sites/novacyprus.com/novacyprus.com.test.js b/sites/novacyprus.com/novacyprus.com.test.js index 456458070..095b5998f 100644 --- a/sites/novacyprus.com/novacyprus.com.test.js +++ b/sites/novacyprus.com/novacyprus.com.test.js @@ -32,7 +32,8 @@ it('can parse response', () => { stop: '2021-11-17T06:10:00.000Z', title: 'Δεσμοί Αίματος', description: 'Θρίλερ Μυστηρίου', - icon: 'http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_GUIDE_STILL.jpg' + image: + 'http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_GUIDE_STILL.jpg' } ]) }) diff --git a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js index 961d04cdc..37429ac8a 100644 --- a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js +++ b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js @@ -33,7 +33,7 @@ module.exports = { programs.push({ title: details.main_title, description: details.short_argument, - icon: parseIcon(details), + image: parseImage(details), actors: parseActors(details), rating: parseRating(details), date: details.year, @@ -87,7 +87,7 @@ function parseActors(details) { return details.actors.split(', ') } -function parseIcon(details) { +function parseImage(details) { return details.image ? `https://img-ns.s3.amazonaws.com/grid_data/${details.image}` : null } diff --git a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js index 9d4e27fbc..fbd2bf02c 100644 --- a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js +++ b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js @@ -51,7 +51,7 @@ it('can parse response', async () => { title: 'Jurassic World: Dominion', description: 'Años después de la destrucción de Isla Nublar, los dinosaurios viven y cazan junto a los humanos. Este equilibrio determinará, si los humanos seguirán siendo los depredadores máximos en un planeta que comparten con las criaturas temibles.', - icon: 'https://img-ns.s3.amazonaws.com/grid_data/23354476.jpg', + image: 'https://img-ns.s3.amazonaws.com/grid_data/23354476.jpg', date: '2022', rating: { system: 'MPAA', @@ -66,7 +66,7 @@ it('can parse response', async () => { title: 'Black Adam', description: 'Black Adam es liberado de su tumba casi cinco mil años después de haber sido encarcelado y recibir sus poderes de los antiguos dioses. Ahora está listo para desatar su forma única de justicia en el mundo.', - icon: 'https://img-ns.s3.amazonaws.com/grid_data/24638423.jpg', + image: 'https://img-ns.s3.amazonaws.com/grid_data/24638423.jpg', date: '2022', rating: { system: 'MPAA', diff --git a/sites/pickx.be/pickx.be.config.js b/sites/pickx.be/pickx.be.config.js index e7eb3f106..37bbb1f83 100644 --- a/sites/pickx.be/pickx.be.config.js +++ b/sites/pickx.be/pickx.be.config.js @@ -2,33 +2,34 @@ const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') -let apiVersion; -let isApiVersionFetched = false; +let apiVersion +let isApiVersionFetched = false -(async () => { +;(async () => { try { - await fetchApiVersion(); - isApiVersionFetched = true; - + await fetchApiVersion() + isApiVersionFetched = true } catch (error) { - console.error('Error during script initialization:', error); + console.error('Error during script initialization:', error) } -})(); +})() dayjs.extend(utc) - + module.exports = { site: 'pickx.be', days: 2, apiVersion: function () { - return apiVersion; + return apiVersion }, - fetchApiVersion: fetchApiVersion, // Export fetchApiVersion + fetchApiVersion: fetchApiVersion, // Export fetchApiVersion url: async function ({ channel, date }) { while (!isApiVersionFetched) { - await new Promise(resolve => setTimeout(resolve, 100)); // Wait for 100 milliseconds + await new Promise(resolve => setTimeout(resolve, 100)) // Wait for 100 milliseconds } - return `https://px-epg.azureedge.net/airings/${apiVersion}/${date.format('YYYY-MM-DD')}/channel/${channel.site_id}?timezone=Europe%2FBrussels`; + return `https://px-epg.azureedge.net/airings/${apiVersion}/${date.format( + 'YYYY-MM-DD' + )}/channel/${channel.site_id}?timezone=Europe%2FBrussels` }, request: { headers: { @@ -45,10 +46,12 @@ module.exports = { title: item.program.title, sub_title: item.program.episodeTitle, description: item.program.description, - category: item.program.translatedCategory?.[channel.lang] ? - item.program.translatedCategory[channel.lang] : item.program.category.split('.')[1], - icon: item.program.posterFileName ? - `https://experience-cache.proximustv.be/posterserver/poster/EPG/w-166_h-110/${item.program.posterFileName}` : null, + category: item.program.translatedCategory?.[channel.lang] + ? item.program.translatedCategory[channel.lang] + : item.program.category.split('.')[1], + image: item.program.posterFileName + ? `https://experience-cache.proximustv.be/posterserver/poster/EPG/w-166_h-110/${item.program.posterFileName}` + : null, season: item.program.seasonNumber, episode: item.program.episodeNumber, actors: item.program.actors, @@ -61,19 +64,18 @@ module.exports = { return programs }, - async channels({ lang = ''}) { + async channels({ lang = '' }) { const query = { operationName: 'getChannels', variables: { language: lang, queryParams: {}, - 'id': '0', + id: '0', params: { shouldReadFromCache: true } }, - query: - `query getChannels($language: String!, $queryParams: ChannelQueryParams, $id: String, $params: ChannelParams) { + query: `query getChannels($language: String!, $queryParams: ChannelQueryParams, $id: String, $params: ChannelParams) { channels(language: $language, queryParams: $queryParams, id: $id, params: $params) { id channelReferenceNumber @@ -118,21 +120,25 @@ module.exports = { .then(r => r.data) .catch(console.error) - return result?.data?.channels - .filter(channel => !channel.radio && (!lang || channel.language === (lang === 'de' ? 'ger' : lang))) - .map(channel => { - return { - lang: channel.language === 'ger' ? 'de' : channel.language, - site_id: channel.id, - name: channel.name - } - }) || [] + return ( + result?.data?.channels + .filter( + channel => + !channel.radio && (!lang || channel.language === (lang === 'de' ? 'ger' : lang)) + ) + .map(channel => { + return { + lang: channel.language === 'ger' ? 'de' : channel.language, + site_id: channel.id, + name: channel.name + } + }) || [] + ) } } function fetchApiVersion() { return new Promise(async (resolve, reject) => { try { - // https://px-epg.azureedge.net/version is deprecated // probably the version url will be changed around over time @@ -145,25 +151,26 @@ function fetchApiVersion() { //const versionUrl = 'https://www.pickx.be/api/s-626d8fdabfb1d44e5a614cd69f4b45d6843fdb63566fc80ea4f97f40e4ea3152'; //the new strategy to break the provider is to leave old version url's available and to return invalid results on those endpoints - const versionUrl = 'https://www.pickx.be//api/s-cefaf96e249e53648c4895c279e7a621233c50b4357d62b0bdf6bff45f31b5c0'; + const versionUrl = + 'https://www.pickx.be//api/s-cefaf96e249e53648c4895c279e7a621233c50b4357d62b0bdf6bff45f31b5c0' const response = await axios.get(versionUrl, { headers: { - 'Origin': 'https://www.pickx.be', - 'Referer': 'https://www.pickx.be/' + Origin: 'https://www.pickx.be', + Referer: 'https://www.pickx.be/' } - }); + }) if (response.status === 200) { - apiVersion = response.data.version; - resolve(); + apiVersion = response.data.version + resolve() } else { - console.error(`Failed to fetch API version. Status: ${response.status}`); - reject(`Failed to fetch API version. Status: ${response.status}`); + console.error(`Failed to fetch API version. Status: ${response.status}`) + reject(`Failed to fetch API version. Status: ${response.status}`) } } catch (error) { - console.error('Error fetching API version:', error.message); - reject(error); + console.error('Error fetching API version:', error.message) + reject(error) } - }); + }) } diff --git a/sites/pickx.be/pickx.be.test.js b/sites/pickx.be/pickx.be.test.js index 9326d7ce1..eef0a82fd 100644 --- a/sites/pickx.be/pickx.be.test.js +++ b/sites/pickx.be/pickx.be.test.js @@ -4,10 +4,8 @@ const path = require('path') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') - dayjs.extend(utc) - const date = dayjs.utc('2023-12-13').startOf('d') const channel = { lang: 'fr', @@ -16,11 +14,13 @@ const channel = { } it('can generate valid url', async () => { - await fetchApiVersion(); - const generatedUrl = await url({ channel, date }); - const resolvedApiVersion = apiVersion(); - expect(generatedUrl).toBe(`https://px-epg.azureedge.net/airings/${resolvedApiVersion}/2023-12-13/channel/UID0118?timezone=Europe%2FBrussels`); -}); + await fetchApiVersion() + const generatedUrl = await url({ channel, date }) + const resolvedApiVersion = apiVersion() + expect(generatedUrl).toBe( + `https://px-epg.azureedge.net/airings/${resolvedApiVersion}/2023-12-13/channel/UID0118?timezone=Europe%2FBrussels` + ) +}) it('can generate valid request headers', () => { expect(request.headers).toMatchObject({ @@ -41,10 +41,10 @@ it('can parse response', () => { start: '2023-12-12T23:55:00.000Z', stop: '2023-12-13T00:15:00.000Z', title: 'Le 22h30', - description: - 'Le journal de vivre ici.', + description: 'Le journal de vivre ici.', category: 'Info', - icon: 'https://experience-cache.proximustv.be/posterserver/poster/EPG/w-166_h-110/250_250_4B990CC58066A7B2A660AFA0BDDE5C41.jpg' + image: + 'https://experience-cache.proximustv.be/posterserver/poster/EPG/w-166_h-110/250_250_4B990CC58066A7B2A660AFA0BDDE5C41.jpg' }) }) diff --git a/sites/plex.tv/plex.tv.config.js b/sites/plex.tv/plex.tv.config.js index 22d810d06..bb7eb56a3 100644 --- a/sites/plex.tv/plex.tv.config.js +++ b/sites/plex.tv/plex.tv.config.js @@ -24,7 +24,7 @@ module.exports = { title: item.title, description: item.summary, categories: parseCategories(item), - icon: item.art, + image: item.art, start: parseStart(item), stop: parseStop(item) }) diff --git a/sites/plex.tv/plex.tv.test.js b/sites/plex.tv/plex.tv.test.js index 7edd74114..a189c6916 100644 --- a/sites/plex.tv/plex.tv.test.js +++ b/sites/plex.tv/plex.tv.test.js @@ -43,7 +43,7 @@ it('can parse response', () => { title: 'Violet & Daisy', description: 'Two teenage assassins accept what they think will be a quick-and-easy job, until an unexpected target throws them off their plan.', - icon: 'https://provider-static.plex.tv/epg/images/ott_channels/arts/darkmatter-tv-about.jpg', + image: 'https://provider-static.plex.tv/epg/images/ott_channels/arts/darkmatter-tv-about.jpg', categories: ['Movies'] }) }) diff --git a/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.config.js b/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.config.js index cf20319ed..2ac993f76 100644 --- a/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.config.js +++ b/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.config.js @@ -31,7 +31,7 @@ module.exports = { sub_title: details.episode_title, description: details.episode_description || item.description, category: parseCategory(details), - icon: parseIcon(details), + image: parseImage(details), director: parseList(details.director), actors: parseList(details.actors), writer: parseList(details.script), @@ -70,7 +70,7 @@ function parseList(str) { return typeof str === 'string' ? str.split(', ') : [] } -function parseIcon(details) { +function parseImage(details) { const url = new URL(details.image, 'https://programacion-tv.elpais.com/') return url.href diff --git a/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.test.js b/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.test.js index d6daa74f9..1cfff4f55 100644 --- a/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.test.js +++ b/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.test.js @@ -57,7 +57,7 @@ it('can parse response', async () => { category: 'Ocio-Cultura/Cocina', season: 1, episode: 23, - icon: 'https://programacion-tv.elpais.com/imagenes/programas/2099957.jpg' + image: 'https://programacion-tv.elpais.com/imagenes/programas/2099957.jpg' } ]) }) diff --git a/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.config.js b/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.config.js index b72115f14..5a42c02b3 100644 --- a/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.config.js +++ b/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.config.js @@ -28,7 +28,7 @@ module.exports = { date: item.year, season: item.season_number, episode: item.episode_number, - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -78,7 +78,7 @@ function parseCategories(item) { .filter(Boolean) } -function parseIcon(item) { +function parseImage(item) { const uri = item.images[0] ? item.images[0].image_media.file : null return uri ? `https:${uri}` : null diff --git a/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.test.js b/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.test.js index cf98b613e..f2600af10 100644 --- a/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.test.js +++ b/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.test.js @@ -36,7 +36,7 @@ it('can parse response', () => { season: 3, episode: 3, categories: [], - icon: 'https://zpapi.zetatv.com.uy/media/images/2b45d2675389f2e4f7f6fe0655ccc968.jpg', + image: 'https://zpapi.zetatv.com.uy/media/images/2b45d2675389f2e4f7f6fe0655ccc968.jpg', description: 'Cada episodio relata un lugar y una historia diferente pero siguiendo la línea de una investigación basada en una leyenda la cual es guiada por una pareja. Estos dos personajes no son necesariamente ambos policías, pero se ven obligados a colaborar a pesar de los primeros informes difíciles.' }) @@ -48,7 +48,7 @@ it('can parse response', () => { season: null, episode: null, categories: ['Drama'], - icon: 'https://zpapi.zetatv.com.uy/media/images/8cab42d88691edaa8a4001b91f809d91.jpg', + image: 'https://zpapi.zetatv.com.uy/media/images/8cab42d88691edaa8a4001b91f809d91.jpg', description: 'Basada en la novela de Charles Dickens, cuenta la historia del pintor Finn que persigue obsesionado a su amor de la niñez, la bella y rica Estella. Gracias a un misterioso benefactor, Finn es enviado a Nueva York, donde se reúne con la hermosa y fría joven.' }) @@ -60,7 +60,7 @@ it('can parse response', () => { season: null, episode: null, categories: ['Comedia', 'Drama'], - icon: 'https://zpapi.zetatv.com.uy/media/images/51684d91ed33cb9b0c1863b7a9b097e9.jpg', + image: 'https://zpapi.zetatv.com.uy/media/images/51684d91ed33cb9b0c1863b7a9b097e9.jpg', description: 'Una pareja de lesbianas conciben a un niño y una niña por inseminacion artificial. Al paso del tiempo, los chicos deciden conocer a su verdadero padre a espaldas de sus madres. Tras localizarlo intentan integrar toda una familia. Podran lograrlo?.' }) diff --git a/sites/programme-tv.net/programme-tv.net.config.js b/sites/programme-tv.net/programme-tv.net.config.js index ea651af4e..21810bef3 100644 --- a/sites/programme-tv.net/programme-tv.net.config.js +++ b/sites/programme-tv.net/programme-tv.net.config.js @@ -29,13 +29,13 @@ module.exports = { items.forEach(item => { const $item = cheerio.load(item) const title = parseTitle($item) - const icon = parseIcon($item) + const image = parseImage($item) const category = parseCategory($item) const start = parseStart($item, date) const duration = parseDuration($item) const stop = start.add(duration, 'ms') - programs.push({ title, icon, category, start, stop }) + programs.push({ title, image, category, start, stop }) }) return programs @@ -88,13 +88,13 @@ function parseDuration($item) { return durationParser(duration) } -function parseIcon($item) { +function parseImage($item) { const img = $item('.mainBroadcastCard-imageContent').first().find('img') const value = img.attr('srcset') || img.data('srcset') const obj = value ? srcset.parse(value).find(i => i.width === 128) : {} if (obj.url) { - obj.url = obj.url.replace('128x180', '960x540'); + obj.url = obj.url.replace('128x180', '960x540') } return obj.url diff --git a/sites/programme-tv.net/programme-tv.net.test.js b/sites/programme-tv.net/programme-tv.net.test.js index 27bd7f784..3f59862da 100644 --- a/sites/programme-tv.net/programme-tv.net.test.js +++ b/sites/programme-tv.net/programme-tv.net.test.js @@ -39,7 +39,8 @@ it('can parse response', () => { stop: '2023-11-27T05:30:00.000Z', title: 'Programmes de la nuit', category: 'Autre', - icon: 'https://www.programme-tv.net/imgre/fit/~2~program~978eb86d5b99cee0.jpg/960x540/quality/80/programmes-de-la-nuit.jpg' + image: + 'https://www.programme-tv.net/imgre/fit/~2~program~978eb86d5b99cee0.jpg/960x540/quality/80/programmes-de-la-nuit.jpg' }) expect(results[27]).toMatchObject({ @@ -47,7 +48,8 @@ it('can parse response', () => { stop: '2023-11-27T23:45:00.000Z', title: 'Coup de foudre chez le Père Noël', category: 'Téléfilm', - icon: 'https://www.programme-tv.net/imgre/fit/~2~program~5a4e78779c4a3fac.jpg/960x540/quality/80/coup-de-foudre-chez-le-pere-noel.jpg' + image: + 'https://www.programme-tv.net/imgre/fit/~2~program~5a4e78779c4a3fac.jpg/960x540/quality/80/coup-de-foudre-chez-le-pere-noel.jpg' }) }) diff --git a/sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js b/sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js index c6a75b590..6d17bb8b2 100644 --- a/sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js +++ b/sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js @@ -35,7 +35,7 @@ module.exports = { title: item.titreP, description: item.desc, category: item.categorieP, - icon: item.srcP, + image: item.srcP, start: dayjs.unix(item.timestampDeb), stop: dayjs.unix(item.timestampFin) }) diff --git a/sites/programme-tv.vini.pf/programme-tv.vini.pf.test.js b/sites/programme-tv.vini.pf/programme-tv.vini.pf.test.js index 231999ad3..013682c90 100644 --- a/sites/programme-tv.vini.pf/programme-tv.vini.pf.test.js +++ b/sites/programme-tv.vini.pf/programme-tv.vini.pf.test.js @@ -62,7 +62,8 @@ it('can parse response', done => { category: 'Magazine', description: "Pour faire face à la crise du logement, aux loyers toujours plus élevés, à la solitude ou pour les gardes d'enfants, les colocations ont le vent en poupe, Pour mieux comprendre ce nouveau phénomène, une équipe a partagé le quotidien de quatre foyers : une retraitée qui héberge des étudiants, des mamans solos, enceintes, qui partagent un appartement associatif, trois générations de la même famille sur un domaine viticole et une étudiante qui intègre une colocation XXL.", - icon: 'https://programme-tv.vini.pf/sites/default/files/img-icones/52ada51ed86b7e7bc11eaee83ff2192785989d77.jpg' + image: + 'https://programme-tv.vini.pf/sites/default/files/img-icones/52ada51ed86b7e7bc11eaee83ff2192785989d77.jpg' }, { start: '2021-11-21T01:10:00.000Z', @@ -71,7 +72,8 @@ it('can parse response', done => { category: 'Magazine', description: 'Un documentaire français réalisé en 2019, Cindy Sander, Myriam Abel, Mario, Michal ou encore Magali Vaé ont fait les grandes heures des premières émissions de télécrochet modernes, dans les années 2000, Des années après leur passage, que reste-t-il de leur notoriété ? Comment ces candidats ont-ils vécu leur soudaine médiatisation ? Quels rapports entretenaient-ils avec les autres participants et les membres du jury, souvent intransigeants ?', - icon: 'https://programme-tv.vini.pf/sites/default/files/img-icones/6e64cfbc55c1f4cbd11e3011401403d4dc08c6d2.jpg' + image: + 'https://programme-tv.vini.pf/sites/default/files/img-icones/6e64cfbc55c1f4cbd11e3011401403d4dc08c6d2.jpg' }, { start: '2021-11-21T02:30:00.000Z', @@ -80,7 +82,8 @@ it('can parse response', done => { category: 'Magazine', description: "50'INSIDE, c'est toute l'actualité des stars résumée, chaque samedi, Le rendez-vous glamour pour retrouver toujours,,", - icon: 'https://programme-tv.vini.pf/sites/default/files/img-icones/3d7e252312dacb5fb7a1a786fa0022ca1be15499.jpg' + image: + 'https://programme-tv.vini.pf/sites/default/files/img-icones/3d7e252312dacb5fb7a1a786fa0022ca1be15499.jpg' } ]) done() diff --git a/sites/raiplay.it/raiplay.it.config.js b/sites/raiplay.it/raiplay.it.config.js index 27b562d67..4030d21d5 100644 --- a/sites/raiplay.it/raiplay.it.config.js +++ b/sites/raiplay.it/raiplay.it.config.js @@ -35,7 +35,7 @@ module.exports = { url: parseURL(item), start, stop, - icon: parseIcon(item) + image: parseImage(item) }) }) @@ -47,7 +47,7 @@ function parseStart(item, date) { return dayjs.tz(`${date.format('YYYY-MM-DD')} ${item.hour}`, 'YYYY-MM-DD HH:mm', 'Europe/Rome') } -function parseIcon(item) { +function parseImage(item) { let cover = null if (item.image) { cover = `https://www.raiplay.it${item.image}` diff --git a/sites/raiplay.it/raiplay.it.test.js b/sites/raiplay.it/raiplay.it.test.js index 3e820074d..348aed048 100644 --- a/sites/raiplay.it/raiplay.it.test.js +++ b/sites/raiplay.it/raiplay.it.test.js @@ -37,7 +37,7 @@ it('can parse response', () => { season: '3', episode: '5', sub_title: 'La prima volta', - icon: 'https://www.raiplay.it/dl/img/2020/03/09/1583748471860_dddddd.jpg', + image: 'https://www.raiplay.it/dl/img/2020/03/09/1583748471860_dddddd.jpg', url: 'https://www.raiplay.it/dirette/rai2/The-Good-Doctor-S3E5---La-prima-volta-2f81030d-803b-456a-9ea5-40233234fd9d.html' } ]) diff --git a/sites/reportv.com.ar/reportv.com.ar.config.js b/sites/reportv.com.ar/reportv.com.ar.config.js index 2ce83d074..51c89d23a 100644 --- a/sites/reportv.com.ar/reportv.com.ar.config.js +++ b/sites/reportv.com.ar/reportv.com.ar.config.js @@ -45,7 +45,7 @@ module.exports = { programs.push({ title: parseTitle($item), category: parseCategory($item), - icon: details.icon, + image: details.image, description: details.description, directors: details.directors, actors: details.actors, @@ -95,7 +95,7 @@ async function loadProgramDetails($item) { const $ = cheerio.load(content) return Promise.resolve({ - icon: parseIcon($), + image: parseImage($), actors: parseActors($), directors: parseDirectors($), description: parseDescription($) @@ -132,7 +132,7 @@ function parseDescription($) { return $('#Sinopsis > div').text().trim() } -function parseIcon($) { +function parseImage($) { const src = $('#ImgProg').attr('src') const url = new URL(src, 'https://www.reportv.com.ar/buscador/') diff --git a/sites/reportv.com.ar/reportv.com.ar.test.js b/sites/reportv.com.ar/reportv.com.ar.test.js index 933e985f1..19fa99bb8 100644 --- a/sites/reportv.com.ar/reportv.com.ar.test.js +++ b/sites/reportv.com.ar/reportv.com.ar.test.js @@ -74,7 +74,7 @@ it('can parse response', async () => { stop: '2022-10-03T05:00:00.000Z', title: '¿Quién tiene la razón?', category: 'Talk Show', - icon: 'https://www.reportv.com.ar/buscador/img/Programas/4401882.jpg', + image: 'https://www.reportv.com.ar/buscador/img/Programas/4401882.jpg', actors: ['Nancy Álvarez'], description: 'Espacio que dará de qué hablar cuando la doctora Nancy Álvarez y Carmen Jara, acompañadas de un jurado implacable, lleguen a escuchar y a resolver los problemas de las partes en conflicto para luego decidir quién tiene la razón.' @@ -85,7 +85,7 @@ it('can parse response', async () => { stop: '2022-10-04T04:00:00.000Z', title: 'Valeria', category: 'Comedia', - icon: 'https://www.reportv.com.ar/buscador/img/Programas/18788047.jpg', + image: 'https://www.reportv.com.ar/buscador/img/Programas/18788047.jpg', directors: ['Inma Torrente'], actors: [ 'Diana Gómez', diff --git a/sites/rotana.net/rotana.net.config.js b/sites/rotana.net/rotana.net.config.js index 0528a9669..912e8b3f1 100644 --- a/sites/rotana.net/rotana.net.config.js +++ b/sites/rotana.net/rotana.net.config.js @@ -11,7 +11,8 @@ dayjs.extend(utc) dayjs.extend(customParseFormat) const headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 OPR/104.0.0.0' + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 OPR/104.0.0.0' } const cookies = {} @@ -64,10 +65,10 @@ async function parseProgram(item, channel, options = {}) { const top = item.find('.iq-accordion-block') const info = top.find('.iq-accordion-title .big-title span') if (info.length) { - const [ time, title ] = info.text().split('\n') - const [ d, m, y ] = item._date.split('-') + const [time, title] = info.text().split('\n') + const [d, m, y] = item._date.split('-') const start = dayjs.tz(`${y}-${m}-${d} ${time.trim()}`, 'YYYY-MM-DD HH:mm', 'Asia/Riyadh') - let description, icon, stop + let description, image, stop if (deep) { const pid = top.attr('id').split('-')[1] if (pid) { @@ -89,7 +90,7 @@ async function parseProgram(item, channel, options = {}) { } const img = $('.row > div > img') if (img.length) { - icon = img.attr('src') + image = img.attr('src') } } if (item._next) { @@ -102,7 +103,7 @@ async function parseProgram(item, channel, options = {}) { return { title: title?.trim(), description: description?.trim(), - icon: icon, + image, start: raw ? start : start?.toISOString(), stop: raw ? stop : stop?.toISOString() } @@ -125,7 +126,7 @@ function parseItems(content, date) { if (lastId === expectedId) { // set next item if (result.length) { - result[result.length - 1]._next = $item; + result[result.length - 1]._next = $item } result.push($item) } else if (result.length && !result[result.length - 1]._next) { @@ -146,4 +147,4 @@ function parseCookies(headers) { }) } return cookies.length ? cookies.join('; ') : null -} \ No newline at end of file +} diff --git a/sites/rotana.net/rotana.net.test.js b/sites/rotana.net/rotana.net.test.js index cb64373c5..0a2b0cd7a 100644 --- a/sites/rotana.net/rotana.net.test.js +++ b/sites/rotana.net/rotana.net.test.js @@ -63,7 +63,7 @@ it('can parse english response', async () => { title: 'Katkout', description: 'In a comic framework, the events of the film revolve around (Katkoot) Al-Saedi, whose aunt, the eldest of the Al-Saedi family, tries to force him to kill himself in order to ransom his family. A time...', - icon: 'https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max' + image: 'https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max' }) }) @@ -79,7 +79,7 @@ it('can parse arabic response', async () => { title: 'كتكوت', description: 'في إطار كوميدي تدور أحداث الفيلم، حول (كتكوت) الصعيدي الذي تحاول عمته كبيرة العائلة الصعيدية إجباره على تقديم نفسه للقتل ليفدي عائلته، ولكنه يهرب وتخطفه جهة أمنية لاكتشاف شبه كبير بينه وبين (يوسف خوري...', - icon: 'https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max' + image: 'https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max' }) }) diff --git a/sites/rthk.hk/rthk.hk.config.js b/sites/rthk.hk/rthk.hk.config.js index cf500571e..f9efcc698 100644 --- a/sites/rthk.hk/rthk.hk.config.js +++ b/sites/rthk.hk/rthk.hk.config.js @@ -33,7 +33,7 @@ module.exports = { title: parseTitle($item), sub_title: parseSubTitle($item), categories: parseCategories($item), - icon: parseIcon($item), + image: parseImage($item), start: parseStart($item, date), stop: parseStop($item, date) }) @@ -43,7 +43,7 @@ module.exports = { } } -function parseIcon($item) { +function parseImage($item) { return $item('.single-wrap').data('p') } diff --git a/sites/rthk.hk/rthk.hk.test.js b/sites/rthk.hk/rthk.hk.test.js index 2a108e923..19541dfc6 100644 --- a/sites/rthk.hk/rthk.hk.test.js +++ b/sites/rthk.hk/rthk.hk.test.js @@ -49,7 +49,7 @@ it('can parse response', () => { title: '問天', sub_title: '第十四集', categories: ['戲劇'], - icon: 'https://www.rthk.hk/assets/images/rthk/dtt31/thegreataerospace/10239_1920_s.jpg' + image: 'https://www.rthk.hk/assets/images/rthk/dtt31/thegreataerospace/10239_1920_s.jpg' }) }) @@ -68,7 +68,7 @@ it('can parse response in English', () => { title: 'The Great Aerospace', sub_title: 'Episode 14', categories: ['戲劇'], - icon: 'https://www.rthk.hk/assets/images/rthk/dtt31/thegreataerospace/10239_1920_s.jpg' + image: 'https://www.rthk.hk/assets/images/rthk/dtt31/thegreataerospace/10239_1920_s.jpg' }) }) diff --git a/sites/rtp.pt/rtp.pt.config.js b/sites/rtp.pt/rtp.pt.config.js index adfcdc803..a2f1e0088 100644 --- a/sites/rtp.pt/rtp.pt.config.js +++ b/sites/rtp.pt/rtp.pt.config.js @@ -38,7 +38,7 @@ module.exports = { programs.push({ title: item.name, description: item.description, - icon: parseIcon(item), + image: parseImage(item), start, stop }) @@ -48,7 +48,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { const last = item.image.pop() if (!last) return null return last.src diff --git a/sites/rtp.pt/rtp.pt.test.js b/sites/rtp.pt/rtp.pt.test.js index b7fcae10e..7feeb1f68 100644 --- a/sites/rtp.pt/rtp.pt.test.js +++ b/sites/rtp.pt/rtp.pt.test.js @@ -32,7 +32,7 @@ it('can parse response', () => { stop: '2022-12-03T00:00:00.000Z', title: 'Telejornal Madeira', description: 'Informação de proximidade. De confiança!', - icon: 'https://cdn-images.rtp.pt/EPG/imagens/15790_43438_8820.png?w=384&h=216' + image: 'https://cdn-images.rtp.pt/EPG/imagens/15790_43438_8820.png?w=384&h=216' }) }) diff --git a/sites/ruv.is/ruv.is.config.js b/sites/ruv.is/ruv.is.config.js index 9406ab26f..7bc6024a2 100644 --- a/sites/ruv.is/ruv.is.config.js +++ b/sites/ruv.is/ruv.is.config.js @@ -41,7 +41,7 @@ module.exports = { programs.push({ title: item.title, description: item.description, - icon: parseIcon(item), + image: parseImage(item), start, stop }) @@ -51,7 +51,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.image.replace('$$IMAGESIZE$$', '480') } diff --git a/sites/ruv.is/ruv.is.test.js b/sites/ruv.is/ruv.is.test.js index 02e5691aa..ed52d2874 100644 --- a/sites/ruv.is/ruv.is.test.js +++ b/sites/ruv.is/ruv.is.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: 'Heimaleikfimi', description: 'Góð ráð og æfingar sem tilvalið er að gera heima. Íris Rut Garðarsdóttir sjúkraþjálfari hefur umsjón með leikfiminni. e.', - icon: 'https://d38kdhuogyllre.cloudfront.net/fit-in/480x/filters:quality(65)/hd_posters/91pvig-3p3hig.jpg' + image: + 'https://d38kdhuogyllre.cloudfront.net/fit-in/480x/filters:quality(65)/hd_posters/91pvig-3p3hig.jpg' }) }) diff --git a/sites/sat.tv/sat.tv.config.js b/sites/sat.tv/sat.tv.config.js index da48d648d..c0568c5ac 100644 --- a/sites/sat.tv/sat.tv.config.js +++ b/sites/sat.tv/sat.tv.config.js @@ -49,7 +49,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -130,7 +130,7 @@ module.exports = { } } -function parseIcon($item) { +function parseImage($item) { const src = $item('.event-logo img:not(.no-img)').attr('src') return src ? `https://sat.tv${src}` : null diff --git a/sites/sat.tv/sat.tv.test.js b/sites/sat.tv/sat.tv.test.js index a5aa0c293..8e3cfda7f 100644 --- a/sites/sat.tv/sat.tv.test.js +++ b/sites/sat.tv/sat.tv.test.js @@ -54,7 +54,7 @@ it('can parse response', () => { title: 'تعظيم البلد الحرام', description: `الناس, دين, ثقافة يلقي صانع الفيلم الضوء على مشروع تعظيم البلد الحرام في مكة من العائلة الملكية في المملكة العربية السعودية، والذي يهدف لإبراز حرمته لدى المسلمين حول العالم.`, - icon: null + image: null }) expect(results[34]).toMatchObject({ @@ -63,7 +63,8 @@ it('can parse response', () => { title: 'الأخبار', description: `نشرة .يطرح أهم القضايا والأحداث على الساحة السعودية والعالمية`, - icon: 'https://sat.tv/wp-content/themes/twentytwenty-child/data_lineups/nilesat/images3/epg-3077892.jpg' + image: + 'https://sat.tv/wp-content/themes/twentytwenty-child/data_lineups/nilesat/images3/epg-3077892.jpg' }) }) @@ -87,7 +88,8 @@ it('can parse response in english', () => { title: 'News', description: `Newscast The most important issues and events on the Saudi and the world.`, - icon: 'https://sat.tv/wp-content/themes/twentytwenty-child/data_lineups/nilesat/images3/epg-3077892.jpg' + image: + 'https://sat.tv/wp-content/themes/twentytwenty-child/data_lineups/nilesat/images3/epg-3077892.jpg' }) expect(results[31]).toMatchObject({ @@ -98,7 +100,8 @@ The most important issues and events on the Saudi and the world.`, 2022 Abdelhamid's family struggles to deal with the challenges of life that keep flowing one by one. they manage to stay strong-armed with their love and trust for each other. Sayed Ragab, Sawsan Badr, Medhat Saleh, Nermine Al Feqy, Mohamed Adel, Khaled Kamal, Rania Farid, Hani Kamal, Hani Kamal`, - icon: 'https://sat.tv/wp-content/themes/twentytwenty-child/data_lineups/nilesat/images3/epg-3157177.jpg' + image: + 'https://sat.tv/wp-content/themes/twentytwenty-child/data_lineups/nilesat/images3/epg-3157177.jpg' }) }) diff --git a/sites/sky.com/sky.com.config.js b/sites/sky.com/sky.com.config.js index 0cda319ef..2e2b78bbf 100644 --- a/sites/sky.com/sky.com.config.js +++ b/sites/sky.com/sky.com.config.js @@ -18,7 +18,7 @@ module.exports = { description: item.d, start: dayjs.unix(item.s), stop: dayjs.unix(item.s + item.m[1]), - icon: item.img ? `http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/${item.img}` : null + image: item.img ? `http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/${item.img}` : null }) }) diff --git a/sites/sky.com/sky.com.test.js b/sites/sky.com/sky.com.test.js index d868afbd5..9e776c5bc 100644 --- a/sites/sky.com/sky.com.test.js +++ b/sites/sky.com/sky.com.test.js @@ -31,13 +31,15 @@ it('can parse response', () => { start: '2021-12-14T01:50:00.000Z', stop: '2021-12-14T02:20:00.000Z', title: 'Question of Sport', - icon: 'http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/lisa/5.2.2/linear/channel/7f80ef03-3d8a-4f73-bf7d-6b03f410c7a8/2002' + image: + 'http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/lisa/5.2.2/linear/channel/7f80ef03-3d8a-4f73-bf7d-6b03f410c7a8/2002' }, { start: '2021-12-14T02:20:00.000Z', stop: '2021-12-14T02:25:00.000Z', title: 'Weather for the Week Ahead', - icon: 'http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/lisa/5.2.2/linear/channel/8fcf08b7-4081-499a-bf63-d100908e2d75/2002' + image: + 'http://epgstatic.sky.com/epgdata/1.0/paimage/46/1/lisa/5.2.2/linear/channel/8fcf08b7-4081-499a-bf63-d100908e2d75/2002' } ]) }) diff --git a/sites/sky.de/sky.de.config.js b/sites/sky.de/sky.de.config.js index d680cd020..e91451bfa 100644 --- a/sites/sky.de/sky.de.config.js +++ b/sites/sky.de/sky.de.config.js @@ -30,7 +30,7 @@ module.exports = { stop: dayjs(item.bedt), season: item.sn, episode: item.en, - icon: item.pu ? `http://sky.de${item.pu}` : null + image: item.pu ? `http://sky.de${item.pu}` : null }) }) diff --git a/sites/sky.de/sky.de.test.js b/sites/sky.de/sky.de.test.js index 448b20e11..248359190 100644 --- a/sites/sky.de/sky.de.test.js +++ b/sites/sky.de/sky.de.test.js @@ -43,7 +43,7 @@ it('can parse response', () => { stop: '2022-02-26T23:30:00.000Z', season: '4', episode: '11', - icon: 'http://sky.de/static/img/program_guide/1522936_s.jpg' + image: 'http://sky.de/static/img/program_guide/1522936_s.jpg' }, { title: 'King of Queens', @@ -53,7 +53,7 @@ it('can parse response', () => { stop: '2022-02-26T23:55:00.000Z', season: '4', episode: '12', - icon: 'http://sky.de/static/img/program_guide/1522937_s.jpg' + image: 'http://sky.de/static/img/program_guide/1522937_s.jpg' } ]) }) diff --git a/sites/taiwanplus.com/taiwanplus.com.config.js b/sites/taiwanplus.com/taiwanplus.com.config.js index e65d004b8..d4ec59135 100644 --- a/sites/taiwanplus.com/taiwanplus.com.config.js +++ b/sites/taiwanplus.com/taiwanplus.com.config.js @@ -46,7 +46,7 @@ module.exports = { ? dayjs.utc(scheduleDate.schedule[i + 1].dateTime, 'YYYY/MM/DD HH:mm') : dayjs.utc(program.dateTime, 'YYYY/MM/DD HH:mm').add(1, 'day').startOf('day'), description: program.description, - icon: program.image, + image: program.image, category: program.categoryName, rating: program.ageRating }) diff --git a/sites/taiwanplus.com/taiwanplus.com.test.js b/sites/taiwanplus.com/taiwanplus.com.test.js index 59f671294..57784598a 100644 --- a/sites/taiwanplus.com/taiwanplus.com.test.js +++ b/sites/taiwanplus.com/taiwanplus.com.test.js @@ -28,7 +28,7 @@ it('can parse response', () => { stop: dayjs.utc('2023/08/21 00:00', 'YYYY/MM/DD HH:mm'), description: 'From blockchain to Buddha statues, Taiwan’s culture is a kaleidoscope of old and new just waiting to be discovered.', - icon: 'https://prod-img.taiwanplus.com/live-schedule/Single/S30668_20230810104937.webp', + image: 'https://prod-img.taiwanplus.com/live-schedule/Single/S30668_20230810104937.webp', category: 'TaiwanPlus ✕ Discovery', rating: '0+' } diff --git a/sites/tapdmv.com/tapdmv.com.config.js b/sites/tapdmv.com/tapdmv.com.config.js index cfe4f8991..015816319 100644 --- a/sites/tapdmv.com/tapdmv.com.config.js +++ b/sites/tapdmv.com/tapdmv.com.config.js @@ -22,7 +22,7 @@ module.exports = { title: item.program.trim(), description: item.description, category: item.genre, - icon: item.thumbnailImage, + image: item.thumbnailImage, start: parseStart(item), stop: parseStop(item) }) diff --git a/sites/tapdmv.com/tapdmv.com.test.js b/sites/tapdmv.com/tapdmv.com.test.js index 54a7f6f63..be9d8d03a 100644 --- a/sites/tapdmv.com/tapdmv.com.test.js +++ b/sites/tapdmv.com/tapdmv.com.test.js @@ -34,7 +34,7 @@ it('can parse response', () => { description: 'In Italy, a woman becomes involved in a series of unauthorized exorcisms during her mission to discover what happened to her mother, who allegedly murdered three people during her own exorcism.', category: 'Horror', - icon: 'https://s3.ap-southeast-1.amazonaws.com/epg.tapdmv.com/tapactionflix.png' + image: 'https://s3.ap-southeast-1.amazonaws.com/epg.tapdmv.com/tapactionflix.png' } ]) }) diff --git a/sites/teliatv.ee/teliatv.ee.config.js b/sites/teliatv.ee/teliatv.ee.config.js index a77a596ad..b6393c9b2 100644 --- a/sites/teliatv.ee/teliatv.ee.config.js +++ b/sites/teliatv.ee/teliatv.ee.config.js @@ -18,7 +18,7 @@ module.exports = { items.forEach(item => { programs.push({ title: item.name, - icon: parseIcon(item), + image: parseImage(item), start: dayjs(item.startAt), stop: dayjs(item.endAt) }) @@ -42,7 +42,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.images.webGuideItemLarge ? `https://inet-static.mw.elion.ee${item.images.webGuideItemLarge}` : null diff --git a/sites/teliatv.ee/teliatv.ee.test.js b/sites/teliatv.ee/teliatv.ee.test.js index 8bc58e7db..2643046c8 100644 --- a/sites/teliatv.ee/teliatv.ee.test.js +++ b/sites/teliatv.ee/teliatv.ee.test.js @@ -43,7 +43,8 @@ it('can parse response', () => { start: '2021-11-19T22:05:00.000Z', stop: '2021-11-19T22:55:00.000Z', title: 'Inimjaht', - icon: 'https://inet-static.mw.elion.ee/resized/ri93Qj4OLXXvg7QAsUOcKMnIb3g=/570x330/filters:format(jpeg)/inet-static.mw.elion.ee/epg_images/9/b/17e48b3966e65c02.jpg' + image: + 'https://inet-static.mw.elion.ee/resized/ri93Qj4OLXXvg7QAsUOcKMnIb3g=/570x330/filters:format(jpeg)/inet-static.mw.elion.ee/epg_images/9/b/17e48b3966e65c02.jpg' } ]) }) diff --git a/sites/telsu.fi/telsu.fi.config.js b/sites/telsu.fi/telsu.fi.config.js index 4aae84523..057cccd1b 100644 --- a/sites/telsu.fi/telsu.fi.config.js +++ b/sites/telsu.fi/telsu.fi.config.js @@ -33,7 +33,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -69,7 +69,7 @@ function parseDescription($item) { return $item('.t > div').clone().children().remove().end().text().trim() } -function parseIcon($item) { +function parseImage($item) { const imgSrc = $item('.t > div > div.ps > a > img').attr('src') return imgSrc ? `https://www.telsu.fi${imgSrc}` : null diff --git a/sites/telsu.fi/telsu.fi.test.js b/sites/telsu.fi/telsu.fi.test.js index ca005a08d..991198990 100644 --- a/sites/telsu.fi/telsu.fi.test.js +++ b/sites/telsu.fi/telsu.fi.test.js @@ -31,7 +31,7 @@ it('can parse response', () => { title: 'Antiikkikaksintaistelu', description: 'Kausi 6, osa 5/12. Antiikkikaksintaistelu jatkuu Løkkenissä. Uusi taistelupari Rikke Fog ja Lasse Franck saavat kumpikin 10 000 kruunua ja viisi tuntia aikaa ostaa alueelta hyvää tavaraa halvalla.', - icon: 'https://www.telsu.fi/s/antiikkikaksintaistelu_11713730.jpg' + image: 'https://www.telsu.fi/s/antiikkikaksintaistelu_11713730.jpg' }) }) diff --git a/sites/toonamiaftermath.com/toonamiaftermath.com.config.js b/sites/toonamiaftermath.com/toonamiaftermath.com.config.js index be0cac53b..4be2308d8 100644 --- a/sites/toonamiaftermath.com/toonamiaftermath.com.config.js +++ b/sites/toonamiaftermath.com/toonamiaftermath.com.config.js @@ -29,7 +29,7 @@ module.exports = { programs.push({ title: item.name, sub_title: parseEpisode(item), - icon: parseIcon(item), + image: parseImage(item), start: dayjs(item.startDate), stop: dayjs(item.endDate) }) @@ -55,6 +55,6 @@ function parseEpisode(item) { return item && item.info && item.info.episode ? item.info.episode : null } -function parseIcon(item) { +function parseImage(item) { return item && item.info && item.info.image ? item.info.image : null } diff --git a/sites/toonamiaftermath.com/toonamiaftermath.com.test.js b/sites/toonamiaftermath.com/toonamiaftermath.com.test.js index 455031cd0..139a557bc 100644 --- a/sites/toonamiaftermath.com/toonamiaftermath.com.test.js +++ b/sites/toonamiaftermath.com/toonamiaftermath.com.test.js @@ -51,7 +51,7 @@ it('can parse response', () => { stop: '2022-11-29T17:20:54.031Z', title: 'X-Men', sub_title: 'Reunion (Part 1)', - icon: 'https://i.imgur.com/ZSZ0x1m.gif' + image: 'https://i.imgur.com/ZSZ0x1m.gif' }) }) diff --git a/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.config.js b/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.config.js index c62330508..87f976933 100644 --- a/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.config.js +++ b/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.config.js @@ -50,7 +50,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -92,7 +92,7 @@ function parseStart($item, date) { }).toUTC() } -function parseIcon($item) { +function parseImage($item) { const imgSrc = $item('img').attr('src') return imgSrc ? `https:${imgSrc}` : null diff --git a/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.test.js b/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.test.js index e556ae46b..7a0af7928 100644 --- a/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.test.js +++ b/sites/tv-programme.telecablesat.fr/tv-programme.telecablesat.fr.test.js @@ -67,7 +67,8 @@ it('can parse response', async () => { title: 'Tagesschau', description: 'Die Tagesschau ist eine Institution in der deutschen Fernsehlandschaft. Seit 1952 wird kurz und bündig von aktuellen Geschehnissen in Deutschland und der Welt berichtet. Bis heute ist die Redaktion der sachlichen Berichterstattung treu geblieben und...', - icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDoMgEADAv3Cuwoqy4Fu4LLho24hEaNK06d_rcW7zFYEqi1lsrZU6e-nlXrqyHe2oXVxyT5_Xybys3GduXsYjN7pnPqdkI0CkJbk4gnKWMQFAQLQUtHZesuEwOgWa7DCkKV4cGFEBG0eQrCJSwY3YP8oqbmKn-rwexuBb20n8_g.jpg' + image: + 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDoMgEADAv3Cuwoqy4Fu4LLho24hEaNK06d_rcW7zFYEqi1lsrZU6e-nlXrqyHe2oXVxyT5_Xybys3GduXsYjN7pnPqdkI0CkJbk4gnKWMQFAQLQUtHZesuEwOgWa7DCkKV4cGFEBG0eQrCJSwY3YP8oqbmKn-rwexuBb20n8_g.jpg' }) expect(results[36]).toMatchObject({ @@ -75,7 +76,8 @@ it('can parse response', async () => { stop: '2023-12-01T05:30:00.000Z', title: 'ZDF-Morgenmagazin', description: 'Für einen guten Start in den Tag', - icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDoMgEADAv3CuIiIu-BYuu7Bo24hEaNK06d_rbY7zFYSVxSK21kpdvPRyL13ZjnbULsTc4-d1MseV-8zNy3DkhvfMp0k2KBUwJhcmNTjLkJRSBGCRtHZe2gQTYXRhJNCoL1NyyiTiSI6IhtHADOT6R1nFTexYn9djnuGtrRG_Pw.jpg' + image: + 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDoMgEADAv3CuIiIu-BYuu7Bo24hEaNK06d_rbY7zFYSVxSK21kpdvPRyL13ZjnbULsTc4-d1MseV-8zNy3DkhvfMp0k2KBUwJhcmNTjLkJRSBGCRtHZe2gQTYXRhJNCoL1NyyiTiSI6IhtHADOT6R1nFTexYn9djnuGtrRG_Pw.jpg' }) }) diff --git a/sites/tv.blue.ch/tv.blue.ch.config.js b/sites/tv.blue.ch/tv.blue.ch.config.js index c1c72a90e..0ae7acba6 100644 --- a/sites/tv.blue.ch/tv.blue.ch.config.js +++ b/sites/tv.blue.ch/tv.blue.ch.config.js @@ -23,7 +23,7 @@ module.exports = { programs.push({ title, description: parseDescription(item), - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -55,7 +55,7 @@ function parseDescription(item) { return item.Content.Description.Summary } -function parseIcon(item) { +function parseImage(item) { const image = item.Content.Nodes ? item.Content.Nodes.Items.find(i => i.Kind === 'Image') : null const path = image ? image.ContentPath : null diff --git a/sites/tv.blue.ch/tv.blue.ch.test.js b/sites/tv.blue.ch/tv.blue.ch.test.js index 755b6609d..e01ec2864 100644 --- a/sites/tv.blue.ch/tv.blue.ch.test.js +++ b/sites/tv.blue.ch/tv.blue.ch.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: 'Weekend on the Rocks', description: ' - «R.E.S.P.E.C.T», lieber Charles Nguela. Der Comedian tourt fleissig durch die Schweiz, macht für uns aber einen Halt, um in der neuen Ausgabe von «Weekend on the Rocks» mit Moderatorin Vania Spescha über die Entertainment-News der Woche zu plaudern.', - icon: 'https://services.sg101.prd.sctv.ch/content/images/tv/broadcast/1221/t1221ddc59247d45_landscape_w1920.webp' + image: + 'https://services.sg101.prd.sctv.ch/content/images/tv/broadcast/1221/t1221ddc59247d45_landscape_w1920.webp' } ]) }) diff --git a/sites/tv.lv/tv.lv.config.js b/sites/tv.lv/tv.lv.config.js index 1053b9f5b..c7989235b 100644 --- a/sites/tv.lv/tv.lv.config.js +++ b/sites/tv.lv/tv.lv.config.js @@ -18,7 +18,7 @@ module.exports = { title: item.title, description: item.description_long, category: item.categorystring, - icon: item.image, + image: item.image, start, stop }) diff --git a/sites/tv.magenta.at/tv.magenta.at.config.js b/sites/tv.magenta.at/tv.magenta.at.config.js index 2b7cae79a..b56c02e97 100644 --- a/sites/tv.magenta.at/tv.magenta.at.config.js +++ b/sites/tv.magenta.at/tv.magenta.at.config.js @@ -61,7 +61,7 @@ module.exports = { description: parseDescription(detail), date: parseDate(item), category: parseCategory(item), - icon: detail.poster_image_url, + image: detail.poster_image_url, actors: parseRoles(detail, 'Schauspieler'), directors: parseRoles(detail, 'Regisseur'), producers: parseRoles(detail, 'Produzent'), diff --git a/sites/tv.movistar.com.pe/tv.movistar.com.pe.config.js b/sites/tv.movistar.com.pe/tv.movistar.com.pe.config.js index 1d0a83ceb..47aee3870 100644 --- a/sites/tv.movistar.com.pe/tv.movistar.com.pe.config.js +++ b/sites/tv.movistar.com.pe/tv.movistar.com.pe.config.js @@ -16,7 +16,7 @@ module.exports = { programs.push({ title: item.Title, description: item.Description, - icon: parseIcon(item), + image: parseImage(item), start: parseTime(item.Start), stop: parseTime(item.End) }) @@ -42,7 +42,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.Images?.VideoFrame?.[0]?.Url } diff --git a/sites/tv.movistar.com.pe/tv.movistar.com.pe.test.js b/sites/tv.movistar.com.pe/tv.movistar.com.pe.test.js index c6f5e0200..06f2aa9ae 100644 --- a/sites/tv.movistar.com.pe/tv.movistar.com.pe.test.js +++ b/sites/tv.movistar.com.pe/tv.movistar.com.pe.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: 'Willax noticias edición central', description: 'Edición central con el desarrollo y cobertura noticiosa de todos los acontecimientos nacionales e internacionales.', - icon: 'http://media.gvp.telefonica.com/storagearea0/IMAGES/00/13/00/13003906_281B2DAB18B01955.jpg' + image: + 'http://media.gvp.telefonica.com/storagearea0/IMAGES/00/13/00/13003906_281B2DAB18B01955.jpg' }) }) diff --git a/sites/tv.nu/tv.nu.config.js b/sites/tv.nu/tv.nu.config.js index 99feceac4..ae33f3606 100644 --- a/sites/tv.nu/tv.nu.config.js +++ b/sites/tv.nu/tv.nu.config.js @@ -15,7 +15,7 @@ module.exports = { programs.push({ title: item.title, description: item.description, - icon: item.imageLandscape, + image: item.imageLandscape, category: item.genres, season: item.seasonNumber || null, episode: item.episodeNumber || null, @@ -30,7 +30,7 @@ module.exports = { const axios = require('axios') // prettier-ignore - const modules = [ 'ch-51', 'ch-52', 'ch-60', 'ch-27', 'ch-63', 'ch-65', 'ch-64', 'ch-66', 'ch-67', 'ch-68', 'ch-70', 'ch-88', 'ch-45', 'ch-132', 'ch-30228', 'ch-49', 'ch-53', 'ch-30233', 'ch-55', 'ch-93', 'ch-47', 'ch-4', 'ch-134', 'ch-105', 'ch-104', 'ch-131', 'ch-125', 'ch-126', 'ch-30215', 'ch-151', 'ch-122', 'ch-123', 'ch-124', 'ch-30194', 'ch-101', 'ch-106', 'ch-108', 'ch-107', 'ch-136', 'ch-137', 'ch-140', 'ch-120', 'ch-139', 'ch-74', 'ch-71', 'ch-76', 'ch-33', 'ch-18', 'ch-6', 'ch-30197', 'ch-30152', 'ch-146', 'ch-142', 'ch-128', 'ch-30211', 'ch-46', 'ch-162', 'ch-75', 'ch-119', 'ch-57', 'ch-82', 'ch-21', 'ch-22', 'ch-26', 'ch-145', 'ch-38', 'ch-10', 'ch-23', 'ch-9', 'ch-129', 'ch-69', 'ch-12', 'ch-3', 'ch-7', 'ch-81', 'ch-72', 'ch-2', 'ch-111', 'ch-16', 'ch-43', 'ch-80', 'ch-141', 'ch-143', 'ch-164', 'ch-147', 'ch-58', 'ch-39', 'ch-36', 'ch-15', 'ch-154', 'ch-40', 'ch-159', 'ch-30123', 'ch-30132', 'ch-30130', 'ch-30133', 'ch-30125', 'ch-30127', 'ch-30126', 'ch-30134', 'ch-30128', 'ch-30129', 'ch-30124', 'ch-30138', 'ch-30147', 'ch-30146', 'ch-30145', 'ch-30149', 'ch-30151', 'ch-30150', 'ch-30137', 'ch-30136', 'ch-30139', 'ch-30140', 'ch-30142', 'ch-30141', 'ch-161', 'ch-35', 'ch-34', 'ch-32', 'ch-30', 'ch-54', 'ch-112', 'ch-1', 'ch-86', 'ch-84', 'ch-28', 'ch-25', 'ch-13', 'ch-14', 'ch-11', 'ch-8', 'ch-5', 'ch-20', 'ch-24', 'ch-19', 'ch-30168', 'ch-30175', 'ch-30154', 'ch-30225', 'ch-30178', 'ch-30184', 'ch-30185', 'ch-30186', 'ch-30187', 'ch-30189', 'ch-30191', 'ch-30192', 'ch-30216', 'ch-30193', 'ch-30195', 'ch-30196', 'ch-30200', 'ch-30209', 'ch-30231', 'ch-30213', 'ch-30230', 'ch-30214', 'ch-30226', 'ch-56', 'ch-153', 'ch-148', 'ch-41', 'ch-37', 'ch-30157', 'ch-30158', 'ch-30232', 'ch-30221', 'ch-30222', 'ch-30223', 'ch-30234', 'ch-91', 'ch-100', 'ch-30235', 'ch-30236', 'ch-30237', 'ch-30239', 'ch-30240', 'ch-30241', 'ch-30242', 'ch-30249', 'ch-30256', 'ch-30253', 'ch-30250', 'ch-30257', 'ch-30255', 'ch-30251', 'ch-30252', 'ch-30254', 'ch-30258', 'ch-30259', 'ch-30260', 'ch-30261', 'ch-30262', 'ch-30263', 'ch-30264', 'ch-30265', 'ch-30372', 'ch-30373', 'ch-30374', 'ch-30375', 'ch-30376'] + const modules = ['ch-51', 'ch-52', 'ch-60', 'ch-27', 'ch-63', 'ch-65', 'ch-64', 'ch-66', 'ch-67', 'ch-68', 'ch-70', 'ch-88', 'ch-45', 'ch-132', 'ch-30228', 'ch-49', 'ch-53', 'ch-30233', 'ch-55', 'ch-93', 'ch-47', 'ch-4', 'ch-134', 'ch-105', 'ch-104', 'ch-131', 'ch-125', 'ch-126', 'ch-30215', 'ch-151', 'ch-122', 'ch-123', 'ch-124', 'ch-30194', 'ch-101', 'ch-106', 'ch-108', 'ch-107', 'ch-136', 'ch-137', 'ch-140', 'ch-120', 'ch-139', 'ch-74', 'ch-71', 'ch-76', 'ch-33', 'ch-18', 'ch-6', 'ch-30197', 'ch-30152', 'ch-146', 'ch-142', 'ch-128', 'ch-30211', 'ch-46', 'ch-162', 'ch-75', 'ch-119', 'ch-57', 'ch-82', 'ch-21', 'ch-22', 'ch-26', 'ch-145', 'ch-38', 'ch-10', 'ch-23', 'ch-9', 'ch-129', 'ch-69', 'ch-12', 'ch-3', 'ch-7', 'ch-81', 'ch-72', 'ch-2', 'ch-111', 'ch-16', 'ch-43', 'ch-80', 'ch-141', 'ch-143', 'ch-164', 'ch-147', 'ch-58', 'ch-39', 'ch-36', 'ch-15', 'ch-154', 'ch-40', 'ch-159', 'ch-30123', 'ch-30132', 'ch-30130', 'ch-30133', 'ch-30125', 'ch-30127', 'ch-30126', 'ch-30134', 'ch-30128', 'ch-30129', 'ch-30124', 'ch-30138', 'ch-30147', 'ch-30146', 'ch-30145', 'ch-30149', 'ch-30151', 'ch-30150', 'ch-30137', 'ch-30136', 'ch-30139', 'ch-30140', 'ch-30142', 'ch-30141', 'ch-161', 'ch-35', 'ch-34', 'ch-32', 'ch-30', 'ch-54', 'ch-112', 'ch-1', 'ch-86', 'ch-84', 'ch-28', 'ch-25', 'ch-13', 'ch-14', 'ch-11', 'ch-8', 'ch-5', 'ch-20', 'ch-24', 'ch-19', 'ch-30168', 'ch-30175', 'ch-30154', 'ch-30225', 'ch-30178', 'ch-30184', 'ch-30185', 'ch-30186', 'ch-30187', 'ch-30189', 'ch-30191', 'ch-30192', 'ch-30216', 'ch-30193', 'ch-30195', 'ch-30196', 'ch-30200', 'ch-30209', 'ch-30231', 'ch-30213', 'ch-30230', 'ch-30214', 'ch-30226', 'ch-56', 'ch-153', 'ch-148', 'ch-41', 'ch-37', 'ch-30157', 'ch-30158', 'ch-30232', 'ch-30221', 'ch-30222', 'ch-30223', 'ch-30234', 'ch-91', 'ch-100', 'ch-30235', 'ch-30236', 'ch-30237', 'ch-30239', 'ch-30240', 'ch-30241', 'ch-30242', 'ch-30249', 'ch-30256', 'ch-30253', 'ch-30250', 'ch-30257', 'ch-30255', 'ch-30251', 'ch-30252', 'ch-30254', 'ch-30258', 'ch-30259', 'ch-30260', 'ch-30261', 'ch-30262', 'ch-30263', 'ch-30264', 'ch-30265', 'ch-30372', 'ch-30373', 'ch-30374', 'ch-30375', 'ch-30376'] let channels = [] diff --git a/sites/tv.nu/tv.nu.test.js b/sites/tv.nu/tv.nu.test.js index 50ef8dcb8..e5f9802a2 100644 --- a/sites/tv.nu/tv.nu.test.js +++ b/sites/tv.nu/tv.nu.test.js @@ -33,7 +33,7 @@ it('can parse response', () => { title: 'CSI: Den Tätern auf der Spur', description: 'Hellseherin Sedona Wiley wird tot aufgefunden. Die Ermittlungen führen zu einem alten Mord. Gordon Wallace wurde vor 15 Jahren beschuldigt, seine Frau getötet zu haben, jedoch wurde nie eine Leiche gefunden.', - icon: 'https://new.static.tv.nu/13119997', + image: 'https://new.static.tv.nu/13119997', category: ['Action', 'Kriminaldrama', 'Mysterium', 'Spänning', 'Thriller'], season: 6, episode: 19 diff --git a/sites/tv.post.lu/tv.post.lu.config.js b/sites/tv.post.lu/tv.post.lu.config.js index 74162f9a6..6d7a49be9 100644 --- a/sites/tv.post.lu/tv.post.lu.config.js +++ b/sites/tv.post.lu/tv.post.lu.config.js @@ -15,7 +15,7 @@ module.exports = { title: item.title, description: item.description, category: item.program_type, - icon: item.image_url, + image: item.image_url, start: dayjs.unix(item.tsStart), stop: dayjs.unix(item.tsEnd) }) diff --git a/sites/tv.post.lu/tv.post.lu.test.js b/sites/tv.post.lu/tv.post.lu.test.js index a55f57ce0..a113a2e5d 100644 --- a/sites/tv.post.lu/tv.post.lu.test.js +++ b/sites/tv.post.lu/tv.post.lu.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { description: 'Das Flaggschiff unter den deutschen Nachrichtensendungen ist gleichzeitig die "dienstälteste" noch bestehende Sendung im deutschen Fernsehen. In bis zu 20 am Tag produzierten Sendungen wird die Komplexität des Weltgeschehens verständlich erklärt und in komprimierter Form über aktuelle politische, wirtschaftliche, soziale, kulturelle, sportliche und sonstige Ereignisse berichtet.', category: 'Nachrichten', - icon: 'https://mp-photos-cdn.azureedge.net/container3cc71e4948ac40ab803c26e0abc2e3e5/original/e6eb49013a822f5c6eb2e7701e69a1f80aa0b947.jpg', + image: + 'https://mp-photos-cdn.azureedge.net/container3cc71e4948ac40ab803c26e0abc2e3e5/original/e6eb49013a822f5c6eb2e7701e69a1f80aa0b947.jpg', start: '2023-01-16T00:05:00.000Z', stop: '2023-01-16T00:10:00.000Z' }) diff --git a/sites/tv.trueid.net/tv.trueid.net.config.js b/sites/tv.trueid.net/tv.trueid.net.config.js index 8be8ef7d2..f07360443 100644 --- a/sites/tv.trueid.net/tv.trueid.net.config.js +++ b/sites/tv.trueid.net/tv.trueid.net.config.js @@ -16,7 +16,7 @@ module.exports = { programs.push({ title: item.title, description: parseDescription(item, channel.lang), - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -26,8 +26,9 @@ module.exports = { }, async channels({ token, lang = en }) { const axios = require('axios') - const ACCESS_TOKEN = token ? token : - 'MTM4MDY0NGUwZjFmYjZiMTRjODI4OTRhMGM2ODJkMTQ3ZTAxNWM5ZDoxZmI2YjE0YzgyODk0YTBjNjgyZDE0N2UwMTVjOWQ=' + const ACCESS_TOKEN = token + ? token + : 'MTM4MDY0NGUwZjFmYjZiMTRjODI4OTRhMGM2ODJkMTQ3ZTAxNWM5ZDoxZmI2YjE0YzgyODk0YTBjNjgyZDE0N2UwMTVjOWQ=' const data = await axios .get(`https://tv.trueid.net/api/channel/getChannelListByAllCate?lang=${lang}&country=th`, { @@ -52,10 +53,10 @@ module.exports = { function parseDescription(item, lang) { const description = item.info?.[`synopsis_${lang}`] - return description && description !== '.' ? description : null; + return description && description !== '.' ? description : null } -function parseIcon(item) { +function parseImage(item) { return item.info?.image || null } @@ -68,6 +69,6 @@ function parseStop(item) { } function parseItems(content) { - const data = content ? JSON.parse(content) : null; + const data = content ? JSON.parse(content) : null return data?.pageProps?.epgList || [] } diff --git a/sites/tv.trueid.net/tv.trueid.net.test.js b/sites/tv.trueid.net/tv.trueid.net.test.js index 7f1d590ad..02386c7ba 100644 --- a/sites/tv.trueid.net/tv.trueid.net.test.js +++ b/sites/tv.trueid.net/tv.trueid.net.test.js @@ -19,7 +19,9 @@ const data = fs.readFileSync(path.resolve(__dirname, '__data__/data.json')) it('can generate valid url', () => { const result = url({ channel, date }) - expect(result).toBe('https://tv.trueid.net/_next/data/1380644e0f1fb6b14c82894a0c682d147e015c9d/th-en.json?channelSlug=true-movie-hits&path=true-movie-hits') + expect(result).toBe( + 'https://tv.trueid.net/_next/data/1380644e0f1fb6b14c82894a0c682d147e015c9d/th-en.json?channelSlug=true-movie-hits&path=true-movie-hits' + ) }) it('can parse English response', () => { @@ -34,7 +36,7 @@ it('can parse English response', () => { title: 'The Last Witch Hunter', description: 'A young man is all that stands between humanity and the most horrifying witches in history.', - icon: 'https://bms.dmpcdn.com/uploads/pic/381f853da5f4a310bf248357fed21a57.jpg' + image: 'https://bms.dmpcdn.com/uploads/pic/381f853da5f4a310bf248357fed21a57.jpg' }) }) @@ -50,7 +52,7 @@ it('can parse Thai response', () => { title: 'The Last Witch Hunter', description: 'หนุ่มนักล่าแม่มดถูกสาปให้เป็นอมตะจนกระทั่งราชินีแม่มดได้ฟื้นคืนชีพขึ้นมาจึงมีเพียงเขาคนเดียวเท่านั้นที่จะสามารถกอบกู้มวลมนุษยชาติได้', - icon: 'https://bms.dmpcdn.com/uploads/pic/381f853da5f4a310bf248357fed21a57.jpg' + image: 'https://bms.dmpcdn.com/uploads/pic/381f853da5f4a310bf248357fed21a57.jpg' }) }) diff --git a/sites/tv.yettel.hu/tv.yettel.hu.config.js b/sites/tv.yettel.hu/tv.yettel.hu.config.js index 95760b909..464fe5038 100644 --- a/sites/tv.yettel.hu/tv.yettel.hu.config.js +++ b/sites/tv.yettel.hu/tv.yettel.hu.config.js @@ -18,7 +18,7 @@ module.exports = { programs.push({ title: item.Title, description: item.ShortDescription, - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -45,7 +45,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { if (Array.isArray(item.Images.Cover) && item.Images.Cover.length) { return item.Images.Cover[0].Url } diff --git a/sites/tv.yettel.hu/tv.yettel.hu.test.js b/sites/tv.yettel.hu/tv.yettel.hu.test.js index 5bccc5a22..b41b000d1 100644 --- a/sites/tv.yettel.hu/tv.yettel.hu.test.js +++ b/sites/tv.yettel.hu/tv.yettel.hu.test.js @@ -67,7 +67,8 @@ it('can parse response', () => { title: 'Ma reggel', description: 'A Ma reggel az MTVA saját gyártású, minden hétköznap jelentkező reggeli politikai és közéleti témákkal foglalkozó műsora.', - icon: 'https://static.mytvback.com/userfiles/c/0/c01d48a36b913a7afb0dcb5edba33849_thum_100x144.jpg' + image: + 'https://static.mytvback.com/userfiles/c/0/c01d48a36b913a7afb0dcb5edba33849_thum_100x144.jpg' } ]) }) diff --git a/sites/tv24.se/tv24.se.config.js b/sites/tv24.se/tv24.se.config.js index 832d6ec04..76d92535f 100644 --- a/sites/tv24.se/tv24.se.config.js +++ b/sites/tv24.se/tv24.se.config.js @@ -33,7 +33,7 @@ module.exports = { title: parseTitle($item), description: details.description, actors: details.actors, - icon: details.icon, + image: details.image, category: details.category, sub_title: details.sub_title, season: details.season, @@ -89,7 +89,7 @@ async function loadProgramDetails($item) { const $ = cheerio.load(data.contentBefore + data.contentAfter) return Promise.resolve({ - icon: parseIcon($), + image: parseImage($), actors: parseActors($), description: parseDescription($), category: parseCategory($), @@ -99,7 +99,7 @@ async function loadProgramDetails($item) { }) } -function parseIcon($) { +function parseImage($) { const style = $('.image > .actual').attr('style') const [, url] = style.match(/background-image: url\('([^']+)'\)/) diff --git a/sites/tv24.se/tv24.se.test.js b/sites/tv24.se/tv24.se.test.js index 8462e8552..bfeeb2062 100644 --- a/sites/tv24.se/tv24.se.test.js +++ b/sites/tv24.se/tv24.se.test.js @@ -48,7 +48,7 @@ it('can parse response', async () => { start: '2022-08-26T04:00:00.000Z', stop: '2022-08-26T07:10:00.000Z', title: 'Morgonstudion', - icon: 'https://jrsy.tmsimg.com/assets/p14436175_i_h9_ad.jpg', + image: 'https://jrsy.tmsimg.com/assets/p14436175_i_h9_ad.jpg', description: 'Dagens viktigaste nyheter och analyser med ständiga uppdateringar. Vi sänder direkt inrikes- och utrikesnyheter inklusive sport, kultur och nöje. Dessutom intervjuer med aktuella gäster. Nyhetssammanfattningar varje kvart med start kl 06.00.', actors: ['Carolina Neurath', 'Karin Magnusson', 'Pelle Nilsson', 'Ted Wigren'] @@ -58,7 +58,7 @@ it('can parse response', async () => { start: '2022-08-27T05:20:00.000Z', stop: '2022-08-27T05:50:00.000Z', title: 'Uppdrag granskning', - icon: 'https://jrsy.tmsimg.com/assets/p22818697_e_h9_aa.jpg', + image: 'https://jrsy.tmsimg.com/assets/p22818697_e_h9_aa.jpg', description: 'När samtliga sex män frias för ännu en skjutning växer vreden inom polisen. Ökningen av skjutningar i Sverige ligger i topp i Europa - och nu är våldsspiralen på väg mot ett nattsvart rekord. Hur blev Sverige landet där mördare går fria?', actors: ['Karin Mattisson', 'Ali Fegan'], diff --git a/sites/tv2go.t-2.net/tv2go.t-2.net.config.js b/sites/tv2go.t-2.net/tv2go.t-2.net.config.js index 2391d951c..9b77abec7 100644 --- a/sites/tv2go.t-2.net/tv2go.t-2.net.config.js +++ b/sites/tv2go.t-2.net/tv2go.t-2.net.config.js @@ -47,7 +47,7 @@ const config = { title: item.name, category: parseCategory(item), description: parseDescription(item), - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -93,7 +93,7 @@ function parseStop(item) { return dayjs(parseInt(item.endTimestamp)) } -function parseIcon(item) { +function parseImage(item) { return item.images && item.images[0] ? `https://tv2go.t-2.net${item.images[0].url}` : null } diff --git a/sites/tv2go.t-2.net/tv2go.t-2.net.test.js b/sites/tv2go.t-2.net/tv2go.t-2.net.test.js index 4b4520503..23f828397 100644 --- a/sites/tv2go.t-2.net/tv2go.t-2.net.test.js +++ b/sites/tv2go.t-2.net/tv2go.t-2.net.test.js @@ -52,7 +52,7 @@ it('can parse response', () => { category: ['Informativni'], description: 'Dnevnik Slovencev v Italiji je informativna oddaja, v kateri novinarji poročajo predvsem o dnevnih dogodkih med Slovenci v Italiji.', - icon: 'https://tv2go.t-2.net/static/media/img/epg/max_crop/EPG_IMG_2927405.jpg' + image: 'https://tv2go.t-2.net/static/media/img/epg/max_crop/EPG_IMG_2927405.jpg' } ]) }) diff --git a/sites/tvgids.nl/tvgids.nl.config.js b/sites/tvgids.nl/tvgids.nl.config.js index 05cfd85aa..4df422070 100644 --- a/sites/tvgids.nl/tvgids.nl.config.js +++ b/sites/tvgids.nl/tvgids.nl.config.js @@ -32,7 +32,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -68,7 +68,7 @@ function parseDescription($item) { return $item('.program__text').text().trim() } -function parseIcon($item) { +function parseImage($item) { return $item('.program__thumbnail').data('src') } diff --git a/sites/tvgids.nl/tvgids.nl.test.js b/sites/tvgids.nl/tvgids.nl.test.js index c837157cf..790fb41f8 100644 --- a/sites/tvgids.nl/tvgids.nl.test.js +++ b/sites/tvgids.nl/tvgids.nl.test.js @@ -35,7 +35,7 @@ it('can parse response', () => { start: '2023-06-12T21:57:00.000Z', stop: '2023-06-12T22:58:00.000Z', title: 'Op1', - icon: 'https://tvgidsassets.nl/v301/upload/o/carrousel/op1-451542641.jpg', + image: 'https://tvgidsassets.nl/v301/upload/o/carrousel/op1-451542641.jpg', description: "Talkshow met wisselende presentatieduo's, live vanuit Amsterdam." }) @@ -43,7 +43,7 @@ it('can parse response', () => { start: '2023-06-14T00:18:00.000Z', stop: '2023-06-14T00:48:00.000Z', title: 'NOS Journaal', - icon: 'https://tvgidsassets.nl/v301/upload/n/carrousel/nos-journaal-452818771.jpg', + image: 'https://tvgidsassets.nl/v301/upload/n/carrousel/nos-journaal-452818771.jpg', description: 'Met het laatste nieuws, gebeurtenissen van nationaal en internationaal belang en de weersverwachting voor vandaag.' }) diff --git a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js index cb6c2580f..9140f5e89 100644 --- a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js +++ b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js @@ -24,7 +24,7 @@ module.exports = { title: item.title, description: item.commentary, category: parseCategory(item), - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -70,7 +70,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.imgPath ? `https://tvguide.myjcom.jp${item.imgPath}` : null } diff --git a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js index f6ea526a7..9506861ac 100644 --- a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js +++ b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: '[5.1]フードロア:タマリンド', description: 'HBO(R)アジア製作。日本の齊藤工などアジアの監督が、各国の食をテーマに描いたアンソロジーシリーズ。(全8話)(19年 シンガポール 56分)', - icon: 'https://tvguide.myjcom.jp/monomedia/si/2022/20220114/7305523/image/7743d17b655b8d2274ca58b74f2f095c.jpg', + image: + 'https://tvguide.myjcom.jp/monomedia/si/2022/20220114/7305523/image/7743d17b655b8d2274ca58b74f2f095c.jpg', category: 'ドラマ' } ]) diff --git a/sites/tvheute.at/tvheute.at.config.js b/sites/tvheute.at/tvheute.at.config.js index 8ce8e552c..4862eec1f 100644 --- a/sites/tvheute.at/tvheute.at.config.js +++ b/sites/tvheute.at/tvheute.at.config.js @@ -16,7 +16,7 @@ module.exports = { programs.push({ title: parseTitle(item), description: parseDescription(item), - icon: parseIcon(item), + image: parseImage(item), category: parseCategory(item), start: parseStart(item).toJSON(), stop: parseStop(item).toJSON() @@ -68,7 +68,7 @@ function parseCategory(item) { return $('.station-col > .type').text() } -function parseIcon(item) { +function parseImage(item) { const $ = cheerio.load(item) const imgSrc = $('.title-col .image img').data('src-desktop') diff --git a/sites/tvheute.at/tvheute.at.test.js b/sites/tvheute.at/tvheute.at.test.js index c9666ecef..cb52784ce 100644 --- a/sites/tvheute.at/tvheute.at.test.js +++ b/sites/tvheute.at/tvheute.at.test.js @@ -26,7 +26,7 @@ it('can parse response', () => { category: 'Kids', description: 'Roger hat sich Ärger mit Dr. Bellows eingehandelt, der ihn für einen Monat strafversetzen möchte. Einmal mehr hadert Roger mit dem Schicksal, dass er keinen eigenen Flaschengeist besitzt, der ihm aus der Patsche helfen kann. Jeannie schlägt vor, ihm Cousine Marilla zu schicken. Doch Tony ist strikt dagegen. Als ein Zaubererpärchen im exotischen Bühnenoutfit für die Zeit von Rogers Abwesenheit sein Apartment in Untermiete bezieht, glaubt Roger, Jeannie habe ihm ihre Verwandte doch noch gesandt.', - icon: 'https://tvheute.at/images/orf1/monchhichi_kids--1895216560-00.jpg' + image: 'https://tvheute.at/images/orf1/monchhichi_kids--1895216560-00.jpg' }, { start: '2021-11-08T17:00:00.000Z', diff --git a/sites/tvmi.mt/tvmi.mt.config.js b/sites/tvmi.mt/tvmi.mt.config.js index dc8bb8f60..e2692031f 100644 --- a/sites/tvmi.mt/tvmi.mt.config.js +++ b/sites/tvmi.mt/tvmi.mt.config.js @@ -30,7 +30,7 @@ module.exports = { programs.push({ title: parseTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -52,7 +52,7 @@ function parseDescription($item) { .trim() } -function parseIcon($item) { +function parseImage($item) { const bg = $item('div > div:nth-child(1) > div > div,a > div:nth-child(1) > div').data('bg') return bg ? `https:${bg}` : null diff --git a/sites/tvmi.mt/tvmi.mt.test.js b/sites/tvmi.mt/tvmi.mt.test.js index e52c52ae7..7ce6f899f 100644 --- a/sites/tvmi.mt/tvmi.mt.test.js +++ b/sites/tvmi.mt/tvmi.mt.test.js @@ -31,14 +31,16 @@ it('can parse response', () => { title: 'Bizzilla', description: 'Storja ta’ tliet familji, tnejn minnhom miżżewġin bejniethom, u familja oħra li għalkemm mhijiex, b’daqshekk ma jfissirx li mhijiex parti ntegrali fil-kompliċitá li ilha għaddejja bejniethom għal dawn l-aħħar tletin sena.', - icon: 'https://dist4.tvmi.mt/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMyNjEwNywiYXVkIjoiMTg4LjI0Mi40OC45MyIsImV4cCI6MTY2NzAxNjM1OH0.N4de761te_pRvWwSUnF6httRAzdukup5syejwXTUv8g/vod/663927/image.jpg' + image: + 'https://dist4.tvmi.mt/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMyNjEwNywiYXVkIjoiMTg4LjI0Mi40OC45MyIsImV4cCI6MTY2NzAxNjM1OH0.N4de761te_pRvWwSUnF6httRAzdukup5syejwXTUv8g/vod/663927/image.jpg' }) expect(results[1]).toMatchObject({ start: '2022-10-29T04:00:00.000Z', stop: '2022-10-29T04:30:00.000Z', title: 'The Adventures of Puss in Boots', - icon: 'https://dist4.tvmi.mt/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMyNjEwNywiYXVkIjoiMTg4LjI0Mi40OC45MyIsImV4cCI6MTY2NzAxNjM1OH0.N4de761te_pRvWwSUnF6httRAzdukup5syejwXTUv8g/vod/747336/image.jpg' + image: + 'https://dist4.tvmi.mt/eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMyNjEwNywiYXVkIjoiMTg4LjI0Mi40OC45MyIsImV4cCI6MTY2NzAxNjM1OH0.N4de761te_pRvWwSUnF6httRAzdukup5syejwXTUv8g/vod/747336/image.jpg' }) }) diff --git a/sites/tvmusor.hu/tvmusor.hu.config.js b/sites/tvmusor.hu/tvmusor.hu.config.js index 373e47741..efbf120f8 100644 --- a/sites/tvmusor.hu/tvmusor.hu.config.js +++ b/sites/tvmusor.hu/tvmusor.hu.config.js @@ -38,7 +38,7 @@ module.exports = { title: item.j, category: item.h, description: item.c, - icon: parseIcon(item), + image: parseImage(item), start, stop }) @@ -66,7 +66,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.z ? `http://www.tvmusor.hu/images/events/408/${item.z}` : null } diff --git a/sites/tvmusor.hu/tvmusor.hu.test.js b/sites/tvmusor.hu/tvmusor.hu.test.js index 439cd6628..abb3266de 100644 --- a/sites/tvmusor.hu/tvmusor.hu.test.js +++ b/sites/tvmusor.hu/tvmusor.hu.test.js @@ -47,7 +47,8 @@ it('can parse response', () => { title: 'Rövidpályás Úszó Országos Bajnokság', category: 'sportműsor', description: 'Forma-1 magazin. Hírek, információk, érdekességek a Forma-1 világából.', - icon: 'http://www.tvmusor.hu/images/events/408/f1e45193930943d9ee29769e0afa902aff0e4a90-better-call-saul.jpg' + image: + 'http://www.tvmusor.hu/images/events/408/f1e45193930943d9ee29769e0afa902aff0e4a90-better-call-saul.jpg' }) expect(results[1]).toMatchObject({ diff --git a/sites/tvpassport.com/tvpassport.com.config.js b/sites/tvpassport.com/tvpassport.com.config.js index 0a76ee077..c8d28d3f5 100644 --- a/sites/tvpassport.com/tvpassport.com.config.js +++ b/sites/tvpassport.com/tvpassport.com.config.js @@ -41,7 +41,7 @@ module.exports = { title, sub_title, description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), category: parseCategory($item), rating: parseRating($item), actors: parseActors($item), @@ -102,7 +102,7 @@ function parseDescription($item) { return $item('*').data('description') } -function parseIcon($item) { +function parseImage($item) { const showpicture = $item('*').data('showpicture') const url = new URL(showpicture, 'https://cdn.tvpassport.com/image/show/960x540/') diff --git a/sites/tvpassport.com/tvpassport.com.test.js b/sites/tvpassport.com/tvpassport.com.test.js index 67928511a..df9a7d63b 100644 --- a/sites/tvpassport.com/tvpassport.com.test.js +++ b/sites/tvpassport.com/tvpassport.com.test.js @@ -41,7 +41,7 @@ it('can parse response', () => { title: 'Charlie Moore: No Offense', sub_title: 'Under the Influencer', category: ['Sports', 'Outdoors'], - icon: 'https://cdn.tvpassport.com/image/show/960x540/69103.jpg', + image: 'https://cdn.tvpassport.com/image/show/960x540/69103.jpg', rating: { system: 'MPA', value: 'TV-G' diff --git a/sites/tvplus.com.tr/tvplus.com.tr.config.js b/sites/tvplus.com.tr/tvplus.com.tr.config.js index 2bf55421e..cae79755c 100644 --- a/sites/tvplus.com.tr/tvplus.com.tr.config.js +++ b/sites/tvplus.com.tr/tvplus.com.tr.config.js @@ -45,7 +45,7 @@ module.exports = { title: item.name, category: item.genres, description: item.introduce, - icon: parseIcon(item), + image: parseImage(item), start: start.toJSON(), stop: stop.toJSON() }) @@ -79,7 +79,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { return item.pictures && item.pictures.length ? item.pictures[0].href : null } diff --git a/sites/tvplus.com.tr/tvplus.com.tr.test.js b/sites/tvplus.com.tr/tvplus.com.tr.test.js index d17a36425..1764a179a 100644 --- a/sites/tvplus.com.tr/tvplus.com.tr.test.js +++ b/sites/tvplus.com.tr/tvplus.com.tr.test.js @@ -35,7 +35,8 @@ it('can parse response', () => { stop: '2021-11-07T01:00:00.000Z', title: '24 Portre', category: 'Yaşam', - icon: 'https://izmottvsc23.tvplus.com.tr:33207/CPS/images/universal/film/program/202111/20211104/35/20211104000026695lh5.jpg', + image: + 'https://izmottvsc23.tvplus.com.tr:33207/CPS/images/universal/film/program/202111/20211104/35/20211104000026695lh5.jpg', description: 'Kendi alanında büyük başarılar elde etmiş insanların kendi ağzından hayat hikayeleri ekrana geliyor.' } diff --git a/sites/tvprofil.com/tvprofil.com.config.js b/sites/tvprofil.com/tvprofil.com.config.js index 0da8aba18..52ce60465 100644 --- a/sites/tvprofil.com/tvprofil.com.config.js +++ b/sites/tvprofil.com/tvprofil.com.config.js @@ -25,9 +25,9 @@ module.exports = { const start = parseStart($item) const duration = parseDuration($item) const stop = start.add(duration, 's') - const icon = parseIcon($item) + const image = parseImage($item) - programs.push({ title, category, start, stop, icon }) + programs.push({ title, category, start, stop, image }) }) return programs @@ -101,7 +101,7 @@ module.exports = { } } -function parseIcon($item) { +function parseImage($item) { return $item(':root').data('image') } diff --git a/sites/virginmediatelevision.ie/virginmediatelevision.ie.config.js b/sites/virginmediatelevision.ie/virginmediatelevision.ie.config.js index 23c8c34c5..ad225963d 100644 --- a/sites/virginmediatelevision.ie/virginmediatelevision.ie.config.js +++ b/sites/virginmediatelevision.ie/virginmediatelevision.ie.config.js @@ -33,7 +33,7 @@ module.exports = { title: parseTitle($item), description: parseDescription($item), sub_title: parseSubTitle($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -55,7 +55,7 @@ function parseSubTitle($item) { return $item('.info').data('subtitle') } -function parseIcon($item) { +function parseImage($item) { return $item('.info').data('image') } diff --git a/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js b/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js index f08491b0f..ad5c067a1 100644 --- a/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js +++ b/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js @@ -36,7 +36,7 @@ it('can parse response', () => { sub_title: '', description: 'A detective sergeant and expert in the field of serial killers working for the Missing Persons Bureau tries to protect the general public from evil.', - icon: 'https://bcboltvirgin.akamaized.net/player/shows/1498_517x291_1528141264.jpg' + image: 'https://bcboltvirgin.akamaized.net/player/shows/1498_517x291_1528141264.jpg' }) }) diff --git a/sites/vtm.be/vtm.be.config.js b/sites/vtm.be/vtm.be.config.js index 21fddf2f2..c919c8ad0 100644 --- a/sites/vtm.be/vtm.be.config.js +++ b/sites/vtm.be/vtm.be.config.js @@ -24,7 +24,7 @@ module.exports = { title: item.title, description: item.synopsis, category: item.genre, - icon: item.imageUrl, + image: item.imageUrl, start: dayjs(item.from).toJSON(), stop: dayjs(item.to).toJSON() }) diff --git a/sites/vtm.be/vtm.be.test.js b/sites/vtm.be/vtm.be.test.js index 226772644..0ea8d2b2d 100644 --- a/sites/vtm.be/vtm.be.test.js +++ b/sites/vtm.be/vtm.be.test.js @@ -25,7 +25,8 @@ it('can parse response', () => { start: '2021-11-10T23:45:00.000Z', stop: '2021-11-11T00:20:00.000Z', title: 'Wooninspiraties', - icon: 'https://images4.persgroep.net/rcs/z5qrZHumkjuN5rWzoaRJ_BTdL7A/diocontent/209688322/_fill/600/400?appId=da11c75db9b73ea0f41f0cd0da631c71', + image: + 'https://images4.persgroep.net/rcs/z5qrZHumkjuN5rWzoaRJ_BTdL7A/diocontent/209688322/_fill/600/400?appId=da11c75db9b73ea0f41f0cd0da631c71', description: 'Een team gaat op pad om inspiratie op te doen over alles wat met wonen en leven te maken heeft; Ze trekken heel het land door om de laatste trends en tips op het gebied van wonen te achterhalen.', category: 'Magazine' diff --git a/sites/watch.sportsnet.ca/watch.sportsnet.ca.config.js b/sites/watch.sportsnet.ca/watch.sportsnet.ca.config.js index 70f80d1f7..88e3db99b 100644 --- a/sites/watch.sportsnet.ca/watch.sportsnet.ca.config.js +++ b/sites/watch.sportsnet.ca/watch.sportsnet.ca.config.js @@ -18,7 +18,7 @@ module.exports = { programs.push({ title: item.item.title, description: item.item.shortDescription, - icon: parseIcon(item), + image: parseImage(item), start: parseStart(item), stop: parseStop(item) }) @@ -47,7 +47,7 @@ module.exports = { } } -function parseIcon(item) { +function parseImage(item) { if (!item.item || !item.item.images) return null return item.item.images.tile diff --git a/sites/watch.sportsnet.ca/watch.sportsnet.ca.test.js b/sites/watch.sportsnet.ca/watch.sportsnet.ca.test.js index b1879d641..130e27ac4 100644 --- a/sites/watch.sportsnet.ca/watch.sportsnet.ca.test.js +++ b/sites/watch.sportsnet.ca/watch.sportsnet.ca.test.js @@ -33,7 +33,8 @@ it('can parse response', () => { title: 'Calgary Flames at Colorado Avalanche', description: 'Johnny Gaudreau and the Flames pay a visit to the Avalanche. Calgary won 4-3 in overtime March 5.', - icon: "https://production-static.sportsnet-static.com/shain/v1/dataservice/ResizeImage/$value?Format='jpg'&Quality=85&ImageId='785305'&EntityType='LinearSchedule'&EntityId='826cb731-9de4-4cf3-bcca-d548d8a33d16'&Width=3840&Height=2160" + image: + "https://production-static.sportsnet-static.com/shain/v1/dataservice/ResizeImage/$value?Format='jpg'&Quality=85&ImageId='785305'&EntityType='LinearSchedule'&EntityId='826cb731-9de4-4cf3-bcca-d548d8a33d16'&Width=3840&Height=2160" } ]) }) diff --git a/sites/watchyour.tv/watchyour.tv.test.js b/sites/watchyour.tv/watchyour.tv.test.js index a97815e01..ef1dd98b2 100644 --- a/sites/watchyour.tv/watchyour.tv.test.js +++ b/sites/watchyour.tv/watchyour.tv.test.js @@ -17,7 +17,7 @@ it('can generate valid url', () => { it('can parse response', () => { const content = - '[{"name":"TVS Classic Sports","icon":"https://www.watchyour.tv/epg/channellogos/tvs-classic-sports.png","language":"English","id":"735","shows":[{"name":"1979 WVU vs Penn State","category":"Sports","start_day":"2022-10-03","start":"04:00:00","end_day":"2022-10-03","end":"06:00:45","duration":"121","url":"http://rpn1.bozztv.com/36bay2/gusa-tvs/index-1664769600-7245.m3u8?token=f7410a9414f61579dced17ac1bbdb971","icon":"https://example.com/image.png","timezone":"+0000","tms":"1664769600"},{"name":"1958 NCAA University of Kentucky vs Seattle U","category":"Sports","start_day":"2022-10-04","start":"00:58:50","end_day":"2022-10-04","end":"01:44:11","duration":"46","url":"http://rpn1.bozztv.com/36bay2/gusa-tvs/index.m3u8?token=93e7b201f544c87296076b73f9d880ae","icon":"","timezone":"+0000","tms":"1664845130"}]}]' + '[{"name":"TVS Classic Sports","icon":"https://www.watchyour.tv/epg/channellogos/tvs-classic-sports.png","language":"English","id":"735","shows":[{"name":"1979 WVU vs Penn State","category":"Sports","start_day":"2022-10-03","start":"04:00:00","end_day":"2022-10-03","end":"06:00:45","duration":"121","url":"http://rpn1.bozztv.com/36bay2/gusa-tvs/index-1664769600-7245.m3u8?token=f7410a9414f61579dced17ac1bbdb971","icon":"https://example.com/icon.png","timezone":"+0000","tms":"1664769600"},{"name":"1958 NCAA University of Kentucky vs Seattle U","category":"Sports","start_day":"2022-10-04","start":"00:58:50","end_day":"2022-10-04","end":"01:44:11","duration":"46","url":"http://rpn1.bozztv.com/36bay2/gusa-tvs/index.m3u8?token=93e7b201f544c87296076b73f9d880ae","icon":"","timezone":"+0000","tms":"1664845130"}]}]' const result = parser({ content, date, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -29,7 +29,7 @@ it('can parse response', () => { start: '2022-10-03T04:00:00.000Z', stop: '2022-10-03T06:01:00.000Z', title: '1979 WVU vs Penn State', - icon: 'https://example.com/image.png', + icon: 'https://example.com/icon.png', category: 'Sports' } ]) diff --git a/sites/web.magentatv.de/web.magentatv.de.config.js b/sites/web.magentatv.de/web.magentatv.de.config.js index c26a4bc3d..55c9b61c1 100644 --- a/sites/web.magentatv.de/web.magentatv.de.config.js +++ b/sites/web.magentatv.de/web.magentatv.de.config.js @@ -47,7 +47,7 @@ module.exports = { programs.push({ title: item.name, description: item.introduce, - icon: parseIcon(item), + image: parseImage(item), category: parseCategory(item), start: parseStart(item), stop: parseStop(item) @@ -102,7 +102,7 @@ function parseCategory(item) { : [] } -function parseIcon(item) { +function parseImage(item) { if (!Array.isArray(item.pictures) || !item.pictures.length) return null return item.pictures[0].href diff --git a/sites/web.magentatv.de/web.magentatv.de.test.js b/sites/web.magentatv.de/web.magentatv.de.test.js index c3377a3c5..632c10544 100644 --- a/sites/web.magentatv.de/web.magentatv.de.test.js +++ b/sites/web.magentatv.de/web.magentatv.de.test.js @@ -66,7 +66,8 @@ it('can parse response', () => { title: 'Twenty Foot Plus', description: 'Die besten Big-Wave-Surfer werden bei ihrer Suche nach der nächsten großen Welle begleitet.', - icon: 'http://ngiss.t-online.de/cm1s/media/gracenote/2/4/p24832950_e_h9_aa_2023-06-22T10_12_01.jpg', + image: + 'http://ngiss.t-online.de/cm1s/media/gracenote/2/4/p24832950_e_h9_aa_2023-06-22T10_12_01.jpg', category: ['Sport'] } ]) diff --git a/sites/webtv.delta.nl/webtv.delta.nl.config.js b/sites/webtv.delta.nl/webtv.delta.nl.config.js index f887d578d..961a3706a 100644 --- a/sites/webtv.delta.nl/webtv.delta.nl.config.js +++ b/sites/webtv.delta.nl/webtv.delta.nl.config.js @@ -16,7 +16,7 @@ module.exports = { const details = await loadProgramDetails(item) programs.push({ title: item.title, - icon: item.images.thumbnail.url, + image: item.images.thumbnail.url, description: details.description, start: parseStart(item).toJSON(), stop: parseStop(item).toJSON() diff --git a/sites/webtv.delta.nl/webtv.delta.nl.test.js b/sites/webtv.delta.nl/webtv.delta.nl.test.js index 1ff1205d8..1b95868cb 100644 --- a/sites/webtv.delta.nl/webtv.delta.nl.test.js +++ b/sites/webtv.delta.nl/webtv.delta.nl.test.js @@ -41,7 +41,7 @@ it('can parse response', done => { title: 'NOS Journaal', description: 'Nederlands lifestyleprogramma uit 2022 (ook in HD) met dagelijkse inspiratie voor een lekker leven in en om het huis.\nPresentatrice Froukje de Both, kok Hugo Kennis en een team van experts, onder wie tuinman Tom Groot, geven praktische tips op het gebied van wonen, lifestyle, tuinieren en koken. Daarmee kun je zelf direct aan de slag om je leven leuker én gezonder te maken. Afl. 15 van seizoen 4.', - icon: 'https://cdn.gvidi.tv/img/booxmedia/e19c/static/NOS%20Journaal5.jpg' + image: 'https://cdn.gvidi.tv/img/booxmedia/e19c/static/NOS%20Journaal5.jpg' } ]) done() diff --git a/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js b/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js index a1b99fee0..b50e1f8f6 100644 --- a/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js +++ b/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js @@ -33,7 +33,7 @@ module.exports = { title: parseTitle($item), sub_title: parseSubTitle($item), description: parseDescription($item), - icon: parseIcon($item), + image: parseImage($item), start, stop }) @@ -55,7 +55,7 @@ function parseDescription($item) { return $item('.show-title > p').text().trim() } -function parseIcon($item) { +function parseImage($item) { const url = $item('.show-img > img').attr('src') return url ? `https:${url}` : null diff --git a/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js b/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js index 463d8ebd1..8629089ea 100644 --- a/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js +++ b/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js @@ -29,7 +29,7 @@ it('can parse response', () => { sub_title: 'Challenge Cup Sudden Death Round 2', description: 'Nine anglers race to a target weight on Lake Wylie in the Lucas Oil Challenge Cup, presented by B&W Trailer Hitches, Rock Hill, South Carolina. Only four will move on to the Championship Round.', - icon: 'https://content.osgnetworks.tv/shows/major-league-fishing-thumbnail.jpg' + image: 'https://content.osgnetworks.tv/shows/major-league-fishing-thumbnail.jpg' }) expect(results[41]).toMatchObject({ @@ -39,7 +39,7 @@ it('can parse response', () => { sub_title: 'Flint Wilderness Walleye', description: 'Mark Romanack and Bryan Darland fish walleye on Klotz Lake in the famed Flint Wilderness of Ontario', - icon: 'https://content.osgnetworks.tv/shows/fishin-411-thumbnail.jpg' + image: 'https://content.osgnetworks.tv/shows/fishin-411-thumbnail.jpg' }) }) diff --git a/sites/www3.nhk.or.jp/www3.nhk.or.jp.config.js b/sites/www3.nhk.or.jp/www3.nhk.or.jp.config.js index 6f5fb38fc..4a7f59f05 100644 --- a/sites/www3.nhk.or.jp/www3.nhk.or.jp.config.js +++ b/sites/www3.nhk.or.jp/www3.nhk.or.jp.config.js @@ -37,7 +37,7 @@ module.exports = { start: parseStart(item), stop: parseStop(item), description: item.description, - icon: parseIcon(item), + image: parseImage(item), sub_title: item.subtitle }) }) @@ -63,6 +63,6 @@ function parseStop(item) { return dayjs.unix(parseInt(item.endDate) / 1000) } -function parseIcon(item) { +function parseImage(item) { return 'https://www.nhk.or.jp' + item.thumbnail } diff --git a/sites/www3.nhk.or.jp/www3.nhk.or.jp.test.js b/sites/www3.nhk.or.jp/www3.nhk.or.jp.test.js index 820230f8a..ffe551393 100644 --- a/sites/www3.nhk.or.jp/www3.nhk.or.jp.test.js +++ b/sites/www3.nhk.or.jp/www3.nhk.or.jp.test.js @@ -29,7 +29,8 @@ it('can parse response', () => { stop: dayjs(1682727000000), description: "NHK WORLD-JAPAN's flagship hourly news program delivers the latest world news, business and weather, with a focus on Japan and the rest of Asia.", - icon: 'https://www.nhk.or.jp/nhkworld/upld/thumbnails/en/tv/regular_program/340aed63308aafd1178172abf6325231_large.jpg', + image: + 'https://www.nhk.or.jp/nhkworld/upld/thumbnails/en/tv/regular_program/340aed63308aafd1178172abf6325231_large.jpg', sub_title: '' } ]) From 0973a6bd4f652c1bd5808722a4d977c97bf73f59 Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Wed, 26 Jun 2024 15:41:30 +0300 Subject: [PATCH 2/2] Upgrade dependencies --- package-lock.json | 66 +++++++++++++++++++++++------------------------ package.json | 2 +- yarn.lock | 36 +++++++++++++------------- 3 files changed, 52 insertions(+), 52 deletions(-) diff --git a/package-lock.json b/package-lock.json index fb37ab9df..712c7af68 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "csv-parser": "^3.0.0", "cwait": "^1.1.2", "dayjs": "^1.11.10", - "epg-grabber": "^0.36.1", + "epg-grabber": "^0.37.1", "epg-parser": "^0.2.0", "eslint": "^8.17.0", "eslint-config-prettier": "^9.0.0", @@ -2980,11 +2980,11 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -3936,9 +3936,9 @@ } }, "node_modules/epg-grabber": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.36.1.tgz", - "integrity": "sha512-i11ZtCjUWg8lNEq6K2IesSIBDhjPpcT2Mkge7249jK95bOfslvTKM6w+nt2DNamtdMcu512dVpcU9SphyjR4OA==", + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.37.1.tgz", + "integrity": "sha512-Q5gFLhrQGe+ou97Rs/VBRLgtYxSsnwzUEXs/V0cVmJhwpQedwMlG4VyEcc1TUDm53A+61T5fTtpmCsNUVb9N3g==", "dependencies": { "axios": "^1.6.1", "axios-cache-interceptor": "^0.10.3", @@ -4456,9 +4456,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -4501,9 +4501,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -7840,9 +7840,9 @@ } }, "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -10642,11 +10642,11 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "browserslist": { @@ -11321,9 +11321,9 @@ "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==" }, "epg-grabber": { - "version": "0.36.1", - "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.36.1.tgz", - "integrity": "sha512-i11ZtCjUWg8lNEq6K2IesSIBDhjPpcT2Mkge7249jK95bOfslvTKM6w+nt2DNamtdMcu512dVpcU9SphyjR4OA==", + "version": "0.37.1", + "resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.37.1.tgz", + "integrity": "sha512-Q5gFLhrQGe+ou97Rs/VBRLgtYxSsnwzUEXs/V0cVmJhwpQedwMlG4VyEcc1TUDm53A+61T5fTtpmCsNUVb9N3g==", "requires": { "axios": "^1.6.1", "axios-cache-interceptor": "^0.10.3", @@ -11718,9 +11718,9 @@ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "requires": { "to-regex-range": "^5.0.1" } @@ -11754,9 +11754,9 @@ "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==" }, "follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" }, "foreground-child": { "version": "3.1.1", @@ -14174,9 +14174,9 @@ } }, "tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", diff --git a/package.json b/package.json index 3638aec68..f046875ee 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "csv-parser": "^3.0.0", "cwait": "^1.1.2", "dayjs": "^1.11.10", - "epg-grabber": "^0.36.1", + "epg-grabber": "^0.37.1", "epg-parser": "^0.2.0", "eslint": "^8.17.0", "eslint-config-prettier": "^9.0.0", diff --git a/yarn.lock b/yarn.lock index 9513a2e63..e8cd5a6ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1467,11 +1467,11 @@ brace-expansion@^2.0.1: balanced-match "^1.0.0" braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + version "3.0.3" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" browserslist@^4.21.9, "browserslist@>= 4.21.0": version "4.21.9" @@ -2137,10 +2137,10 @@ entities@^4.2.0, entities@^4.3.0, entities@^4.4.0: resolved "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz" integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== -epg-grabber@^0.36.1: - version "0.36.1" - resolved "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.36.1.tgz" - integrity sha512-i11ZtCjUWg8lNEq6K2IesSIBDhjPpcT2Mkge7249jK95bOfslvTKM6w+nt2DNamtdMcu512dVpcU9SphyjR4OA== +epg-grabber@^0.37.1: + version "0.37.1" + resolved "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.37.1.tgz" + integrity sha512-Q5gFLhrQGe+ou97Rs/VBRLgtYxSsnwzUEXs/V0cVmJhwpQedwMlG4VyEcc1TUDm53A+61T5fTtpmCsNUVb9N3g== dependencies: axios "^1.6.1" axios-cache-interceptor "^0.10.3" @@ -2461,10 +2461,10 @@ file-uri-to-path@1.0.0: resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -2502,9 +2502,9 @@ fn.name@1.x.x: integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== follow-redirects@^1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz" - integrity sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ== + version "1.15.6" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz" + integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== foreground-child@^3.1.0: version "3.1.1" @@ -4661,9 +4661,9 @@ tabletojson@^2.0.7: got "^11.8.2" tar@^6.1.11: - version "6.2.0" - resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + version "6.2.1" + resolved "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz" + integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0"