diff --git a/sites/9tv.co.il/9tv.co.il.channels.xml b/sites/9tv.co.il/9tv.co.il.channels.xml index 509a2f5e..b1ac4ae5 100644 --- a/sites/9tv.co.il/9tv.co.il.channels.xml +++ b/sites/9tv.co.il/9tv.co.il.channels.xml @@ -1,6 +1,4 @@ - - - 9 канал - - + + 9 канал + diff --git a/sites/9tv.co.il/9tv.co.il.config.js b/sites/9tv.co.il/9tv.co.il.config.js index 418d3c55..fcc1c312 100644 --- a/sites/9tv.co.il/9tv.co.il.config.js +++ b/sites/9tv.co.il/9tv.co.il.config.js @@ -49,7 +49,7 @@ function parseIcon($item) { 'background-image' ) if (!backgroundImage) return null - const [_, relativePath] = backgroundImage.match(/url\((.*)\)/) || [null, null] + const [, relativePath] = backgroundImage.match(/url\((.*)\)/) || [null, null] return relativePath ? `https://www.9tv.co.il${relativePath}` : null } diff --git a/sites/9tv.co.il/9tv.co.il.test.js b/sites/9tv.co.il/9tv.co.il.test.js index 3a2a65bb..fce629ca 100644 --- a/sites/9tv.co.il/9tv.co.il.test.js +++ b/sites/9tv.co.il/9tv.co.il.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/9tv.co.il/9tv.co.il.config.js --channels=sites/9tv.co.il/9tv.co.il.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=9tv.co.il const { parser, url } = require('./9tv.co.il.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `
  • 06:30

    Слепая

    Она не очень любит говорить о себе или о том, кто и зачем к ней обращается. Живет уединенно, в глуши. Но тех, кто приходит -принимает. Она видит судьбы. 
  • 09:10

    Орел и решка. Морской сезон

    Орел и решка. Морской сезон. Ведущие -Алина Астровская и Коля Серга.
  • ` + const content = + '
  • 06:30

    Слепая

    Она не очень любит говорить о себе или о том, кто и зачем к ней обращается. Живет уединенно, в глуши. Но тех, кто приходит -принимает. Она видит судьбы. 
  • 09:10

    Орел и решка. Морской сезон

    Орел и решка. Морской сезон. Ведущие -Алина Астровская и Коля Серга.
  • ' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -31,7 +32,7 @@ it('can parse response', () => { { start: '2022-03-06T04:30:00.000Z', stop: '2022-03-06T07:10:00.000Z', - title: `Слепая`, + title: 'Слепая', icon: 'https://www.9tv.co.il/download/pictures/img_id=8484.jpg', description: 'Она не очень любит говорить о себе или о том, кто и зачем к ней обращается. Живет уединенно, в глуши. Но тех, кто приходит -принимает. Она видит судьбы.' @@ -40,7 +41,7 @@ it('can parse response', () => { 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', - title: `Орел и решка. Морской сезон`, + title: 'Орел и решка. Морской сезон', description: 'Орел и решка. Морской сезон. Ведущие -Алина Астровская и Коля Серга.' } ]) @@ -50,7 +51,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/abc.net.au/abc.net.au.channels.xml b/sites/abc.net.au/abc.net.au.channels.xml index ab4dfc52..11b270df 100644 --- a/sites/abc.net.au/abc.net.au.channels.xml +++ b/sites/abc.net.au/abc.net.au.channels.xml @@ -1,37 +1,35 @@ - - - 10 Bold - 10 Peach - 10 Shake - 7flix - 7mate - 7two - 9 Gem - 9 Go! - 9 Life - 9 Rush - ABC Kids - ABC ME - ABC News - ABC TV - ABC TV Plus - Channel 10 - Channel 7 - Channel 9 - NITV - Racing.com - SBS One - SBS Food - SBS Viceland - SBS World Movies - SBS World Watch - Spree TV - TSVN - - - - - - - + + + + + + + 10 Bold + 10 Peach + 10 Shake + 7flix + 7mate + 7two + 9 Gem + 9 Go! + 9 Life + 9 Rush + ABC Kids + ABC ME + ABC News + ABC TV + ABC TV Plus + Channel 10 + Channel 7 + Channel 9 + NITV + Racing.com + SBS One + SBS Food + SBS Viceland + SBS World Movies + SBS World Watch + Spree TV + TSVN + diff --git a/sites/abc.net.au/abc.net.au.test.js b/sites/abc.net.au/abc.net.au.test.js index 44434f0d..29e720c8 100644 --- a/sites/abc.net.au/abc.net.au.test.js +++ b/sites/abc.net.au/abc.net.au.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/abc.net.au/abc.net.au.config.js --channels=sites/abc.net.au/abc.net.au.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=abc.net.au const { parser, url } = require('./abc.net.au.config.js') const dayjs = require('dayjs') @@ -15,7 +15,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"date":"2022-12-22","region":"Sydney","schedule":[{"channel":"ABC1","listing":[{"consumer_advice":"Adult Themes, Drug Use, Violence","rating":"M","show_id":912747,"repeat":true,"description":"When tragedy strikes close to home, it puts head teacher Noah Taylor on a collision course with the criminals responsible. Can the Lyell team help him stop the cycle of violence?","title":"Silent Witness","crid":"ZW2178A004S00","start_time":"2022-12-22T00:46:00","series-crid":"ZW2178A","live":false,"captioning":true,"show_type":"Episode","series_num":22,"episode_title":"Lift Up Your Hearts (part Two)","length":58,"onair_title":"Silent Witness","end_time":"2022-12-22T01:44:00","genres":["Entertainment"],"image_file":"ZW2178A004S00_460.jpg","prog_slug":"silent-witness","episode_num":4}]}]}` + const content = + '{"date":"2022-12-22","region":"Sydney","schedule":[{"channel":"ABC1","listing":[{"consumer_advice":"Adult Themes, Drug Use, Violence","rating":"M","show_id":912747,"repeat":true,"description":"When tragedy strikes close to home, it puts head teacher Noah Taylor on a collision course with the criminals responsible. Can the Lyell team help him stop the cycle of violence?","title":"Silent Witness","crid":"ZW2178A004S00","start_time":"2022-12-22T00:46:00","series-crid":"ZW2178A","live":false,"captioning":true,"show_type":"Episode","series_num":22,"episode_title":"Lift Up Your Hearts (part Two)","length":58,"onair_title":"Silent Witness","end_time":"2022-12-22T01:44:00","genres":["Entertainment"],"image_file":"ZW2178A004S00_460.jpg","prog_slug":"silent-witness","episode_num":4}]}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() @@ -27,7 +28,8 @@ it('can parse response', () => { { title: 'Silent Witness', sub_title: 'Lift Up Your Hearts (part Two)', - description: `When tragedy strikes close to home, it puts head teacher Noah Taylor on a collision course with the criminals responsible. Can the Lyell team help him stop the cycle of violence?`, + description: + 'When tragedy strikes close to home, it puts head teacher Noah Taylor on a collision course with the criminals responsible. Can the Lyell team help him stop the cycle of violence?', category: ['Entertainment'], rating: { system: 'ACB', @@ -45,7 +47,8 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser( { - content: `NoSuchKeyThe specified key does not exist.processed/Sydney_2023-01-17.json6MRHX5TJ12X39B3Y59rH6XRMrmkFywg8Kv58iqpI6O1fuOCuEbKa1HRRYa4buByXMBTvAhz8zuAK7X5D+ZN9ZuWxyGs=` + content: + 'NoSuchKeyThe specified key does not exist.processed/Sydney_2023-01-17.json6MRHX5TJ12X39B3Y59rH6XRMrmkFywg8Kv58iqpI6O1fuOCuEbKa1HRRYa4buByXMBTvAhz8zuAK7X5D+ZN9ZuWxyGs=' }, channel ) diff --git a/sites/allente.se/allente.se.config.js b/sites/allente.se/allente.se.config.js index f2373b0f..f941be0b 100644 --- a/sites/allente.se/allente.se.config.js +++ b/sites/allente.se/allente.se.config.js @@ -47,7 +47,7 @@ module.exports = { } function parseItems(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const data = JSON.parse(content) if (!data || !Array.isArray(data.channels)) return [] const channelData = data.channels.find(i => i.id === channelId) diff --git a/sites/allente.se/allente.se.test.js b/sites/allente.se/allente.se.test.js index 6d6eab1c..6492b5e7 100644 --- a/sites/allente.se/allente.se.test.js +++ b/sites/allente.se/allente.se.test.js @@ -1,8 +1,8 @@ -// node ./scripts/channels.js --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_se.channels.xml --set=country:se --set=lang:sv -// node ./scripts/channels.js --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_fi.channels.xml --set=country:fi --set=lang:fi -// node ./scripts/channels.js --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_no.channels.xml --set=country:no --set=lang:no -// node ./scripts/channels.js --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_dk.channels.xml --set=country:dk --set=lang:da -// npx epg-grabber --config=sites/allente.se/allente.se.config.js --channels=sites/allente.se/allente.se_se.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_se.channels.xml --set=country:se --set=lang:sv +// npm run channels:parse -- --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_fi.channels.xml --set=country:fi --set=lang:fi +// npm run channels:parse -- --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_no.channels.xml --set=country:no --set=lang:no +// npm run channels:parse -- --config=./sites/allente.se/allente.se.config.js --output=./sites/allente.se/allente.se_dk.channels.xml --set=country:dk --set=lang:da +// npm run grab -- --site=allente.se const { parser, url } = require('./allente.se.config.js') const dayjs = require('dayjs') @@ -29,7 +29,8 @@ it('can generate valid url for different country', () => { }) it('can parse response', () => { - const content = `{"channels":[{"id":"0148","icon":"//images.ctfassets.net/989y85n5kcxs/5uT9g9pdQWRZeDPQXVI9g6/9cc44da567f591822ed645c99ecdcb64/SVT_1_black_new__2_.png","name":"SVT1 HD (T)","events":[{"id":"0086202208220710","live":false,"time":"2022-08-22T07:10:00Z","title":"Hemmagympa med Sofia","details":{"title":"Hemmagympa med Sofia","image":"https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440","description":"Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.","season":4,"episode":1,"categories":["other"],"duration":"20"}}]}]}` + const content = + '{"channels":[{"id":"0148","icon":"//images.ctfassets.net/989y85n5kcxs/5uT9g9pdQWRZeDPQXVI9g6/9cc44da567f591822ed645c99ecdcb64/SVT_1_black_new__2_.png","name":"SVT1 HD (T)","events":[{"id":"0086202208220710","live":false,"time":"2022-08-22T07:10:00Z","title":"Hemmagympa med Sofia","details":{"title":"Hemmagympa med Sofia","image":"https://viasatps.api.comspace.se/PS/channeldate/image/viasat.ps/21/2022-08-22/se.cs.svt1.event.A_41214031600.jpg?size=2560x1440","description":"Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.","season":4,"episode":1,"categories":["other"],"duration":"20"}}]}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -40,9 +41,10 @@ it('can parse response', () => { { start: '2022-08-22T07:10:00.000Z', stop: '2022-08-22T07:30:00.000Z', - title: `Hemmagympa med Sofia`, + title: 'Hemmagympa med Sofia', category: ['other'], - description: `Svenskt träningsprogram från 2021. Styrka. Sofia Åhman leder SVT:s hemmagympapass. Denna gång fokuserar vi på styrka.`, + 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', season: 4, episode: 1 @@ -54,7 +56,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"date":"2001-11-17","categories":[],"channels":[]}` + content: '{"date":"2001-11-17","categories":[],"channels":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/allente.se/allente.se_dk.channels.xml b/sites/allente.se/allente.se_dk.channels.xml index d0022b5b..91b7aab3 100644 --- a/sites/allente.se/allente.se_dk.channels.xml +++ b/sites/allente.se/allente.se_dk.channels.xml @@ -1,66 +1,64 @@ - - - 6'eren - Boomerang Nordic - Canal 9 - Cartoon Network Nordic - C More First - C More Hits - C More Series - C More Stars - Disney Channel Scandinavia - Disney Junior Scandinavia - DK 4 - DR 1 - DR 2 - DR Ramasjang - E! Europe - EuroNews English - Eurosport 2 Danmark - God TV Scandinavia - Kanal 4 - Kanal 5 - MTV 00s - MTV 80s - MTV Nordic - MTV Hits Europe - National Geographic Danmark - National Geographic Wild Europe - Nickelodeon Danmark - Nick Jr Scandinavia - Nicktoons Scandinavia - NRK1 - Paramount Network Danmark - SF-kanalen - Sky News International - SVT 1 - TV 2 - TV 2 Charlie - TV 2 Fri - TV 2 News - TV 2 Sport - TV 2 Zulu - TV 3 Danmark - TV 3 Max - TV3+ - TV 3 Puls - TV 3 Sport - TV 4 - V Film Action - V Film Family - V Film Hits - V Film Premiere - Viasat Explore - Viasat History HD - Viasat Nature - V Series - V Sport Golf - V Sport Ultra HD - Xee - Aljazeera English - BBC World News Europe - CNBC Europe - CNN International Europe - - + + 6'eren + Boomerang Nordic + Canal 9 + Cartoon Network Nordic + C More First + C More Hits + C More Series + C More Stars + Disney Channel Scandinavia + Disney Junior Scandinavia + DK 4 + DR 1 + DR 2 + DR Ramasjang + E! Europe + EuroNews English + Eurosport 2 Danmark + God TV Scandinavia + Kanal 4 + Kanal 5 + MTV 00s + MTV 80s + MTV Nordic + MTV Hits Europe + National Geographic Danmark + National Geographic Wild Europe + Nickelodeon Danmark + Nick Jr Scandinavia + Nicktoons Scandinavia + NRK1 + Paramount Network Danmark + SF-kanalen + Sky News International + SVT 1 + TV 2 + TV 2 Charlie + TV 2 Fri + TV 2 News + TV 2 Sport + TV 2 Zulu + TV 3 Danmark + TV 3 Max + TV3+ + TV 3 Puls + TV 3 Sport + TV 4 + V Film Action + V Film Family + V Film Hits + V Film Premiere + Viasat Explore + Viasat History HD + Viasat Nature + V Series + V Sport Golf + V Sport Ultra HD + Xee + Aljazeera English + BBC World News Europe + CNBC Europe + CNN International Europe + diff --git a/sites/allente.se/allente.se_fi.channels.xml b/sites/allente.se/allente.se_fi.channels.xml index adbb6657..8320b89f 100644 --- a/sites/allente.se/allente.se_fi.channels.xml +++ b/sites/allente.se/allente.se_fi.channels.xml @@ -1,40 +1,38 @@ - - - Boomerang - Cartoon Network - CNBC - CNN - Disney Channel - Disney Junior - E! - MTV 00s - MTV - National Geographic - National Geographic Wild - Nick Jr - TV 3 Sverige - TV 6 Sverige - V Film Action - V Film Family - V Film Hits - V Film Premiere - Viasat Explore - Viasat History HD - Viasat Nature - V Sport 1 Suomi - V Sport 1 Sverige - V Sport 2 Suomi - V Sport Football - V Sport Golf - V Sport Live 1 - V Sport Live 2 - V Sport Live 3 - V Sport Live 4 - V Sport Live 5 - V Sport + Suomi - V Sport Premium - V Sport Ultra HD - V Sport Vinter - - \ No newline at end of file + + Boomerang + Cartoon Network + CNBC + CNN + Disney Channel + Disney Junior + E! + MTV 00s + MTV + National Geographic + National Geographic Wild + Nick Jr + TV 3 Sverige + TV 6 Sverige + V Film Action + V Film Family + V Film Hits + V Film Premiere + Viasat Explore + Viasat History HD + Viasat Nature + V Sport 1 Suomi + V Sport 1 Sverige + V Sport 2 Suomi + V Sport Football + V Sport Golf + V Sport Live 1 + V Sport Live 2 + V Sport Live 3 + V Sport Live 4 + V Sport Live 5 + V Sport + Suomi + V Sport Premium + V Sport Ultra HD + V Sport Vinter + \ No newline at end of file diff --git a/sites/allente.se/allente.se_no.channels.xml b/sites/allente.se/allente.se_no.channels.xml index 3bfeb483..bc0e0003 100644 --- a/sites/allente.se/allente.se_no.channels.xml +++ b/sites/allente.se/allente.se_no.channels.xml @@ -1,75 +1,73 @@ - - - Aljazeera - BBC World News - Cartoon Network - CNBC - CNN - Discovery Channel - Disney Channel - Disney Junior - DR 2 - E! - EuroNews - Eurosport 1 - Eurosport - FEM - Kunskapskanalen - Matkanalen - Max - MTV 00s - MTV 80s - MTV Hits - MTV Nordic - National Geographic - National Geographic Wild - NFL Network - Nickelodeon - Nick Jr - Nicktoons - NRK1 - NRK2 - NRK3 - Sky News International - SVT 1 - SVT 2 - SVT 24 - SVT Barn - TV 2 - TV 2 - TV 2 Livsstil - TV 2 Nyhetskanalen - TV 2 Sport 1 - TV 2 Sport 2 - TV 2 Sport Premium - TV 2 Zebra - TV 3 Danmark - TV 3 Norge - TV 3 Sverige - TV 6 Norge - TV 6 Sverige - TV Norge - V 4 - V Film Action - V Film Family - V Film Hits - V Film Premiere - Viasat Explore - Viasat History HD - Viasat Nature - Vox - V Series - V Sport 1 - V Sport 2 - V Sport 3 - V Sport Golf - V Sport Live 1 - V Sport Live 2 - V Sport Live 3 - V Sport Live 4 - V Sport Live 5 - V Sport + - V Sport Ultra HD - - \ No newline at end of file + + Aljazeera + BBC World News + Cartoon Network + CNBC + CNN + Discovery Channel + Disney Channel + Disney Junior + DR 2 + E! + EuroNews + Eurosport 1 + Eurosport + FEM + Kunskapskanalen + Matkanalen + Max + MTV 00s + MTV 80s + MTV Hits + MTV Nordic + National Geographic + National Geographic Wild + NFL Network + Nickelodeon + Nick Jr + Nicktoons + NRK1 + NRK2 + NRK3 + Sky News International + SVT 1 + SVT 2 + SVT 24 + SVT Barn + TV 2 + TV 2 + TV 2 Livsstil + TV 2 Nyhetskanalen + TV 2 Sport 1 + TV 2 Sport 2 + TV 2 Sport Premium + TV 2 Zebra + TV 3 Danmark + TV 3 Norge + TV 3 Sverige + TV 6 Norge + TV 6 Sverige + TV Norge + V 4 + V Film Action + V Film Family + V Film Hits + V Film Premiere + Viasat Explore + Viasat History HD + Viasat Nature + Vox + V Series + V Sport 1 + V Sport 2 + V Sport 3 + V Sport Golf + V Sport Live 1 + V Sport Live 2 + V Sport Live 3 + V Sport Live 4 + V Sport Live 5 + V Sport + + V Sport Ultra HD + \ No newline at end of file diff --git a/sites/allente.se/allente.se_se.channels.xml b/sites/allente.se/allente.se_se.channels.xml index cc4d7f66..3461dac9 100644 --- a/sites/allente.se/allente.se_se.channels.xml +++ b/sites/allente.se/allente.se_se.channels.xml @@ -1,114 +1,112 @@ - - - Aljazeera - Animal Planet Sverige - ATG Live - BBC Earth HD - BBC Brit HD - BBC World News - Bloomberg TV - Boomerang - Cartoon Network - C More First - C More Fotboll - C More Hits - C More Hockey - C More Live - C More Live 2 - C More Live 3 - C More Live 4 - C More Live 5 - C More Mix - C More Series - C More Stars - CNBC - CNN - Discovery Channel Sverige - Discovery Science Sverige - Disney Channel - Disney Junior - Discovery+ Extra 1 - Discovery+ Extra 2 - Discovery+ Extra 3 - Discovery+ Extra 4 - Discovery+ Extra 5 - Discovery+ Extra 6 - Discovery+ Extra 7 - Discovery+ Extra 8 - DR 1 - DR 2 - DR Ramasjang - E! - EuroNews - Eurosport 1 - Eurosport 2 - Godare - God TV - History - H2 - Horse & Country TV - Investigation Discovery Sverige - Kanal 5 - Kanal 9 - Kanal 11 - Kunskapskanalen - MTV 00s - MTV 80s - MTV Hits - MTV Nordic - Motorvision - National Geographic - National Geographic Wild - NFL Network - Nickelodeon - Nick Jr - Nicktoons - NRK1 - NRK2 - NRK3 - Paramount Network - Paramount+ Movies - Paramount+ Series - SF-kanalen - Sjuan - Sky News International - Sportkanalen - SVT 1 - SVT 2 - SVT 24 - SVT Barn - TLC Sverige - TV 2 - TV 3 - TV 4 - TV 4 Fakta - TV 4 Film - TV 4 Guld - TV 6 - TV 8 - TV 10 - TV 12 - V Film Action - V Film Family - V Film Hits - V Film Premiere - Viasat Explore - Viasat History HD - Viasat Nature - V Series - V Sport 1 - V Sport Extra - V Sport Football - V Sport Golf - V Sport Live 1 - V Sport Live 2 - V Sport Live 3 - V Sport Live 4 - V Sport Live 5 - V Sport Motor - V Sport Premium - V Sport Ultra HD - V Sport Vinter - - + + Aljazeera + Animal Planet Sverige + ATG Live + BBC Earth HD + BBC Brit HD + BBC World News + Bloomberg TV + Boomerang + Cartoon Network + C More First + C More Fotboll + C More Hits + C More Hockey + C More Live + C More Live 2 + C More Live 3 + C More Live 4 + C More Live 5 + C More Mix + C More Series + C More Stars + CNBC + CNN + Discovery Channel Sverige + Discovery Science Sverige + Disney Channel + Disney Junior + Discovery+ Extra 1 + Discovery+ Extra 2 + Discovery+ Extra 3 + Discovery+ Extra 4 + Discovery+ Extra 5 + Discovery+ Extra 6 + Discovery+ Extra 7 + Discovery+ Extra 8 + DR 1 + DR 2 + DR Ramasjang + E! + EuroNews + Eurosport 1 + Eurosport 2 + Godare + God TV + History + H2 + Horse & Country TV + Investigation Discovery Sverige + Kanal 5 + Kanal 9 + Kanal 11 + Kunskapskanalen + MTV 00s + MTV 80s + MTV Hits + MTV Nordic + Motorvision + National Geographic + National Geographic Wild + NFL Network + Nickelodeon + Nick Jr + Nicktoons + NRK1 + NRK2 + NRK3 + Paramount Network + Paramount+ Movies + Paramount+ Series + SF-kanalen + Sjuan + Sky News International + Sportkanalen + SVT 1 + SVT 2 + SVT 24 + SVT Barn + TLC Sverige + TV 2 + TV 3 + TV 4 + TV 4 Fakta + TV 4 Film + TV 4 Guld + TV 6 + TV 8 + TV 10 + TV 12 + V Film Action + V Film Family + V Film Hits + V Film Premiere + Viasat Explore + Viasat History HD + Viasat Nature + V Series + V Sport 1 + V Sport Extra + V Sport Football + V Sport Golf + V Sport Live 1 + V Sport Live 2 + V Sport Live 3 + V Sport Live 4 + V Sport Live 5 + V Sport Motor + V Sport Premium + V Sport Ultra HD + V Sport Vinter + diff --git a/sites/andorradifusio.ad/andorradifusio.ad.channels.xml b/sites/andorradifusio.ad/andorradifusio.ad.channels.xml index 63556d68..5b24834c 100644 --- a/sites/andorradifusio.ad/andorradifusio.ad.channels.xml +++ b/sites/andorradifusio.ad/andorradifusio.ad.channels.xml @@ -1,6 +1,4 @@ - - - Andorra TV - - \ No newline at end of file + + Andorra TV + \ No newline at end of file diff --git a/sites/andorradifusio.ad/andorradifusio.ad.config.js b/sites/andorradifusio.ad/andorradifusio.ad.config.js index b0f7a33d..c20b2900 100644 --- a/sites/andorradifusio.ad/andorradifusio.ad.config.js +++ b/sites/andorradifusio.ad/andorradifusio.ad.config.js @@ -47,8 +47,8 @@ function parseItems(content, date) { .parent() .parent() const items = [] - const titles = column.find(`p`).toArray() - column.find(`h4`).each((i, time) => { + const titles = column.find('p').toArray() + column.find('h4').each((i, time) => { items.push({ time: $(time).text(), title: $(titles[i]).text() diff --git a/sites/andorradifusio.ad/andorradifusio.ad.test.js b/sites/andorradifusio.ad/andorradifusio.ad.test.js index 4abbf7a7..1e54024b 100644 --- a/sites/andorradifusio.ad/andorradifusio.ad.test.js +++ b/sites/andorradifusio.ad/andorradifusio.ad.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/andorradifusio.ad/andorradifusio.ad.config.js --channels=sites/andorradifusio.ad/andorradifusio.ad.channels.xml --output=guide.xml +// npm run grab -- --site=andorradifusio.ad const { parser, url } = require('./andorradifusio.ad.config.js') const fs = require('fs') @@ -30,20 +30,20 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-06-07T05:00:00.000Z', stop: '2023-06-07T06:00:00.000Z', - title: `Club Piolet` + title: 'Club Piolet' }) expect(results[20]).toMatchObject({ start: '2023-06-07T23:00:00.000Z', stop: '2023-06-08T00:00:00.000Z', - title: `Àrea Andorra Difusió` + title: 'Àrea Andorra Difusió' }) }) it('can handle empty guide', () => { const result = parser({ date, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/arianaafgtv.com/arianaafgtv.com.channels.xml b/sites/arianaafgtv.com/arianaafgtv.com.channels.xml index 61f57c4d..41ee1df1 100644 --- a/sites/arianaafgtv.com/arianaafgtv.com.channels.xml +++ b/sites/arianaafgtv.com/arianaafgtv.com.channels.xml @@ -1,6 +1,4 @@ - - - Ariana Afghanistan International TV - - \ No newline at end of file + + Ariana Afghanistan International TV + \ No newline at end of file diff --git a/sites/arianaafgtv.com/arianaafgtv.com.config.js b/sites/arianaafgtv.com/arianaafgtv.com.config.js index 67e00e73..69a20807 100644 --- a/sites/arianaafgtv.com/arianaafgtv.com.config.js +++ b/sites/arianaafgtv.com/arianaafgtv.com.config.js @@ -11,9 +11,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'arianaafgtv.com', days: 2, - url() { - return `https://www.arianaafgtv.com/index.html` - }, + url: 'https://www.arianaafgtv.com/index.html', parser({ content, date }) { const programs = [] const items = parseItems(content, date) diff --git a/sites/arianatelevision.com/arianatelevision.com.channels.xml b/sites/arianatelevision.com/arianatelevision.com.channels.xml index 0caeebd5..99d2ffee 100644 --- a/sites/arianatelevision.com/arianatelevision.com.channels.xml +++ b/sites/arianatelevision.com/arianatelevision.com.channels.xml @@ -1,6 +1,4 @@ - - - Ariana TV National - - \ No newline at end of file + + Ariana TV National + \ No newline at end of file diff --git a/sites/arianatelevision.com/arianatelevision.com.config.js b/sites/arianatelevision.com/arianatelevision.com.config.js index 63091dc9..40bc9b79 100644 --- a/sites/arianatelevision.com/arianatelevision.com.config.js +++ b/sites/arianatelevision.com/arianatelevision.com.config.js @@ -4,7 +4,7 @@ const { DateTime } = require('luxon') module.exports = { site: 'arianatelevision.com', days: 2, - url: `https://www.arianatelevision.com/program-schedule/`, + url: 'https://www.arianatelevision.com/program-schedule/', parser({ content, date }) { const programs = [] const items = parseItems(content, date) @@ -37,8 +37,6 @@ function parseStart(item, date) { } function parseItems(content, date) { - const items = [] - const col = date.day() const $ = cheerio.load(content) const settings = $('#jtrt_table_settings_508').text() if (!settings) return [] diff --git a/sites/arianatelevision.com/arianatelevision.com.test.js b/sites/arianatelevision.com/arianatelevision.com.test.js index 829f0632..d6ff3722 100644 --- a/sites/arianatelevision.com/arianatelevision.com.test.js +++ b/sites/arianatelevision.com/arianatelevision.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/arianatelevision.com/arianatelevision.com.config.js --channels=sites/arianatelevision.com/arianatelevision.com.channels.xml --output=guide.xml +// npm run grab -- --site=arianatelevision.com const { parser, url } = require('./arianatelevision.com.config.js') const dayjs = require('dayjs') @@ -18,7 +18,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `` + const content = + '' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -29,22 +30,22 @@ it('can parse response', () => { { start: '2021-11-27T02:30:00.000Z', stop: '2021-11-27T03:00:00.000Z', - title: `City Report` + title: 'City Report' }, { start: '2021-11-27T03:00:00.000Z', stop: '2021-11-27T10:30:00.000Z', - title: `ICC T20 Highlights` + title: 'ICC T20 Highlights' }, { start: '2021-11-27T10:30:00.000Z', stop: '2021-11-28T02:00:00.000Z', - title: `ICC T20 World Cup` + title: 'ICC T20 World Cup' }, { start: '2021-11-28T02:00:00.000Z', stop: '2021-11-28T02:30:00.000Z', - title: `Quran and Hadis` + title: 'Quran and Hadis' } ]) }) @@ -53,7 +54,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: + '' }) expect(result).toMatchObject([]) }) diff --git a/sites/arirang.com/arirang.com.channels.xml b/sites/arirang.com/arirang.com.channels.xml index 140ab525..6d60a18b 100644 --- a/sites/arirang.com/arirang.com.channels.xml +++ b/sites/arirang.com/arirang.com.channels.xml @@ -1,8 +1,6 @@ - - - Arirang TV - Arirang UN - Arirang World - - \ No newline at end of file + + Arirang TV + Arirang UN + Arirang World + \ No newline at end of file diff --git a/sites/arirang.com/arirang.com.config.js b/sites/arirang.com/arirang.com.config.js index d0c133d5..2ee402c7 100644 --- a/sites/arirang.com/arirang.com.config.js +++ b/sites/arirang.com/arirang.com.config.js @@ -8,132 +8,146 @@ dayjs.extend(timezone) dayjs.extend(customParseFormat) module.exports = { - site: 'arirang.com', - output: 'arirang.com.guide.xml', - channels: 'arirang.com.channels.xml', - lang: 'en', - days: 7, - delay: 5000, - url: 'https://www.arirang.com/v1.0/open/external/proxy', + site: 'arirang.com', + output: 'arirang.com.guide.xml', + channels: 'arirang.com.channels.xml', + lang: 'en', + days: 7, + delay: 5000, + url: 'https://www.arirang.com/v1.0/open/external/proxy', - request: { + request: { + method: 'POST', + timeout: 5000, + cache: { ttl: 60 * 60 * 1000 }, + headers: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': 'application/json', + Origin: 'https://www.arirang.com', + Referer: 'https://www.arirang.com/schedule', + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' + }, + data: function (context) { + const { channel, date } = context + return { + address: 'https://script.arirang.com/api/v1/bis/listScheduleV3.do', method: 'POST', - timeout: 5000, - cache: { ttl: 60 * 60 * 1000 }, - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': 'application/json', - 'Origin': 'https://www.arirang.com', - 'Referer': 'https://www.arirang.com/schedule', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' - }, - data: function (context) { - const { channel, date } = context - return { - 'address': 'https://script.arirang.com/api/v1/bis/listScheduleV3.do', - 'method': 'POST', - 'headers': {}, - 'body': { - 'data': { - 'dmParam': { - 'chanId': channel.site_id, - 'broadYmd': dayjs.tz(date, 'Asia/Seoul').format('YYYYMMDD'), - 'planNo': '1' - } - } - } + headers: {}, + body: { + data: { + dmParam: { + chanId: channel.site_id, + broadYmd: dayjs.tz(date, 'Asia/Seoul').format('YYYYMMDD'), + planNo: '1' } + } } - }, - - logo: function (context) { - return context.channel.logo - }, - - async parser(context) { - const programs = [] - const items = parseItems(context.content) - - for (let item of items) { - const programDetail = await parseProgramDetail(item) - - programs.push({ - title: item.displayNm, - start: parseStart(item), - stop: parseStop(item), - icon: parseIcon(programDetail), - category: parseCategory(programDetail), - description: parseDescription(programDetail) - }) - } - - return programs + } } + }, + + logo: function (context) { + return context.channel.logo + }, + + async parser(context) { + const programs = [] + const items = parseItems(context.content) + + for (let item of items) { + const programDetail = await parseProgramDetail(item) + + programs.push({ + title: item.displayNm, + start: parseStart(item), + stop: parseStop(item), + icon: parseIcon(programDetail), + category: parseCategory(programDetail), + description: parseDescription(programDetail) + }) + } + + return programs + } } function parseItems(content) { - if (content != '') { - const data = JSON.parse(content) - return (!data || !data.responseBody || !Array.isArray(data.responseBody.dsSchWeek)) ? [] : data.responseBody.dsSchWeek - } else { - return [] - } + if (content != '') { + const data = JSON.parse(content) + return !data || !data.responseBody || !Array.isArray(data.responseBody.dsSchWeek) + ? [] + : data.responseBody.dsSchWeek + } else { + return [] + } } function parseStart(item) { - return dayjs.tz(item.broadYmd + ' ' + item.broadHm, 'YYYYMMDD HHmm', 'Asia/Seoul') + return dayjs.tz(item.broadYmd + ' ' + item.broadHm, 'YYYYMMDD HHmm', 'Asia/Seoul') } function parseStop(item) { - return dayjs.tz(item.broadYmd + ' ' + item.broadHm, 'YYYYMMDD HHmm', 'Asia/Seoul').add(item.broadRun, 'minute') + return dayjs + .tz(item.broadYmd + ' ' + item.broadHm, 'YYYYMMDD HHmm', 'Asia/Seoul') + .add(item.broadRun, 'minute') } async function parseProgramDetail(item) { - return axios.post( - 'https://www.arirang.com/v1.0/open/program/detail', - { - 'bis_program_code': item.pgmCd + return axios + .post( + 'https://www.arirang.com/v1.0/open/program/detail', + { + bis_program_code: item.pgmCd + }, + { + headers: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': 'application/json', + Origin: 'https://www.arirang.com', + Referer: 'https://www.arirang.com/schedule', + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' }, - { - headers: { - 'Accept': 'application/json, text/plain, */*', - 'Content-Type': 'application/json', - 'Origin': 'https://www.arirang.com', - 'Referer': 'https://www.arirang.com/schedule', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' - }, - timeout: 5000, - cache: { ttl: 60 * 1000 }, - } - ).then(function (response) { - return response.data - }).catch(function (error) { - // console.log(error) + timeout: 5000, + cache: { ttl: 60 * 1000 } + } + ) + .then(response => { + return response.data + }) + .catch(error => { + console.log(error) }) } function parseIcon(programDetail) { - if (programDetail && programDetail.image && programDetail.image[0].url) { - return programDetail.image[0].url - } else { - return '' - } + if (programDetail && programDetail.image && programDetail.image[0].url) { + return programDetail.image[0].url + } else { + return '' + } } function parseCategory(programDetail) { - if (programDetail && programDetail.category_Info && programDetail.category_Info[0].title) { - return programDetail.category_Info[0].title - } else { - return '' - } + if (programDetail && programDetail.category_Info && programDetail.category_Info[0].title) { + return programDetail.category_Info[0].title + } else { + return '' + } } function parseDescription(programDetail) { - if (programDetail && programDetail.content && programDetail.content[0] && programDetail.content[0].text) { - let description = programDetail.content[0].text - let regex = /(<([^>]+)>)/ig - return description.replace(regex, '') - } else { - return '' - } + if ( + programDetail && + programDetail.content && + programDetail.content[0] && + programDetail.content[0].text + ) { + let description = programDetail.content[0].text + let regex = /(<([^>]+)>)/gi + return description.replace(regex, '') + } else { + return '' + } } diff --git a/sites/arirang.com/arirang.com.test.js b/sites/arirang.com/arirang.com.test.js index f0d4d165..31d1b61b 100644 --- a/sites/arirang.com/arirang.com.test.js +++ b/sites/arirang.com/arirang.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/arirang.com/arirang.com.config.js --channels=sites/arirang.com/arirang.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=arirang.com // npx jest arirang.com.test.js const { url, parser } = require('./arirang.com.config.js') @@ -7,53 +7,68 @@ const path = require('path') const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') -const { program } = require('commander') dayjs.extend(utc) jest.mock('axios') const date = dayjs.tz('2023-08-25', 'Asia/Seoul').startOf('d') -const channel = { xmltv_id: 'ArirangWorld.kr', site_id: 'CH_W', name: 'Arirang World', lang: 'en', logo: 'https://i.imgur.com/5Aoithj.png' } +const channel = { + xmltv_id: 'ArirangWorld.kr', + site_id: 'CH_W', + name: 'Arirang World', + lang: 'en', + logo: 'https://i.imgur.com/5Aoithj.png' +} const content = fs.readFileSync(path.resolve(__dirname, '__data__/schedule.json'), 'utf8') const programDetail = fs.readFileSync(path.resolve(__dirname, '__data__/detail.json'), 'utf8') -const context = { 'channel': channel, 'content': content, 'date': date } +const context = { channel: channel, content: content, date: date } it('can generate valid url', () => { - expect(url).toBe('https://www.arirang.com/v1.0/open/external/proxy') + expect(url).toBe('https://www.arirang.com/v1.0/open/external/proxy') }) it('can handle empty guide', async () => { - const results = await parser({ 'channel': channel, 'content': '', 'date': date }) - expect(results).toMatchObject([]) + const results = await parser({ channel: channel, content: '', date: date }) + expect(results).toMatchObject([]) }) it('can parse response', async () => { - axios.post.mockImplementation((url, data) => { - if (url === 'https://www.arirang.com/v1.0/open/external/proxy' && JSON.stringify(data) === JSON.stringify({ "address": "https://script.arirang.com/api/v1/bis/listScheduleV3.do", "method": "POST", "headers": {}, "body": { "data": { "dmParam": { "chanId": "CH_W", "broadYmd": "20230825", "planNo": "1" } } } })) { - return Promise.resolve({ - data: JSON.parse(content) - }) - } else if (url === 'https://www.arirang.com/v1.0/open/program/detail' && JSON.stringify(data) === JSON.stringify({ "bis_program_code": "2023004T" })) { - return Promise.resolve({ - data: JSON.parse(programDetail) - }) - } else { - return Promise.resolve({ - data: '' - }) - } - }) + axios.post.mockImplementation((url, data) => { + if ( + url === 'https://www.arirang.com/v1.0/open/external/proxy' && + JSON.stringify(data) === + JSON.stringify({ + address: 'https://script.arirang.com/api/v1/bis/listScheduleV3.do', + method: 'POST', + headers: {}, + body: { data: { dmParam: { chanId: 'CH_W', broadYmd: '20230825', planNo: '1' } } } + }) + ) { + return Promise.resolve({ + data: JSON.parse(content) + }) + } else if ( + url === 'https://www.arirang.com/v1.0/open/program/detail' && + JSON.stringify(data) === JSON.stringify({ bis_program_code: '2023004T' }) + ) { + return Promise.resolve({ + data: JSON.parse(programDetail) + }) + } else { + return Promise.resolve({ + data: '' + }) + } + }) - const results = await parser(context) + const results = await parser(context) - expect(results[0]).toMatchObject( - { - 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", - description: "NEWS", - category: "Current Affairs" - } - ) -}) \ No newline at end of file + expect(results[0]).toMatchObject({ + 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', + description: 'NEWS', + category: 'Current Affairs' + }) +}) diff --git a/sites/artonline.tv/artonline.tv.channels.xml b/sites/artonline.tv/artonline.tv.channels.xml index abd0989f..ea81dc68 100644 --- a/sites/artonline.tv/artonline.tv.channels.xml +++ b/sites/artonline.tv/artonline.tv.channels.xml @@ -1,10 +1,8 @@ - - - ART Aflam 1 - ART Aflam 2 - ART Cinema - ART Hekayat - ART Hekayat 2 - - \ No newline at end of file + + ART Aflam 1 + ART Aflam 2 + ART Cinema + ART Hekayat + ART Hekayat 2 + \ No newline at end of file diff --git a/sites/artonline.tv/artonline.tv.config.js b/sites/artonline.tv/artonline.tv.config.js index 4edfdabc..54d5652a 100644 --- a/sites/artonline.tv/artonline.tv.config.js +++ b/sites/artonline.tv/artonline.tv.config.js @@ -51,14 +51,14 @@ module.exports = { } function parseStart(item) { - const [_, M, D, YYYY] = item.adddate.match(/(\d+)\/(\d+)\/(\d+) /) + const [, M, D, YYYY] = item.adddate.match(/(\d+)\/(\d+)\/(\d+) /) const [HH, mm] = item.start_Time.split(':') return dayjs.tz(`${YYYY}-${M}-${D}T${HH}:${mm}:00`, 'YYYY-M-DTHH:mm:ss', 'Asia/Riyadh') } function parseDuration(item) { - const [__, HH, mm, ss] = item.duration.match(/(\d+):(\d+):(\d+)/) + const [, HH, mm, ss] = item.duration.match(/(\d+):(\d+):(\d+)/) return parseInt(HH) * 3600 + parseInt(mm) * 60 + parseInt(ss) } diff --git a/sites/artonline.tv/artonline.tv.test.js b/sites/artonline.tv/artonline.tv.test.js index 60065a0b..17ab430c 100644 --- a/sites/artonline.tv/artonline.tv.test.js +++ b/sites/artonline.tv/artonline.tv.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/artonline.tv/artonline.tv.config.js --channels=sites/artonline.tv/artonline.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=artonline.tv const { parser, url, request } = require('./artonline.tv.config.js') const dayjs = require('dayjs') @@ -39,7 +39,8 @@ it('can generate valid request data for tomorrow', () => { }) it('can parse response', () => { - const content = `[{"id":158963,"eventid":null,"duration":"01:34:00","lang":"Arabic","title":"الراقصه و السياسي","description":"تقرر الراقصه سونيا انشاء دار حضانه للأطفال اليتامى و عندما تتقدم بمشورعها للمسئول يرفض فتتحداه ، تلجأ للوزير عبد الحميد رأفت تربطه بها علاقة قديمة ، يخشى على مركزه و يرفض مساعدتها فتقرر كتابة مذكراتها بمساعدة أحد الصحفيين ، يتخوف عبد الحميد و المسئولين ثم يفاجأ عبد الحميد بحصول سونيا على الموافقه للمشورع و البدء في تنفيذه و ذلك لعلاقتها بأحد كبار المسئولين .","thumbnail":"/UploadImages/Channel/ARTAFLAM1/03/AlRaqesaWaAlSeyasi.jpg","image":"0","start_Time":"00:30","adddate":"3/4/2022 12:00:00 AM","repeat1":null,"iD_genre":0,"iD_Show_Type":0,"iD_Channel":77,"iD_country":0,"iD_rating":0,"end_time":"02:04","season_Number":0,"epoisode_Number":0,"hasCatchup":0,"cmsid":0,"containerID":0,"imagePath":"../../UploadImages/Channel/ARTAFLAM1/3/","youtube":"0","published_at":"0","directed_by":"0","composition":"0","cast":"0","timeShow":null,"short_description":"تقرر الراقصه سونيا انشاء دار حضانه للأطفال اليتامى و عندما تتقدم بمشورعها للمسئول يرفض فتتحداه ، تلجأ للوزير عبد الحميد رأفت تربطه بها علاقة قديمة ، يخشى على مركزه و يرفض مساعدتها فتقرر كتابة مذكراتها بمساعدة أحد الصحفيين ، يتخوف عبد الحميد و المسئولين ثم يفاجأ عبد الحميد بحصول سونيا على الموافقه للمشورع و البدء في تنفيذه و ذلك لعلاقتها بأحد كبار المسئولين .","seOdescription":null,"tagseo":null,"channel_name":null,"pathimage":null,"pathThumbnail":null}]` + const content = + '[{"id":158963,"eventid":null,"duration":"01:34:00","lang":"Arabic","title":"الراقصه و السياسي","description":"تقرر الراقصه سونيا انشاء دار حضانه للأطفال اليتامى و عندما تتقدم بمشورعها للمسئول يرفض فتتحداه ، تلجأ للوزير عبد الحميد رأفت تربطه بها علاقة قديمة ، يخشى على مركزه و يرفض مساعدتها فتقرر كتابة مذكراتها بمساعدة أحد الصحفيين ، يتخوف عبد الحميد و المسئولين ثم يفاجأ عبد الحميد بحصول سونيا على الموافقه للمشورع و البدء في تنفيذه و ذلك لعلاقتها بأحد كبار المسئولين .","thumbnail":"/UploadImages/Channel/ARTAFLAM1/03/AlRaqesaWaAlSeyasi.jpg","image":"0","start_Time":"00:30","adddate":"3/4/2022 12:00:00 AM","repeat1":null,"iD_genre":0,"iD_Show_Type":0,"iD_Channel":77,"iD_country":0,"iD_rating":0,"end_time":"02:04","season_Number":0,"epoisode_Number":0,"hasCatchup":0,"cmsid":0,"containerID":0,"imagePath":"../../UploadImages/Channel/ARTAFLAM1/3/","youtube":"0","published_at":"0","directed_by":"0","composition":"0","cast":"0","timeShow":null,"short_description":"تقرر الراقصه سونيا انشاء دار حضانه للأطفال اليتامى و عندما تتقدم بمشورعها للمسئول يرفض فتتحداه ، تلجأ للوزير عبد الحميد رأفت تربطه بها علاقة قديمة ، يخشى على مركزه و يرفض مساعدتها فتقرر كتابة مذكراتها بمساعدة أحد الصحفيين ، يتخوف عبد الحميد و المسئولين ثم يفاجأ عبد الحميد بحصول سونيا على الموافقه للمشورع و البدء في تنفيذه و ذلك لعلاقتها بأحد كبار المسئولين .","seOdescription":null,"tagseo":null,"channel_name":null,"pathimage":null,"pathThumbnail":null}]' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() diff --git a/sites/astro.com.my/astro.com.my.channels.xml b/sites/astro.com.my/astro.com.my.channels.xml index 72bca740..0b2b431c 100644 --- a/sites/astro.com.my/astro.com.my.channels.xml +++ b/sites/astro.com.my/astro.com.my.channels.xml @@ -1,143 +1,141 @@ - - - 8TV - - Adithya TV - Aljazeera - Animal Planet - Asian Food Network - Astro AEC - Astro AOD 311 - Astro AOD 352 - Astro AOD 353 - Astro AOD 354 - Astro AOD 355 - Astro Arena - Astro Arena 2 - Astro Aura - Astro Awani - Astro BollyOne HD - Astro Box Office Tayangan Hebat - Astro Box Office Thangathirai - Astro Ceria - Gemilang - Astro Citra - Astro Cricket - Astro Hua Hee Dai - Astro Oasis - Astro Prima - Astro Quan Jia HD - Astro Rania - Astro Ria - Astro Shuang Xing - Astro SuperSport - Astro SuperSport 2 - Astro SuperSport 3 - Astro SuperSport 4 - Astro SuperSport 5 - Astro Tutor TV PT3 - Astro Tutor TV SPM - Astro Tutor TV UPSR - Astro UHD - Astro Vaanavil - Astro Vellithirai - Astro Vinmeen HD - Astro Wah Lai Toi - Astro Warna - Astro Xiao Tai Yang - Awesome TV - AXN - BBC Earth - BBC First - BBC Lifestyle - BBC World News - beIN Sports HD - beIN Sports 2 - beIN Sports 3 - Bernama TV - Bloomberg TV - Boo - Boomerang - Cartoon Network HD - CCTV 4 - Celestial Classic Movies - Celestial Movies - CGTN - Chutti TV - Cinemax - CNA - CNBC Asia-Pacific - CNN - Colors - Colors Tamil - Crime + Investigation - CTI TV - Discovery Asia - Discovery Channel - DMAX - DW English - Egg Network - Eurosport - Food Network - France 24 English - Golf Channel - Go Shop Chinese - Go Shop Malay 111 - Go Shop Malay 118 - Go Shop Malay 120 - HBO - HBO Family - HBO Hits - HGTV - History - Hits - Hits Movies - Iqiyi - KBS World - Kix - K+ - Lifetime - Moonbug Kids - MTV - Nat Geo People - National Geographic - National Geographic Wild - NHK World Premium - Nickelodeon - Nick Jr - Njoi TV - NTV 7 - One - Paramount Network - Phoenix Chinese Channel - Phoenix InfoNews Channel - Premier Sports - PRIMEtime - RTM TV 1 - RTM TV2 - RTM TV Okey - Showcase Movies - Sky News UK - SPOTV - Star Vijay - Sun Music - Sun TV - Ta-Daa! - TLC - TV 3 - TV 9 - TV Alhijrah - TVB Classic - TVB Entertainment News - TVB Jade - TVBS Asia - TVB Xing He - TVN HD - TVN Movies - TVS - Warner TV - WWE Network - Zee Tamil - - + + + 8TV + Adithya TV + Aljazeera + Animal Planet + Asian Food Network + Astro AEC + Astro AOD 311 + Astro AOD 352 + Astro AOD 353 + Astro AOD 354 + Astro AOD 355 + Astro Arena + Astro Arena 2 + Astro Aura + Astro Awani + Astro BollyOne HD + Astro Box Office Tayangan Hebat + Astro Box Office Thangathirai + Astro Ceria + Gemilang + Astro Citra + Astro Cricket + Astro Hua Hee Dai + Astro Oasis + Astro Prima + Astro Quan Jia HD + Astro Rania + Astro Ria + Astro Shuang Xing + Astro SuperSport + Astro SuperSport 2 + Astro SuperSport 3 + Astro SuperSport 4 + Astro SuperSport 5 + Astro Tutor TV PT3 + Astro Tutor TV SPM + Astro Tutor TV UPSR + Astro UHD + Astro Vaanavil + Astro Vellithirai + Astro Vinmeen HD + Astro Wah Lai Toi + Astro Warna + Astro Xiao Tai Yang + Awesome TV + AXN + BBC Earth + BBC First + BBC Lifestyle + BBC World News + beIN Sports HD + beIN Sports 2 + beIN Sports 3 + Bernama TV + Bloomberg TV + Boo + Boomerang + Cartoon Network HD + Celestial Classic Movies + CCTV 4 + Celestial Movies + CGTN + Chutti TV + Cinemax + CNA + CNBC Asia-Pacific + CNN + Colors + Colors Tamil + Crime + Investigation + CTI TV + Discovery Asia + Discovery Channel + DMAX + DW English + Egg Network + TVB Entertainment News + Eurosport + Food Network + France 24 English + Golf Channel + Go Shop Chinese + Go Shop Malay 111 + Go Shop Malay 118 + Go Shop Malay 120 + HBO + HBO Family + HBO Hits + HGTV + History + Hits + Hits Movies + Iqiyi + TVB Jade + KBS World + Kix + K+ + Lifetime + Moonbug Kids + MTV + Nat Geo People + National Geographic + National Geographic Wild + NHK World Premium + Nickelodeon + Nick Jr + Njoi TV + NTV 7 + RTM TV Okey + One + Paramount Network + Phoenix Chinese Channel + Phoenix InfoNews Channel + Premier Sports + PRIMEtime + Showcase Movies + Sky News UK + SPOTV + Star Vijay + Sun Music + Sun TV + Ta-Daa! + TLC + RTM TV 1 + RTM TV2 + TV 3 + TV 9 + TV Alhijrah + TVB Classic + TVBS Asia + TVB Xing He + TVN HD + TVN Movies + TVS + Warner TV + WWE Network + Zee Tamil + diff --git a/sites/astro.com.my/astro.com.my.config.js b/sites/astro.com.my/astro.com.my.config.js index 628a4b47..2711880a 100644 --- a/sites/astro.com.my/astro.com.my.config.js +++ b/sites/astro.com.my/astro.com.my.config.js @@ -4,7 +4,7 @@ const utc = require('dayjs/plugin/utc') dayjs.extend(utc) -const API_ENDPOINT = `https://contenthub-api.eco.astro.com.my` +const API_ENDPOINT = 'https://contenthub-api.eco.astro.com.my' module.exports = { site: 'astro.com.my', @@ -41,13 +41,13 @@ module.exports = { } function parseEpisode(item) { - const [_, number] = item.title.match(/Ep(\d+)$/) || [null, null] + const [, number] = item.title.match(/Ep(\d+)$/) || [null, null] return number ? parseInt(number) : null } function parseSeason(details) { - const [_, season] = details.title ? details.title.match(/ S(\d+)/) || [null, null] : [null, null] + const [, season] = details.title ? details.title.match(/ S(\d+)/) || [null, null] : [null, null] return season ? parseInt(season) : null } @@ -116,7 +116,7 @@ async function loadProgramDetails(item) { const data = await axios .get(url) .then(r => r.data) - .catch(err => {}) + .catch(error => console.log(error.message)) if (!data) return {} return data.response || {} diff --git a/sites/astro.com.my/astro.com.my.test.js b/sites/astro.com.my/astro.com.my.test.js index 88a58265..5c615f51 100644 --- a/sites/astro.com.my/astro.com.my.test.js +++ b/sites/astro.com.my/astro.com.my.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/astro.com.my/astro.com.my.config.js --channels=sites/astro.com.my/astro.com.my.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=astro.com.my const { parser, url } = require('./astro.com.my.config.js') const fs = require('fs') diff --git a/sites/bein.com/bein.com.channels.xml b/sites/bein.com/bein.com.channels.xml deleted file mode 100644 index 677ac1e0..00000000 --- a/sites/bein.com/bein.com.channels.xml +++ /dev/null @@ -1,162 +0,0 @@ - - - - - BeIn Sports News - BeIn Sports - BeIn Sports 1 - BeIn Sports 2 - BeIn Sports 3 - BeIn Sports 4 - BeIn Sports 5 - BeIn Sports 6 - BeIn Sports 7 - BeIn Sports Premium 1 - BeIn Sports Premium 2 - BeIn Sports Premium 3 - BeIn Sports Xtra 1 - BeIn Sports Xtra 2 - BeIn 4K - BeIN Sports AFC - BeIN Sports AFC 1 - BeIN Sports AFC 2 - BeIN Sports AFC 3 - BeIn Sports English 1 - BeIn Sports English 2 - BeIn Sports English 3 - BeIn NBA - BeIn Sports French 1 - BeIn Sports French 2 - BeIn Sports French 3 - beIN Sports Max 1 - beIN Sports Max 2 - beIN Sports Max 3 - beIN Sports Max 4 - beIN Sports Max 5 - beIN Sports Max 6 - Alkass One - Alkass Two - Alkass Three - Alkass Four - Alkass Five - Alkass Six - Alkass Seven - Alkass Eight - - BeIn Sports News - BeIn Sports - BeIn Sports 1 - BeIn Sports 2 - BeIn Sports 3 - BeIn Sports 4 - BeIn Sports 5 - BeIn Sports 6 - BeIn Sports 7 - BeIn Sports Premium 1 - BeIn Sports Premium 2 - BeIn Sports Premium 3 - BeIn Sports Xtra 1 - BeIn Sports Xtra 2 - BeIn 4K - BeIN Sports AFC - BeIN Sports AFC 1 - BeIN Sports AFC 2 - BeIN Sports AFC 3 - BeIn Sports English 1 - BeIn Sports English 2 - BeIn Sports English 3 - BeIn NBA - BeIn Sports French 1 - BeIn Sports French 2 - BeIn Sports French 3 - beIN Sports Max 1 - beIN Sports Max 2 - beIN Sports Max 3 - beIN Sports Max 4 - beIN Sports Max 5 - beIN Sports Max 6 - Alkass Three - Alkass One - Alkass Two - Alkass Four - Alkass Five - Alkass Six - Alkass Seven - Alkass Eight - - beIN Movies Premiere - beIN Movies Action - bein Movies Drama - beIN Movies Family - FOX Movies - FOX Action Movies - Star Movies - beIN Series 1 - beIN Series 2 - beIN Drama 1 - beIN Gourmet - Travel Channel - FOX - Food Network - HGTV - Star World - Fatafeat - FOX Life - MTV 80s - MTV 90s - Club MTV - Bloomberg TV - National Geographic - National Geographic Wild - BBC Earth - CNN - EuroNews - Discovery - be Junior - Jeem - Baraem - Cartoon Network - Cartoon Network Arabic - Cartoon Network Hindi - Baby TV - CBeebies - DreamWorks - - beIN Movies Premiere - beIN Movies Action - bein Movies Drama - beIN Movies Family - FOX Movies - FOX Action Movies - Star Movies - beIN Series 1 - beIN Series 2 - beIN Drama 1 - beIN Gourmet - Travel Channel - FOX - Food Network - HGTV - Star World - Fatafeat - MTV 80s - MTV 90s - Club MTV - be Junior - Bloomberg TV - National Geographic - National Geographic Wild - BBC Earth - Al Jazeera Documentary - CNN - EuroNews - Jeem - Baraem - CBeebies - Baby TV - Cartoon Network - Cartoon Network Arabic - Cartoon Network Hindi - DreamWorks - - diff --git a/sites/bein.com/bein.com.config.js b/sites/bein.com/bein.com.config.js index 6b895eaa..8c1552ec 100644 --- a/sites/bein.com/bein.com.config.js +++ b/sites/bein.com/bein.com.config.js @@ -4,7 +4,6 @@ const { DateTime } = require('luxon') module.exports = { site: 'bein.com', days: 2, - timeout: 30000, // 30 seconds request: { cache: { ttl: 60 * 60 * 1000 // 1 hour @@ -63,7 +62,7 @@ function parseCategory($item) { } function parseTime($item, date) { - let [_, time] = $item('.time') + let [, time] = $item('.time') .text() .match(/^(\d{2}:\d{2})/) || [null, null] if (!time) return null @@ -73,7 +72,7 @@ function parseTime($item, date) { } function parseItems(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const $ = cheerio.load(content) return $(`#channels_${channelId} .slider > ul:first-child > li`).toArray() diff --git a/sites/bein.com/bein.com.test.js b/sites/bein.com/bein.com.test.js index acb0bff1..73174712 100644 --- a/sites/bein.com/bein.com.test.js +++ b/sites/bein.com/bein.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/bein.com/bein.com.config.js --channels=sites/bein.com/bein.com.channels.xml --output=guide.xml +// npm run grab -- --site=bein.com const fs = require('fs') const path = require('path') diff --git a/sites/bein.com/bein.com_ar.channels.xml b/sites/bein.com/bein.com_ar.channels.xml new file mode 100644 index 00000000..95a0d070 --- /dev/null +++ b/sites/bein.com/bein.com_ar.channels.xml @@ -0,0 +1,79 @@ + + + Al Jazeera Documentary + Alkass Eight + Alkass Five + Alkass Four + Alkass One + Alkass Seven + Alkass Six + Alkass Three + Alkass Two + Baby TV + Baraem + BBC Earth + BeIn 4K + beIN Drama 1 + beIN Gourmet + beIN Movies Premiere + beIN Movies Action + bein Movies Drama + beIN Movies Family + beIN Series 1 + beIN Series 2 + BeIn Sports + BeIn Sports 1 + BeIn Sports 2 + BeIn Sports 3 + BeIn Sports 4 + BeIn Sports 5 + BeIn Sports 6 + BeIn Sports 7 + BeIN Sports AFC + BeIN Sports AFC 1 + BeIN Sports AFC 2 + BeIN Sports AFC 3 + BeIn Sports English 1 + BeIn Sports English 2 + BeIn Sports English 3 + BeIn Sports French 1 + BeIn Sports French 2 + BeIn Sports French 3 + beIN Sports Max 1 + beIN Sports Max 2 + beIN Sports Max 3 + beIN Sports Max 4 + beIN Sports Max 5 + beIN Sports Max 6 + BeIn NBA + BeIn Sports News + BeIn Sports Premium 1 + BeIn Sports Premium 2 + BeIn Sports Premium 3 + BeIn Sports Xtra 1 + BeIn Sports Xtra 2 + be Junior + Bloomberg TV + Cartoon Network Arabic + Cartoon Network Hindi + Cartoon Network + CBeebies + Club MTV + CNN + DreamWorks + EuroNews + Fatafeat + Food Network + FOX Action Movies + FOX + FOX Movies + HGTV + Jeem + MTV 80s + MTV 90s + National Geographic + National Geographic Wild + Star Movies + Star World + Travel Channel + \ No newline at end of file diff --git a/sites/bein.com/bein.com_en.channels.xml b/sites/bein.com/bein.com_en.channels.xml new file mode 100644 index 00000000..29561d50 --- /dev/null +++ b/sites/bein.com/bein.com_en.channels.xml @@ -0,0 +1,80 @@ + + + Alkass Eight + Alkass Five + Alkass Four + Alkass One + Alkass Seven + Alkass Six + Alkass Three + Alkass Two + Baby TV + Baraem + BBC Earth + BeIn 4K + beIN Drama 1 + beIN Gourmet + beIN Movies Premiere + beIN Movies Action + bein Movies Drama + beIN Movies Family + beIN Series 1 + beIN Series 2 + BeIn Sports + BeIn Sports 1 + BeIn Sports 2 + BeIn Sports 3 + BeIn Sports 4 + BeIn Sports 5 + BeIn Sports 6 + BeIn Sports 7 + BeIN Sports AFC + BeIN Sports AFC 1 + BeIN Sports AFC 2 + BeIN Sports AFC 3 + BeIn Sports English 1 + BeIn Sports English 2 + BeIn Sports English 3 + BeIn Sports French 1 + BeIn Sports French 2 + BeIn Sports French 3 + beIN Sports Max 1 + beIN Sports Max 2 + beIN Sports Max 3 + beIN Sports Max 4 + beIN Sports Max 5 + beIN Sports Max 6 + BeIn NBA + BeIn Sports News + BeIn Sports Premium 1 + BeIn Sports Premium 2 + BeIn Sports Premium 3 + BeIn Sports Xtra 1 + BeIn Sports Xtra 2 + be Junior + Bloomberg TV + Cartoon Network Arabic + Cartoon Network Hindi + Cartoon Network + CBeebies + Club MTV + CNN + Discovery + DreamWorks + EuroNews + Fatafeat + Food Network + FOX Action Movies + FOX + FOX Life + FOX Movies + HGTV + Jeem + MTV 80s + MTV 90s + National Geographic + National Geographic Wild + Star Movies + Star World + Travel Channel + diff --git a/sites/beinsports.com/beinsports.com.config.js b/sites/beinsports.com/beinsports.com.config.js index deabaa1a..35e4783d 100644 --- a/sites/beinsports.com/beinsports.com.config.js +++ b/sites/beinsports.com/beinsports.com.config.js @@ -26,7 +26,7 @@ module.exports = { 'YYYY-MM-DD' )}` }, - parser: function ({ content, channel, date, cached }) { + parser: function ({ content, channel, date }) { let programs = [] const items = parseItems(content, channel) let i = 0 @@ -68,15 +68,15 @@ module.exports = { .then(r => r.data) .catch(console.log) const $ = cheerio.load(content) - const items = $(`.container > div, #epg_div > div`).toArray() + const items = $('.container > div, #epg_div > div').toArray() return items .map(item => { const $item = cheerio.load(item) const id = $item('*').attr('id') - if (!/^channels\_[0-9]+$/.test(id)) return null + if (!/^channels_[0-9]+$/.test(id)) return null const channelId = id.replace('channels_', '') const imgSrc = $item('img').attr('src') - const [_, __, name] = imgSrc.match(/(\/|)([a-z0-9-_.]+)(.png|.svg)$/i) || [null, null, ''] + const [, , name] = imgSrc.match(/(\/|)([a-z0-9-_.]+)(.png|.svg)$/i) || [null, null, ''] return { lang, @@ -103,7 +103,7 @@ function parseCategory($item) { function parseStart($item, date) { let time = $item('.time').text() if (!time) return null - let [_, start, period] = time.match(/^(\d{2}:\d{2})( AM| PM|)/) || [null, null, null] + let [, start, period] = time.match(/^(\d{2}:\d{2})( AM| PM|)/) || [null, null, null] if (!start) return null start = `${date.format('YYYY-MM-DD')} ${start}${period}` const format = period ? 'YYYY-MM-DD hh:mm A' : 'YYYY-MM-DD HH:mm' @@ -114,7 +114,7 @@ function parseStart($item, date) { function parseStop($item, date) { let time = $item('.time').text() if (!time) return null - let [_, stop, period] = time.match(/(\d{2}:\d{2})( AM| PM|)$/) || [null, null, null] + let [, stop, period] = time.match(/(\d{2}:\d{2})( AM| PM|)$/) || [null, null, null] if (!stop) return null stop = `${date.format('YYYY-MM-DD')} ${stop}${period}` const format = period ? 'YYYY-MM-DD hh:mm A' : 'YYYY-MM-DD HH:mm' @@ -123,7 +123,7 @@ function parseStop($item, date) { } function parseItems(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const $ = cheerio.load(content) return $(`#channels_${channelId} .slider > ul:first-child > li`).toArray() diff --git a/sites/beinsports.com/beinsports.com.test.js b/sites/beinsports.com/beinsports.com.test.js index db0d033c..a26de067 100644 --- a/sites/beinsports.com/beinsports.com.test.js +++ b/sites/beinsports.com/beinsports.com.test.js @@ -1,6 +1,6 @@ // npm run channels:parse -- --config=./sites/beinsports.com/beinsports.com.config.js --output=./sites/beinsports.com/beinsports.com_qa-ar.channels.xml --set=lang:ar --set=region:ar -// npx epg-grabber --config=sites/beinsports.com/beinsports.com.config.js --channels=sites/beinsports.com/beinsports.com_qa-en.channels.xml --output=guide.xml --timeout=30000 --days=2 -// npx epg-grabber --config=sites/beinsports.com/beinsports.com.config.js --channels=sites/beinsports.com/beinsports.com_us-en.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=beinsports.com +// npm run grab -- --site=beinsports.com const { parser, url } = require('./beinsports.com.config.js') const fs = require('fs') diff --git a/sites/beinsports.com/beinsports.com_au.channels.xml b/sites/beinsports.com/beinsports.com_au.channels.xml index 408f553f..6467c6a7 100644 --- a/sites/beinsports.com/beinsports.com_au.channels.xml +++ b/sites/beinsports.com/beinsports.com_au.channels.xml @@ -1,8 +1,6 @@ - - - BeIn Sports 1 Australia - BeIn Sports 2 Australia - BeIn Sports 3 Australia - - \ No newline at end of file + + BeIn Sports 1 Australia + BeIn Sports 2 Australia + BeIn Sports 3 Australia + \ No newline at end of file diff --git a/sites/beinsports.com/beinsports.com_fr.channels.xml b/sites/beinsports.com/beinsports.com_fr.channels.xml index 6bd42713..50516c43 100644 --- a/sites/beinsports.com/beinsports.com_fr.channels.xml +++ b/sites/beinsports.com/beinsports.com_fr.channels.xml @@ -1,15 +1,13 @@ - - - BeIN Sports 1 HD France - BeIN Sports 2 HD France - BeIN Sports 3 France - BeIN Sports Max 4 France - BeIN Sports Max 5 France - BeIN Sports Max 6 France - BeIN Sports Max 7 France - BeIN Sports Max 8 France - BeIN Sports Max 9 France - BeIN Sports Max 10 France - - + + BeIN Sports 1 HD France + BeIN Sports 2 HD France + BeIN Sports 3 France + BeIN Sports Max 4 France + BeIN Sports Max 5 France + BeIN Sports Max 6 France + BeIN Sports Max 7 France + BeIN Sports Max 8 France + BeIN Sports Max 9 France + BeIN Sports Max 10 France + diff --git a/sites/beinsports.com/beinsports.com_hk.channels.xml b/sites/beinsports.com/beinsports.com_hk.channels.xml index c98a4b95..ae0372bf 100644 --- a/sites/beinsports.com/beinsports.com_hk.channels.xml +++ b/sites/beinsports.com/beinsports.com_hk.channels.xml @@ -1,7 +1,5 @@ - - - BeIN Sports 1 Hong Kong - BeIN Sports 2 Hong Kong - - + + BeIN Sports 1 Hong Kong + BeIN Sports 2 Hong Kong + diff --git a/sites/beinsports.com/beinsports.com_id.channels.xml b/sites/beinsports.com/beinsports.com_id.channels.xml index cfbae1f5..31383e71 100644 --- a/sites/beinsports.com/beinsports.com_id.channels.xml +++ b/sites/beinsports.com/beinsports.com_id.channels.xml @@ -1,7 +1,5 @@ - - - BeIN Sports 1 Indonesia - BeIN Sports 3 Indonesia - - + + BeIN Sports 1 Indonesia + BeIN Sports 3 Indonesia + diff --git a/sites/beinsports.com/beinsports.com_my.channels.xml b/sites/beinsports.com/beinsports.com_my.channels.xml index 2646f46a..a5ee6c88 100644 --- a/sites/beinsports.com/beinsports.com_my.channels.xml +++ b/sites/beinsports.com/beinsports.com_my.channels.xml @@ -1,6 +1,4 @@ - - - BeIN Sports 1 Malaysia & Singapore - - + + BeIN Sports 1 Malaysia & Singapore + diff --git a/sites/beinsports.com/beinsports.com_ph.channels.xml b/sites/beinsports.com/beinsports.com_ph.channels.xml index fff70637..f73ff0e6 100644 --- a/sites/beinsports.com/beinsports.com_ph.channels.xml +++ b/sites/beinsports.com/beinsports.com_ph.channels.xml @@ -1,7 +1,5 @@ - - - BeIN Sports 1 Philippines - BeIN Sports 3 Philippines - - + + BeIN Sports 1 Philippines + BeIN Sports 3 Philippines + diff --git a/sites/beinsports.com/beinsports.com_qa-ar.channels.xml b/sites/beinsports.com/beinsports.com_qa-ar.channels.xml index 6f9a70f5..66437c45 100644 --- a/sites/beinsports.com/beinsports.com_qa-ar.channels.xml +++ b/sites/beinsports.com/beinsports.com_qa-ar.channels.xml @@ -1,30 +1,28 @@ - - - beIN SPORTS FTA - beIN SPORTS News - beIN SPORTS2 - beIN SPORTS3 - beIN SPORTS4 - beIN SPORTS5 - beIN SPORTS6 - beIN SPORTS7 - beIN SPORTS3 PREMIUM - beIN SPORTS XTRA1 - beIN SPORTS XTRA2 - beIN 4k - beIN SPORTS AFC - beIN SPORTS AFC1 - beIN SPORTS AFC2 - beIN SPORTS AFC3 - beIN SPORTS NBA - beIN SPORTS1 ENGLISH - beIN SPORTS2 ENGLISH - beIN SPORTS3 ENGLISH - beIN SPORTS1 FRENCH - beIN SPORTS2 FRENCH - beIN SPORTS3 FRENCH - beIN SPORTS MAX 1 - beIN SPORTS MAX 2 - - + + beIN SPORTS FTA + beIN SPORTS News + beIN SPORTS2 + beIN SPORTS3 + beIN SPORTS4 + beIN SPORTS5 + beIN SPORTS6 + beIN SPORTS7 + beIN SPORTS3 PREMIUM + beIN SPORTS XTRA1 + beIN SPORTS XTRA2 + beIN 4k + beIN SPORTS AFC + beIN SPORTS AFC1 + beIN SPORTS AFC2 + beIN SPORTS AFC3 + beIN SPORTS NBA + beIN SPORTS1 ENGLISH + beIN SPORTS2 ENGLISH + beIN SPORTS3 ENGLISH + beIN SPORTS1 FRENCH + beIN SPORTS2 FRENCH + beIN SPORTS3 FRENCH + beIN SPORTS MAX 1 + beIN SPORTS MAX 2 + diff --git a/sites/beinsports.com/beinsports.com_qa-en.channels.xml b/sites/beinsports.com/beinsports.com_qa-en.channels.xml index 36aac1b2..c90af9d9 100644 --- a/sites/beinsports.com/beinsports.com_qa-en.channels.xml +++ b/sites/beinsports.com/beinsports.com_qa-en.channels.xml @@ -1,24 +1,22 @@ - - - BeIn Sports - BeIn Sports News - BeIn Sports 2 - BeIn Sports 3 - BeIn Sports 4 - BeIn Sports 5 - BeIn Sports 6 - BeIn Sports 7 - BeIn Sports Premium 3 - BeIn Sports Xtra 1 - BeIn Sports Xtra 2 - BeIn 4K - BeIn NBA - BeIn Sports English 1 - BeIn Sports English 2 - BeIn Sports English 3 - BeIn Sports French 1 - BeIn Sports French 2 - BeIn Sports French 3 - - + + BeIn Sports + BeIn Sports News + BeIn Sports 2 + BeIn Sports 3 + BeIn Sports 4 + BeIn Sports 5 + BeIn Sports 6 + BeIn Sports 7 + BeIn Sports Premium 3 + BeIn Sports Xtra 1 + BeIn Sports Xtra 2 + BeIn 4K + BeIn NBA + BeIn Sports English 1 + BeIn Sports English 2 + BeIn Sports English 3 + BeIn Sports French 1 + BeIn Sports French 2 + BeIn Sports French 3 + diff --git a/sites/beinsports.com/beinsports.com_th.channels.xml b/sites/beinsports.com/beinsports.com_th.channels.xml index 9f251358..55b802cb 100644 --- a/sites/beinsports.com/beinsports.com_th.channels.xml +++ b/sites/beinsports.com/beinsports.com_th.channels.xml @@ -1,7 +1,5 @@ - - - BeIN Sports 1 Thailand - BeIN Sports 3 Thailand - - + + BeIN Sports 1 Thailand + BeIN Sports 3 Thailand + diff --git a/sites/beinsports.com/beinsports.com_us-en.channels.xml b/sites/beinsports.com/beinsports.com_us-en.channels.xml index 03c30bbc..b3009565 100644 --- a/sites/beinsports.com/beinsports.com_us-en.channels.xml +++ b/sites/beinsports.com/beinsports.com_us-en.channels.xml @@ -1,15 +1,13 @@ - - - BeIN Sports USA - BeIN Sports en Español - BeIN Sports Xtra USA - BeIN Sports Xtra en Español - BeIN Sports 3 USA - BeIN Sports 4 USA - BeIN Sports 5 USA - BeIN Sports 6 USA - BeIN Sports 7 USA - BeIN Sports 8 USA - - + + BeIN Sports USA + BeIN Sports en Español + BeIN Sports Xtra USA + BeIN Sports Xtra en Español + BeIN Sports 3 USA + BeIN Sports 4 USA + BeIN Sports 5 USA + BeIN Sports 6 USA + BeIN Sports 7 USA + BeIN Sports 8 USA + diff --git a/sites/beinsports.com/beinsports.com_us-es.channels.xml b/sites/beinsports.com/beinsports.com_us-es.channels.xml index f556373d..3feee0b6 100644 --- a/sites/beinsports.com/beinsports.com_us-es.channels.xml +++ b/sites/beinsports.com/beinsports.com_us-es.channels.xml @@ -1,15 +1,13 @@ - - - BeIN Sports USA - BeIN Sports en Español - BeIN Sports Xtra USA - BeIN Sports Xtra en Español - BeIN Sports 3 USA - BeIN Sports 4 USA - BeIN Sports 5 USA - BeIN Sports 6 USA - BeIN Sports 7 USA - BeIN Sports 8 USA - - + + BeIN Sports USA + BeIN Sports en Español + BeIN Sports Xtra USA + BeIN Sports Xtra en Español + BeIN Sports 3 USA + BeIN Sports 4 USA + BeIN Sports 5 USA + BeIN Sports 6 USA + BeIN Sports 7 USA + BeIN Sports 8 USA + diff --git a/sites/berrymedia.co.kr/berrymedia.co.kr.channels.xml b/sites/berrymedia.co.kr/berrymedia.co.kr.channels.xml index 8d09501d..fa4a0c7a 100644 --- a/sites/berrymedia.co.kr/berrymedia.co.kr.channels.xml +++ b/sites/berrymedia.co.kr/berrymedia.co.kr.channels.xml @@ -1,11 +1,9 @@ - - - BallTV - CookTV - GMTV - GTV - 생활체육TV - UHDDreamTV - - + + BallTV + CookTV + GMTV + GTV + 생활체육TV + UHDDreamTV + diff --git a/sites/berrymedia.co.kr/berrymedia.co.kr.config.js b/sites/berrymedia.co.kr/berrymedia.co.kr.config.js index f8b8f2a4..773de12d 100644 --- a/sites/berrymedia.co.kr/berrymedia.co.kr.config.js +++ b/sites/berrymedia.co.kr/berrymedia.co.kr.config.js @@ -86,7 +86,7 @@ function parseRating($item) { : null } -function parseItems(content, channel, date) { +function parseItems(content) { const $ = cheerio.load(content) return $('.sc_time dd').toArray() diff --git a/sites/berrymedia.co.kr/berrymedia.co.kr.test.js b/sites/berrymedia.co.kr/berrymedia.co.kr.test.js index 7396aafc..88f98a75 100644 --- a/sites/berrymedia.co.kr/berrymedia.co.kr.test.js +++ b/sites/berrymedia.co.kr/berrymedia.co.kr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/berrymedia.co.kr/berrymedia.co.kr.config.js --channels=sites/berrymedia.co.kr/berrymedia.co.kr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=berrymedia.co.kr const { parser, url, request } = require('./berrymedia.co.kr.config.js') const fs = require('fs') @@ -49,7 +49,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-25T15:00:00.000Z', stop: '2023-01-25T16:00:00.000Z', - title: `더트롯쇼`, + title: '더트롯쇼', category: '연예/오락', rating: { system: 'KMRB', @@ -60,7 +60,7 @@ it('can parse response', () => { expect(results[17]).toMatchObject({ start: '2023-01-26T13:50:00.000Z', stop: '2023-01-26T14:20:00.000Z', - title: `나는 자연인이다`, + title: '나는 자연인이다', category: '교양', rating: { system: 'KMRB', diff --git a/sites/bt.com/bt.com.channels.xml b/sites/bt.com/bt.com.channels.xml index 7181c220..91ead431 100644 --- a/sites/bt.com/bt.com.channels.xml +++ b/sites/bt.com/bt.com.channels.xml @@ -1,170 +1,168 @@  - - - - - 4seven - 5 Action - 5 Select - 5 Star - 5 USA - Al Jazeera English - BBC Alba - BBC Four - BBC News - BBC One Cambridgeshire - BBC One Channel Islands - BBC One East Midlands - BBC One HD - BBC One London - BBC One North East & Cumbria - BBC One North West - BBC One Oxford - BBC One Scotland - BBC One South - BBC One South East - BBC One South West - BBC One Wales - BBC One West - BBC One West Midlands - BBC One Yorks - BBC Parliament - BBC Scotland - BBC Two England - BBC Two Wales - Blaze UK - Boomerang UK - Cartoonito UK - Cartoon Network UK - CBBC - CBeebies UK - CBS Drama UK - CBS Justice UK - CBS Reality UK - Challenge UK - Channel 4 - Channel 5 - Channel 5 +1 - CITV - Clubland TV - Comedy Central UK - Create and Craft - Dave UK - Dave ja vu - DMAX UK - Drama UK - E4 UK - E4 Extra - E4+1 - Eurosport 1 UK - Eurosport 2 UK - Film 4 UK - Film 4 UK +1 - Food Network UK - GB News - Gems TV - Gold HD - Great! Movies - Great! Movies Action - Great! Movies Action + 1 - Great! Movies Classic - Great! Movies Classic +1 - Great! TV - Great! TV +1 - HGTV UK - Ideal World - ITV - ITV 2 - ITV 2 +1 - ITV 3 - ITV 3 +1 - ITV 4 - ITV 4 +1 - ITV Be - Jewellery Maker - Horror Channel UK - LFC TV - More 4 UK - More4+1 - MTV UK - National Geographic UK - Nickelodeon - Nick Jr UK - NickToons UK - Now 70's - Now 80's - Now 90's - PBS America - Pick UK - Pop - Pop Max - Quest Red UK - Quest Red UK +1 - Quest - Quest UK +1 - QVC UK Beauty - QVC Style UK - QVC UK - Really UK - S4C - Sky Arts HD - Sky Cinema Action HD - Sky Cinema Animation HD - Sky Cinema Comedy HD - Sky Cinema Drama HD - Sky Cinema Family HD - Sky Cinema Greats HD - Sky Cinema Hits HD - Sky Cinema Premiere HD - Sky Cinema Sci-Fi Horror HD - Sky Cinema Select - Sky Cinema Thriller HD - Sky Comedy - Sky Crime - Sky Documentaries - Sky History HD - Sky Max HD - Sky Nature - Sky News HD - Sky Sci-Fi - Sky Showcase HD - Sky Sports Action - Sky Sports Arena - Sky Sports Box Office - Sky Sports Cricket - Sky Sports F1 - Sky Sports Football - Sky Sports Golf - Sky Sports Main Event - Sky Sports Mix - Sky Sports News UK - Sky Sports Premier League - Sky Sports Racing - Sky Witness - Smithsonian Channel UK - STV - STV+1 - Talking Pictures TV - TBN UK - Tiny Pop - TJC - TNT Sports 1 - TNT Sports 10 - TNT Sports 2 - TNT Sports 3 - TNT Sports 4 - TNT Sports 5 - TNT Sports 6 - TNT Sports 7 - TNT Sports 8 - TNT Sports 9 - TNT Sports Box Office UK - TNT Sports Box Office 2 UK - TNT Sports Ultimate - Together TV - Viaplay Xtra - Xpanded TV - Yesterday - Yesterday+1 - - + + + + 4seven + 5 Action + 5 Select + 5 Star + 5 USA + Al Jazeera English + BBC Alba + BBC Four + BBC News + BBC One Cambridgeshire + BBC One Channel Islands + BBC One East Midlands + BBC One HD + BBC One London + BBC One North East & Cumbria + BBC One North West + BBC One Oxford + BBC One Scotland + BBC One South + BBC One South East + BBC One South West + BBC One Wales + BBC One West + BBC One West Midlands + BBC One Yorks + BBC Parliament + BBC Scotland + BBC Two England + BBC Two Wales + Blaze UK + Boomerang UK + Cartoonito UK + Cartoon Network UK + CBBC + CBeebies UK + CBS Drama UK + CBS Justice UK + CBS Reality UK + Challenge UK + Channel 4 + Channel 5 + Channel 5 +1 + CITV + Clubland TV + Comedy Central UK + Create and Craft + Dave UK + Dave ja vu + DMAX UK + Drama UK + E4 UK + E4 Extra + E4+1 + Eurosport 1 UK + Eurosport 2 UK + Film 4 UK + Film 4 UK +1 + Food Network UK + GB News + Gems TV + Gold HD + Great! Movies + Great! Movies Action + Great! Movies Action + 1 + Great! Movies Classic + Great! Movies Classic +1 + Great! TV + Great! TV +1 + HGTV UK + Ideal World + ITV + ITV 2 + ITV 2 +1 + ITV 3 + ITV 3 +1 + ITV 4 + ITV 4 +1 + ITV Be + Jewellery Maker + Horror Channel UK + LFC TV + More 4 UK + More4+1 + MTV UK + National Geographic UK + Nickelodeon + Nick Jr UK + NickToons UK + Now 70's + Now 80's + Now 90's + PBS America + Pick UK + Pop + Pop Max + Quest Red UK + Quest Red UK +1 + Quest + Quest UK +1 + QVC UK Beauty + QVC Style UK + QVC UK + Really UK + S4C + Sky Arts HD + Sky Cinema Action HD + Sky Cinema Animation HD + Sky Cinema Comedy HD + Sky Cinema Drama HD + Sky Cinema Family HD + Sky Cinema Greats HD + Sky Cinema Hits HD + Sky Cinema Premiere HD + Sky Cinema Sci-Fi Horror HD + Sky Cinema Select + Sky Cinema Thriller HD + Sky Comedy + Sky Crime + Sky Documentaries + Sky History HD + Sky Max HD + Sky Nature + Sky News HD + Sky Sci-Fi + Sky Showcase HD + Sky Sports Action + Sky Sports Arena + Sky Sports Box Office + Sky Sports Cricket + Sky Sports F1 + Sky Sports Football + Sky Sports Golf + Sky Sports Main Event + Sky Sports Mix + Sky Sports News UK + Sky Sports Premier League + Sky Sports Racing + Sky Witness + Smithsonian Channel UK + STV + STV+1 + Talking Pictures TV + TBN UK + Tiny Pop + TJC + TNT Sports 1 + TNT Sports 10 + TNT Sports 2 + TNT Sports 3 + TNT Sports 4 + TNT Sports 5 + TNT Sports 6 + TNT Sports 7 + TNT Sports 8 + TNT Sports 9 + TNT Sports Box Office UK + TNT Sports Box Office 2 UK + TNT Sports Ultimate + Together TV + Viaplay Xtra + Xpanded TV + Yesterday + Yesterday+1 + diff --git a/sites/bt.com/bt.com.config.js b/sites/bt.com/bt.com.config.js index e6120719..297bd80c 100644 --- a/sites/bt.com/bt.com.config.js +++ b/sites/bt.com/bt.com.config.js @@ -3,9 +3,6 @@ const dayjs = require('dayjs') module.exports = { site: 'bt.com', days: 2, - request: { - timeout: 30000 - }, url: function ({ date, channel }) { return `https://voila.metabroadcast.com/4/schedules/${ channel.site_id diff --git a/sites/bt.com/bt.com.test.js b/sites/bt.com/bt.com.test.js index 2b2e108f..c7f93d65 100644 --- a/sites/bt.com/bt.com.test.js +++ b/sites/bt.com/bt.com.test.js @@ -1,7 +1,6 @@ -// npx epg-grabber --config=sites/bt.com/bt.com.config.js --channels=sites/bt.com/bt.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=bt.com const { parser, url } = require('./bt.com.config.js') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -21,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"schedule":{"channel":{"title":"BBC One HD","id":"hsxv","uri":"http://api.youview.tv/channels/dvb://233a..4484","images":[{"uri":"https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F8c4c0357-d7ee-5d8a-8bc4-b177b6875128%2Fident%2F1_1024x532.png%3Fdefaultimg%3D0&ETag=r5vyecG6of%2BhCbHeEClx0Q%3D%3D","mime_type":"image/png","type":null,"color":"monochrome","theme":"light_monochrome","aspect_ratio":null,"availability_start":null,"availability_end":null,"width":1024,"height":532,"hasTitleArt":null,"source":null}],"available_from":[{"key":"api.youview.tv","name":"YouView JSON","country":"GB"}],"source":{"key":"api.youview.tv","name":"YouView JSON","country":"GB"},"same_as":[],"media_type":"video","broadcaster":null,"aliases":[{"namespace":"youview:serviceLocator","value":"dvb://233a..4484"},{"namespace":"youview:channel:id","value":"8c4c0357-d7ee-5d8a-8bc4-b177b6875128"}],"genres":[],"high_definition":true,"timeshifted":null,"regional":null,"related_links":[],"start_date":null,"advertised_from":null,"advertised_to":null,"short_description":null,"medium_description":null,"long_description":null,"region":null,"target_regions":[],"channel_type":"CHANNEL","interactive":false,"transmission_types":["DTT"],"quality":"HD","hdr":false},"source":"api.youview.tv","entries":[{"broadcast":{"aliases":[{"namespace":"api.youview.tv:slot","value":"dvb://233a..4484;76bc"},{"namespace":"dvb:event-locator","value":"dvb://233a..4484;76bc"},{"namespace":"dvb:pcrid","value":"crid://fp.bbc.co.uk/b/3Q30S2"},{"namespace":"youview:schedule_event:id","value":"79d318f3-b41a-582d-b089-7b0172538b42"}],"transmission_time":"2022-03-19T23:30:00.000Z","transmission_end_time":"2022-03-20T01:20:00.000Z","broadcast_duration":6600,"broadcast_on":"hsxv","schedule_date":null,"repeat":null,"subtitled":true,"signed":null,"audio_described":false,"high_definition":null,"widescreen":null,"surround":null,"live":null,"premiere":null,"continuation":null,"new_series":null,"new_episode":null,"new_one_off":null,"revised_repeat":null,"blackout_restriction":{"all":false}},"item":{"id":"n72nsw","type":"item","display_title":{"title":"The Finest Hours (2016)","subtitle":null},"year":null,"media_type":"video","specialization":"tv","source":{"key":"api.youview.tv","name":"YouView JSON","country":"GB"},"title":"The Finest Hours (2016)","description":"Drama based on a true story, recounting one of history's most daring coastguard rescue attempts. Stranded on a sinking oil tanker along with 30 other sailors, engineer Ray Sybert battles to buy his crew more time as Captain Bernie Webber and three of his colleagues tackle gigantic waves and gale-force winds in their astonishing bid to save the seamen.","image":"https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F52172983%2Fprimary%2F1_1024x576.jpg%3Fdefaultimg%3D0&ETag=z7ucT5kdAq7HuNQf%2FGTEJg%3D%3D","thumbnail":null,"duration":null,"container":null}}]},"terms_and_conditions":{"text":"Specific terms and conditions in your agreement with MetaBroadcast, and with any data provider, apply to your use of this data, and associated systems."},"results":1,"request":{"path":"/4/schedules/hsxv.json","parameters":{"annotations":"content.description","from":"2022-03-20T00:00:00Z","to":"2022-03-21T00:00:00Z","source":"api.youview.tv","key":"b4d2edb68da14dfb9e47b5465e99b1b1"}}}` + const content = + '{"schedule":{"channel":{"title":"BBC One HD","id":"hsxv","uri":"http://api.youview.tv/channels/dvb://233a..4484","images":[{"uri":"https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F8c4c0357-d7ee-5d8a-8bc4-b177b6875128%2Fident%2F1_1024x532.png%3Fdefaultimg%3D0&ETag=r5vyecG6of%2BhCbHeEClx0Q%3D%3D","mime_type":"image/png","type":null,"color":"monochrome","theme":"light_monochrome","aspect_ratio":null,"availability_start":null,"availability_end":null,"width":1024,"height":532,"hasTitleArt":null,"source":null}],"available_from":[{"key":"api.youview.tv","name":"YouView JSON","country":"GB"}],"source":{"key":"api.youview.tv","name":"YouView JSON","country":"GB"},"same_as":[],"media_type":"video","broadcaster":null,"aliases":[{"namespace":"youview:serviceLocator","value":"dvb://233a..4484"},{"namespace":"youview:channel:id","value":"8c4c0357-d7ee-5d8a-8bc4-b177b6875128"}],"genres":[],"high_definition":true,"timeshifted":null,"regional":null,"related_links":[],"start_date":null,"advertised_from":null,"advertised_to":null,"short_description":null,"medium_description":null,"long_description":null,"region":null,"target_regions":[],"channel_type":"CHANNEL","interactive":false,"transmission_types":["DTT"],"quality":"HD","hdr":false},"source":"api.youview.tv","entries":[{"broadcast":{"aliases":[{"namespace":"api.youview.tv:slot","value":"dvb://233a..4484;76bc"},{"namespace":"dvb:event-locator","value":"dvb://233a..4484;76bc"},{"namespace":"dvb:pcrid","value":"crid://fp.bbc.co.uk/b/3Q30S2"},{"namespace":"youview:schedule_event:id","value":"79d318f3-b41a-582d-b089-7b0172538b42"}],"transmission_time":"2022-03-19T23:30:00.000Z","transmission_end_time":"2022-03-20T01:20:00.000Z","broadcast_duration":6600,"broadcast_on":"hsxv","schedule_date":null,"repeat":null,"subtitled":true,"signed":null,"audio_described":false,"high_definition":null,"widescreen":null,"surround":null,"live":null,"premiere":null,"continuation":null,"new_series":null,"new_episode":null,"new_one_off":null,"revised_repeat":null,"blackout_restriction":{"all":false}},"item":{"id":"n72nsw","type":"item","display_title":{"title":"The Finest Hours (2016)","subtitle":null},"year":null,"media_type":"video","specialization":"tv","source":{"key":"api.youview.tv","name":"YouView JSON","country":"GB"},"title":"The Finest Hours (2016)","description":"Drama based on a true story, recounting one of history\'s most daring coastguard rescue attempts. Stranded on a sinking oil tanker along with 30 other sailors, engineer Ray Sybert battles to buy his crew more time as Captain Bernie Webber and three of his colleagues tackle gigantic waves and gale-force winds in their astonishing bid to save the seamen.","image":"https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F52172983%2Fprimary%2F1_1024x576.jpg%3Fdefaultimg%3D0&ETag=z7ucT5kdAq7HuNQf%2FGTEJg%3D%3D","thumbnail":null,"duration":null,"container":null}}]},"terms_and_conditions":{"text":"Specific terms and conditions in your agreement with MetaBroadcast, and with any data provider, apply to your use of this data, and associated systems."},"results":1,"request":{"path":"/4/schedules/hsxv.json","parameters":{"annotations":"content.description","from":"2022-03-20T00:00:00Z","to":"2022-03-21T00:00:00Z","source":"api.youview.tv","key":"b4d2edb68da14dfb9e47b5465e99b1b1"}}}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() @@ -32,7 +32,8 @@ it('can parse response', () => { expect(result).toMatchObject([ { title: 'The Finest Hours (2016)', - description: `Drama based on a true story, recounting one of history's most daring coastguard rescue attempts. Stranded on a sinking oil tanker along with 30 other sailors, engineer Ray Sybert battles to buy his crew more time as Captain Bernie Webber and three of his colleagues tackle gigantic waves and gale-force winds in their astonishing bid to save the seamen.`, + description: + "Drama based on a true story, recounting one of history's most daring coastguard rescue attempts. Stranded on a sinking oil tanker along with 30 other sailors, engineer Ray Sybert battles to buy his crew more time as Captain Bernie Webber and three of his colleagues tackle gigantic waves and gale-force winds in their astonishing bid to save the seamen.", icon: 'https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F52172983%2Fprimary%2F1_1024x576.jpg%3Fdefaultimg%3D0&ETag=z7ucT5kdAq7HuNQf%2FGTEJg%3D%3D', season: null, episode: null, @@ -44,7 +45,8 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"schedule":{"channel":{"title":"BBC One HD","id":"hsxv","uri":"http://api.youview.tv/channels/dvb://233a..4484","images":[{"uri":"https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F8c4c0357-d7ee-5d8a-8bc4-b177b6875128%2Fident%2F1_1024x532.png%3Fdefaultimg%3D0&ETag=r5vyecG6of%2BhCbHeEClx0Q%3D%3D","mime_type":"image/png","type":null,"color":"monochrome","theme":"light_monochrome","aspect_ratio":null,"availability_start":null,"availability_end":null,"width":1024,"height":532,"hasTitleArt":null,"source":null}],"available_from":[{"key":"api.youview.tv","name":"YouView JSON","country":"GB"}],"source":{"key":"api.youview.tv","name":"YouView JSON","country":"GB"},"same_as":[],"media_type":"video","broadcaster":null,"aliases":[{"namespace":"youview:serviceLocator","value":"dvb://233a..4484"},{"namespace":"youview:channel:id","value":"8c4c0357-d7ee-5d8a-8bc4-b177b6875128"}],"genres":[],"high_definition":true,"timeshifted":null,"regional":null,"related_links":[],"start_date":null,"advertised_from":null,"advertised_to":null,"short_description":null,"medium_description":null,"long_description":null,"region":null,"target_regions":[],"channel_type":"CHANNEL","interactive":false,"transmission_types":["DTT"],"quality":"HD","hdr":false},"source":"api.youview.tv","entries":[]},"terms_and_conditions":{"text":"Specific terms and conditions in your agreement with MetaBroadcast, and with any data provider, apply to your use of this data, and associated systems."},"results":1,"request":{"path":"/4/schedules/hsxv.json","parameters":{"annotations":"content.description","from":"2022-03-20T00:00:00Z","to":"2022-03-21T00:00:00Z","source":"api.youview.tv","key":"b4d2edb68da14dfb9e47b5465e99b1b1"}}}` + content: + '{"schedule":{"channel":{"title":"BBC One HD","id":"hsxv","uri":"http://api.youview.tv/channels/dvb://233a..4484","images":[{"uri":"https://images.metabroadcast.com?source=http%3A%2F%2Fimages-live.youview.tv%2Fimages%2Fentity%2F8c4c0357-d7ee-5d8a-8bc4-b177b6875128%2Fident%2F1_1024x532.png%3Fdefaultimg%3D0&ETag=r5vyecG6of%2BhCbHeEClx0Q%3D%3D","mime_type":"image/png","type":null,"color":"monochrome","theme":"light_monochrome","aspect_ratio":null,"availability_start":null,"availability_end":null,"width":1024,"height":532,"hasTitleArt":null,"source":null}],"available_from":[{"key":"api.youview.tv","name":"YouView JSON","country":"GB"}],"source":{"key":"api.youview.tv","name":"YouView JSON","country":"GB"},"same_as":[],"media_type":"video","broadcaster":null,"aliases":[{"namespace":"youview:serviceLocator","value":"dvb://233a..4484"},{"namespace":"youview:channel:id","value":"8c4c0357-d7ee-5d8a-8bc4-b177b6875128"}],"genres":[],"high_definition":true,"timeshifted":null,"regional":null,"related_links":[],"start_date":null,"advertised_from":null,"advertised_to":null,"short_description":null,"medium_description":null,"long_description":null,"region":null,"target_regions":[],"channel_type":"CHANNEL","interactive":false,"transmission_types":["DTT"],"quality":"HD","hdr":false},"source":"api.youview.tv","entries":[]},"terms_and_conditions":{"text":"Specific terms and conditions in your agreement with MetaBroadcast, and with any data provider, apply to your use of this data, and associated systems."},"results":1,"request":{"path":"/4/schedules/hsxv.json","parameters":{"annotations":"content.description","from":"2022-03-20T00:00:00Z","to":"2022-03-21T00:00:00Z","source":"api.youview.tv","key":"b4d2edb68da14dfb9e47b5465e99b1b1"}}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/cablego.com.pe/cablego.com.pe.channels.xml b/sites/cablego.com.pe/cablego.com.pe.channels.xml index 0ceeaa32..71f22746 100644 --- a/sites/cablego.com.pe/cablego.com.pe.channels.xml +++ b/sites/cablego.com.pe/cablego.com.pe.channels.xml @@ -1,101 +1,99 @@ - - - AMERICA TV - ATV - ATV+ - BHTV - CONECTA2 TV - CONGRESO TV - DE PELICULA - DISTRITO COMEDIA - ECUADOR TV - EUROPA EUROPA - EXITOSA TV - GLOBAL - GOLDEN EDGE - KARIBEÑA - LATINA - NATIVA - OVACION - PANAMERICANA TV - PASIONES - PBO - TV PERU - USMP TV - VENUS - WILLAX - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AMERICA TV + ATV + ATV+ + BHTV + CONECTA2 TV + CONGRESO TV + DE PELICULA + DISTRITO COMEDIA + ECUADOR TV + EUROPA EUROPA + EXITOSA TV + GLOBAL + GOLDEN EDGE + KARIBEÑA + LATINA + NATIVA + OVACION + PANAMERICANA TV + PASIONES + PBO + TV PERU + USMP TV + VENUS + WILLAX + diff --git a/sites/cablego.com.pe/cablego.com.pe.test.js b/sites/cablego.com.pe/cablego.com.pe.test.js index e8846702..c1da93e9 100644 --- a/sites/cablego.com.pe/cablego.com.pe.test.js +++ b/sites/cablego.com.pe/cablego.com.pe.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/cablego.com.pe/cablego.com.pe.config.js --output=./sites/cablego.com.pe/cablego.com.pe.channels.xml -// npx epg-grabber --config=sites/cablego.com.pe/cablego.com.pe.config.js --channels=sites/cablego.com.pe/cablego.com.pe.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=cablego.com.pe const { parser, url, request } = require('./cablego.com.pe.config.js') const fs = require('fs') diff --git a/sites/cableplus.com.uy/cableplus.com.uy.channels.xml b/sites/cableplus.com.uy/cableplus.com.uy.channels.xml index dd233e7a..a2c7e3b5 100644 --- a/sites/cableplus.com.uy/cableplus.com.uy.channels.xml +++ b/sites/cableplus.com.uy/cableplus.com.uy.channels.xml @@ -1,163 +1,161 @@ - - - 360 TV - A24 - AMERICA SPORTS - A+V - ARGENTINISIMA - BBC WORLD - BYUTV - SAETA - CANAL 26 - TV NACIONAL - CANAL 7 PUNTA DEL ESTE - CANAL RURAL - CARDINAL TV - CHARRUA TV - CLAN HD - CNN EN ESPAÑOL - CRONICA - DEUTSCHE WELLE (DEUTSCH+) - DW ESPAÑOL - CANAL DE LA REGIÓN - EL GARAGE - CANAL VASCO - FRANCE 24 ESPAÑOL - FRANCE 24 FRANCES - GALICIA TV - GOL TV - HBO MUNDI - HBO POP - HBO SIGNATURE - LA NACION + - MAROÑAS - PX SPORTS HD - RAI - RT TV - SIEMPRE CINE - SUN CHANNEL HD - TELEDOCE - TOONCAST - TRU TV - TEVECIUDAD - TVN CHILE - TV PUBLICA ARG - UCL - VTV - VTV + - WOBI TV - ZOOMOO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 360 TV + A24 + AMERICA SPORTS + A+V + ARGENTINISIMA + BBC WORLD + BYUTV + SAETA + CANAL 26 + TV NACIONAL + CANAL 7 PUNTA DEL ESTE + CANAL RURAL + CARDINAL TV + CHARRUA TV + CLAN HD + CNN EN ESPAÑOL + CRONICA + DEUTSCHE WELLE (DEUTSCH+) + DW ESPAÑOL + CANAL DE LA REGIÓN + EL GARAGE + CANAL VASCO + FRANCE 24 ESPAÑOL + FRANCE 24 FRANCES + GALICIA TV + GOL TV + HBO MUNDI + HBO POP + HBO SIGNATURE + LA NACION + + MAROÑAS + PX SPORTS HD + RAI + RT TV + SIEMPRE CINE + SUN CHANNEL HD + TELEDOCE + TOONCAST + TRU TV + TEVECIUDAD + TVN CHILE + TV PUBLICA ARG + UCL + VTV + VTV + + WOBI TV + ZOOMOO + diff --git a/sites/cableplus.com.uy/cableplus.com.uy.config.js b/sites/cableplus.com.uy/cableplus.com.uy.config.js index 1b7df7fd..a47a7bbc 100644 --- a/sites/cableplus.com.uy/cableplus.com.uy.config.js +++ b/sites/cableplus.com.uy/cableplus.com.uy.config.js @@ -115,14 +115,14 @@ function parseItems(content, date) { let featuredItems = $('.vista-pc > .programacion-fila > .channel-programa') .filter(function () { - return $(this).find(`.grid_fecha_hora`).text().indexOf(date.format('DD-MM')) > -1 + return $(this).find('.grid_fecha_hora').text().indexOf(date.format('DD-MM')) > -1 }) .toArray() - let otherItems = $(`#owl-pc > .item-program`) + let otherItems = $('#owl-pc > .item-program') .filter(function () { return ( $(this) - .find(`.evento_titulo > .horario > p.fechaHora`) + .find('.evento_titulo > .horario > p.fechaHora') .text() .indexOf(date.format('DD/MM')) > -1 ) diff --git a/sites/cableplus.com.uy/cableplus.com.uy.test.js b/sites/cableplus.com.uy/cableplus.com.uy.test.js index 06459f4c..1608509d 100644 --- a/sites/cableplus.com.uy/cableplus.com.uy.test.js +++ b/sites/cableplus.com.uy/cableplus.com.uy.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/cableplus.com.uy/cableplus.com.uy.config.js --output=./sites/cableplus.com.uy/cableplus.com.uy.channels.xml -// npx epg-grabber --config=sites/cableplus.com.uy/cableplus.com.uy.config.js --channels=sites/cableplus.com.uy/cableplus.com.uy.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=cableplus.com.uy const { parser, url, request } = require('./cableplus.com.uy.config.js') const fs = require('fs') @@ -53,7 +53,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-02-12T09:30:00.000Z', stop: '2023-02-12T10:30:00.000Z', - title: `Revista agropecuaria`, + title: 'Revista agropecuaria', icon: 'https://www.reportv.com.ar/buscador/img/Programas/2797844.jpg', categories: [] }) @@ -61,7 +61,7 @@ it('can parse response', () => { expect(results[4]).toMatchObject({ start: '2023-02-12T12:30:00.000Z', stop: '2023-02-12T13:30:00.000Z', - title: `De pago en pago`, + title: 'De pago en pago', icon: 'https://www.reportv.com.ar/buscador/img/Programas/3772835.jpg', categories: ['Cultural'] }) diff --git a/sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml b/sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml index 070d6b35..0b820b01 100644 --- a/sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml +++ b/sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml @@ -1,132 +1,130 @@ - - - 6ter - 13ème Rue - Action - Alizés - A+ - ARTE Français - Automoto la chaîne - BBC World News Americas - Bblack! Caribbean - BeIn Sports 1 France - BeIn Sports 2 France - BeIn Sports 3 France - BeIn Sports Max 4 France - BeIn Sports Max 5 France - C8 - Canal 10 - Canal J - Canal + Caraïbes - Canal + Cinéma France - Canal + Kids - Canal + Séries France - Canal + Sport France - Cine + Classic - Cine + Club - Cine + Émotion - Cine + Famiz - Cine + Frisson - Cine + Premier - C News - CNN International Latin America - Comédie + - C Star - Discovery Channel France - Discovery Science France - Disney Channel France - Disney Junior France - Dorcel TV - E! France - English Club TV - Equidia - ES1 - ESPN 2 Caribbean - ESPN Caribbean - ETV - Eurosport 1 - Eurosport 2 - France 2 - France 3 - France 4 - France 5 - France 24 Français - Franceinfo: - Game One - Globo News - Golf + - Graphé TV - Guadeloupe 1ère - Gulli - Guyane 1ère - HBO Xtreme Latinoamérica - InfoSport + - IOTV - KMT - KTO - KTV Guyane - LCI - LCP Public Sénat - L'Équipe - Ludikids - M6 - Martinique 1ère - MCM France - Metropole - MTV France - MTV Hits France - National Geographic France - National Geographic Wild France - Nickelodeon France - Nick Jr Africa - Nollywood TV - Novelas TV - NRJ 12 - OCS choc - OCS City - OCS geants - OCS max - Paramount Channel France - Paris Première - Penthouse Black - Pink TV - Piwi + - Planète + - Planète + A&E - Planète + CI - RTL 9 - Seasons - - STVS 8.1 - Syfy France - Télé 20 - Telemicro Internacional - Telemundo - Tele Pacific - Tele Soleil - TéléToon + - Téva - TF 1 - TF 1 Séries Films - TFX - TMC - TNH - Toute l'Histoire - Trace Ayiti - Trace Caribbean - Trace Gospel - Trace Latina - Trace Urban - TV5Monde Amérique Latine - TV Breizh - Ushuaïa TV - ViàATV - Vixen - W9 - Wataaa TV - XXL - Zitata TV - Zouk TV - - \ No newline at end of file + + + 13ème Rue + 6ter + Action + Alizés + A+ + ARTE Français + Automoto la chaîne + BBC World News Americas + Bblack! Caribbean + BeIn Sports 1 France + BeIn Sports 2 France + BeIn Sports 3 France + BeIn Sports Max 4 France + BeIn Sports Max 5 France + C8 + Canal 10 + Canal J + Canal + Caraïbes + Canal + Cinéma France + Canal + Kids + Canal + Séries France + Canal + Sport France + Cine + Classic + Cine + Club + Cine + Émotion + Cine + Famiz + Cine + Frisson + Cine + Premier + C News + CNN International Latin America + Comédie + + C Star + Discovery Channel France + Discovery Science France + Disney Channel France + Disney Junior France + Dorcel TV + E! France + English Club TV + Equidia + ESPN 2 Caribbean + ESPN Caribbean + ETV + Eurosport 1 + Eurosport 2 + France 2 + France 24 Français + France 3 + France 4 + France 5 + Franceinfo: + Game One + Globo News + Golf + + Graphé TV + Guadeloupe 1ère + Gulli + Guyane 1ère + HBO Xtreme Latinoamérica + InfoSport + + IOTV + KMT + KTO + KTV Guyane + LCI + L'Équipe + Ludikids + M6 + Martinique 1ère + MCM France + Metropole + ES1 + MTV France + MTV Hits France + National Geographic France + National Geographic Wild France + Nickelodeon France + Nick Jr Africa + Nollywood TV + Novelas TV + NRJ 12 + OCS choc + OCS City + OCS geants + OCS max + Paramount Channel France + Paris Première + Penthouse Black + Pink TV + Piwi + + Planète + + Planète + A&E + Planète + CI + LCP Public Sénat + RTL 9 + Seasons + STVS 8.1 + Syfy France + Télé 20 + Telemicro Internacional + Telemundo + Tele Pacific + Tele Soleil + TéléToon + + Téva + TF 1 + TF 1 Séries Films + TFX + TMC + TNH + Toute l'Histoire + Trace Ayiti + Trace Caribbean + Trace Gospel + Trace Latina + Trace Urban + TV5Monde Amérique Latine + TV Breizh + Ushuaïa TV + ViàATV + Vixen + W9 + Wataaa TV + XXL + Zitata TV + Zouk TV + \ No newline at end of file diff --git a/sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js b/sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js index e229fa0b..33595d2f 100644 --- a/sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js +++ b/sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js @@ -2,7 +2,6 @@ const axios = require('axios') const cheerio = require('cheerio') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') -const timezone = require('dayjs/plugin/timezone') dayjs.extend(utc) @@ -34,13 +33,13 @@ module.exports = { }, async channels() { const html = await axios - .get(`https://www.canalplus-caraibes.com/bl/guide-tv-ce-soir`) + .get('https://www.canalplus-caraibes.com/bl/guide-tv-ce-soir') .then(r => r.data) .catch(console.log) const $ = cheerio.load(html) const script = $('body > script:nth-child(2)').html() - const [_, json] = script.match(/window.APP_STATE=(.*);/) || [null, null] + const [, json] = script.match(/window.APP_STATE=(.*);/) || [null, null] const data = JSON.parse(json) const items = data.tvGuide.channels.byZapNumber diff --git a/sites/canalplus-caraibes.com/canalplus-caraibes.com.test.js b/sites/canalplus-caraibes.com/canalplus-caraibes.com.test.js index 1286336b..d2041367 100644 --- a/sites/canalplus-caraibes.com/canalplus-caraibes.com.test.js +++ b/sites/canalplus-caraibes.com/canalplus-caraibes.com.test.js @@ -1,5 +1,5 @@ // [Geo-blocked] node ./scripts/channels.js --config=./sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js --output=./sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml -// npx epg-grabber --config=sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js --channels=sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=canalplus-caraibes.com const { parser, url } = require('./canalplus-caraibes.com.config.js') const axios = require('axios') @@ -31,7 +31,8 @@ it('can generate valid url for tomorrow', () => { }) it('can parse response', done => { - const content = `{"timeSlices":[{"contents":[{"title":"Rugby - Leinster / La Rochelle","subtitle":"Rugby","thirdTitle":"BEIN SPORTS 1 HD","startTime":1660815000,"endTime":1660816800,"onClick":{"displayTemplate":"miniDetail","displayName":"Rugby - Leinster / La Rochelle","URLPage":"https://service.canal-overseas.com/ott-frontend/vector/53001/event/140377765","URLVitrine":"https://service.canal-overseas.com/ott-frontend/vector/53001/program/224515801/recommendations"},"programID":224515801,"diffusionID":"140377765","URLImageDefault":"https://service.canal-overseas.com/image-api/v1/image/75fca4586fdc3458930dd1ab6fc2e643","URLImage":"https://service.canal-overseas.com/image-api/v1/image/7854e20fb6efecd398598653c57cc771"}],"timeSlice":"4"}]}` + const content = + '{"timeSlices":[{"contents":[{"title":"Rugby - Leinster / La Rochelle","subtitle":"Rugby","thirdTitle":"BEIN SPORTS 1 HD","startTime":1660815000,"endTime":1660816800,"onClick":{"displayTemplate":"miniDetail","displayName":"Rugby - Leinster / La Rochelle","URLPage":"https://service.canal-overseas.com/ott-frontend/vector/53001/event/140377765","URLVitrine":"https://service.canal-overseas.com/ott-frontend/vector/53001/program/224515801/recommendations"},"programID":224515801,"diffusionID":"140377765","URLImageDefault":"https://service.canal-overseas.com/image-api/v1/image/75fca4586fdc3458930dd1ab6fc2e643","URLImage":"https://service.canal-overseas.com/image-api/v1/image/7854e20fb6efecd398598653c57cc771"}],"timeSlice":"4"}]}' axios.get.mockImplementation(url => { if (url === 'https://service.canal-overseas.com/ott-frontend/vector/53001/event/140377765') { return Promise.resolve({ @@ -125,7 +126,8 @@ it('can parse response', done => { it('can handle empty guide', done => { parser({ - content: `{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l'assistance de CANAL+/CANALSAT.","code":404}` + content: + '{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l\'assistance de CANAL+/CANALSAT.","code":404}' }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml b/sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml index c17e7664..0216e59c 100644 --- a/sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml +++ b/sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml @@ -1,117 +1,115 @@ - - - 6ter - 13ème Rue - Action - Alizés - A+ - Automoto la chaîne - BBC World News Americas - Bblack! Caribbean - C8 - Canal 10 - Canal + Cinéma France - Canal + Haïti - Canal + Kids - Canal + Sport France - Cine + Classic - Cine + Club - Cine + Émotion - Cine + Famiz - Cine + Frisson - Cine + Premier - C News - CNN International Latin America - Comédie + - C Star - Cuisines - Discovery Channel France - Discovery Science France - Disney Channel France - Disney Junior France - Dorcel TV Africa - E! France - English Club TV - ES1 - ESPN 2 Caribbean - ESPN Caribbean - ETV - Eurosport 1 - Eurosport 2 - France 2 - France 3 - France 5 - France 24 Français - Franceinfo: - Game One - Globo News - Graphé TV - Guadeloupe 1ère - Guyane 1ère - Haiti Sports TV 1 - Haiti Sports TV 2 - HBO Xtreme Latinoamérica - InfoSport + - IOTV - KMT - KTO - KTV Guyane - LCI - LCP Public Sénat - L'Équipe - Ludikids - M6 - Martinique 1ère - MCM France - Metropole - MTV France - MTV Hits France - Nathan TV - National Geographic France - National Geographic Wild France - Nickelodeon France - Nick Jr Africa - Nollywood TV - Novelas TV - NRJ 12 - Paramount Channel France - Paris Première - Penthouse Black - Piwi + - Planète + - Planète + A&E - Planète + CI - RTL 9 - Seasons - - Studiocanal - STVS 8.1 - Syfy France - Télé 20 - Telemicro Internacional - Telemundo - Tele Pacific - Tele Soleil - TéléToon + - TF 1 - TF 1 Séries Films - TFX - TNH - Toute l'Histoire - Trace Ayiti - Trace Caribbean - Trace Gospel - Trace Latina - Trace Urban - TV5Monde Amérique Latine - TV Caraïbes - Ushuaïa TV - ViàATV - Vixen - Wataaa TV - XXL - Zitata TV - Zouk TV - - \ No newline at end of file + + + 13ème Rue + 6ter + Action + Alizés + A+ + Automoto la chaîne + BBC World News Americas + Bblack! Caribbean + C8 + Canal 10 + Canal + Cinéma France + Canal + Haïti + Canal + Kids + Canal + Sport France + Cine + Classic + Cine + Club + Cine + Émotion + Cine + Famiz + Cine + Frisson + Cine + Premier + C News + CNN International Latin America + Comédie + + C Star + Cuisines + Discovery Channel France + Discovery Science France + Disney Channel France + Disney Junior France + Dorcel TV Africa + E! France + English Club TV + ESPN 2 Caribbean + ESPN Caribbean + ETV + Eurosport 1 + Eurosport 2 + France 2 + France 24 Français + France 3 + France 5 + Franceinfo: + Game One + Globo News + Graphé TV + Guadeloupe 1ère + Guyane 1ère + Haiti Sports TV 1 + Haiti Sports TV 2 + HBO Xtreme Latinoamérica + InfoSport + + IOTV + KMT + KTO + KTV Guyane + LCI + L'Équipe + Ludikids + M6 + Martinique 1ère + MCM France + Metropole + ES1 + MTV France + MTV Hits France + Nathan TV + National Geographic France + National Geographic Wild France + Nickelodeon France + Nick Jr Africa + Nollywood TV + Novelas TV + NRJ 12 + Paramount Channel France + Paris Première + Penthouse Black + Piwi + + Planète + + Planète + A&E + Planète + CI + LCP Public Sénat + RTL 9 + Seasons + Studiocanal + STVS 8.1 + Syfy France + Télé 20 + Telemicro Internacional + Telemundo + Tele Pacific + Tele Soleil + TéléToon + + TF 1 + TF 1 Séries Films + TFX + TNH + Toute l'Histoire + Trace Ayiti + Trace Caribbean + Trace Gospel + Trace Latina + Trace Urban + TV5Monde Amérique Latine + TV Caraïbes + Ushuaïa TV + ViàATV + Vixen + Wataaa TV + XXL + Zitata TV + Zouk TV + \ No newline at end of file diff --git a/sites/canalplus-haiti.com/canalplus-haiti.com.config.js b/sites/canalplus-haiti.com/canalplus-haiti.com.config.js index 89279868..86b1aff5 100644 --- a/sites/canalplus-haiti.com/canalplus-haiti.com.config.js +++ b/sites/canalplus-haiti.com/canalplus-haiti.com.config.js @@ -33,13 +33,13 @@ module.exports = { }, async channels() { const html = await axios - .get(`https://www.canalplus-haiti.com/guide-tv-ce-soir`) + .get('https://www.canalplus-haiti.com/guide-tv-ce-soir') .then(r => r.data) .catch(console.log) const $ = cheerio.load(html) const script = $('body > script:nth-child(2)').html() - const [_, json] = script.match(/window.APP_STATE=(.*);/) || [null, null] + const [, json] = script.match(/window.APP_STATE=(.*);/) || [null, null] const data = JSON.parse(json) const items = data.tvGuide.channels.byZapNumber diff --git a/sites/canalplus-haiti.com/canalplus-haiti.com.test.js b/sites/canalplus-haiti.com/canalplus-haiti.com.test.js index f24e77b5..16d1d1d6 100644 --- a/sites/canalplus-haiti.com/canalplus-haiti.com.test.js +++ b/sites/canalplus-haiti.com/canalplus-haiti.com.test.js @@ -1,5 +1,5 @@ -// [Geo-blocked] npm run channels:parse --config=./sites/canalplus-haiti.com/canalplus-haiti.com.config.js --output=./sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml -// npx epg-grabber --config=sites/canalplus-haiti.com/canalplus-haiti.com.config.js --channels=sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml --output=guide.xml --days=2 +// [Geo-blocked] npm run channels:parse -- --config=./sites/canalplus-haiti.com/canalplus-haiti.com.config.js --output=./sites/canalplus-haiti.com/canalplus-haiti.com.channels.xml +// npm run grab -- --site=canalplus-haiti.com const { parser, url } = require('./canalplus-haiti.com.config.js') const axios = require('axios') @@ -165,7 +165,8 @@ it('can parse response', done => { it('can handle empty guide', done => { parser({ - content: `{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l'assistance de CANAL+/CANALSAT.","code":404}` + content: + '{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l\'assistance de CANAL+/CANALSAT.","code":404}' }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/canalplus-reunion.com/canalplus-reunion.com.channels.xml b/sites/canalplus-reunion.com/canalplus-reunion.com.channels.xml index 7e1653c7..f434f958 100644 --- a/sites/canalplus-reunion.com/canalplus-reunion.com.channels.xml +++ b/sites/canalplus-reunion.com/canalplus-reunion.com.channels.xml @@ -1,123 +1,121 @@ - - - 6ter - 13ème Rue - Action - Antenne Réunion TV - A+ - ARTE Français - Automoto la chaîne - BBC World News Africa - BeIn Sports 1 France - BeIn Sports 2 France - BeIn Sports 3 France - C8 - Canal + Cinéma Réunion - Canal + Décalé - Canal + Kids - Canal + Réunion - Canal + Séries Réunion - Canal + Sport Réunion - CGTN Français - Cine + Classic - Cine + Club - Cine + Émotion - Cine + Famiz - Cine + Frisson - Cine + Premier - C News - Colmax TV - Colors - Comédie + - C Star - Discovery Channel France - Discovery Science France - Disney Channel France - Disney Junior France - Dorcel TV Africa - E! France - English Club TV - Equidia - Eurosport 1 France - Eurosport 2 France - France 2 - France 3 - France 4 - France 5 - France 24 Français - Franceinfo: - Game One - Golf + - Gulli - Histoire TV - InfoSport + - Iqraa Africa & Europe - Kanal Austral TV - Kolo TV - KTO - Kwezi TV - LCI - LCP Assemblée Nationale - L'Équipe - Ludikids - M6 - Mayotte 1ère - MBS - Mezzo - MTV France - MTV Hits France - MTV India - National Geographic France - National Geographic Wild France - Nickelodeon France - Nickelodeon Junior France - Nollywood TV - Novegasy - Novelas TV - NRJ 12 - OCS choc - OCS City - OCS geants - OCS max - ORTC TV - Paramount Channel France - Paris Première - Penthouse Black - Piwi + - Planète + - Planète + A&E - Planète + CI - Réunion 1ère - RFM TV - RTA - RTL 9 - Seasons - Série Club - Syfy France - Télé Kréol - TéléToon + - Téva - TF 1 - TF 1 Séries Films - TFX - TMC - Trace Caribbean - Trace Urban Afrique - Trace Vanilla Islands - Trek - TV5Monde Afrique - TV Breizh - TV Malagasy - TV Plus Madagascar - TV Record Madagascar - Ushuaïa TV - Vixen - W9 - Wataaa TV - XXL - Zee Cinema Africa - Zee TV Africa - Zing UK - - \ No newline at end of file + + 13ème Rue + 6ter + Action + Antenne Réunion TV + A+ + ARTE Français + Automoto la chaîne + BBC World News Africa + BeIn Sports 1 France + BeIn Sports 2 France + BeIn Sports 3 France + C8 + Canal + Cinéma Réunion + Canal + Décalé + Canal + Kids + Canal + Réunion + Canal + Séries Réunion + Canal + Sport Réunion + CGTN Français + Cine + Classic + Cine + Club + Cine + Émotion + Cine + Famiz + Cine + Frisson + Cine + Premier + C News + Colmax TV + Colors + Comédie + + C Star + Discovery Channel France + Discovery Science France + Disney Channel France + Disney Junior France + Dorcel TV Africa + E! France + English Club TV + Equidia + Eurosport 1 France + Eurosport 2 France + France 2 + France 24 Français + France 3 + France 4 + France 5 + Franceinfo: + Game One + Golf + + Gulli + Histoire TV + InfoSport + + Iqraa Africa & Europe + Kanal Austral TV + Kolo TV + KTO + Kwezi TV + LCI + LCP Assemblée Nationale + L'Équipe + Ludikids + M6 + Mayotte 1ère + MBS + Mezzo + MTV France + MTV Hits France + MTV India + National Geographic France + National Geographic Wild France + Nickelodeon France + Nickelodeon Junior France + Nollywood TV + Novegasy + Novelas TV + NRJ 12 + OCS choc + OCS City + OCS geants + OCS max + ORTC TV + Paramount Channel France + Paris Première + Penthouse Black + Piwi + + Planète + + Planète + A&E + Planète + CI + Réunion 1ère + RFM TV + RTA + RTL 9 + Seasons + Série Club + Syfy France + Télé Kréol + TéléToon + + Téva + TF 1 + TF 1 Séries Films + TFX + TMC + Trace Caribbean + Trace Urban Afrique + Trace Vanilla Islands + Trek + TV5Monde Afrique + TV Breizh + TV Malagasy + TV Plus Madagascar + TV Record Madagascar + Ushuaïa TV + Vixen + W9 + Wataaa TV + XXL + Zee Cinema Africa + Zee TV Africa + Zing UK + \ No newline at end of file diff --git a/sites/canalplus-reunion.com/canalplus-reunion.com.test.js b/sites/canalplus-reunion.com/canalplus-reunion.com.test.js index 52772577..c6b2cb39 100644 --- a/sites/canalplus-reunion.com/canalplus-reunion.com.test.js +++ b/sites/canalplus-reunion.com/canalplus-reunion.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/canalplus-reunion.com/canalplus-reunion.com.config.js --channels=sites/canalplus-reunion.com/canalplus-reunion.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=canalplus-reunion.com const { parser, url } = require('./canalplus-reunion.com.config.js') const axios = require('axios') @@ -149,7 +149,8 @@ it('can parse response', done => { it('can handle empty guide', done => { parser({ - content: `{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l'assistance de CANAL+/CANALSAT.","code":404}` + content: + '{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l\'assistance de CANAL+/CANALSAT.","code":404}' }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/canalplus.com/canalplus.com.channels.xml b/sites/canalplus.com/canalplus.com.channels.xml index f704a374..45e12803 100644 --- a/sites/canalplus.com/canalplus.com.channels.xml +++ b/sites/canalplus.com/canalplus.com.channels.xml @@ -1,326 +1,324 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - AL JAZEERA ENG - BBC WORLD NEWS - CNN INT. - FRANCE 24 ENG - NHK WORLD-JAPAN - 2STV - 6TER - AB1 - ACTION - AL JAZEERA ENG - ALTICE STUDIO - ANIMAUX - ARIRANG TV - ARTE - ASTROCENTER TV - AUTOMOTO LA CHAINE - BEIN SPORTS 1 - BEIN SPORTS 2 - BEIN SPORTS 3 - BEIN SPORTS MAX 10 - BEIN SPORTS MAX 4 - BEIN SPORTS MAX 5 - BEIN SPORTS MAX 6 - BEIN SPORTS MAX 7 - BEIN SPORTS MAX 8 - BEIN SPORTS MAX 9 - BET - BFM BUSINESS - BFM TV - BLOOMBERG TV - BLUE ZOOM - BOING - BOOMERANG - BSMART TV - C8 - CANAL ALPHA NE - CANAL J - CANAL+CINEMA - CANAL+DOCS - CANAL+FOOT - CANAL+FORMULA1 - CANAL+ - CANAL+GRAND ECRAN - CANAL+KIDS - CANAL+MOTOGP - CANAL+PREMIER LEAGUE - CANAL+SERIES - CANAL+ SPORT 2 (CH) - CANAL+SPORT360 - CANAL+SPORT - CANAL+TOP14 - CARTOON NETWORK - CHASSE ET PECHE - CHERIE 25 - CINE+ CLASSIC - CINE+ CLUB - CINE+ EMOTION - CINE+ FAMIZ - CINE+ FRISSON - CINE+ PREMIER - CLIQUE TV - CNBC - CNEWS - COLMAX TV - COMEDIE+ - COMEDY CENTRAL - CSTAR - CSTAR HITS FRANCE - ARD DAS ERSTE - DISNEY CHANNEL - DISNEY CHANNEL+1 - DISNEY JUNIOR - DORA TV - DORCEL TV - DORCEL XXX - EQUIDIA - EURONEWS - EUROSPORT 1 - EUROSPORT 2 - EUROSPORT 3 - EUROSPORT 360 1 - EUROSPORT 360 2 - EUROSPORT 360 3 - EUROSPORT 360 4 - EUROSPORT 360 5 - EUROSPORT 360 6 - EUROSPORT 360 7 - EUROSPORT 360 8 - EUROSPORT 4 - EUROSPORT 5 - EUROSPORT 6 - EUROSPORT 7 - EUROSPORT 8 - EUROSPORT 9 - FOOT+ 24/24 - FRANCE 2 - FRANCE 24 ENG - FRANCE 24 - FRANCE 3 - F3 ALPES - F3 ALSACE - F3 AQUITAINE - F3 AUVERGNE - F3 BNORMANDIE - F3 BOURGOGNE - F3 BRETAGNE - F3 CENTRE - F3 CHAMP ARDENNE - F3 CORSEVIASTELLA - F3 COTE D'AZUR - F3 FRANCHE COMTE - F3 HNORMANDIE - F3 LANGUEDOCROU - F3 LIMOUSIN - F3 LORRAINE - F3 MIDI PYRENEES - F3 NORD PDC - F3 NOUVELLE AQUITAINE - F3 PARIS IDF - F3 PAYS DE LA LOIRE - F3 PICARDIE - F3 POITOUCHAR - F3 PROV ALPES - F3 RHONE ALPES - FRANCE 4 - FRANCE 5 - FRANCEINFO: - GAME ONE - GOLF+ - GULLI - HISTOIRE TV - I24 NEWS - INFOSPORT+ - JACQUIE & MICHEL TV - J-ONE - LA CHAINE METEO - LA TELE - LCI - LCP - LEMAN BLEU - L'EQUIPE - LFM TV - M6 - M6 MUSIC - MANGAS - MAN X - MCM - MELODY - MEZZO - MEZZO LIVE - MGG TV - MTV - MTV HITS - MULTISPORTS 1 - MULTISPORTS 2 - MULTISPORTS 3 - MULTISPORTS 4 - MULTISPORTS 5 - MULTISPORTS 6 - MUSEUM - MY ZEN TV - NATIONAL GEO - NATIONAL GEOGRAPHIC WILD - NHK WORLD-JAPAN - NICKELODEON - NICKELODEON JUNIOR - NICKELODEON TEEN - NOLLYWOOD TV - NON STOP PEOPLE - NOVELAS TV - NRJ 12 - NRJ HITS - OCS CHOC - OCS CITY - OCS GEANTS - OCS MAX - OLYMPIA TV - ONE TV - ORF 1 - PARAMOUNT CHANNEL - PARIS PREMIERE - PENTHOUSE BLACK - PENTHOUSE - PINK X - PIWI+ - PLANETE+ - PLANETE+AVENTURE - PLANETE+CRIME - POLAR+ - RAI UNO - RFM TV - RMC DECOUVERTE - RMC SPORT 1 - RMC SPORT 2 - RMC SPORT 3 - RMC SPORT 4 - RMC SPORT LIVE 10 - RMC SPORT LIVE 11 - RMC SPORT LIVE 12 - RMC SPORT LIVE 13 - RMC SPORT LIVE 14 - RMC SPORT LIVE 5 - RMC SPORT LIVE 6 - RMC SPORT LIVE 7 - RMC SPORT LIVE 8 - RMC SPORT LIVE 9 - RMC STORY - ROUGE TV - RT FRANCE - RTL9 - SCIENCE ET VIE TV - SEASONS - SERIE CLUB - SRF 1 - CLASSICA - DJAZZ - TCM CINEMA - TELEBIELINGUE - TELETOON+ - TELETOON+1 - TEVA - TF1 - TF1 SERIES FILMS - TFX - TIJI - TMC - TOONAMI - TOUTE L'HISTOIRE - TRACE AFRICA - TRACE LATINA - TRACE URBAN - TV5 MONDE - TV BREIZH - USHUAIA TV - VICE TV - VIXEN - W9 - WARNER TV - XXL - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AL JAZEERA ENG + BBC WORLD NEWS + CNN INT. + FRANCE 24 ENG + NHK WORLD-JAPAN + 2STV + 6TER + AB1 + ACTION + AL JAZEERA ENG + ALTICE STUDIO + ANIMAUX + ARIRANG TV + ARTE + ASTROCENTER TV + AUTOMOTO LA CHAINE + BEIN SPORTS 1 + BEIN SPORTS 2 + BEIN SPORTS 3 + BEIN SPORTS MAX 10 + BEIN SPORTS MAX 4 + BEIN SPORTS MAX 5 + BEIN SPORTS MAX 6 + BEIN SPORTS MAX 7 + BEIN SPORTS MAX 8 + BEIN SPORTS MAX 9 + BET + BFM BUSINESS + BFM TV + BLOOMBERG TV + BLUE ZOOM + BOING + BOOMERANG + BSMART TV + C8 + CANAL ALPHA NE + CANAL J + CANAL+CINEMA + CANAL+DOCS + CANAL+FOOT + CANAL+FORMULA1 + CANAL+ + CANAL+GRAND ECRAN + CANAL+KIDS + CANAL+MOTOGP + CANAL+PREMIER LEAGUE + CANAL+SERIES + CANAL+ SPORT 2 (CH) + CANAL+SPORT360 + CANAL+SPORT + CANAL+TOP14 + CARTOON NETWORK + CHASSE ET PECHE + CHERIE 25 + CINE+ CLASSIC + CINE+ CLUB + CINE+ EMOTION + CINE+ FAMIZ + CINE+ FRISSON + CINE+ PREMIER + CLIQUE TV + CNBC + CNEWS + COLMAX TV + COMEDIE+ + COMEDY CENTRAL + CSTAR + CSTAR HITS FRANCE + ARD DAS ERSTE + DISNEY CHANNEL + DISNEY CHANNEL+1 + DISNEY JUNIOR + DORA TV + DORCEL TV + DORCEL XXX + EQUIDIA + EURONEWS + EUROSPORT 1 + EUROSPORT 2 + EUROSPORT 3 + EUROSPORT 360 1 + EUROSPORT 360 2 + EUROSPORT 360 3 + EUROSPORT 360 4 + EUROSPORT 360 5 + EUROSPORT 360 6 + EUROSPORT 360 7 + EUROSPORT 360 8 + EUROSPORT 4 + EUROSPORT 5 + EUROSPORT 6 + EUROSPORT 7 + EUROSPORT 8 + EUROSPORT 9 + FOOT+ 24/24 + FRANCE 2 + FRANCE 24 ENG + FRANCE 24 + FRANCE 3 + F3 ALPES + F3 ALSACE + F3 AQUITAINE + F3 AUVERGNE + F3 BNORMANDIE + F3 BOURGOGNE + F3 BRETAGNE + F3 CENTRE + F3 CHAMP ARDENNE + F3 CORSEVIASTELLA + F3 COTE D'AZUR + F3 FRANCHE COMTE + F3 HNORMANDIE + F3 LANGUEDOCROU + F3 LIMOUSIN + F3 LORRAINE + F3 MIDI PYRENEES + F3 NORD PDC + F3 NOUVELLE AQUITAINE + F3 PARIS IDF + F3 PAYS DE LA LOIRE + F3 PICARDIE + F3 POITOUCHAR + F3 PROV ALPES + F3 RHONE ALPES + FRANCE 4 + FRANCE 5 + FRANCEINFO: + GAME ONE + GOLF+ + GULLI + HISTOIRE TV + I24 NEWS + INFOSPORT+ + JACQUIE & MICHEL TV + J-ONE + LA CHAINE METEO + LA TELE + LCI + LCP + LEMAN BLEU + L'EQUIPE + LFM TV + M6 + M6 MUSIC + MANGAS + MAN X + MCM + MELODY + MEZZO + MEZZO LIVE + MGG TV + MTV + MTV HITS + MULTISPORTS 1 + MULTISPORTS 2 + MULTISPORTS 3 + MULTISPORTS 4 + MULTISPORTS 5 + MULTISPORTS 6 + MUSEUM + MY ZEN TV + NATIONAL GEO + NATIONAL GEOGRAPHIC WILD + NHK WORLD-JAPAN + NICKELODEON + NICKELODEON JUNIOR + NICKELODEON TEEN + NOLLYWOOD TV + NON STOP PEOPLE + NOVELAS TV + NRJ 12 + NRJ HITS + OCS CHOC + OCS CITY + OCS GEANTS + OCS MAX + OLYMPIA TV + ONE TV + ORF 1 + PARAMOUNT CHANNEL + PARIS PREMIERE + PENTHOUSE BLACK + PENTHOUSE + PINK X + PIWI+ + PLANETE+ + PLANETE+AVENTURE + PLANETE+CRIME + POLAR+ + RAI UNO + RFM TV + RMC DECOUVERTE + RMC SPORT 1 + RMC SPORT 2 + RMC SPORT 3 + RMC SPORT 4 + RMC SPORT LIVE 10 + RMC SPORT LIVE 11 + RMC SPORT LIVE 12 + RMC SPORT LIVE 13 + RMC SPORT LIVE 14 + RMC SPORT LIVE 5 + RMC SPORT LIVE 6 + RMC SPORT LIVE 7 + RMC SPORT LIVE 8 + RMC SPORT LIVE 9 + RMC STORY + ROUGE TV + RT FRANCE + RTL9 + SCIENCE ET VIE TV + SEASONS + SERIE CLUB + SRF 1 + CLASSICA + DJAZZ + TCM CINEMA + TELEBIELINGUE + TELETOON+ + TELETOON+1 + TEVA + TF1 + TF1 SERIES FILMS + TFX + TIJI + TMC + TOONAMI + TOUTE L'HISTOIRE + TRACE AFRICA + TRACE LATINA + TRACE URBAN + TV5 MONDE + TV BREIZH + USHUAIA TV + VICE TV + VIXEN + W9 + WARNER TV + XXL + diff --git a/sites/canalplus.com/canalplus.com.config.js b/sites/canalplus.com/canalplus.com.config.js index 0b38a6ef..1d719e26 100644 --- a/sites/canalplus.com/canalplus.com.config.js +++ b/sites/canalplus.com/canalplus.com.config.js @@ -66,7 +66,6 @@ module.exports = { gm: 'https://secure-webtv-static.canal-plus.com/metadata/cpafr/gm/all/v2.2/globalchannels.json', gn: 'https://secure-webtv-static.canal-plus.com/metadata/cpafr/gn/all/v2.2/globalchannels.json', gp: 'https://secure-webtv-static.canal-plus.com/metadata/cpafr/gp/all/v2.2/globalchannels.json', - gp: 'https://secure-webtv-static.canal-plus.com/metadata/cpant/gp/all/v2.2/globalchannels.json', gw: 'https://secure-webtv-static.canal-plus.com/metadata/cpafr/gw/all/v2.2/globalchannels.json', mf: 'https://secure-webtv-static.canal-plus.com/metadata/cpant/mf/all/v2.2/globalchannels.json', mg: 'https://secure-webtv-static.canal-plus.com/metadata/cpafr/mg/all/v2.2/globalchannels.json', diff --git a/sites/canalplus.com/canalplus.com.test.js b/sites/canalplus.com/canalplus.com.test.js index b6c35b71..7b905e5b 100644 --- a/sites/canalplus.com/canalplus.com.test.js +++ b/sites/canalplus.com/canalplus.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/canalplus.com/canalplus.com.config.js --output=./sites/canalplus.com/canalplus.com.channels.xml -// npx epg-grabber --config=sites/canalplus.com/canalplus.com.config.js --channels=sites/canalplus.com/canalplus.com.channels.xml --output=guide.xml +// npm run grab -- --site=canalplus.com const { parser, url } = require('./canalplus.com.config.js') const fs = require('fs') @@ -97,7 +97,8 @@ it('can parse response', done => { start: '2023-01-12T06:28:00.000Z', stop: '2023-01-12T12:06:00.000Z', 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.`, + 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', presenter: ['Lily Bloom'], rating: { @@ -109,7 +110,8 @@ it('can parse response', done => { start: '2023-01-12T12:06:00.000Z', stop: '2023-01-12T13:06:00.000Z', 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...`, + 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', director: ['Xavier Giannoli'], actors: [ diff --git a/sites/cgates.lt/cgates.lt.channels.xml b/sites/cgates.lt/cgates.lt.channels.xml index 1200dd34..663bf1a2 100644 --- a/sites/cgates.lt/cgates.lt.channels.xml +++ b/sites/cgates.lt/cgates.lt.channels.xml @@ -1,124 +1,122 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Baby TV - BBC World News - Bloomberg Television - CBS Reality - CNBC Europe - CNN International - Discovery Channel HD - DocuBox HD - Duo 3 HD - Duo 6 HD - Epic Drama HD - Eurochannel - Euronews RU - Extreme Sports - Fashion TV - Fast&Fun Box HD - Fight Sports HD - FilmBox ArtHouse - FilmZone - France 24 - Game Toon HD - Jim Jam - KidZone Mini HD - KidZone TV - Luxe.TV HD - Mezzo - MTV 00s - MTV Hits - Playboy TV - Setanta Sports 1 HD - Smartzone HD - TV 1000 Action - TV 1000 - TV 1000 World Kino - TV3 Sport HD - TV3 Sport 2 HD - TV3 Sport Open HD - Vivid Touch - 1+1 - 1+2 - 2TV - 36.6 TV - Arirang TV - Balticum Auksinis - Balticum Platinum HD - Balticum TV - Blue Hustler - BTV HD - Nastojashcheje Vremya - Dacha - Delfi TV HD - Kanal 7 - Dzūkijos TV - Film UA Drama - FilmZone+ HD - TV3 Film HD - Gulli Girl - Info TV HD - Inter+ - Kus-Kus - Lietuvos ryto TV HD - LNK HD - LRT Lituanica - LRT Plius HD - LRT Televizija HD - Marijampolės TV - Šiaulių televizija - Sport 1 HD - Star Cinema - Star Family - Tiji - TV1 HD - TV3 HD - TV3 Plus HD - TV6 HD - TV8 HD - Bolt - TVP Info - TVP Polonia - ViP Comedy - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Baby TV + BBC World News + Bloomberg Television + CBS Reality + CNBC Europe + CNN International + Discovery Channel HD + DocuBox HD + Duo 3 HD + Duo 6 HD + Epic Drama HD + Eurochannel + Euronews RU + Extreme Sports + Fashion TV + Fast&Fun Box HD + Fight Sports HD + FilmBox ArtHouse + FilmZone + France 24 + Game Toon HD + Jim Jam + KidZone Mini HD + KidZone TV + Luxe.TV HD + Mezzo + MTV 00s + MTV Hits + Playboy TV + Setanta Sports 1 HD + Smartzone HD + TV 1000 Action + TV 1000 + TV 1000 World Kino + TV3 Sport HD + TV3 Sport 2 HD + TV3 Sport Open HD + Vivid Touch + 1+1 + 1+2 + 2TV + 36.6 TV + Arirang TV + Balticum Auksinis + Balticum Platinum HD + Balticum TV + Blue Hustler + BTV HD + Nastojashcheje Vremya + Dacha + Delfi TV HD + Kanal 7 + Dzūkijos TV + Film UA Drama + FilmZone+ HD + TV3 Film HD + Gulli Girl + Info TV HD + Inter+ + Kus-Kus + Lietuvos ryto TV HD + LNK HD + LRT Lituanica + LRT Plius HD + LRT Televizija HD + Marijampolės TV + Šiaulių televizija + Sport 1 HD + Star Cinema + Star Family + Tiji + TV1 HD + TV3 HD + TV3 Plus HD + TV6 HD + TV8 HD + Bolt + TVP Info + TVP Polonia + ViP Comedy + diff --git a/sites/cgates.lt/cgates.lt.config.js b/sites/cgates.lt/cgates.lt.config.js index 6251a3cc..efdc3ca2 100644 --- a/sites/cgates.lt/cgates.lt.config.js +++ b/sites/cgates.lt/cgates.lt.config.js @@ -42,7 +42,7 @@ module.exports = { }, async channels() { let html = await axios - .get(`https://www.cgates.lt/televizija/tv-programa-savaitei/`) + .get('https://www.cgates.lt/televizija/tv-programa-savaitei/') .then(r => r.data) .catch(console.log) let $ = cheerio.load(html) @@ -51,7 +51,7 @@ module.exports = { return items.map(item => { const name = $(item).find('h6').text().trim() const link = $(item).find('a').attr('href') - const [_, site_id] = link.match(/\/tv-kanalai\/(.*)\//) || [null, null] + const [, site_id] = link.match(/\/tv-kanalai\/(.*)\//) || [null, null] return { lang: 'lt', diff --git a/sites/cgates.lt/cgates.lt.test.js b/sites/cgates.lt/cgates.lt.test.js index 4a0390b1..ac1abbec 100644 --- a/sites/cgates.lt/cgates.lt.test.js +++ b/sites/cgates.lt/cgates.lt.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/cgates.lt/cgates.lt.config.js --output=./sites/cgates.lt/cgates.lt.channels.xml -// npx epg-grabber --config=sites/cgates.lt/cgates.lt.config.js --channels=sites/cgates.lt/cgates.lt.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=cgates.lt const { parser, url } = require('./cgates.lt.config.js') const fs = require('fs') diff --git a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml index 81c009e2..74b4e4ee 100644 --- a/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml +++ b/sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml @@ -1,199 +1,197 @@ - - - 01 TV - 2M Monde - 3sat - 6ter - AB 1 - Action - Aljazeera English - Animaux - A+ Kids TV - ARTE Français - Automoto la chaîne - BBC Entertainment Europe - BBC World News Europe - BeIn Sports 1 France - BeIn Sports 2 France - BeIn Sports 3 France - BeIn Sports Max 4 France - BeIn Sports Max 5 France - BeIn Sports Max 6 France - BeIn Sports Max 7 France - BeIn Sports Max 8 France - BeIn Sports Max 9 France - BeIn Sports Max 10 France - BET France - BFM Business - BFM TV - Bloomberg TV Europe - Boing France - Boomerang France - Boomerang France +1 - C8 - Canal J - Canal + Cinéma France - Canal + Décalé - Canal + Docs - Canal + France - Canal + Grand Ecran - Canal + Kids - Canal + Séries - Canal + Sport - Canal Q - Cartoon Network France - Chasse & Pêche - Chérie 25 - Cine + Classic - Cine + Club - Cine + Émotion - Cine + Famiz - Cine + Frisson - Cine + Premier - Clique TV - Clubbing TV - CNBC Europe - C News - CNN International Europe - Comédie + - Comedy Central France - Crime District - C Star - Das Erste - Demain TV - Disney Channel France - Disney Channel France +1 - Disney Junior France - DW English - Equidia - ES1 - Eurochannel - EuroNews Français - FashionTV Europe - France 2 - France 3 - France 3 Alpes - France 3 Alsace - France 3 Aquitaine - France 3 Auvergne - France 3 Bourgogne - France 3 Bretagne - France 3 Centre-Val de Loire - France 3 Champagne-Ardenne - France 3 Corse Via Stella - France 3 Côte d'Azur - France 3 Franche-Comté - France 3 Languedoc-Roussillon - France 3 Limousin - France 3 Lorraine - France 3 Midi-Pyrénées - France 3 Nord Pas-de-Calais - France 3 Paris Ile-de-France - France 3 Pays de la Loire - France 3 Picardie - France 3 Poitou-Charentes - France 3 Provence-Alpes - France 3 Rhône-Alpes - France 4 - France 5 - France 24 English - France 24 Français - Franceinfo: - Game One - Game One +1 - Golf Channel France - Gulli - Histoire TV - I24 News Français - J-One - KTO - LCI - LCP Assemblée Nationale - LCP Public Sénat - L'Équipe - Lucky Jack.tv - Luxe TV - M6 - M6 Music - Maison & Travaux TV - Mangas - MCM France - Melody - Melody d'Afrique - Mezzo - Mezzo Live HD - MTV France - MTV Hits France - Museum - MyZen TV - National Geographic France - National Geographic Wild France - NHK World Japan - Nickelodeon France - Nickelodeon France +1 - Nickelodeon Junior France - Nickelodeon Teen - Nitro Deutschland - Nollywood TV - Novelas TV - NRJ 12 - NRJ Hits - OCS choc - OCS City - OCS geants - OCS max - Olympia TV - One - Paramount Channel Décalé - Paramount Channel France - Paris Première - Piwi + - Planète + - Planète + A&E - Planète + CI - Polar + - ProSieben Deutschland - Rai 1 - Rai 2 - Rai 3 - Rai News 24 - RMC Découverte - RMC Story - RTL 9 - RTL Zwei Deutschland - RTP Internacional Europa - Science & Vie TV - Série Club - Sport en France - Stingray Classica - Sunu Yeuf - Super RTL Deutschland - TCM Cinéma - TéléToon + - TéléToon + 1 - Téva - TF 1 - TF 1 +1 - TF 1 Séries Films - TFX - The Israeli Network - Tiji - TMC - TMC +1 - Toonami France - Toute l'Histoire - TV5Monde France Belgique Suisse - TV Breizh - TVE Internacional Europa - TV Pitchoun - Ultra Nature - Ushuaïa TV - Voxafrica Afrique - Vox Deutschland - W9 - Warner TV France - ZDF - ZDF Neo - - + + 01 TV + 2M Monde + 3sat + 6ter + AB 1 + Action + Aljazeera English + Animaux + A+ Kids TV + ARTE Français + Automoto la chaîne + BBC Entertainment Europe + BBC World News Europe + BeIn Sports 1 France + BeIn Sports 2 France + BeIn Sports 3 France + BeIn Sports Max 10 France + BeIn Sports Max 4 France + BeIn Sports Max 5 France + BeIn Sports Max 6 France + BeIn Sports Max 7 France + BeIn Sports Max 8 France + BeIn Sports Max 9 France + BET France + BFM Business + BFM TV + Bloomberg TV Europe + Boing France + Boomerang France + Boomerang France +1 + C8 + Canal J + Canal + Cinéma France + Canal + Décalé + Canal + Docs + Canal + France + Canal + Grand Ecran + Canal + Kids + Canal + Séries + Canal + Sport + Canal Q + Cartoon Network France + Chasse & Pêche + Chérie 25 + Cine + Classic + Cine + Club + Cine + Émotion + Cine + Famiz + Cine + Frisson + Cine + Premier + Clique TV + Clubbing TV + CNBC Europe + C News + CNN International Europe + Comédie + + Comedy Central France + Crime District + C Star + Das Erste + Demain TV + Disney Channel France + Disney Channel France +1 + Disney Junior France + DW English + Equidia + Eurochannel + EuroNews Français + FashionTV Europe + France 2 + France 24 English + France 24 Français + France 3 + France 3 Alpes + France 3 Alsace + France 3 Aquitaine + France 3 Auvergne + France 3 Bourgogne + France 3 Bretagne + France 3 Centre-Val de Loire + France 3 Champagne-Ardenne + France 3 Corse Via Stella + France 3 Côte d'Azur + France 3 Franche-Comté + France 3 Languedoc-Roussillon + France 3 Limousin + France 3 Lorraine + France 3 Midi-Pyrénées + France 3 Nord Pas-de-Calais + France 3 Paris Ile-de-France + France 3 Pays de la Loire + France 3 Picardie + France 3 Poitou-Charentes + France 3 Provence-Alpes + France 3 Rhône-Alpes + France 4 + France 5 + Franceinfo: + Game One + Game One +1 + Golf Channel France + Gulli + Histoire TV + I24 News Français + J-One + KTO + LCI + LCP Assemblée Nationale + L'Équipe + Lucky Jack.tv + Luxe TV + M6 + M6 Music + Maison & Travaux TV + Mangas + MCM France + Melody + Melody d'Afrique + Mezzo + Mezzo Live HD + ES1 + MTV France + MTV Hits France + Museum + MyZen TV + National Geographic France + National Geographic Wild France + NHK World Japan + Nickelodeon France + Nickelodeon France +1 + Nickelodeon Junior France + Nickelodeon Teen + Nitro Deutschland + Nollywood TV + Novelas TV + NRJ 12 + NRJ Hits + OCS choc + OCS City + OCS geants + OCS max + Olympia TV + One + Paramount Channel France + Paramount Channel Décalé + Paris Première + Piwi + + Planète + + Planète + A&E + Planète + CI + Polar + + ProSieben Deutschland + LCP Public Sénat + Rai 1 + Rai 2 + Rai 3 + Rai News 24 + RMC Découverte + RMC Story + RTL 9 + RTL Zwei Deutschland + RTP Internacional Europa + Science & Vie TV + Série Club + Sport en France + Stingray Classica + Sunu Yeuf + Super RTL Deutschland + TCM Cinéma + TéléToon + + TéléToon + 1 + Téva + TF 1 + TF 1 +1 + TF 1 Séries Films + TFX + The Israeli Network + Tiji + TMC + TMC +1 + Toonami France + Toute l'Histoire + TV5Monde France Belgique Suisse + TV Breizh + TVE Internacional Europa + TV Pitchoun + Ultra Nature + Ushuaïa TV + Voxafrica Afrique + Vox Deutschland + W9 + Warner TV France + ZDF + ZDF Neo + 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 dff67824..ff1ec431 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 @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/chaines-tv.orange.fr/chaines-tv.orange.fr.config.js --channels=sites/chaines-tv.orange.fr/chaines-tv.orange.fr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=chaines-tv.orange.fr -const { parser, url, request } = require('./chaines-tv.orange.fr.config.js') +const { parser, url } = require('./chaines-tv.orange.fr.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -12,7 +12,8 @@ const channel = { site_id: '192', xmltv_id: 'TF1.fr' } -const content = `{"192":[{"id":1635062528017,"programType":"EPISODE","title":"Tête de liste","channelId":"192","channelZappingNumber":11,"covers":[{"format":"RATIO_16_9","url":"https://proxymedia.woopic.com/340/p/169_EMI_9697669.jpg"},{"format":"RATIO_4_3","url":"https://proxymedia.woopic.com/340/p/43_EMI_9697669.jpg"}],"diffusionDate":1636328100,"duration":2700,"csa":2,"synopsis":"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.","languageVersion":"VM","hearingImpaired":true,"audioDescription":false,"season":{"number":10,"episodesCount":23,"serie":{"title":"Esprits criminels"}},"episodeNumber":12,"definition":"SD","links":[{"rel":"SELF","href":"https://rp-live.orange.fr/live-webapp/v3/applications/STB4PC/programs/1635062528017"}],"dayPart":"OTHER","catchupId":null,"genre":"Série","genreDetailed":"Série Suspense"}]}` +const content = + '{"192":[{"id":1635062528017,"programType":"EPISODE","title":"Tête de liste","channelId":"192","channelZappingNumber":11,"covers":[{"format":"RATIO_16_9","url":"https://proxymedia.woopic.com/340/p/169_EMI_9697669.jpg"},{"format":"RATIO_4_3","url":"https://proxymedia.woopic.com/340/p/43_EMI_9697669.jpg"}],"diffusionDate":1636328100,"duration":2700,"csa":2,"synopsis":"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.","languageVersion":"VM","hearingImpaired":true,"audioDescription":false,"season":{"number":10,"episodesCount":23,"serie":{"title":"Esprits criminels"}},"episodeNumber":12,"definition":"SD","links":[{"rel":"SELF","href":"https://rp-live.orange.fr/live-webapp/v3/applications/STB4PC/programs/1635062528017"}],"dayPart":"OTHER","catchupId":null,"genre":"Série","genreDetailed":"Série Suspense"}]}' it('can generate valid url', () => { const result = url({ channel, date }) @@ -28,7 +29,8 @@ it('can parse response', () => { start: '2021-11-07T23:35:00.000Z', stop: '2021-11-08T00:20:00.000Z', title: 'Tête de liste', - 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.`, + 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' } @@ -39,7 +41,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"code":60,"message":"Resource not found","param":{},"description":"L'URI demandé ou la ressource demandée n'existe pas.","stackTrace":null}` + content: + '{"code":60,"message":"Resource not found","param":{},"description":"L\'URI demandé ou la ressource demandée n\'existe pas.","stackTrace":null}' }) expect(result).toMatchObject([]) }) diff --git a/sites/clickthecity.com/clickthecity.com.channels.xml b/sites/clickthecity.com/clickthecity.com.channels.xml index f87b3679..2c355954 100644 --- a/sites/clickthecity.com/clickthecity.com.channels.xml +++ b/sites/clickthecity.com/clickthecity.com.channels.xml @@ -1,38 +1,36 @@ - - - - - a2z Channel 11 - ANC - Animax - AXN - Celestial Movies Pinoy - Cinema One - Cinemax - CNN Philippines - GEM - GMA - GTV - HBO - History - IBC TV 13 - Jeepney TV - Kapamilya Channel - K-Movies Pinoy - Liga - Metro Channel - MYX - National Geographic - Net 25 - Nickelodeon - PBO - PTV - Rock Entertainment - Rock Extreme - Tagalized Movie Channel - Telenovela Channel - TV5 - VIVA Cinema - - + + + + a2z Channel 11 + ANC + Animax + AXN + Celestial Movies Pinoy + Cinema One + Cinemax + CNN Philippines + GEM + GMA + GTV + HBO + History + IBC TV 13 + Jeepney TV + Kapamilya Channel + K-Movies Pinoy + Liga + Metro Channel + MYX + National Geographic + Net 25 + Nickelodeon + PBO + PTV + Rock Entertainment + Rock Extreme + Tagalized Movie Channel + Telenovela Channel + TV5 + VIVA Cinema + diff --git a/sites/clickthecity.com/clickthecity.com.config.js b/sites/clickthecity.com/clickthecity.com.config.js index 6846fe80..917495ea 100644 --- a/sites/clickthecity.com/clickthecity.com.config.js +++ b/sites/clickthecity.com/clickthecity.com.config.js @@ -47,7 +47,7 @@ module.exports = { }, async channels() { const html = await axios - .get(`https://www.clickthecity.com/tv/channels/`) + .get('https://www.clickthecity.com/tv/channels/') .then(r => r.data) .catch(console.log) const $ = cheerio.load(html) @@ -56,7 +56,7 @@ module.exports = { return items.map(item => { const name = $(item).find('.card-body').text().trim() const url = $(item).find('a').attr('href') - const [_, site_id] = url.match(/netid=(\d+)/) || [null, null] + const [, site_id] = url.match(/netid=(\d+)/) || [null, null] return { site_id, @@ -72,7 +72,7 @@ function parseTitle($item) { function parseStart($item, date) { const url = $item('td.cPrg > a').attr('href') || '' - let [_, time] = url.match(/starttime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null] + let [, time] = url.match(/starttime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null] if (!time) return null time = `${date.format('YYYY-MM-DD')} ${time.replace('%3A', ':').replace('+', ' ')}` @@ -81,7 +81,7 @@ function parseStart($item, date) { function parseStop($item, date) { const url = $item('td.cPrg > a').attr('href') || '' - let [_, time] = url.match(/endtime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null] + let [, time] = url.match(/endtime=(\d{1,2}%3A\d{2}\+(AM|PM))/) || [null, null] if (!time) return null time = `${date.format('YYYY-MM-DD')} ${time.replace('%3A', ':').replace('+', ' ')}` @@ -91,7 +91,7 @@ function parseStop($item, date) { function parseItems(content) { const $ = cheerio.load(content) - return $(`#tvlistings > tbody > tr`) + return $('#tvlistings > tbody > tr') .filter(function () { return $(this).find('td.cPrg').length }) diff --git a/sites/clickthecity.com/clickthecity.com.test.js b/sites/clickthecity.com/clickthecity.com.test.js index b48453ba..33ae1deb 100644 --- a/sites/clickthecity.com/clickthecity.com.test.js +++ b/sites/clickthecity.com/clickthecity.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/clickthecity.com/clickthecity.com.config.js --output=./sites/clickthecity.com/clickthecity.com.channels.xml -// npx epg-grabber --config=sites/clickthecity.com/clickthecity.com.config.js --channels=sites/clickthecity.com/clickthecity.com.channels.xml --output=guide.xml +// npm run grab -- --site=clickthecity.com const { parser, url, request } = require('./clickthecity.com.config.js') const fs = require('fs') @@ -49,13 +49,13 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-06-11T21:00:00.000Z', stop: '2023-06-11T22:00:00.000Z', - title: `Word Of God` + title: 'Word Of God' }) expect(results[19]).toMatchObject({ start: '2023-06-12T15:30:00.000Z', stop: '2023-06-12T16:00:00.000Z', - title: `La Suerte De Loli` + title: 'La Suerte De Loli' }) }) @@ -63,7 +63,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: + '' }) expect(result).toMatchObject([]) }) diff --git a/sites/compulms.com/compulms.com.channels.xml b/sites/compulms.com/compulms.com.channels.xml index bc308e3c..9d9e6cd3 100644 --- a/sites/compulms.com/compulms.com.channels.xml +++ b/sites/compulms.com/compulms.com.channels.xml @@ -1,9 +1,7 @@ - - - EnerGeek Animate - EnerGeek Retro - EnerGeek Radio TV - EnerGeek Fanpop - - + + EnerGeek Animate + EnerGeek Retro + EnerGeek Radio TV + EnerGeek Fanpop + diff --git a/sites/compulms.com/compulms.com.test.js b/sites/compulms.com/compulms.com.test.js index 9e79ab92..92c1fae5 100644 --- a/sites/compulms.com/compulms.com.test.js +++ b/sites/compulms.com/compulms.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/compulms.com/compulms.com.config.js --channels=sites/compulms.com/compulms.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=compulms.com const { parser, url } = require('./compulms.com.config.js') const fs = require('fs') diff --git a/sites/comteco.com.bo/comteco.com.bo.channels.xml b/sites/comteco.com.bo/comteco.com.bo.channels.xml index d2399342..e627a5f8 100644 --- a/sites/comteco.com.bo/comteco.com.bo.channels.xml +++ b/sites/comteco.com.bo/comteco.com.bo.channels.xml @@ -1,80 +1,78 @@ - - - - - - Abya Yala TV - A&E - AMC - Animal Planet - AXN - Az Mundo - Bolivia TV - Bolivia TV 7.2 Deportes - Bolivisión - Cadena A - Canal 24 Horas - Caracol TV - Cartoon Network - Cinecanal Este - Cinemax - CNN - Cubavisión - De Película - Discovery Channel - Discovery Home & Health Latinoamérica - Discovery Kids América Latina - Disney Channel - Disney Junior España - El Gourmet - El Trece - E! - EuroNews Español - Europa Europa - EWTN - Fox Sports 2 - Fox Sports 3 - Fox Sports Latin America - FXM - FX - HBO - History - HTV - Investigation Discovery - María+Visión - Más Chic - MTV Latino Norte - Nat Geo Kids - National Geographic - Nickelodeon - Record TV - Red Uno - RTP - SBT - Space México - Star Channel - Star Life - Studio Universal - TBS - TCM - Telefe Internacional - Telemundo - Telesur - TLC - Tlnovelas - TNT - TNT Series - Tooncast - TV Chile - TV Culturas - TVE - TV Globo Internacional - TV Perú - TyC Sports - Unitel Santa Cruz - Universal TV - VH1 East - Warner Channel - - \ No newline at end of file + + + + + Abya Yala TV + A&E + AMC + Animal Planet + AXN + Az Mundo + Bolivia TV + Bolivia TV 7.2 Deportes + Bolivisión + Cadena A + Canal 24 Horas + Caracol TV + Cartoon Network + Cinecanal Este + Cinemax + CNN + Cubavisión + De Película + Discovery Channel + Discovery Home & Health Latinoamérica + Discovery Kids América Latina + Disney Channel + Disney Junior España + El Gourmet + El Trece + E! + EuroNews Español + Europa Europa + EWTN + Fox Sports 2 + Fox Sports 3 + Fox Sports Latin America + FXM + FX + HBO + History + HTV + Investigation Discovery + María+Visión + Más Chic + MTV Latino Norte + Nat Geo Kids + National Geographic + Nickelodeon + Record TV + Red Uno + RTP + SBT + Space México + Star Channel + Star Life + Studio Universal + TBS + TCM + Telefe Internacional + Telemundo + Telesur + TLC + Tlnovelas + TNT + TNT Series + Tooncast + TV Chile + TV Culturas + TVE + TV Globo Internacional + TV Perú + TyC Sports + Unitel Santa Cruz + Universal TV + VH1 East + Warner Channel + \ No newline at end of file diff --git a/sites/comteco.com.bo/comteco.com.bo.test.js b/sites/comteco.com.bo/comteco.com.bo.test.js index d8701454..c0514bf4 100644 --- a/sites/comteco.com.bo/comteco.com.bo.test.js +++ b/sites/comteco.com.bo/comteco.com.bo.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/comteco.com.bo/comteco.com.bo.config.js --channels=sites/comteco.com.bo/comteco.com.bo.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=comteco.com.bo const { parser, url, request } = require('./comteco.com.bo.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: 'ABYA YALA', xmltv_id: 'AbyaYalaTV.bo' } -const content = `

    Canal Analógico: 48

    ABYA YALA

    00:00:00 Abya Yala noticias - 3ra edición

    01:00:00 Cierre de emisión

    23:00:00 Referentes

    Regresar a canales

    ` +const content = + '

    Canal Analógico: 48

    ABYA YALA

    00:00:00 Abya Yala noticias - 3ra edición

    01:00:00 Cierre de emisión

    23:00:00 Referentes

    Regresar a canales

    ' it('can generate valid url', () => { expect(url({ channel })).toBe( @@ -48,17 +49,17 @@ it('can parse response', () => { { start: '2021-11-25T04:00:00.000Z', stop: '2021-11-25T05:00:00.000Z', - title: `Abya Yala noticias - 3ra edición` + title: 'Abya Yala noticias - 3ra edición' }, { start: '2021-11-25T05:00:00.000Z', stop: '2021-11-26T03:00:00.000Z', - title: `Cierre de emisión` + title: 'Cierre de emisión' }, { start: '2021-11-26T03:00:00.000Z', stop: '2021-11-26T03:30:00.000Z', - title: `Referentes` + title: 'Referentes' } ]) }) @@ -67,7 +68,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/cosmote.gr/cosmote.gr.channels.xml b/sites/cosmote.gr/cosmote.gr.channels.xml index 2f8c7776..eaf51292 100644 --- a/sites/cosmote.gr/cosmote.gr.channels.xml +++ b/sites/cosmote.gr/cosmote.gr.channels.xml @@ -1,90 +1,88 @@ - - - 4E - Action 24 - Aigaio TV - Alarabiya - Aljazeera - Alpha TV - Ant1 - Baby TV - BBC Earth HD - BBC World News - Bloomberg TV - Blue Hustler - Body in Balance - CBS Reality - CNBC - CNN - Cosmote Cinema 1 - Cosmote Cinema 2 - Cosmote Cinema 3 - Cosmote History - Cosmote Series - Cosmote Series Marathon - Cosmote Sport 1 - Cosmote Sport 2 - Cosmote Sport 3 - Cosmote Sport 4 - Cosmote Sport 5 - Cosmote Sport 6 - Cosmote Sport 7 - Cosmote Sport 8 - Cosmote Sport 9 - Cosmote Sport Highlights - Crime + Investigation - Disney Channel Middle East - DW - Edge Sport HD - E! HD - Ena Channel - Epsilon TV - ERT 1 - ERT 2 - ERT 3 - ERT World - EuroNews English - EuroNews - FashionTV - Fox HD - Fox Life HD - France 24 English - France 24 Français - Ginx eSports TV - Vouli TV - Hustler HD - Kriti TV - Luxe TV HD - Mad TV - Mad Viral - Makedonia TV - Mega TV HD - Mezzo Live HD - Motorvision TV HD - MTV Global - MTV Live HD - National Geographic - National Geographic Wild HD - Nautical Channel - Nea TV - One Channel - Open Beyond TV - Penthouse Gold - Private TV - RT News - Sirina TV - SKAI - Smile TV - Star Channel - Star Kentrikis Elladas - Stingray CMusic - Stingray IConcerts - Vergina TV - VH1 Europe - Viasat Explore - Viasat History - Viasat Nature - Village Cinemas HD - - + + 4E + Action 24 + Aigaio TV + Alarabiya + Aljazeera + Alpha TV + Ant1 + Baby TV + BBC Earth HD + BBC World News + Bloomberg TV + Blue Hustler + Body in Balance + CBS Reality + CNBC + CNN + Cosmote Cinema 1 + Cosmote Cinema 2 + Cosmote Cinema 3 + Cosmote History + Cosmote Series + Cosmote Series Marathon + Cosmote Sport 1 + Cosmote Sport 2 + Cosmote Sport 3 + Cosmote Sport 4 + Cosmote Sport 5 + Cosmote Sport 6 + Cosmote Sport 7 + Cosmote Sport 8 + Cosmote Sport 9 + Cosmote Sport Highlights + Crime + Investigation + Disney Channel Middle East + DW + Edge Sport HD + E! HD + Ena Channel + Epsilon TV + ERT 1 + ERT 2 + ERT 3 + ERT World + EuroNews English + EuroNews + FashionTV + Fox HD + Fox Life HD + France 24 English + France 24 Français + Ginx eSports TV + Vouli TV + Hustler HD + Kriti TV + Luxe TV HD + Mad TV + Mad Viral + Makedonia TV + Mega TV HD + Mezzo Live HD + Motorvision TV HD + MTV Global + MTV Live HD + National Geographic + National Geographic Wild HD + Nautical Channel + Nea TV + One Channel + Open Beyond TV + Penthouse Gold + Private TV + RT News + Sirina TV + SKAI + Smile TV + Star Channel + Star Kentrikis Elladas + Stingray CMusic + Stingray IConcerts + Vergina TV + VH1 Europe + Viasat Explore + Viasat History + Viasat Nature + Village Cinemas HD + diff --git a/sites/cosmote.gr/cosmote.gr.config.js b/sites/cosmote.gr/cosmote.gr.config.js index 829f2eab..29ce29c4 100644 --- a/sites/cosmote.gr/cosmote.gr.config.js +++ b/sites/cosmote.gr/cosmote.gr.config.js @@ -4,9 +4,6 @@ const { DateTime } = require('luxon') module.exports = { site: 'cosmote.gr', days: 2, - request: { - timeout: 30000 // 30 seconds - }, url: function ({ date, channel }) { return `https://www.cosmotetv.gr/portal/residential/program/epg/programchannel?p_p_id=channelprogram_WAR_OTETVportlet&p_p_lifecycle=0&_channelprogram_WAR_OTETVportlet_platform=IPTV&_channelprogram_WAR_OTETVportlet_date=${date.format( 'DD-MM-YYYY' @@ -55,7 +52,7 @@ function parseCategory($item) { .end() .text() .trim() - const [_, category] = typeString.match(/\| (.*)/) || [null, null] + const [, category] = typeString.match(/\| (.*)/) || [null, null] return category } diff --git a/sites/cosmote.gr/cosmote.gr.test.js b/sites/cosmote.gr/cosmote.gr.test.js index 882d6b7a..5b818650 100644 --- a/sites/cosmote.gr/cosmote.gr.test.js +++ b/sites/cosmote.gr/cosmote.gr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/cosmote.gr/cosmote.gr.config.js --channels=sites/cosmote.gr/cosmote.gr.channels.xml --output=guide.xml +// npm run grab -- --site=cosmote.gr const { parser, url } = require('./cosmote.gr.config.js') const fs = require('fs') @@ -35,14 +35,14 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-06-07T20:30:00.000Z', stop: '2023-06-07T21:45:00.000Z', - title: `Τηλεφημερίδα`, + title: 'Τηλεφημερίδα', category: 'Εκπομπή - Μαγκαζίνο' }) expect(results[30]).toMatchObject({ start: '2023-06-08T19:45:00.000Z', stop: '2023-06-08T20:30:00.000Z', - title: `Μικρό Απόδειπνο`, + title: 'Μικρό Απόδειπνο', category: 'Special' }) }) @@ -58,14 +58,14 @@ it('can parse response when the guide starting before midnight', () => { expect(results[0]).toMatchObject({ start: '2023-06-07T21:30:00.000Z', stop: '2023-06-07T22:30:00.000Z', - title: `Καλύτερα Αργά`, + title: 'Καλύτερα Αργά', category: 'Ψυχαγωγική Εκπομπή' }) expect(results[22]).toMatchObject({ start: '2023-06-08T19:00:00.000Z', stop: '2023-06-08T21:30:00.000Z', - title: `Πίσω Από Τις Γραμμές`, + title: 'Πίσω Από Τις Γραμμές', category: 'Εκπομπή - Μαγκαζίνο' }) }) @@ -73,7 +73,7 @@ it('can parse response when the guide starting before midnight', () => { it('can handle empty guide', () => { const result = parser({ date, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/delta.nl/delta.nl.channels.xml b/sites/delta.nl/delta.nl.channels.xml index add393a8..5af0b1e3 100644 --- a/sites/delta.nl/delta.nl.channels.xml +++ b/sites/delta.nl/delta.nl.channels.xml @@ -1,228 +1,226 @@ - - - 100% NL TV - 192 TV - 24 Kitchen - 3sat - AAVISIE - Albrandswaard TV - Aljazeera English - Altena TV - Animal Planet Europe - ARTE Deutsch - Assen TV - AT5 - ATOS TV - Babes TV - Baby TV Europe - BBC Entertainment Europe - BBC First Nederland - BBC One - BBC Two - BBC World News Europe - Beek TV - Bloomberg TV Europe - Boomerang Central & Eastern Europe - BR6 TV - Brazzers TV Europe - BredaNu TV - Canvas - Cartoon Network Nederland - Castricum TV - - Centraal TV - CGTN - CNN International Europe - Comedy Central Extra UK - Comedy Central Nederland - Crime + Investigation UK - Das Erste - Delta TV - Den Haag TV - Discovery Channel Nederland - Discovery Science - Disney Channel Nederland - DRTV - DTV Oss & Bernheze - Dusk - Één - E! Europe - ESPN 2 Nederland - ESPN 3 Nederland - ESPN Nederland - EuroNews English - Eurosport 1 - Eurosport 2 - Extreme Sports Channel - Family 7 - FashionTV Europe - Feel Good TV - Film 1 Action - Film 1 Drama - Film 1 Family - Film 1 Premiere - FilmBox Nederland - Fox NL - France 2 - France 24 Français - France 3 - Gemeente Westland TV - GL8 - GO-TV - Gouwestad TV - History Benelux - Hofstreek TV - HOi TV - Horse & Country TV - Hustler TV Europe - Ideaal TV - Ijsselmond TV - Insight TV - Investigation Discovery Europe - JenZ - Kabel Eins Deutschland - Ketnet - KIKA - Kontakt TV - L1 TV - Lansingerland TV - Loco TV - LOE TV - LOK TV - LON TV - LOS TV - Meiden van Holland Hard - Meppel TV - Mezzo - ML5 TV - MLA TV - MTV 00s - MTV 80s - MTV Hits Europe - MTV Live HD - MTV NL - National Geographic Nederland - National Geographic Wild Europe - Nautical Channel - NDR Fernsehen Hamburg - Net 5 - NHK World Japan - NH TV - Nickelodeon - Nick Jr - NickMusic - Nicktoons - NOOS TV - NPO 1 - NPO 1 Extra - NPO 2 - NPO 2 Extra - NPO 3 - NPO Nieuws - NPO Politiek - NPO Zappelin Extra - N-TV - Omroep Brabant TV - Omroep Flevoland TV - Omroep Hulst TV - Omroep Meierijstad TV - Omroep Tilburg TV - Omroep Venlo TV - Omroep Zeeland TV - Omrop Fryslân TV - ONS - Ons West Brabant TV - OPEN Rotterdam TV - Out TV - Passie XXX - Pebble TV - Phoenix CNE - Playboy TV Europe - P&M TV - ProSieben Deutschland - Pure Babes - Radio Aalsmeer TV - Rai 1 - Regio8 TV - Regio90 TV - RN7 - Ronde Venen TV - RTBF La Une - RTL 4 - RTL 5 - RTL 7 - RTL 8 - RTL Crime Nederland - RTL Deutschland - RTL Lounge - RTL Telekids - RTL Z - RTV 1 - RTV Arnhem TV - RTV Focus TV - RTV Horizon - RTV Oost - RTV Purmerend - RTV Rijnstreek TV - RTV Scheldemond - RTV Slingeland - RTV SLOS - RTV Utrecht - RTV Veluwezoom TV - Samen1 TV - Sat. 1 Deutschland - SBS 6 - SBS 9 - Schie TV - Schlager TV - Shorts TV - Siris TV - Slam! - SLOGO TV - SLOS TV - Slotstad TV - Spike Nederland - Stingray Classica - Stingray Djazz - Stingray IConcerts - Stingray Lite TV - StreekTV - Studio Alphen TV - SWR Fernsehen Baden-Württemberg - Tholen TV - Tipik - TLC Nederland - Trace Sport Stars - Trace Urban - TRT Türk - TV 538 - TV5Monde Europe - TV Berghem - TV Drenthe - TVE Internacional Europa - TV Gelderland - TV Krimpenerwaard - TV Noord - TV Nunspeet - TV Oranje - TV Rijnmond - TV Stichtse Vecht - TV West - Twente TV - Vechtdal TV - - Vox Deutschland - WDR Fernsehen Köln - WOS - ZDF - Ziggo Sport Docu - Ziggo Sport Golf - Ziggo Sport Racing - Ziggo Sport Select - Ziggo Sport Tennis - Ziggo Sport Voetbal - ZuidWest TV - ZVT-AVS - - + + + + Das Erste + Aljazeera English + Babes TV + BBC World News Europe + Bloomberg TV Europe + Brazzers TV Europe + CGTN + CNN International Europe + EuroNews English + Extreme Sports Channel + FashionTV Europe + MTV 00s + MTV 80s + MTV Live HD + Nautical Channel + NHK World Japan + Playboy TV Europe + Shorts TV + Trace Sport Stars + Trace Urban + France 24 Français + France 3 + RTBF La Une + 100% NL TV + 192 TV + 24 Kitchen + 3sat + AAVISIE + Albrandswaard TV + Altena TV + Animal Planet Europe + ARTE Deutsch + Assen TV + AT5 + ATOS TV + Baby TV Europe + BBC Entertainment Europe + BBC First Nederland + BBC One + BBC Two + Beek TV + Boomerang Central & Eastern Europe + BR6 TV + BredaNu TV + Canvas + Cartoon Network Nederland + Castricum TV + Centraal TV + Comedy Central Extra UK + Comedy Central Nederland + Crime + Investigation UK + Delta TV + Den Haag TV + Discovery Channel Nederland + Discovery Science + Disney Channel Nederland + DRTV + DTV Oss & Bernheze + Dusk + Één + E! Europe + ESPN 2 Nederland + ESPN 3 Nederland + ESPN Nederland + Eurosport 1 + Eurosport 2 + Family 7 + Feel Good TV + Film 1 Action + Film 1 Drama + Film 1 Family + Film 1 Premiere + FilmBox Nederland + Fox NL + France 2 + Gemeente Westland TV + GL8 + GO-TV + Gouwestad TV + History Benelux + Hofstreek TV + HOi TV + Horse & Country TV + Hustler TV Europe + Ideaal TV + Ijsselmond TV + Insight TV + Investigation Discovery Europe + JenZ + Kabel Eins Deutschland + Ketnet + KIKA + Kontakt TV + L1 TV + Lansingerland TV + Loco TV + LOE TV + LOK TV + LON TV + LOS TV + Meiden van Holland Hard + Meppel TV + Mezzo + ML5 TV + MLA TV + MTV Hits Europe + MTV NL + National Geographic Nederland + National Geographic Wild Europe + NDR Fernsehen Hamburg + Net 5 + NH TV + Nickelodeon + Nick Jr + NickMusic + Nicktoons + NOOS TV + NPO 1 + NPO 1 Extra + NPO 2 + NPO 2 Extra + NPO 3 + NPO Nieuws + NPO Politiek + NPO Zappelin Extra + N-TV + Omroep Brabant TV + Omroep Flevoland TV + Omroep Hulst TV + Omroep Meierijstad TV + Ons West Brabant TV + Omroep Tilburg TV + Omroep Venlo TV + Omroep Zeeland TV + Omrop Fryslân TV + ONS + OPEN Rotterdam TV + Out TV + Passie XXX + Pebble TV + Phoenix CNE + P&M TV + ProSieben Deutschland + Pure Babes + Radio Aalsmeer TV + Rai 1 + Regio8 TV + Regio90 TV + RN7 + Ronde Venen TV + RTL 4 + RTL 5 + RTL 7 + RTL 8 + RTL Crime Nederland + RTL Deutschland + RTL Lounge + RTL Telekids + RTL Z + RTV 1 + RTV Arnhem TV + TV Drenthe + RTV Focus TV + RTV Horizon + RTV Oost + RTV Purmerend + RTV Rijnstreek TV + RTV Scheldemond + RTV Slingeland + RTV SLOS + RTV Utrecht + RTV Veluwezoom TV + Samen1 TV + Sat. 1 Deutschland + SBS 6 + SBS 9 + Schie TV + Schlager TV + Siris TV + Slam! + SLOGO TV + SLOS TV + Slotstad TV + Spike Nederland + Stingray Classica + Stingray Djazz + Stingray IConcerts + Stingray Lite TV + StreekTV + Studio Alphen TV + SWR Fernsehen Baden-Württemberg + Tholen TV + Tipik + TLC Nederland + TRT Türk + TV 538 + TV5Monde Europe + TV Berghem + TVE Internacional Europa + TV Gelderland + TV Krimpenerwaard + TV Noord + TV Nunspeet + TV Oranje + TV Rijnmond + TV Stichtse Vecht + TV West + Twente TV + Vechtdal TV + Vox Deutschland + WDR Fernsehen Köln + WOS + ZDF + Ziggo Sport Docu + Ziggo Sport Golf + Ziggo Sport Racing + Ziggo Sport Select + Ziggo Sport Tennis + Ziggo Sport Voetbal + ZuidWest TV + ZVT-AVS + diff --git a/sites/delta.nl/delta.nl.test.js b/sites/delta.nl/delta.nl.test.js index 95fe631e..c4a49af9 100644 --- a/sites/delta.nl/delta.nl.test.js +++ b/sites/delta.nl/delta.nl.test.js @@ -1,7 +1,7 @@ -// npm run channels:parse --config=./sites/delta.nl/delta.nl.config.js --output=./sites/delta.nl/delta.nl.channels.xml -// npx epg-grabber --config=sites/delta.nl/delta.nl.config.js --channels=sites/delta.nl/delta.nl.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/delta.nl/delta.nl.config.js --output=./sites/delta.nl/delta.nl.channels.xml +// npm run grab -- --site=delta.nl -const { parser, url, request } = require('./delta.nl.config.js') +const { parser, url } = require('./delta.nl.config.js') const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') @@ -27,12 +27,13 @@ it('can parse response', done => { axios.get.mockImplementation(() => Promise.resolve({ data: JSON.parse( - `{"ID":"P~945cb98e-3d19-11ec-8456-953363d7a344","seriesID":"S~d37c4626-b691-11ea-ba69-255835135f02","channelID":"1","start":1636674960,"end":1636676520,"catchupAvailableUntil":1637279760,"title":"Eigen Huis & Tuin: Lekker Leven","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.","images":{"thumbnail":{"url":"https://cdn.gvidi.tv/img/booxmedia/b291/561946.jpg"}},"additionalInformation":{"metadataID":"M~c512c206-95e5-11ec-87d8-494f70130311","externalMetadataID":"E~RTL4-89d99356_6599_4b65_a7a0_a93f39019645"},"parentalGuidance":{"kijkwijzer":["AL"]},"restrictions":{"startoverDisabled":false,"catchupDisabled":false,"recordingDisabled":false},"isFiller":false}` + '{"ID":"P~945cb98e-3d19-11ec-8456-953363d7a344","seriesID":"S~d37c4626-b691-11ea-ba69-255835135f02","channelID":"1","start":1636674960,"end":1636676520,"catchupAvailableUntil":1637279760,"title":"Eigen Huis & Tuin: Lekker Leven","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.","images":{"thumbnail":{"url":"https://cdn.gvidi.tv/img/booxmedia/b291/561946.jpg"}},"additionalInformation":{"metadataID":"M~c512c206-95e5-11ec-87d8-494f70130311","externalMetadataID":"E~RTL4-89d99356_6599_4b65_a7a0_a93f39019645"},"parentalGuidance":{"kijkwijzer":["AL"]},"restrictions":{"startoverDisabled":false,"catchupDisabled":false,"recordingDisabled":false},"isFiller":false}' ) }) ) - const content = `{"1":[{"ID":"P~945cb98e-3d19-11ec-8456-953363d7a344","seriesID":"S~d37c4626-b691-11ea-ba69-255835135f02","channelID":"1","start":1636674960,"end":1636676520,"catchupAvailableUntil":1637279760,"title":"NOS Journaal","images":{"thumbnail":{"url":"https://cdn.gvidi.tv/img/booxmedia/e19c/static/NOS%20Journaal5.jpg"}},"additionalInformation":{"metadataID":"M~944f3c6e-3d19-11ec-9faf-2735f2e98d2a","externalMetadataID":"E~TV01-2026117420668"},"parentalGuidance":{"kijkwijzer":["AL"]},"restrictions":{"startoverDisabled":false,"catchupDisabled":false,"recordingDisabled":false},"isFiller":false}]}` + const content = + '{"1":[{"ID":"P~945cb98e-3d19-11ec-8456-953363d7a344","seriesID":"S~d37c4626-b691-11ea-ba69-255835135f02","channelID":"1","start":1636674960,"end":1636676520,"catchupAvailableUntil":1637279760,"title":"NOS Journaal","images":{"thumbnail":{"url":"https://cdn.gvidi.tv/img/booxmedia/e19c/static/NOS%20Journaal5.jpg"}},"additionalInformation":{"metadataID":"M~944f3c6e-3d19-11ec-9faf-2735f2e98d2a","externalMetadataID":"E~TV01-2026117420668"},"parentalGuidance":{"kijkwijzer":["AL"]},"restrictions":{"startoverDisabled":false,"catchupDisabled":false,"recordingDisabled":false},"isFiller":false}]}' parser({ date, channel, content }) .then(result => { @@ -57,7 +58,7 @@ it('can handle empty guide', done => { parser({ date, channel, - content: `{"code":500,"message":"Error retrieving guide"}` + content: '{"code":500,"message":"Error retrieving guide"}' }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/digiturk.com.tr/digiturk.com.tr.channels.xml b/sites/digiturk.com.tr/digiturk.com.tr.channels.xml index 568a9799..0954f4a5 100644 --- a/sites/digiturk.com.tr/digiturk.com.tr.channels.xml +++ b/sites/digiturk.com.tr/digiturk.com.tr.channels.xml @@ -1,135 +1,133 @@ - - - 360 HD - - A Haber HD - A News HD - A Para HD - A Spor HD - A2 HD - AL JAZEERA ENGLISH HD - Al Quran Al Kareem TV HD - Al Sunnah Al Nabawiyah TV HD - - ATV - - Baby TV - BBC EARTH HD - BBC Entertainment - BBC First - BBC World News HD - - beIN BOX OFFICE 1 - beIN GURME - beIN HOME & ENTERTAINMENT - beIN İZ HD - beIN MOVIES ACTION - beIN MOVIES ACTION 2 - beIN MOVIES FAMILY - beIN MOVIES PREMIERE - beIN MOVIES PREMIERE 2 - beIN MOVIES STARS - beIN MOVIES TURK - beIN SERIES COMEDY - beIN SERIES DRAMA - beIN SERIES SCI-FI - beIN SERIES VICE - beIN SPORTS 1 - beIN SPORTS 2 - beIN SPORTS 3 - beIN SPORTS 4 - beIN SPORTS 5 - beIN SPORTS HABER - beIN SPORTS MAX HD 1 - beIN SPORTS MAX HD 2 - BEYAZ TV HD - BLOOMBERG HD - Bloomberg HT HD - BOOMERANG HD - Cartoon Network - CBEEBIES HD - CGTN DOCUMENTARY HD - CGTN HD - CNN INTERNATIONAL - CNN TÜRK HD - Da Vinci - Digiturk 4K - Discovery Channel HD - Discovery Science HD - Disney Junior - Diyanet TV HD - DMAX HD - EKOTÜRK TV HD - EURONEWS - Eurosport 1 HD - Eurosport 2 HD - Fashion TV HD - FB TV HD - Flash Haber TV - FOX HD - France 24 HD - GS TV HD - HABER GLOBAL HD - HABERTURK HD - Halk TV - - - - KANAL 7 HD - Kanal D HD - - - KRT TV HD - - MCM Top HD - Mezzo HD - MinikaGO - MTV 00s - MTV Hits - MTV Live HD - Nat Geo Wild HD - National Geographic HD - Nick Jr. - Nickelodeon HD - NTV HD - - RAI UNO - - Show TV HD - - Star TV HD - - - TELE 1 HD - Teve2 HD - TGRT Haber HD - TJK TV - TLC HD - TRT 1 HD - TRT 2 HD - TRT 3 - TRT Spor - TRT Arabi - TRT AVAZ - TRT Belgesel HD - TRT Çocuk - TRT EBATV İLKOKUL HD - TRT EBATV LİSE HD - TRT EBATV ORTAOKUL HD - TRT Haber HD - TRT Kurdi - TRT Müzik - TRT SPOR HD - TRT SPOR YILDIZ - TRT TURK - TRT World HD - TV 100 HD - TV5 Monde Europe - TV8 HD - TVNET HD - Ülke TV HD - ULUSAL TV - VAV TV - Yaban TV - - \ No newline at end of file + + + + + + + + + + + + + + + + + AL JAZEERA ENGLISH HD + Baby TV + BBC Entertainment + BBC World News HD + BLOOMBERG HD + CGTN HD + CGTN DOCUMENTARY HD + CNN INTERNATIONAL + EURONEWS + Fashion TV HD + France 24 HD + TV5 Monde Europe + 360 HD + A2 HD + A Haber HD + Al Quran Al Kareem TV HD + Al Sunnah Al Nabawiyah TV HD + A News HD + A Para HD + A Spor HD + ATV + BBC EARTH HD + BBC First + beIN BOX OFFICE 1 + beIN GURME + beIN HOME & ENTERTAINMENT + beIN İZ HD + beIN MOVIES PREMIERE + beIN MOVIES ACTION + beIN MOVIES FAMILY + beIN MOVIES ACTION 2 + beIN MOVIES PREMIERE 2 + beIN MOVIES STARS + beIN MOVIES TURK + beIN SERIES COMEDY + beIN SERIES DRAMA + beIN SERIES SCI-FI + beIN SERIES VICE + beIN SPORTS 1 + beIN SPORTS 2 + beIN SPORTS 3 + beIN SPORTS 4 + beIN SPORTS 5 + beIN SPORTS HABER + beIN SPORTS MAX HD 1 + beIN SPORTS MAX HD 2 + BEYAZ TV HD + Bloomberg HT HD + BOOMERANG HD + Cartoon Network + CBEEBIES HD + CNN TÜRK HD + Da Vinci + Digiturk 4K + Discovery Channel HD + Discovery Science HD + Disney Junior + Diyanet TV HD + DMAX HD + EKOTÜRK TV HD + Eurosport 1 HD + Eurosport 2 HD + FB TV HD + Flash Haber TV + FOX HD + GS TV HD + HABER GLOBAL HD + HABERTURK HD + Halk TV + KANAL 7 HD + Kanal D HD + KRT TV HD + MCM Top HD + Mezzo HD + MinikaGO + MTV 00s + MTV Hits + MTV Live HD + Nat Geo Wild HD + National Geographic HD + Nickelodeon HD + Nick Jr. + NTV HD + RAI UNO + Show TV HD + Star TV HD + TELE 1 HD + Teve2 HD + TGRT Haber HD + TJK TV + TLC HD + TRT 1 HD + TRT 2 HD + TRT 3 - TRT Spor + TRT Arabi + TRT AVAZ + TRT Belgesel HD + TRT Çocuk + TRT EBATV İLKOKUL HD + TRT EBATV LİSE HD + TRT EBATV ORTAOKUL HD + TRT Haber HD + TRT Kurdi + TRT Müzik + TRT SPOR HD + TRT SPOR YILDIZ + TRT TURK + TRT World HD + TV 100 HD + TV8 HD + TVNET HD + Ülke TV HD + ULUSAL TV + VAV TV + Yaban TV + \ No newline at end of file diff --git a/sites/digiturk.com.tr/digiturk.com.tr.config.js b/sites/digiturk.com.tr/digiturk.com.tr.config.js index 253ad5dc..670fb569 100644 --- a/sites/digiturk.com.tr/digiturk.com.tr.config.js +++ b/sites/digiturk.com.tr/digiturk.com.tr.config.js @@ -32,7 +32,9 @@ module.exports = { site: 'digiturk.com.tr', days: 2, url: function ({ date, channel }) { - return `https://www.digiturk.com.tr/_Ajax/getBroadcast.aspx?channelNo=${channel.site_id}&date=${date.format('DD.MM.YYYY')}&tomorrow=false&primetime=false` + return `https://www.digiturk.com.tr/_Ajax/getBroadcast.aspx?channelNo=${ + channel.site_id + }&date=${date.format('DD.MM.YYYY')}&tomorrow=false&primetime=false` }, request: { method: 'GET', @@ -48,7 +50,7 @@ module.exports = { title: item.PName, // description: item.LongDescription, // category: parseCategory(item), - start :parseTime(item.PStartTime), + start: parseTime(item.PStartTime), stop: parseTime(item.PEndTime) }) }) @@ -59,8 +61,7 @@ module.exports = { } } - -function parseTime(time){ +function parseTime(time) { let timestamp = parseInt(time.replace('/Date(', '').replace('+0300)/', '')) return dayjs(timestamp) } @@ -72,5 +73,5 @@ function parseTime(time){ function parseItems(content) { if (!content) return [] const data = JSON.parse(content) - return (data && data.BChannels && data.BChannels[0].CPrograms) ? data.BChannels[0].CPrograms : [] + return data && data.BChannels && data.BChannels[0].CPrograms ? data.BChannels[0].CPrograms : [] } diff --git a/sites/digiturk.com.tr/digiturk.com.tr.test.js b/sites/digiturk.com.tr/digiturk.com.tr.test.js index 70329ac6..61f6c06f 100644 --- a/sites/digiturk.com.tr/digiturk.com.tr.test.js +++ b/sites/digiturk.com.tr/digiturk.com.tr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/digiturk.com.tr/digiturk.com.tr.config.js --channels=sites/digiturk.com.tr/digiturk.com.tr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=digiturk.com.tr const { parser, url } = require('./digiturk.com.tr.config.js') const fs = require('fs') @@ -17,7 +17,9 @@ const channel = { it('can generate valid url', () => { const result = url({ date, channel }) - expect(result).toBe('https://www.digiturk.com.tr/_Ajax/getBroadcast.aspx?channelNo=14&date=19.01.2023&tomorrow=false&primetime=false') + expect(result).toBe( + 'https://www.digiturk.com.tr/_Ajax/getBroadcast.aspx?channelNo=14&date=19.01.2023&tomorrow=false&primetime=false' + ) }) it('can parse response', () => { @@ -42,6 +44,6 @@ it('can parse response', () => { }) it('can handle empty guide', () => { - const result = parser({ content: `` }) + const result = parser({ content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/directv.com.ar/directv.com.ar.channels.xml b/sites/directv.com.ar/directv.com.ar.channels.xml index 57b3a5da..20366efc 100644 --- a/sites/directv.com.ar/directv.com.ar.channels.xml +++ b/sites/directv.com.ar/directv.com.ar.channels.xml @@ -1,418 +1,416 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 24 Horas - A24 - A&E - AMC - América TV (ARG) - Animal Planet - Antena 3 Internacional - A3Cine HD - Atres Series - AXN - Baby TV HD - BBC World News - Bloomberg Television - Bravo TV - C5N Canal 5 Noticias (ARG) - Cable Noticias de Colombia - Canal 26 (ARG). - Televisión Pública Pampeana - EL TRES Rosario - Canal 7 de Jujuy - CANAL 9 - Canal A HD - Canal de la ciudad - Canal LUZ (ARG) - Canal 21 (ARG) - Canal Rural - Caracol Internacional - Cartoonito - Cartoon Network (Sur) - CGTN-Español - CINE.AR (ARG) - Cinecanal (ARG) - Cinelatino - Cinemax Sur - Magazine - CNN Chile - CNN en español - CNN International - Comedy Central - Crónica TV (ARG) - De Película - DeporTV - DHE - DSPORTS 2 - DSPORTS (ARG) - DSPORTS Fight - DSPORTS + - Discovery Channel (Sur) - Discovery Home & Health - Discovery Kids (Sur) - Discovery Theater HD - Discovery Turbo - Discovery World HD - Disney Channel (Sur) - Disney Junior Sur - DNews - Deutsche Welle - El Doce CANAL 12 DE CORDOBA - El Gourmet - Canal 9 (ARG) - EL SIETE - El Tiempo - El Trece (ARG) - Encuentro (ARG) - Encuentro Internacional - Enlace - E! Entertainment - ESPN 2 Latin Sur - ESPN 3 Sur - ESPN Argentina SD - ESPN Extra HD - ESPN Premium (SD) - Europa Europa HD - Eternal Word TV Network - Film & Arts - Food Network - FOX Sports 2 Argentina - FOX Sports 2 - FOX Sports 3 Argentina - FX - Glitz - Golden Edge - Golden TV - Golden HD - Golf Channel - HBO2 - HBO Family (Este) - HBO (Este) - HBO Mundi - HBO Plus (Este) - HBO Pop - HBO Signature - HBO Xtreme - Home & Garden TV HD - History 2 - History (Sur) - Hola TV - HTV - HustlerTV - Investigation Discovery - I-SAT - IVC Internacional - La Nacion + - Canal de las Estrellas - Lifetime - MÁS CHIC - MLB Extra Innings - MLB Extra Innings 2 - MTV Latino - Music Top HD - National Geographic (Sur) - NBA TV HD - NET TV (ARG) - NHK World TV - Nickelodeon - NICK JR - NTN 24 - Nuestra Tele noticias 24HS - OnDIRECTV (Sur) - PAKA PAKA (ARG) - Paramount Network - Pasiones - Playboy TV - PX Sports HD - Quiero Música en mi Idioma - RAI International - RCN Nuestra Tele - RTP Internacional - Sony Movies - Space (Sur) - STAR Channel - Studio Universal - SyFy - TBS Very Funny - Turner Classic Movies - Telediario Television - Telefe (ARG) - Canal 5 de Rosario - Telemax - Telemundo Internacional - Tierra Mia HD - TLC - Travel & Living Channel - TLNovelas - TN Todo Noticias - TNT Series - TNT (SUR) - TNT Sports - TRUTV - TV Chile - Tv Ciudad - TV Cortos HD - Globo Internacional - TV Perú - TV Perú Noticias HD - La TV Pública (ARG) - TyC Sports - Universal Cinema - Universal Comedy - Universal Crime Este - UNIVERSAL Cinema West - Universal Premiere Este - Universal Premiere Oeste - Universal Reality - Universal - Univision - Venus - VePLUS HD - Volver - VTV PLUS - Warner Channel - Warner Channel HD - ZEE TV - ZooMoo - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 24 Horas + A24 + A&E + AMC + América TV (ARG) + Animal Planet + Antena 3 Internacional + A3Cine HD + Atres Series + AXN + Baby TV HD + BBC World News + Bloomberg Television + Bravo TV + C5N Canal 5 Noticias (ARG) + Cable Noticias de Colombia + Canal 26 (ARG). + Televisión Pública Pampeana + EL TRES Rosario + Canal 7 de Jujuy + CANAL 9 + Canal A HD + Canal de la ciudad + Canal LUZ (ARG) + Canal 21 (ARG) + Canal Rural + Caracol Internacional + Cartoonito + Cartoon Network (Sur) + CGTN-Español + CINE.AR (ARG) + Cinecanal (ARG) + Cinelatino + Cinemax Sur + Magazine + CNN Chile + CNN en español + CNN International + Comedy Central + Crónica TV (ARG) + De Película + DeporTV + DHE + DSPORTS 2 + DSPORTS (ARG) + DSPORTS Fight + DSPORTS + + Discovery Channel (Sur) + Discovery Home & Health + Discovery Kids (Sur) + Discovery Theater HD + Discovery Turbo + Discovery World HD + Disney Channel (Sur) + Disney Junior Sur + DNews + Deutsche Welle + El Doce CANAL 12 DE CORDOBA + El Gourmet + Canal 9 (ARG) + EL SIETE + El Tiempo + El Trece (ARG) + Encuentro (ARG) + Encuentro Internacional + Enlace + E! Entertainment + ESPN 2 Latin Sur + ESPN 3 Sur + ESPN Argentina SD + ESPN Extra HD + ESPN Premium (SD) + Europa Europa HD + Eternal Word TV Network + Film & Arts + Food Network + FOX Sports 2 Argentina + FOX Sports 2 + FOX Sports 3 Argentina + FX + Glitz + Golden Edge + Golden TV + Golden HD + Golf Channel + HBO2 + HBO Family (Este) + HBO (Este) + HBO Mundi + HBO Plus (Este) + HBO Pop + HBO Signature + HBO Xtreme + Home & Garden TV HD + History 2 + History (Sur) + Hola TV + HTV + HustlerTV + Investigation Discovery + I-SAT + IVC Internacional + La Nacion + + Canal de las Estrellas + Lifetime + MÁS CHIC + MLB Extra Innings + MLB Extra Innings 2 + MTV Latino + Music Top HD + National Geographic (Sur) + NBA TV HD + NET TV (ARG) + NHK World TV + Nickelodeon + NICK JR + NTN 24 - Nuestra Tele noticias 24HS + OnDIRECTV (Sur) + PAKA PAKA (ARG) + Paramount Network + Pasiones + Playboy TV + PX Sports HD + Quiero Música en mi Idioma + RAI International + RCN Nuestra Tele + RTP Internacional + Sony Movies + Space (Sur) + STAR Channel + Studio Universal + SyFy + TBS Very Funny + Turner Classic Movies + Telediario Television + Telefe (ARG) + Canal 5 de Rosario + Telemax + Telemundo Internacional + Tierra Mia HD + TLC - Travel & Living Channel + TLNovelas + TN Todo Noticias + TNT Series + TNT (SUR) + TNT Sports + TRUTV + TV Chile + Tv Ciudad + TV Cortos HD + Globo Internacional + TV Perú + TV Perú Noticias HD + La TV Pública (ARG) + TyC Sports + Universal Cinema + Universal Comedy + Universal Crime Este + UNIVERSAL Cinema West + Universal Premiere Este + Universal Premiere Oeste + Universal Reality + Universal + Univision + Venus + VePLUS HD + Volver + VTV PLUS + Warner Channel + Warner Channel HD + ZEE TV + ZooMoo + diff --git a/sites/directv.com.ar/directv.com.ar.config.js b/sites/directv.com.ar/directv.com.ar.config.js index 380d4f60..9918e291 100644 --- a/sites/directv.com.ar/directv.com.ar.config.js +++ b/sites/directv.com.ar/directv.com.ar.config.js @@ -1,5 +1,4 @@ process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = 0 -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const timezone = require('dayjs/plugin/timezone') @@ -12,21 +11,22 @@ dayjs.extend(customParseFormat) module.exports = { site: 'directv.com.ar', days: 2, - url: `https://www.directv.com.ar/guia/ChannelDetail.aspx/GetProgramming`, + url: 'https://www.directv.com.ar/guia/ChannelDetail.aspx/GetProgramming', request: { method: 'POST', headers: { - 'Cookie': 'PGCSS=16; PGLang=S; PGCulture=es-AR;', - 'Accept': '*/*', + Cookie: 'PGCSS=16; PGLang=S; PGCulture=es-AR;', + Accept: '*/*', 'Accept-Language': 'es-419,es;q=0.9', - 'Connection': 'keep-alive', + Connection: 'keep-alive', 'Content-Type': 'application/json; charset=UTF-8', - 'Origin': 'https://www.directv.com.ar', - 'Referer': 'https://www.directv.com.ar/guia/ChannelDetail.aspx?id=1740&name=TLCHD', + Origin: 'https://www.directv.com.ar', + Referer: 'https://www.directv.com.ar/guia/ChannelDetail.aspx?id=1740&name=TLCHD', 'Sec-Fetch-Dest': 'empty', 'Sec-Fetch-Mode': 'cors', 'Sec-Fetch-Site': 'same-origin', - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36', 'sec-ch-ua': '"Not.A/Brand";v="8", "Chromium";v="114", "Google Chrome";v="114"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"' diff --git a/sites/directv.com.ar/directv.com.ar.test.js b/sites/directv.com.ar/directv.com.ar.test.js index aea46225..95aa923b 100644 --- a/sites/directv.com.ar/directv.com.ar.test.js +++ b/sites/directv.com.ar/directv.com.ar.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/directv.com.ar/directv.com.ar.config.js --channels=sites/directv.com.ar/directv.com.ar.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=directv.com.ar const { parser, url, request } = require('./directv.com.ar.config.js') const dayjs = require('dayjs') @@ -47,7 +47,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `{"d":[{"ChannelSection":"","ChannelFullName":"A&E HD","IsFavorite":false,"ChannelName":"A&EHD","ChannelNumber":207,"ProgramList":[{"_channelSection":"","eventId":"120289890767","titleId":"SH0110397700000001","title":"Chicas guapas","programId":null,"description":"Un espacio destinado a la belleza y los distintos estilos de vida, que muestra el trabajo inspiracional de la moda latinoamericana.","episodeTitle":null,"channelNumber":120,"channelName":"AME2","channelFullName":"América TV (ARG)","channelSection":"","contentChannelID":120,"startTime":"/Date(-62135578800000)/","endTime":"/Date(-62135578800000)/","GMTstartTime":"/Date(-62135578800000)/","GMTendTime":"/Date(-62135578800000)/","css":16,"language":null,"tmsId":"SH0110397700000001","rating":"NR","categoryId":"Tipos de Programas","categoryName":0,"subCategoryId":0,"subCategoryName":"Series","serviceExpiration":"/Date(-62135578800000)/","crId":null,"promoUrl1":null,"promoUrl2":null,"price":0,"isPurchasable":"N","videoUrl":"","imageUrl":"https://dnqt2wx2urq99.cloudfront.net/ondirectv/LOGOS/Canales/AR/120.png","titleSecond":"Chicas guapas","isHD":"N","DetailsURL":null,"BuyURL":null,"ProgramServiceId":null,"SearchDateTime":null,"startTimeString":"6/19/2022 12:00:00 AM","endTimeString":"6/19/2022 12:15:00 AM","DurationInMinutes":null,"castDetails":null,"scheduleDetails":null,"seriesDetails":null,"processedSeasonDetails":null}]}]}` + const content = + '{"d":[{"ChannelSection":"","ChannelFullName":"A&E HD","IsFavorite":false,"ChannelName":"A&EHD","ChannelNumber":207,"ProgramList":[{"_channelSection":"","eventId":"120289890767","titleId":"SH0110397700000001","title":"Chicas guapas","programId":null,"description":"Un espacio destinado a la belleza y los distintos estilos de vida, que muestra el trabajo inspiracional de la moda latinoamericana.","episodeTitle":null,"channelNumber":120,"channelName":"AME2","channelFullName":"América TV (ARG)","channelSection":"","contentChannelID":120,"startTime":"/Date(-62135578800000)/","endTime":"/Date(-62135578800000)/","GMTstartTime":"/Date(-62135578800000)/","GMTendTime":"/Date(-62135578800000)/","css":16,"language":null,"tmsId":"SH0110397700000001","rating":"NR","categoryId":"Tipos de Programas","categoryName":0,"subCategoryId":0,"subCategoryName":"Series","serviceExpiration":"/Date(-62135578800000)/","crId":null,"promoUrl1":null,"promoUrl2":null,"price":0,"isPurchasable":"N","videoUrl":"","imageUrl":"https://dnqt2wx2urq99.cloudfront.net/ondirectv/LOGOS/Canales/AR/120.png","titleSecond":"Chicas guapas","isHD":"N","DetailsURL":null,"BuyURL":null,"ProgramServiceId":null,"SearchDateTime":null,"startTimeString":"6/19/2022 12:00:00 AM","endTimeString":"6/19/2022 12:15:00 AM","DurationInMinutes":null,"castDetails":null,"scheduleDetails":null,"seriesDetails":null,"processedSeasonDetails":null}]}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -71,7 +72,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: ``, + content: '', channel }) expect(result).toMatchObject([]) diff --git a/sites/directv.com.uy/directv.com.uy.channels.xml b/sites/directv.com.uy/directv.com.uy.channels.xml index 01869235..94169e9e 100644 --- a/sites/directv.com.uy/directv.com.uy.channels.xml +++ b/sites/directv.com.uy/directv.com.uy.channels.xml @@ -1,148 +1,146 @@ - - - 24 Horas - AMC - Animal Planet - Antena 3 Internacional - A3Cine HD - Atres Series - AXN - Baby TV HD - BBC World News - Bloomberg Television - Canal 4 (URU) - Canal 5 (URU) - Canal 12 (URU) - Canal 10 (URU) - Cable Noticias de Colombia - Canal 26 (ARG). - Canal LUZ (ARG) - Canal 21 (ARG) - Caracol Internacional - Cartoonito - Cartoon Network (Sur) - CGTN-Español - Cinecanal (COL) - Cinelatino - Cinemax Sur - Magazine - CNN Chile - CNN en español - CNN International - Comedy Central - Crónica TV (ARG) - De Película - DHE - DIRECTV Sports 2 - DIRECTV Sports (URU) - DIRECTV Sports Fight - DIRECTV Sports + - Discovery Channel (Sur) - Discovery Kids (Sur) - Discovery Theater HD - Discovery Turbo - Discovery World HD - Disney Channel (Sur) - Disney Junior Sur - Deutsche Welle - El Gourmet - El Tiempo - Encuentro Internacional - Enlace - E! Entertainment - ESPN 2 Sur - ESPN - ESPN Extra HD - Europa Europa HD - Eternal Word TV Network - Food Network - FOX Sports 2 - FOX Sports 3 - FX - Glitz - Golden Edge - Golden TV - Golden HD - Golf Channel - HBO2 - HBO Family (Este) - HBO (Este) - HBO Mundi - HBO Plus (Este) - HBO Pop - HBO Signature - HBO Xtreme - Home & Garden TV HD - History 2 - History (Sur) - Hola TV - HTV - HustlerTV - Investigation Discovery - I-SAT - IVC Internacional - La Nacion + - Canal de las Estrellas - Lifetime - MÁS CHIC - MLB Extra Innings - MLB Extra Innings - MTV Latino - Music Top HD - National Geographic (Sur) - NBA TV HD - NHK World TV - Nickelodeon - NICK JR - NTN 24 - Nuestra Tele noticias 24HS - OnDIRECTV (Sur) - Paramount Network - Pasiones - Playboy TV - PX Sports HD - Quiero Música en mi Idioma - RAI International - RCN Nuestra Tele - RTP Internacional - Smithsonian Channel HD - - Space (Sur) - STAR Channel - Studio Universal - Sun Channel - SyFy - TBS Very Funny - Turner Classic Movies - Telemundo Internacional - Tierra Mia HD - TLC - Travel & Living Channel - TLNovelas - TN Todo Noticias - TNT Series - TNT Latin America - TRUTV - Tv Ciudad (URU) - TV Chile - TV Cortos HD - Globo Internacional - TV Perú - TV Perú Noticias HD - TYC International - Universal Cinema - Universal Comedy - Universal Crime Este - UNIVERSAL Cinema West - Universal Premiere Este - Universal Premiere Oeste - Universal Reality - Universal - Univision - Venus - VTV (URU) - VTV Plus (URU) - Warner Channel - ZEE TV - ZooMoo - - + + + 24 Horas + AMC + Animal Planet + Antena 3 Internacional + A3Cine HD + Atres Series + AXN + Baby TV HD + BBC World News + Bloomberg Television + Cable Noticias de Colombia + Canal 10 (URU) + Canal 26 (ARG). + Canal 4 (URU) + Canal 5 (URU) + Canal LUZ (ARG) + Canal 21 (ARG) + Caracol Internacional + Cartoonito + Cartoon Network (Sur) + CGTN-Español + Cinecanal (COL) + Cinelatino + Cinemax Sur + Magazine + CNN Chile + CNN en español + CNN International + Comedy Central + Crónica TV (ARG) + De Película + DHE + DIRECTV Sports 2 + DIRECTV Sports Fight + DIRECTV Sports + + DIRECTV Sports (URU) + Discovery Channel (Sur) + Discovery Kids (Sur) + Discovery Theater HD + Discovery Turbo + Discovery World HD + Disney Channel (Sur) + Disney Junior Sur + Deutsche Welle + El Gourmet + El Tiempo + Encuentro Internacional + Enlace + E! Entertainment + ESPN 2 Sur + ESPN + ESPN Extra HD + Europa Europa HD + Eternal Word TV Network + Food Network + FOX Sports 2 + FOX Sports 3 + FX + Glitz + Golden Edge + Golden TV + Golden HD + Golf Channel + HBO2 + HBO Family (Este) + HBO (Este) + HBO Mundi + HBO Plus (Este) + HBO Pop + HBO Signature + HBO Xtreme + Home & Garden TV HD + History 2 + History (Sur) + Hola TV + HTV + HustlerTV + Investigation Discovery + I-SAT + IVC Internacional + La Nacion + + Canal de las Estrellas + Lifetime + MÁS CHIC + MLB Extra Innings + MLB Extra Innings + MTV Latino + Music Top HD + National Geographic (Sur) + NBA TV HD + NHK World TV + Nickelodeon + NICK JR + NTN 24 - Nuestra Tele noticias 24HS + OnDIRECTV (Sur) + Paramount Network + Pasiones + Playboy TV + PX Sports HD + Quiero Música en mi Idioma + RAI International + RCN Nuestra Tele + RTP Internacional + Smithsonian Channel HD + Space (Sur) + STAR Channel + Studio Universal + Sun Channel + SyFy + TBS Very Funny + Turner Classic Movies + Canal 12 (URU) + Telemundo Internacional + Tierra Mia HD + TLC - Travel & Living Channel + TLNovelas + TN Todo Noticias + TNT Series + TNT Latin America + TRUTV + TV Chile + Tv Ciudad (URU) + TV Cortos HD + Globo Internacional + TV Perú + TV Perú Noticias HD + TYC International + Universal Cinema + Universal Comedy + Universal Crime Este + UNIVERSAL Cinema West + Universal Premiere Este + Universal Premiere Oeste + Universal Reality + Universal + Univision + Venus + VTV (URU) + VTV Plus (URU) + Warner Channel + ZEE TV + ZooMoo + diff --git a/sites/directv.com.uy/directv.com.uy.config.js b/sites/directv.com.uy/directv.com.uy.config.js index c03263a3..f1a828ac 100644 --- a/sites/directv.com.uy/directv.com.uy.config.js +++ b/sites/directv.com.uy/directv.com.uy.config.js @@ -1,4 +1,3 @@ -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const timezone = require('dayjs/plugin/timezone') @@ -11,7 +10,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'directv.com.uy', days: 2, - url: `https://www.directv.com.uy/guia/ChannelDetail.aspx/GetProgramming`, + url: 'https://www.directv.com.uy/guia/ChannelDetail.aspx/GetProgramming', request: { method: 'POST', headers: { diff --git a/sites/directv.com.uy/directv.com.uy.test.js b/sites/directv.com.uy/directv.com.uy.test.js index f1a88ea7..146748e2 100644 --- a/sites/directv.com.uy/directv.com.uy.test.js +++ b/sites/directv.com.uy/directv.com.uy.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/directv.com.uy/directv.com.uy.config.js --channels=sites/directv.com.uy/directv.com.uy.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=directv.com.uy const { parser, url, request } = require('./directv.com.uy.config.js') const fs = require('fs') @@ -71,7 +71,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: ``, + content: '', channel }) expect(result).toMatchObject([]) diff --git a/sites/directv.com/directv.com.channels.xml b/sites/directv.com/directv.com.channels.xml index bf11dbc3..a5b4d974 100644 --- a/sites/directv.com/directv.com.channels.xml +++ b/sites/directv.com/directv.com.channels.xml @@ -1,1048 +1,1046 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 5StarMAX HD - 88 Films - 88 TV - ACC Network - AccuWeather HD - ActionMax HD - A&E - Altitude Sports - AMC - AMC+ HD - American Heroes Channel - AVC (Infomercial) - Animal Planet - Antena 3 - Arirang TV - ASPIRE (HD) - Atreseries - AT&T SportsNet Pittsburgh - AT&T SportsNet Pittsburgh (Alternate) - AT&T SportsNet Rocky Mountain - AT&T SportsNet Rocky Mountain West - AT&T SportsNet Southwest - AT&T SportsNet Southwest (Alternate) - AXS TV HD - BabyFirst - BabyTV - Bally Sports Arizona - Bally Sports Arizona Extra - Bally Sports Arizona Extra 2 - Bally Sports Detroit - Bally Sports Florida - Bally Sports Great Lakes - Bally Sports Kansas City - Bally Sports Midwest - Bally Sports Midwest Extra - Bally Sports North - Bally Sports Ohio - Bally Sports Cincinnati - Bally Sports Ohio Extra - Bally Sports Oklahoma HD - Bally Sports San Diego - Bally Sports San Diego Extra - Bally Sports SoCal - Bally Sports SoCal Extra - Bally Sports South - Bally Sports Southeast - Bally Sports Southeast Extra - Bally Sports Southwest - Bally Sports Sun - Bally Sports Sun Extra - Bally Sports West - Bally Sports West Extra - Bally Sports Wisconsin HD - Bally Sports Wisconsin Extra - Bang U - BBC America - BBC World News HD - BET - BET Her - BET West HD - Bloomberg TV - Boomerang - BounceTV - Bravo - BYUtv - Multimedios - Caracol TV - Cartoon Network - Cartoon Network West - CBS Sports Network - CCTV4 - CGTN 2053 (99R) - Channel NECO International - Charming China 2055 - Cheddar News - Cinelatino - Cinemax - Cinemax West - Cleo TV - CMT - CNBC - CNBC World - CNN - Comedy Central - Comedy Central West HD - Comedy TV HD - Cooking Channel - Crime & Investigation HD - CSPAN - CSPAN 2 - Christian Television Net - CW Plus - Daystar - Destination America - Discovery - Discovery Family Channel - Discovery Life - Disney Channel (East) - Disney Channel (West) - Disney Junior - Disney XD - Dog TV - Ecuador TV - Ecuavisa Internacional - E! - Enlace - ESPN - ESPN2 - ESPN College Extra 793 HD - ESPN College Extra 794 HD - ESPN College Extra 795 HD - ESPN College Extra 796 HD - ESPN College Extra 797 HD - ESPN College Extra 798 HD - ESPNews - ESPNU - Estrella News - Estrella TV - EWTN - Family Entertainment Television - Flix - FM HD - Food Network - FOROtv - Fox Business Network - FOX News Channel - FOX Soccer Plus - FOX Sports 1 - FOX Sports 2 - Freeform - Free Speech TV - Fuse HD - FX - FX Movie - FXX - FYI - Game Show Network - GEM Shopping Network - Golf Channel - GolTV - Great American Family - GRIT - Hallmark - Hallmark Drama HD - Hallmark Movies & Mysteries HD - HBO 2 East - HBO 2 West - HBO Comedy HD - HBO East - HBO Family East - HBO Family West - HBO Signature - HBO West - HBO Zone HD - HDNET MOVIES - HGTV - History - History en Espanol - HLN - Hope Channel - Home Shopping Network - Hustler TV - IFC - IMPACT TV - INSP - Investigation Discovery - ION Television East HD - JBS - Jewelry Television (72) - Nippon TV HD - Justice Central HD - KABC (Los Angeles) ABC West - KBS Korea - KCBS (Los Angeles) CBS West - KTLA CW West - KTTV (Los Angeles) FOX West - Lifetime - LMN - LinkTV - Logo - Longhorn Network HD - Magnolia Network - Marquee Sports Network - MASN - MAVTV HD - MGM+ HD - MGM+ Hits East - MGM+ Marquee HD - MLB Network - MLB Network Alt. 213-1 - MoreMAX - MotorTrend HD - MovieMAX - MSNBC - MTV2 - MTV Classic - MTV - MTV Live HD - MTV West HD - Music Choice '70s - Music Choice '80s - Music Choice '90s - Music Choice Adult Alternative - Music Choice Alternative - Music Choice Blues - Music Choice Classic Country - Music Choice Classic Rock - Music Choice Contemporary Christian - Music Choice Country Hits - Music Choice Dance/EDM - Music Choice Easy Listening - Music Choice Gospel - Music Choice Hip-Hop And R&B - Music Choice Hit List - Music Choice Indie - Music Choice Jazz - Music Choice Kids Only! - Music Choice Light Classical - Music Choice Love Songs - Music Choice Max - Music Choice Metal - Music Choice Mexicana - Music Choice Musica Urbana - Music Choice Party Favorites - Music Choice Pop & Country - Music Choice Pop Hits - Music Choice Pop Latino - Music Choice Rap - Music Choice R&B Classics - Music Choice R&B Soul - Music Choice Reggae - Music Choice Rock - Music Choice Rock Hits - Music Choice Romances - Music Choice Singers & Swing - Music Choice Smooth Jazz - Music Choice Soft Rock - Music Choice Soundscapes - Music Choice Sounds of the Seasons - Music Choice Teen Beats - Music Choice Throwback Jamz - Music Choice Today's Country - Music Choice Toddler Tunes - Music Choice Tropicales - Music Choice Y2K - NASA TV - National Geographic - Nat Geo WILD - NBA League Pass 747 - NBA League Pass 748 - NBA League Pass 749 - NBA League Pass 750 - NBA League Pass 765 - NBA League Pass 766 - NBA League Pass 767 - NBA League Pass 768 - NBA TV - NBC Sports Bay Area - NBC Sports Bay Area Plus (Alternate 2) - NBC Sports Boston - NBC Sports California - NBC Sports Chicago - NBC Sports Chicago Plus 2 - NBC Sports Washington - NBC Sports Washington (Alternate) - NESN - Newsmax TV - NewsNation - NFL Network - NFL Red Zone 703 HD - NFL Sunday Ticket 705 - NFL Sunday Ticket 714 - NFL Sunday Ticket 715 - NFL Sunday Ticket 716 - NFL Sunday Ticket 717 - NFL Sunday Ticket 718 - NFL Sunday Ticket 706 - NFL Sunday Ticket 707 - NFL Sunday Ticket 708 - NFL Sunday Ticket 709 - NFL Sunday Ticket 710 - NFL Sunday Ticket 711 - NFL Sunday Ticket 712 - NFL Sunday Ticket 713 - NHL Center Ice 769 - NHL Center Ice 780 - NHL Center Ice 781 - NHL Center Ice 782 - NHL Center Ice 783 - NHL Center Ice 784 - NHL Center Ice 785 - NHL Center Ice 786 - NHL Center Ice 787 - NHL Center Ice 788 - NHL Center Ice 789 - NHL Center Ice 771 - NHL Center Ice 790 - NHL Center Ice 791 - NHL Center Ice 792 - NHL Center Ice 793 - NHL Center Ice 773 - NHL Center Ice 774 - NHL Center Ice 775 - NHL Center Ice 776 - NHL Center Ice 777 - NHL Center Ice 778 - NHL Center Ice 779 - NHL Network - NHL Network Alternate - Nickelodeon East - Nickelodeon West - Nick Jr. - Nicktoons - NRB - OPM TV - Outdoor Channel - Ovation - OWN - OWN West - Oxygen True Crime - Paramount Network - PBSNET - PBS Kids - Penthouse TV - Penthouse TV Monthly Offer - Peru Magico - Playboy TV HD - Playboy TV Monthly Offer - POP - Pursuit Channel - QVC - QVC2 - QVC3 - Reality Kings - ReelzChannel - Revolt HD - ROOT SPORTS Northwest - ROOT Sports Northwest Plus 2 - ROOT SPORTS Northwest Plus - Son Life Broadcasting HD - Science - Scientology Network - SEC Network - SEC Network Alternate - Shop HQ - Shop LC - SHOWTIME 2 - Showtime (E) - Showtime Extreme - Showtime FamilyZone - Showtime Next HD - Showtime Showcase HD - Showtime (W) - SHOxBET - Smithsonian Channel HD - Sony Movies - So Yummy - Spectrum SportsNet - Spectrum SportsNet LA - Sportsman Channel - SportsNet New York - Stadium College Sports Atlantic - Stadium College Sports Central - Stadium College Sports Pacific - STARZ Cinema HD - STARZ Comedy HD - STARZ East - STARZ Edge - STARZ Encore Action - STARZ Encore Black - STARZ Encore Classic - STARZ Encore - STARZ Encore Family - STARZ Encore Suspense - STARZ Encore West - STARZ Encore Westerns - STARZ in Black - STARZ Kids & Family HD - STARZ West - SundanceTV HD - SUR Peru - SYFY - Tastemade - TBS - TBS West HD - TCM - TCT Network - TeenNick - TeleCentro - Telefe - Tennis Channel - Cowboy Channel - TFC - The Filipino Channel (99R) - The Movie Channel East - The Movie Channel West - The Movie Channel Xtra HD - The Weather Channel - The WORD Network - ThrillerMAX HD - TLC - TNT - TNT West HD - Travel Channel - truTV - TV Chile - TVE - TV Land - TV One HD - Universal Kids - Living Faith Network - UPTV - USA Network - VePlus - VH1 - VICE - Videorola - Vivid TV - Vivid TV Monthly Offer - A3 Parkersburg 65 PBS (Virt) - WABC (New York) ABC East - WCBS (New York) CBS East - Parkersburg, WV WCHS ABC 8 SD - WE tv - Parkersburg, WV WIYE CBS 47 A3 HD - WNBC (New York) NBC East - WNYW (New York) FOX East - World Harvest Television - Parkersburg, WV WOVA FOX 22 A3 HD - Parkersburg, WV WTAP NBC 15 A3 HD - Parkersburg, WV WTAPDT2 MNT 17 A3 SD - Once Mexico - Yankee Ent. & Sports (YES) - Azteca America - Bandamax - Canal 22 Internacional - Centroamerica TV - Cine Estelar - Cine Mexicano - Cine Nostalgia - Sony Cine - CNN en Espanol - De Pelicula Clasico - De Pelicula - Discovery en Espanol - Discovery Familia - ESPN Deportes - FOX Deportes - Galavision - God TV - HBO Latino - HITN - Hola TV - Cinemax Latino HD - megaTV - Tr3S - Nat Geo Mundo - Universo - NTN 24 - Pasiones - Nuestra Tele - Starz Encore en Espanol - Telemundo East - Telemundo West - TUDN - TyC Sports - UniMas SD West - Univision East - Univision telenovelas - Univision West - Viendo Movies - WAPA America - ZooMoo - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 5StarMAX HD + 88 Films + 88 TV + ACC Network + AccuWeather HD + ActionMax HD + A&E + Altitude Sports + AMC + AMC+ HD + American Heroes Channel + AVC (Infomercial) + Animal Planet + Antena 3 + Arirang TV + ASPIRE (HD) + Atreseries + AT&T SportsNet Pittsburgh + AT&T SportsNet Pittsburgh (Alternate) + AT&T SportsNet Rocky Mountain + AT&T SportsNet Rocky Mountain West + AT&T SportsNet Southwest + AT&T SportsNet Southwest (Alternate) + AXS TV HD + BabyFirst + BabyTV + Bally Sports Arizona + Bally Sports Arizona Extra + Bally Sports Arizona Extra 2 + Bally Sports Detroit + Bally Sports Florida + Bally Sports Great Lakes + Bally Sports Kansas City + Bally Sports Midwest + Bally Sports Midwest Extra + Bally Sports North + Bally Sports Ohio + Bally Sports Cincinnati + Bally Sports Ohio Extra + Bally Sports Oklahoma HD + Bally Sports San Diego + Bally Sports San Diego Extra + Bally Sports SoCal + Bally Sports SoCal Extra + Bally Sports South + Bally Sports Southeast + Bally Sports Southeast Extra + Bally Sports Southwest + Bally Sports Sun + Bally Sports Sun Extra + Bally Sports West + Bally Sports West Extra + Bally Sports Wisconsin HD + Bally Sports Wisconsin Extra + Bang U + BBC America + BBC World News HD + BET + BET Her + BET West HD + Bloomberg TV + Boomerang + BounceTV + Bravo + BYUtv + Multimedios + Caracol TV + Cartoon Network + Cartoon Network West + CBS Sports Network + CCTV4 + CGTN 2053 (99R) + Channel NECO International + Charming China 2055 + Cheddar News + Cinelatino + Cinemax + Cinemax West + Cleo TV + CMT + CNBC + CNBC World + CNN + Comedy Central + Comedy Central West HD + Comedy TV HD + Cooking Channel + Crime & Investigation HD + CSPAN + CSPAN 2 + Christian Television Net + CW Plus + Daystar + Destination America + Discovery + Discovery Family Channel + Discovery Life + Disney Channel (East) + Disney Channel (West) + Disney Junior + Disney XD + Dog TV + Ecuador TV + Ecuavisa Internacional + E! + Enlace + ESPN + ESPN2 + ESPN College Extra 793 HD + ESPN College Extra 794 HD + ESPN College Extra 795 HD + ESPN College Extra 796 HD + ESPN College Extra 797 HD + ESPN College Extra 798 HD + ESPNews + ESPNU + Estrella News + Estrella TV + EWTN + Family Entertainment Television + Flix + FM HD + Food Network + FOROtv + Fox Business Network + FOX News Channel + FOX Soccer Plus + FOX Sports 1 + FOX Sports 2 + Freeform + Free Speech TV + Fuse HD + FX + FX Movie + FXX + FYI + Game Show Network + GEM Shopping Network + Golf Channel + GolTV + Great American Family + GRIT + Hallmark + Hallmark Drama HD + Hallmark Movies & Mysteries HD + HBO 2 East + HBO 2 West + HBO Comedy HD + HBO East + HBO Family East + HBO Family West + HBO Signature + HBO West + HBO Zone HD + HDNET MOVIES + HGTV + History + History en Espanol + HLN + Hope Channel + Home Shopping Network + Hustler TV + IFC + IMPACT TV + INSP + Investigation Discovery + ION Television East HD + JBS + Jewelry Television (72) + Nippon TV HD + Justice Central HD + KABC (Los Angeles) ABC West + KBS Korea + KCBS (Los Angeles) CBS West + KTLA CW West + KTTV (Los Angeles) FOX West + Lifetime + LMN + LinkTV + Logo + Longhorn Network HD + Magnolia Network + Marquee Sports Network + MASN + MAVTV HD + MGM+ HD + MGM+ Hits East + MGM+ Marquee HD + MLB Network + MLB Network Alt. 213-1 + MoreMAX + MotorTrend HD + MovieMAX + MSNBC + MTV2 + MTV Classic + MTV + MTV Live HD + MTV West HD + Music Choice '70s + Music Choice '80s + Music Choice '90s + Music Choice Adult Alternative + Music Choice Alternative + Music Choice Blues + Music Choice Classic Country + Music Choice Classic Rock + Music Choice Contemporary Christian + Music Choice Country Hits + Music Choice Dance/EDM + Music Choice Easy Listening + Music Choice Gospel + Music Choice Hip-Hop And R&B + Music Choice Hit List + Music Choice Indie + Music Choice Jazz + Music Choice Kids Only! + Music Choice Light Classical + Music Choice Love Songs + Music Choice Max + Music Choice Metal + Music Choice Mexicana + Music Choice Musica Urbana + Music Choice Party Favorites + Music Choice Pop & Country + Music Choice Pop Hits + Music Choice Pop Latino + Music Choice Rap + Music Choice R&B Classics + Music Choice R&B Soul + Music Choice Reggae + Music Choice Rock + Music Choice Rock Hits + Music Choice Romances + Music Choice Singers & Swing + Music Choice Smooth Jazz + Music Choice Soft Rock + Music Choice Soundscapes + Music Choice Sounds of the Seasons + Music Choice Teen Beats + Music Choice Throwback Jamz + Music Choice Today's Country + Music Choice Toddler Tunes + Music Choice Tropicales + Music Choice Y2K + NASA TV + National Geographic + Nat Geo WILD + NBA League Pass 747 + NBA League Pass 748 + NBA League Pass 749 + NBA League Pass 750 + NBA League Pass 765 + NBA League Pass 766 + NBA League Pass 767 + NBA League Pass 768 + NBA TV + NBC Sports Bay Area + NBC Sports Bay Area Plus (Alternate 2) + NBC Sports Boston + NBC Sports California + NBC Sports Chicago + NBC Sports Chicago Plus 2 + NBC Sports Washington + NBC Sports Washington (Alternate) + NESN + Newsmax TV + NewsNation + NFL Network + NFL Red Zone 703 HD + NFL Sunday Ticket 705 + NFL Sunday Ticket 714 + NFL Sunday Ticket 715 + NFL Sunday Ticket 716 + NFL Sunday Ticket 717 + NFL Sunday Ticket 718 + NFL Sunday Ticket 706 + NFL Sunday Ticket 707 + NFL Sunday Ticket 708 + NFL Sunday Ticket 709 + NFL Sunday Ticket 710 + NFL Sunday Ticket 711 + NFL Sunday Ticket 712 + NFL Sunday Ticket 713 + NHL Center Ice 769 + NHL Center Ice 780 + NHL Center Ice 781 + NHL Center Ice 782 + NHL Center Ice 783 + NHL Center Ice 784 + NHL Center Ice 785 + NHL Center Ice 786 + NHL Center Ice 787 + NHL Center Ice 788 + NHL Center Ice 789 + NHL Center Ice 771 + NHL Center Ice 790 + NHL Center Ice 791 + NHL Center Ice 792 + NHL Center Ice 793 + NHL Center Ice 773 + NHL Center Ice 774 + NHL Center Ice 775 + NHL Center Ice 776 + NHL Center Ice 777 + NHL Center Ice 778 + NHL Center Ice 779 + NHL Network + NHL Network Alternate + Nickelodeon East + Nickelodeon West + Nick Jr. + Nicktoons + NRB + OPM TV + Outdoor Channel + Ovation + OWN + OWN West + Oxygen True Crime + Paramount Network + PBSNET + PBS Kids + Penthouse TV + Penthouse TV Monthly Offer + Peru Magico + Playboy TV HD + Playboy TV Monthly Offer + POP + Pursuit Channel + QVC + QVC2 + QVC3 + Reality Kings + ReelzChannel + Revolt HD + ROOT SPORTS Northwest + ROOT Sports Northwest Plus 2 + ROOT SPORTS Northwest Plus + Son Life Broadcasting HD + Science + Scientology Network + SEC Network + SEC Network Alternate + Shop HQ + Shop LC + SHOWTIME 2 + Showtime (E) + Showtime Extreme + Showtime FamilyZone + Showtime Next HD + Showtime Showcase HD + Showtime (W) + SHOxBET + Smithsonian Channel HD + Sony Movies + So Yummy + Spectrum SportsNet + Spectrum SportsNet LA + Sportsman Channel + SportsNet New York + Stadium College Sports Atlantic + Stadium College Sports Central + Stadium College Sports Pacific + STARZ Cinema HD + STARZ Comedy HD + STARZ East + STARZ Edge + STARZ Encore Action + STARZ Encore Black + STARZ Encore Classic + STARZ Encore + STARZ Encore Family + STARZ Encore Suspense + STARZ Encore West + STARZ Encore Westerns + STARZ in Black + STARZ Kids & Family HD + STARZ West + SundanceTV HD + SUR Peru + SYFY + Tastemade + TBS + TBS West HD + TCM + TCT Network + TeenNick + TeleCentro + Telefe + Tennis Channel + Cowboy Channel + TFC - The Filipino Channel (99R) + The Movie Channel East + The Movie Channel West + The Movie Channel Xtra HD + The Weather Channel + The WORD Network + ThrillerMAX HD + TLC + TNT + TNT West HD + Travel Channel + truTV + TV Chile + TVE + TV Land + TV One HD + Universal Kids + Living Faith Network + UPTV + USA Network + VePlus + VH1 + VICE + Videorola + Vivid TV + Vivid TV Monthly Offer + A3 Parkersburg 65 PBS (Virt) + WABC (New York) ABC East + WCBS (New York) CBS East + Parkersburg, WV WCHS ABC 8 SD + WE tv + Parkersburg, WV WIYE CBS 47 A3 HD + WNBC (New York) NBC East + WNYW (New York) FOX East + World Harvest Television + Parkersburg, WV WOVA FOX 22 A3 HD + Parkersburg, WV WTAP NBC 15 A3 HD + Parkersburg, WV WTAPDT2 MNT 17 A3 SD + Once Mexico + Yankee Ent. & Sports (YES) + Azteca America + Bandamax + Canal 22 Internacional + Centroamerica TV + Cine Estelar + Cine Mexicano + Cine Nostalgia + Sony Cine + CNN en Espanol + De Pelicula Clasico + De Pelicula + Discovery en Espanol + Discovery Familia + ESPN Deportes + FOX Deportes + Galavision + God TV + HBO Latino + HITN + Hola TV + Cinemax Latino HD + megaTV + Tr3S + Nat Geo Mundo + Universo + NTN 24 + Pasiones + Nuestra Tele + Starz Encore en Espanol + Telemundo East + Telemundo West + TUDN + TyC Sports + UniMas SD West + Univision East + Univision telenovelas + Univision West + Viendo Movies + WAPA America + ZooMoo + diff --git a/sites/directv.com/directv.com.config.js b/sites/directv.com/directv.com.config.js index f8b805db..3346a06c 100644 --- a/sites/directv.com/directv.com.config.js +++ b/sites/directv.com/directv.com.config.js @@ -13,17 +13,13 @@ module.exports = { ttl: 60 * 60 * 1000 // 1 hour }, headers: { - 'Accept-Language':'en-US,en;q=0.5', - 'Connection':'keep-alive', - }, + 'Accept-Language': 'en-US,en;q=0.5', + Connection: 'keep-alive' + } }, url({ date, channel }) { const [channelId, childId] = channel.site_id.split('#') - return `https://www.directv.com/json/channelschedule?channels=${ - channelId - }&startTime=${date.format()}&hours=24&chId=${ - childId - }` + return `https://www.directv.com/json/channelschedule?channels=${channelId}&startTime=${date.format()}&hours=24&chId=${childId}` }, async parser({ content, channel }) { const programs = [] @@ -52,7 +48,7 @@ module.exports = { }, async channels({ zip }) { const html = await axios - .get(`https://www.directv.com/guide`, { + .get('https://www.directv.com/guide', { headers: { cookie: `dtve-prospect-zip=${zip}` } @@ -62,7 +58,7 @@ module.exports = { const $ = cheerio.load(html) const script = $('#dtvClientData').html() - const [_, json] = script.match(/var dtvClientData = (.*);/) || [null, null] + const [, json] = script.match(/var dtvClientData = (.*);/) || [null, null] const data = JSON.parse(json) let items = data.guideData.channels diff --git a/sites/directv.com/directv.com.test.js b/sites/directv.com/directv.com.test.js index 1ea8c375..d84d8029 100644 --- a/sites/directv.com/directv.com.test.js +++ b/sites/directv.com/directv.com.test.js @@ -1,5 +1,5 @@ // node ./scripts/commands/parse-channels.js --config=./sites/directv.com/directv.com.config.js --output=./sites/directv.com/directv.com.channels.xml --set=zip:10001 -// npx epg-grabber --config=sites/directv.com/directv.com.config.js --channels=sites/directv.com/directv.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=directv.com const { parser, url } = require('./directv.com.config.js') const fs = require('fs') diff --git a/sites/dishtv.in/dishtv.in.channels.xml b/sites/dishtv.in/dishtv.in.channels.xml index 92af0391..ccc25b10 100644 --- a/sites/dishtv.in/dishtv.in.channels.xml +++ b/sites/dishtv.in/dishtv.in.channels.xml @@ -1,460 +1,458 @@ - - - 1 Sports - 9X Jhakaas - 9XM - 9X Tashan - Aaj Tak - Aakaash Aath - Aastha India - Aastha Bhajan - ABP Ananda - ABP Asmita - ABP Ganga - ABP Majha - ABP News India - ABZY COOL - Alankar TV - Aljazeera English - &FLIX - &Pictures - & privé HD - &Tv - Animal Planet India - Argus News - Arihant TV - Asianet - Asianet News - Assam Talks - B4U Bhojpuri - B4U Kadak - B4U Movies India - B4U Music India - Baby TV Asia - Balle Balle - BBC World News South Asia - Bflix Movies - Bhojpuri Cinema - Big Ganga - Big Magic - Bindass - Box Cinema - Cartoon Network India - Channel Divya - Channel WIN - Chardikla Time TV - Cinema TV - CNBC Awaaz - CNBC Bajar - CNBC TV18 - CNN International South Asia - CNN News 18 - Colors - Colors Bangla - Colors Bangla Cinema - COLORS CINEPLEX - Colors Cineplex Bollywood - Colors Gujarati - Colors Gujarati Cinema - Colors Infinity - Colors Marathi - Colors Odia - Colors Rishtey Asia - Comedy Central - CTVN AKD Plus - Dangal TV - DD Arun Prabha - DD Assam - DD Bangla - DD Bharati - DD Bihar - DD Chandana - DD Chhattisgarh - DD Girnar - DD Himachal Pradesh - DD Hissar - DD India - DD Jharkhand - DD Kashir - DD Kisan - DD Madhya Pradesh - DD Malayalam - DD Manipur - DD Meghalaya - DD Mizoram - DD Nagaland - DD National - DD News - DD Odia - DD Podhigai - DD Punjabi - DD Rajasthan - DD Retro - DD Sahyadri - DD Saptagiri - DD Sports - DD Tripura - DD Urdu - DD Uttarakhand - DD Uttar Pradesh - DD Yadagiri - Dhinchaak - Dhinchaak 2 - Dhoom Music - Digi Shala - Discovery Channel India - Discovery Kids India - Discovery Science - Discovery Turbo India - Dish Buzz - Dish Buzz 2 - Disney Channel India - Disney International HD - Disney Junior India - Dr Shuddhi - DY 36 - ENTER 10 BANGLA - Enterr10 Movies - Epic TV - ET Now - ET NOW SWADESH - ETV Telugu - Eurosport India - E-Vidya 6 - EZMall - Fakt Marathi - Filamchi - Flowers TV - Fox life - Gemini TV - GOOD NEWS TODAY - Gubbare - GULISTAN NEWS - Gyandarshan - Hare Krsna TV - History tv 18 - Hungama TV - IBC 24 - ILove - India News - India News Haryana - India News Uttar Pradesh - India Today - India TV - Indradhanu - Investigation Discovery India - Ishara TV - ISHWAR BHAKTI' - Jalsha Movies - Jinvani Channel - Jonack - Jyotish Duniya - Kalinga TV - Kanak News - KBS World - Khushboo TV Bangla - Kolkata TV - Lok Sabha TV - Lokshahi News - Maiboli - Manjari TV - Manoranjan Grand - Manoranjan Movies - Manoranjan TV - Marvel HQ - Mastiii - Mazhavil Manorama - MBC TV - Mh 1 Music - Mirror Now - MNX - Movie Plus - Movies Now - Movies Now + - MTV Beats - MTV India - Music India - Naaptol Tamil - Nandighosha TV - National Geographic Channel - National Geographic Wild - Naxatra News - NDTV 24x7 - NDTV India - Nepal 1 - News 18 Assam & North-East - News 18 Bengali - News 18 Bihar & Jharkhand - News 18 Gujarati - News 18 India - News 18 Lokmat - News 18 Madhya Pradesh & Chhattisgarh - News 18 Odia - News 18 Punjab & Haryana & Himachal Pradesh - News 18 Rajasthan - News 18 Urdu - News 18 Uttar Pradesh & Uttarakhand - News 24 - News Daily 24 - News India 24x7 - News Live - News Nation - News State UP & UK - NewsTime Bangla - News X - Nickelodeon India - Sonic Nickelodeon - Nick HD+ - Nick Jr India - NK TV24X7 - NORTH EAST LIVE - Odisha TV - Paras Gold - Peace of Mind TV - Pitaara - Pogo - Prag News - Prameya News 7 - Prarthana TV - Pratidin Time - Ptc Chakde - PTC Music - PTC News - PTC Punjabi - PTC Punjabi Gold - PTC Simran - Punjabi Hits - Rajya Sabha TV - RAMDHENU - Rang - Rengoni - Republic Bangla - Republic Bharat - Republic TV - Rishtey Cineplex - Romedy Now - Rongeen TV - R Plus - RT News - Rupasi Bangla - Saam TV - Sadhna TV - Sandesh News - Sangeet Bangla - Sangeet Bhojpuri - SANSAD TV HD - Sanskar TV - Santvani Channel - Satsang TV - Shemaroo Marathi Bana - Shemaroo TV - SHOWBOX - Shubh TV - SIDHARTH BHAKTI - Songdew TV - Sony Aath - Sony BBC Earth - SET India - Sony Marathi - Sony Max 2 - Sony Pal - SONY PIX - SONY SAB - SONY SPORTS TEN 1 - SONY SPORTS TEN 2 - SONY SPORTS TEN 3 - SONY SPORTS TEN 5 - Sony Wah - Sony Yay! - SPORTS18 1 - STAR BHARAT - Star Gold - Star Gold 2 - STAR GOLD SELECT - Star Jalsha - Star Maa - Star Maa Movies - Star Movies - STAR MOVIES SELECT - Star Plus - Star Pravah - Star Sports 1 - STAR SPORTS 1 HINDI - Star sports 2 - Star Sports 3 - Star Sports First - STAR SPORTS SELECT 1 - STAR SPORTS SELECT 2 - Star Utsav - Star Utsav Movies - Star World HD India - Star World Premiere HD - Sudarshan News - Sun Bangla - SUN MARATHI - Sun TV - Surya TV - SWADESH NEWS - Swayam Prabha 1 - Swayam Prabha 10 - Swayam Prabha 11 - Swayam Prabha 12 - Swayam Prabha 13 - Swayam Prabha 14 - Swayam Prabha 15 - Swayam Prabha 16 - Swayam Prabha 17 - Swayam Prabha 18 - Swayam Prabha 19 - Swayam Prabha 2 - Swayam Prabha 20 - Swayam Prabha 21 - Swayam Prabha 22 - Swayam Prabha 3 - Swayam Prabha 4 - Swayam Prabha 5 - Swayam Prabha 6 - Swayam Prabha 7 - Swayam Prabha 8 - Swayam Prabha 9 - Tarang Music - Tarang TV - The Q India - Times Now - Times Now World - TLC - Topper TV - Travel XP HD - TV 9 Bangla - TV9 Bharatvash - TV 9 Gujarati - TV 9 Kannada - TV 9 Marathi - Udaya TV - VANDE Gujarat 1 - VANDE Gujarat 10 - VANDE Gujarat 11 - VANDE Gujarat 12 - VANDE Gujarat 13 - VANDE Gujarat 14 - VANDE Gujarat 15 - VANDE Gujarat 16 - VANDE Gujarat 2 - VANDE Gujarat 3 - VANDE Gujarat 4 - VANDE Gujarat 5 - VANDE Gujarat 6 - VANDE Gujarat 7 - VANDE Gujarat 8 - VANDE Gujarat 9 - VEDIC - VH1 India - Vijay TV - VIP NEWS - VTV News - WION - Wow Cinema One - Zee 24 Ghanta - Zee 24 Kalak - Zee 24 Taas - Zee Action - Zee Anmol - Zee Anmol Cinema - ZEE Bangla - Zee Bangla Cinema - Zee Bihar Jharkhand - Zee Biskope - Zee Bollywood - Zee Business - Zee Cafe - Zee Chitramandir - Zee Cinema - Zee Cinema Asia - ZEE CINEMALU - Zee Classic - ZEE DELHI NCR HARYANA - Zee Hindustan - Zee Kannada - Zee Keralam - Zee Madhya Pradesh Chhattisgarh - ZEE Marathi - Zee News - Zee Odisha - Zee Punjab Haryana Himachal - Zee Punjabi - Zee Rajasthan - Zee Salaam - Zee Sarthak - ZEE TALKIES - Zee Tamil - Zee Telugu - Zee TV - Zee Uttar Pradesh Uttarakhand - Zee Vajwa - Zee Yuva - Zee Zest - Zing Asia - Zing Home - Zoom - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 Sports + 9X Jhakaas + 9XM + 9X Tashan + Aaj Tak + Aakaash Aath + Aastha India + Aastha Bhajan + ABP Ananda + ABP Asmita + ABP Ganga + ABP Majha + ABP News India + ABZY COOL + Alankar TV + Aljazeera English + &FLIX + &Pictures + & privé HD + &Tv + Animal Planet India + Argus News + Arihant TV + Asianet + Asianet News + Assam Talks + B4U Bhojpuri + B4U Kadak + B4U Movies India + B4U Music India + Baby TV Asia + Balle Balle + BBC World News South Asia + Bflix Movies + Bhojpuri Cinema + Big Ganga + Big Magic + Bindass + Box Cinema + Cartoon Network India + Channel Divya + Channel WIN + Chardikla Time TV + Cinema TV + CNBC Awaaz + CNBC Bajar + CNBC TV18 + CNN International South Asia + CNN News 18 + Colors + Colors Bangla + Colors Bangla Cinema + COLORS CINEPLEX + Colors Cineplex Bollywood + Colors Gujarati + Colors Gujarati Cinema + Colors Infinity + Colors Marathi + Colors Odia + Colors Rishtey Asia + Comedy Central + CTVN AKD Plus + Dangal TV + DD Arun Prabha + DD Assam + DD Bangla + DD Bharati + DD Bihar + DD Chandana + DD Chhattisgarh + DD Girnar + DD Himachal Pradesh + DD Hissar + DD India + DD Jharkhand + DD Kashir + DD Kisan + DD Madhya Pradesh + DD Malayalam + DD Manipur + DD Meghalaya + DD Mizoram + DD Nagaland + DD National + DD News + DD Odia + DD Podhigai + DD Punjabi + DD Rajasthan + DD Retro + DD Sahyadri + DD Saptagiri + DD Sports + DD Tripura + DD Urdu + DD Uttarakhand + DD Uttar Pradesh + DD Yadagiri + Dhinchaak + Dhinchaak 2 + Dhoom Music + Digi Shala + Discovery Channel India + Discovery Kids India + Discovery Science + Discovery Turbo India + Dish Buzz + Dish Buzz 2 + Disney Channel India + Disney International HD + Disney Junior India + Dr Shuddhi + DY 36 + ENTER 10 BANGLA + Enterr10 Movies + Epic TV + ET Now + ET NOW SWADESH + ETV Telugu + Eurosport India + E-Vidya 6 + EZMall + Fakt Marathi + Filamchi + Flowers TV + Fox life + Gemini TV + GOOD NEWS TODAY + Gubbare + GULISTAN NEWS + Gyandarshan + Hare Krsna TV + History tv 18 + Hungama TV + IBC 24 + ILove + India News + India News Haryana + India News Uttar Pradesh + India Today + India TV + Indradhanu + Investigation Discovery India + Ishara TV + ISHWAR BHAKTI' + Jalsha Movies + Jinvani Channel + Jonack + Jyotish Duniya + Kalinga TV + Kanak News + KBS World + Khushboo TV Bangla + Kolkata TV + Lok Sabha TV + Lokshahi News + Maiboli + Manjari TV + Manoranjan Grand + Manoranjan Movies + Manoranjan TV + Marvel HQ + Mastiii + Mazhavil Manorama + MBC TV + Mh 1 Music + Mirror Now + MNX + Movie Plus + Movies Now + Movies Now + + MTV Beats + MTV India + Music India + Naaptol Tamil + Nandighosha TV + National Geographic Channel + National Geographic Wild + Naxatra News + NDTV 24x7 + NDTV India + Nepal 1 + News 18 Assam & North-East + News 18 Bengali + News 18 Bihar & Jharkhand + News 18 Gujarati + News 18 India + News 18 Lokmat + News 18 Madhya Pradesh & Chhattisgarh + News 18 Odia + News 18 Punjab & Haryana & Himachal Pradesh + News 18 Rajasthan + News 18 Urdu + News 18 Uttar Pradesh & Uttarakhand + News 24 + News Daily 24 + News India 24x7 + News Live + News Nation + News State UP & UK + NewsTime Bangla + News X + Nickelodeon India + Sonic Nickelodeon + Nick HD+ + Nick Jr India + NK TV24X7 + NORTH EAST LIVE + Odisha TV + Paras Gold + Peace of Mind TV + Pitaara + Pogo + Prag News + Prameya News 7 + Prarthana TV + Pratidin Time + Ptc Chakde + PTC Music + PTC News + PTC Punjabi + PTC Punjabi Gold + PTC Simran + Punjabi Hits + Rajya Sabha TV + RAMDHENU + Rang + Rengoni + Republic Bangla + Republic Bharat + Republic TV + Rishtey Cineplex + Romedy Now + Rongeen TV + R Plus + RT News + Rupasi Bangla + Saam TV + Sadhna TV + Sandesh News + Sangeet Bangla + Sangeet Bhojpuri + SANSAD TV HD + Sanskar TV + Santvani Channel + Satsang TV + Shemaroo Marathi Bana + Shemaroo TV + SHOWBOX + Shubh TV + SIDHARTH BHAKTI + Songdew TV + Sony Aath + Sony BBC Earth + SET India + Sony Marathi + Sony Max 2 + Sony Pal + SONY PIX + SONY SAB + SONY SPORTS TEN 1 + SONY SPORTS TEN 2 + SONY SPORTS TEN 3 + SONY SPORTS TEN 5 + Sony Wah + Sony Yay! + SPORTS18 1 + STAR BHARAT + Star Gold + Star Gold 2 + STAR GOLD SELECT + Star Jalsha + Star Maa + Star Maa Movies + Star Movies + STAR MOVIES SELECT + Star Plus + Star Pravah + Star Sports 1 + STAR SPORTS 1 HINDI + Star sports 2 + Star Sports 3 + Star Sports First + STAR SPORTS SELECT 1 + STAR SPORTS SELECT 2 + Star Utsav + Star Utsav Movies + Star World HD India + Star World Premiere HD + Sudarshan News + Sun Bangla + SUN MARATHI + Sun TV + Surya TV + SWADESH NEWS + Swayam Prabha 1 + Swayam Prabha 10 + Swayam Prabha 11 + Swayam Prabha 12 + Swayam Prabha 13 + Swayam Prabha 14 + Swayam Prabha 15 + Swayam Prabha 16 + Swayam Prabha 17 + Swayam Prabha 18 + Swayam Prabha 19 + Swayam Prabha 2 + Swayam Prabha 20 + Swayam Prabha 21 + Swayam Prabha 22 + Swayam Prabha 3 + Swayam Prabha 4 + Swayam Prabha 5 + Swayam Prabha 6 + Swayam Prabha 7 + Swayam Prabha 8 + Swayam Prabha 9 + Tarang Music + Tarang TV + The Q India + Times Now + Times Now World + TLC + Topper TV + Travel XP HD + TV 9 Bangla + TV9 Bharatvash + TV 9 Gujarati + TV 9 Kannada + TV 9 Marathi + Udaya TV + VANDE Gujarat 1 + VANDE Gujarat 10 + VANDE Gujarat 11 + VANDE Gujarat 12 + VANDE Gujarat 13 + VANDE Gujarat 14 + VANDE Gujarat 15 + VANDE Gujarat 16 + VANDE Gujarat 2 + VANDE Gujarat 3 + VANDE Gujarat 4 + VANDE Gujarat 5 + VANDE Gujarat 6 + VANDE Gujarat 7 + VANDE Gujarat 8 + VANDE Gujarat 9 + VEDIC + VH1 India + Vijay TV + VIP NEWS + VTV News + WION + Wow Cinema One + Zee 24 Ghanta + Zee 24 Kalak + Zee 24 Taas + Zee Action + Zee Anmol + Zee Anmol Cinema + ZEE Bangla + Zee Bangla Cinema + Zee Bihar Jharkhand + Zee Biskope + Zee Bollywood + Zee Business + Zee Cafe + Zee Chitramandir + Zee Cinema + Zee Cinema Asia + ZEE CINEMALU + Zee Classic + ZEE DELHI NCR HARYANA + Zee Hindustan + Zee Kannada + Zee Keralam + Zee Madhya Pradesh Chhattisgarh + ZEE Marathi + Zee News + Zee Odisha + Zee Punjab Haryana Himachal + Zee Punjabi + Zee Rajasthan + Zee Salaam + Zee Sarthak + ZEE TALKIES + Zee Tamil + Zee Telugu + Zee TV + Zee Uttar Pradesh Uttarakhand + Zee Vajwa + Zee Yuva + Zee Zest + Zing Asia + Zing Home + Zoom + diff --git a/sites/dishtv.in/dishtv.in.config.js b/sites/dishtv.in/dishtv.in.config.js index 82ce05bc..1df15998 100644 --- a/sites/dishtv.in/dishtv.in.config.js +++ b/sites/dishtv.in/dishtv.in.config.js @@ -12,7 +12,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'dishtv.in', days: 2, - url: `https://www.dishtv.in/WhatsonIndiaWebService.asmx/LoadPagginResultDataForProgram`, + url: 'https://www.dishtv.in/WhatsonIndiaWebService.asmx/LoadPagginResultDataForProgram', request: { method: 'POST', data({ channel, date }) { @@ -23,7 +23,7 @@ module.exports = { } } }, - parser: function ({ content, channel, date }) { + parser: function ({ content, date }) { let programs = [] const data = parseContent(content) const items = parseItems(data) @@ -44,7 +44,7 @@ module.exports = { }, async channels() { const channelguide = await axios - .get(`https://www.dishtv.in/channelguide/`) + .get('https://www.dishtv.in/channelguide/') .then(r => r.data) .catch(console.log) const $channelguide = cheerio.load(channelguide) @@ -60,7 +60,7 @@ module.exports = { const channels = {} const channelList = await axios - .post(`https://www.dishtv.in/WebServiceMethod.aspx/GetChannelListFromMobileAPI`, { + .post('https://www.dishtv.in/WebServiceMethod.aspx/GetChannelListFromMobileAPI', { strChannel: '' }) .then(r => r.data) @@ -82,7 +82,7 @@ module.exports = { for (let id of ids) { const promise = axios .post( - `https://www.dishtv.in/WhatsonIndiaWebService.asmx/LoadPagginResultDataForProgram`, + 'https://www.dishtv.in/WhatsonIndiaWebService.asmx/LoadPagginResultDataForProgram', { Channelarr: id, fromdate: date.format('YYYYMMDD[0000]'), @@ -117,10 +117,10 @@ function parseTitle(item) { return $('a').text() } -function parseStart(item, date) { +function parseStart(item) { const $ = cheerio.load(item) const onclick = $('i.fa-circle').attr('onclick') - const [_, time] = onclick.match(/RecordingEnteryOpen\('.*','.*','(.*)','.*',.*\)/) + const [, time] = onclick.match(/RecordingEnteryOpen\('.*','.*','(.*)','.*',.*\)/) return dayjs.tz(time, 'YYYYMMDDHHmm', 'Asia/Kolkata') } diff --git a/sites/dishtv.in/dishtv.in.test.js b/sites/dishtv.in/dishtv.in.test.js index a54bc646..124ffd56 100644 --- a/sites/dishtv.in/dishtv.in.test.js +++ b/sites/dishtv.in/dishtv.in.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/dishtv.in/dishtv.in.config.js --output=./sites/dishtv.in/dishtv.in.channels.xml -// npx epg-grabber --config=sites/dishtv.in/dishtv.in.config.js --channels=sites/dishtv.in/dishtv.in.channels.xml --output=guide.xml +// npm run grab -- --site=dishtv.in const { parser, url, request } = require('./dishtv.in.config.js') const dayjs = require('dayjs') @@ -10,7 +10,8 @@ dayjs.extend(utc) const date = dayjs.utc('2021-11-05', 'YYYY-MM-DD').startOf('d') const channel = { site_id: '10000000075992337', xmltv_id: 'WomensActive.in' } -const content = `{"d":"\\u003cdiv class=\\"pgrid\\"\\u003e\\u003cdiv class=\\"img sm-30 grid\\"\\u003e\\u003cimg class=\\"chnl-logo\\" src=\\"http://imagesdishtvd2h.whatsonindia.com/dasimages/channel/landscape/360x270/hiyj8ndf.png\\" onclick=\\"ShowChannelGuid(\\u0027womens-active\\u0027,\\u002710000000075992337\\u0027);\\" /\\u003e\\u003cdiv class=\\"cnl-fav\\"\\u003e\\u003ca href=\\"javascript:;\\"\\u003e\\u003cem\\u003ech. no\\u003c/em\\u003e\\u003cspan\\u003e117\\u003c/span\\u003e\\u003c/a\\u003e\\u003c/div\\u003e\\u003ci class=\\"fa fa-heart Set_Favourite_Channel\\" aria-hidden=\\"true\\" title=\\"Set womens active channel as your favourite channel\\" onclick=\\"SetFavouriteChannel();\\"\\u003e\\u003c/i\\u003e\\u003c/div\\u003e\\u003cdiv class=\\"grid-wrap\\"\\u003e\\u003cdiv class=\\"sm-30 grid datatime\\" data-time=\\"24\\" data-starttime=\\"12:00 AM\\" data-endttime=\\"12:24 AM\\" data-reamintime=\\"0\\"\\u003e\\u003ca title=\\"Event Name: Cynthia Williams - Diwali Look Part 01\\r\\nStart Time: 12:00 AM\\r\\nDuration: 24min\\r\\nSynopsis: Learn diwali look by cynthia williams p1\\r\\n\\" href=\\"javascript:;\\" onclick=\\"ShowCurrentTime(\\u002730000000550913679\\u0027,\\u002710000000075992337\\u0027,\\u0027202111051200\\u0027)\\"\\u003eCynthia Williams - Diwali Look Part 01\\u003c/a\\u003e\\u003cdiv class=\\"cnlSerialIcon\\"\\u003e\\u003ci class=\\"fa fa-heart\\" aria-hidden=\\"true\\" title=\\"Set Favourite Serial\\" onclick=\\"SetFavouriteShow();\\"\\u003e\\u003c/i\\u003e\\u003ci class=\\"fa fa-clock-o\\" aria-hidden=\\"true\\" title=\\"Reminder Serial\\" onclick=\\"ReminderEnteryOpen(\\u002730000000550913679\\u0027,\\u002710000000075992337\\u0027,\\u0027202111050000\\u0027,\\u0027117\\u0027)\\"\\u003e\\u003c/i\\u003e\\u003ci class=\\"fa fa-circle\\" aria-hidden=\\"true\\" title=\\"Record Serial\\" onclick=\\"RecordingEnteryOpen(\\u002730000000550913679\\u0027,\\u002710000000075992337\\u0027,\\u0027202111050000\\u0027,\\u0027117\\u0027,30000000550913679)\\"\\u003e\\u003c/i\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\u003c/div\\u003e"}` +const content = + '{"d":"\\u003cdiv class=\\"pgrid\\"\\u003e\\u003cdiv class=\\"img sm-30 grid\\"\\u003e\\u003cimg class=\\"chnl-logo\\" src=\\"http://imagesdishtvd2h.whatsonindia.com/dasimages/channel/landscape/360x270/hiyj8ndf.png\\" onclick=\\"ShowChannelGuid(\\u0027womens-active\\u0027,\\u002710000000075992337\\u0027);\\" /\\u003e\\u003cdiv class=\\"cnl-fav\\"\\u003e\\u003ca href=\\"javascript:;\\"\\u003e\\u003cem\\u003ech. no\\u003c/em\\u003e\\u003cspan\\u003e117\\u003c/span\\u003e\\u003c/a\\u003e\\u003c/div\\u003e\\u003ci class=\\"fa fa-heart Set_Favourite_Channel\\" aria-hidden=\\"true\\" title=\\"Set womens active channel as your favourite channel\\" onclick=\\"SetFavouriteChannel();\\"\\u003e\\u003c/i\\u003e\\u003c/div\\u003e\\u003cdiv class=\\"grid-wrap\\"\\u003e\\u003cdiv class=\\"sm-30 grid datatime\\" data-time=\\"24\\" data-starttime=\\"12:00 AM\\" data-endttime=\\"12:24 AM\\" data-reamintime=\\"0\\"\\u003e\\u003ca title=\\"Event Name: Cynthia Williams - Diwali Look Part 01\\r\\nStart Time: 12:00 AM\\r\\nDuration: 24min\\r\\nSynopsis: Learn diwali look by cynthia williams p1\\r\\n\\" href=\\"javascript:;\\" onclick=\\"ShowCurrentTime(\\u002730000000550913679\\u0027,\\u002710000000075992337\\u0027,\\u0027202111051200\\u0027)\\"\\u003eCynthia Williams - Diwali Look Part 01\\u003c/a\\u003e\\u003cdiv class=\\"cnlSerialIcon\\"\\u003e\\u003ci class=\\"fa fa-heart\\" aria-hidden=\\"true\\" title=\\"Set Favourite Serial\\" onclick=\\"SetFavouriteShow();\\"\\u003e\\u003c/i\\u003e\\u003ci class=\\"fa fa-clock-o\\" aria-hidden=\\"true\\" title=\\"Reminder Serial\\" onclick=\\"ReminderEnteryOpen(\\u002730000000550913679\\u0027,\\u002710000000075992337\\u0027,\\u0027202111050000\\u0027,\\u0027117\\u0027)\\"\\u003e\\u003c/i\\u003e\\u003ci class=\\"fa fa-circle\\" aria-hidden=\\"true\\" title=\\"Record Serial\\" onclick=\\"RecordingEnteryOpen(\\u002730000000550913679\\u0027,\\u002710000000075992337\\u0027,\\u0027202111050000\\u0027,\\u0027117\\u0027,30000000550913679)\\"\\u003e\\u003c/i\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\u003c/div\\u003e\\u003c/div\\u003e"}' it('can generate valid url', () => { expect(url).toBe( @@ -39,6 +40,6 @@ it('can parse response', () => { }) it('can handle empty guide', () => { - const result = parser({ date, channel, content: `{"d":""}` }) + const result = parser({ date, channel, content: '{"d":""}' }) expect(result).toMatchObject([]) }) diff --git a/sites/dsmart.com.tr/dsmart.com.tr.channels.xml b/sites/dsmart.com.tr/dsmart.com.tr.channels.xml index e0cc7b8d..a43880e6 100644 --- a/sites/dsmart.com.tr/dsmart.com.tr.channels.xml +++ b/sites/dsmart.com.tr/dsmart.com.tr.channels.xml @@ -1,207 +1,205 @@ - - - a News - Baby TV - BBC World News - CNN International - Fashion TV - NBA TV - Trace Urban - 24Kitchen - 24 - 360 - a Haber - a Spor - ATV - BBC Earth - BBN Türk - Beyaz TV - Bloomberg HT - Boomerang - Cartoon Network - CNN Türk SD - Çocuk Smart - Da Vinci Learning - Discovery - Discovery Science - Disney Channel - Diyanet Tv - Dizi Smart Max - Dizi Smart Premium - DMAX - DocuBox - Euro D - Eurosport - Eurosport 2 - Fast & Fun - FB TV - FightBox - FilmBox - Flash Haber - FOXCRIME - FOX - FX - Haber Global - Haber Türk - Halk TV - Insight TV - Kanal 7 - Kanal D - Lider Tv - Love Nature - MovieSmart Classic - MovieSmart Premium - MovieSmart Premium 2 - MovieSmart Türk - National Geographic - National Geographic WILD - NTV - NR1 Türk - NR1 - Power TV - Show TV - Sinema TV 1001 - Sinema TV 1002 - Sinema TV 2 - Sinema TV Aile - Sinema TV Aile 2 - Sinema TV Aksiyon - Sinema TV Aksiyon 2 - Sinema TV Comedy - Sinema TV Comedy 2 - Sinema TV - Spor Smart - SPOR SMART 2 - S Sport - S Sport 2 - Star - Nature Escape - TAY TV - Tele 1 - teve2 - TGRT Haber - TLC - TMB - TRT 1 - trt 2 - TRT 3 Spor - TRT 4K - TRT Avaz - TRT Belgesel - TRT Çocuk - TRT Haber - TRT Kurdi - TRT Müzik - TRT Spor - Trt Spor Yıldız - TRT Türk - Tv 100 - TV4 - TV8 - TV 8,5 - TV Net - Uçankuş TV - Ülke TV - Vav Tv - Viasat History - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + a News + Baby TV + BBC World News + CNN International + Fashion TV + NBA TV + Trace Urban + 24Kitchen + 24 + 360 + a Haber + a Spor + ATV + BBC Earth + BBN Türk + Beyaz TV + Bloomberg HT + Boomerang + Cartoon Network + CNN Türk SD + Çocuk Smart + Da Vinci Learning + Discovery + Discovery Science + Disney Channel + Diyanet Tv + Dizi Smart Max + Dizi Smart Premium + DMAX + DocuBox + Euro D + Eurosport + Eurosport 2 + Fast & Fun + FB TV + FightBox + FilmBox + Flash Haber + FOXCRIME + FOX + FX + Haber Global + Haber Türk + Halk TV + Insight TV + Kanal 7 + Kanal D + Lider Tv + Love Nature + MovieSmart Classic + MovieSmart Premium + MovieSmart Premium 2 + MovieSmart Türk + National Geographic + National Geographic WILD + NTV + NR1 Türk + NR1 + Power TV + Show TV + Sinema TV 1001 + Sinema TV 1002 + Sinema TV 2 + Sinema TV Aile + Sinema TV Aile 2 + Sinema TV Aksiyon + Sinema TV Aksiyon 2 + Sinema TV Comedy + Sinema TV Comedy 2 + Sinema TV + Spor Smart + SPOR SMART 2 + S Sport + S Sport 2 + Star + Nature Escape + TAY TV + Tele 1 + teve2 + TGRT Haber + TLC + TMB + TRT 1 + trt 2 + TRT 3 Spor + TRT 4K + TRT Avaz + TRT Belgesel + TRT Çocuk + TRT Haber + TRT Kurdi + TRT Müzik + TRT Spor + Trt Spor Yıldız + TRT Türk + Tv 100 + TV4 + TV8 + TV 8,5 + TV Net + Uçankuş TV + Ülke TV + Vav Tv + Viasat History + diff --git a/sites/dsmart.com.tr/dsmart.com.tr.config.js b/sites/dsmart.com.tr/dsmart.com.tr.config.js index 353aa561..d545e226 100644 --- a/sites/dsmart.com.tr/dsmart.com.tr.config.js +++ b/sites/dsmart.com.tr/dsmart.com.tr.config.js @@ -17,10 +17,9 @@ module.exports = { return `${API_ENDPOINT}?page=${page}&limit=1&day=${date.format('YYYY-MM-DD')}` }, parser: function ({ content, channel }) { - let offset = -1 let programs = [] const items = parseItems(content, channel) - items.forEach((item, i) => { + items.forEach(item => { const prev = programs[programs.length - 1] let start if (prev) { @@ -90,7 +89,7 @@ function parseStart(item, date) { } function parseDuration(item) { - const [_, H, mm, ss] = item.duration.match(/(\d+):(\d+):(\d+)$/) + const [, H, mm, ss] = item.duration.match(/(\d+):(\d+):(\d+)$/) return parseInt(H) * 3600 + parseInt(mm) * 60 + parseInt(ss) } diff --git a/sites/dsmart.com.tr/dsmart.com.tr.test.js b/sites/dsmart.com.tr/dsmart.com.tr.test.js index 34e1b067..0b2cf669 100644 --- a/sites/dsmart.com.tr/dsmart.com.tr.test.js +++ b/sites/dsmart.com.tr/dsmart.com.tr.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/dsmart.com.tr/dsmart.com.tr.config.js --output=./sites/dsmart.com.tr/dsmart.com.tr.channels.xml -// npx epg-grabber --config=sites/dsmart.com.tr/dsmart.com.tr.config.js --channels=sites/dsmart.com.tr/dsmart.com.tr.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=dsmart.com.tr const { parser, url } = require('./dsmart.com.tr.config.js') const dayjs = require('dayjs') @@ -35,7 +35,8 @@ it('can parse response', () => { stop: '2023-01-15T23:45:00.000Z', title: 'Bizi Ayıran Her Şey', category: 'sinema/genel', - description: `Issızlığın ortasında yer alan orta sınıf bir evde bir anne kız yaşamaktadır. Çevrelerindeki taşları insanlarla yaşadıkları çatışmalar, anne-kızın hayatını olumsuz yönde etkilemektedir. Kızının ansızın ortadan kaybolması, bu çatışmaların seviyesini artıracak ve anne, kızını bulmak için her türlü yola başvuracaktır.` + description: + 'Issızlığın ortasında yer alan orta sınıf bir evde bir anne kız yaşamaktadır. Çevrelerindeki taşları insanlarla yaşadıkları çatışmalar, anne-kızın hayatını olumsuz yönde etkilemektedir. Kızının ansızın ortadan kaybolması, bu çatışmaların seviyesini artıracak ve anne, kızını bulmak için her türlü yola başvuracaktır.' }) expect(results[1]).toMatchObject({ @@ -43,7 +44,8 @@ it('can parse response', () => { stop: '2023-01-16T01:30:00.000Z', title: 'Pixie', category: 'sinema/genel', - description: `Annesinin intikamını almak isteyen Pixie, dahiyane bir soygun planlar. Fakat işler planladığı gibi gitmeyince kendini İrlanda’nın vahşi gangsterleri tarafından kovalanan iki adamla birlikte kaçarken bulur.` + description: + 'Annesinin intikamını almak isteyen Pixie, dahiyane bir soygun planlar. Fakat işler planladığı gibi gitmeyince kendini İrlanda’nın vahşi gangsterleri tarafından kovalanan iki adamla birlikte kaçarken bulur.' }) expect(results[12]).toMatchObject({ @@ -51,7 +53,8 @@ it('can parse response', () => { stop: '2023-01-16T22:30:00.000Z', title: 'Seberg', category: 'sinema/genel', - description: `Başrolünde ünlü yıldız Kristen Stewart’ın yer aldığı politik gerilim, 1960’ların sonunda insan hakları aktivisti Hakim Jamal ile yaşadığı politik ve romantik ilişki sebebiyle FBI tarafından hedef alınan, Fransız Yeni Dalgası’nın sevilen yüzü ve Serseri Aşıklar’ın yıldızı Jean Seberg’ün çarpıcı hikayesini anlatıyor.` + description: + 'Başrolünde ünlü yıldız Kristen Stewart’ın yer aldığı politik gerilim, 1960’ların sonunda insan hakları aktivisti Hakim Jamal ile yaşadığı politik ve romantik ilişki sebebiyle FBI tarafından hedef alınan, Fransız Yeni Dalgası’nın sevilen yüzü ve Serseri Aşıklar’ın yıldızı Jean Seberg’ün çarpıcı hikayesini anlatıyor.' }) }) diff --git a/sites/dstv.com/dstv.com.channels.xml b/sites/dstv.com/dstv.com.channels.xml index 0340c9ad..ee6ab2f2 100644 --- a/sites/dstv.com/dstv.com.channels.xml +++ b/sites/dstv.com/dstv.com.channels.xml @@ -1,213 +1,211 @@ - - - 1 KZN - 1 Magic - Africa Magic Epic - Africa Magic Family - Africa Magic Hausa - Africa Magic Igbo - Africa Magic Showcase HD - Africa Magic Urban - Africa Magic Yoruba - Africanews - AFRO Music English - AIT - Al Jazeera - Arewa 24 - Arise News - B4U Movies - Bay TV - BBC Brit - BBC Earth HD - BBC Lifestyle - BBC World News - BET - Big Brother Mzansi HD - Bloomberg Television - Boomerang - Business Day - Cape Town TV - Cartoon Network - Cbeebies - CBS Justice - CBS Reality - CCTV 4 - CCTV Entertainment – Mandarin Entertainment Channel - CGTN News - CGTN Documentary - Channel O HD - China Movie Channel - Citi TV - CNBC Africa - CNN International - Comedy Central - Curiosity Channel - Da Vinci Kids - Day Star - Discovery Channel HD - Discovery Family HD - Disney Channel - Disney Junior - Dominion TV - Dove TV - Dumisa - Deutsche Welle - E! Entertainment - eTV Extra HD - Emmanuel TV - eMovies HD - eMovies Extra HD - eNews Channel Africa - ESPN 2 HD - ESPN - eToonz - e.TV HD - eTV Africa - EuroNews - EuroNews French - EuroNews German - Eternal Word Television Network - FAITH - Fashion One - FliekNet HD - Food Network - FOX Life - FOX HD - Galaxy TV - GauTV - Ginx eSports HD - Home and Garden TV HD - HIP TV - The History Channel - Honey - IGNITION - TV Mundial (P) - Discovery ID - ISLAM CHANNEL - Jim Jam - Joy News - K24 - KIX - Kyk NET HD - Kyk NET & Kie HD - KyKNet Nou - LAGOS TV - Lifetime Entertainment - Lumen Christi - Maisha Magic Bongo - Maisha Magic Plus HD - ME Channel - Mindset - MiTV - M-Net Movies 1 West HD - M Movies 1 - M-Net Movies 2 - M-Net Movies 3 - M-Net Movies 4 - M-Net Movies Men of Action HD - M-Net West HD - Moja Love HD - MovieRoom - MTV - MTV base - Mzansi Bioskop - Mzansi Magic HD - Mzansi Music - Mzansi Wethu HD - National Geographic Channel - NatGeo Wild - NDTV 24x7 - Newzroom Afrika - NHK - Nickelodeon - NickJr - NickTOONS - NTA 2 - NTA I - NTA News 24 - NTA Parliament - OGTV - One Gospel - ONMAX - Parliamentary Service - PBS Kids - Peoples Weather - Phoenix News and Entertainment - Cloud Plus - Plus TV Africa - POP Central - RAI International - Real Time - ROK - ROK 2 - ROK GH - Russia Today - SABC 1 HD - SABC 2 HD - SABC 3 HD - SABC News - SBN - SILVERBIRD - Sky News - Sound City - Soweto TV - Spice TV - Star Life - Studio Universal HD - Sunna TV - ACTION - SS Blitz Nigeria - CRICKET - SS Football Nigeria - SS Football Plus Nigeria - GOLF - SS Grandstand Nigeria - SS LaLiga Nigeria - SS Maximo 1 (P) - SS Maximo 2 (P) - MOTORSPORT - SS Premier League Nigeria - PSL - RUGBY - SS Tennis Nigeria - SS Variety 1 Nigeria - SS Variety 2 Nigeria - SS Variety 3 Nigeria - SS Variety 4 Nigeria - TBN - TeleMundo - Televista - TellyTrack - The Home Channel - Discovery TLC HD - TLNovelas - TNT Africa - TRACE Africa - Trace Gospel - Trace Jama - TRACE Muzika - TRACE Mziki - TRACE Naija - TRACE URBAN HD - Travel Channel - Trybe - Tshwane TV - TV5 Monde Afrique - TVC News Nigeria - Lesotho TV - Universal TV - URBAN TV - VIA HD - VUZU HD - WAP TV - Wasafi TV - Wazobia Max - WildEarth - WWE Channel - Zee World - Zhejiang TV - CGTN French - RTPi (P) - - + + 1 KZN + 1 Magic + Africa Magic Epic + Africa Magic Family + Africa Magic Hausa + Africa Magic Igbo + Africa Magic Showcase HD + Africa Magic Urban + Africa Magic Yoruba + Africanews + AFRO Music English + AIT + Al Jazeera + Arewa 24 + Arise News + B4U Movies + Bay TV + BBC Brit + BBC Earth HD + BBC Lifestyle + BBC World News + BET + Big Brother Mzansi HD + Bloomberg Television + Boomerang + Business Day + Cape Town TV + Cartoon Network + Cbeebies + CBS Justice + CBS Reality + CCTV 4 + CCTV Entertainment – Mandarin Entertainment Channel + CGTN News + CGTN Documentary + Channel O HD + China Movie Channel + Citi TV + CNBC Africa + CNN International + Comedy Central + Curiosity Channel + Da Vinci Kids + Day Star + Discovery Channel HD + Discovery Family HD + Disney Channel + Disney Junior + Dominion TV + Dove TV + Dumisa + Deutsche Welle + E! Entertainment + eTV Extra HD + Emmanuel TV + eMovies HD + eMovies Extra HD + eNews Channel Africa + ESPN 2 HD + ESPN + eToonz + e.TV HD + eTV Africa + EuroNews + EuroNews French + EuroNews German + Eternal Word Television Network + FAITH + Fashion One + FliekNet HD + Food Network + FOX Life + FOX HD + Galaxy TV + GauTV + Ginx eSports HD + Home and Garden TV HD + HIP TV + The History Channel + Honey + IGNITION + TV Mundial (P) + Discovery ID + ISLAM CHANNEL + Jim Jam + Joy News + K24 + KIX + Kyk NET HD + Kyk NET & Kie HD + KyKNet Nou + LAGOS TV + Lifetime Entertainment + Lumen Christi + Maisha Magic Bongo + Maisha Magic Plus HD + ME Channel + Mindset + MiTV + M-Net Movies 1 West HD + M Movies 1 + M-Net Movies 2 + M-Net Movies 3 + M-Net Movies 4 + M-Net Movies Men of Action HD + M-Net West HD + Moja Love HD + MovieRoom + MTV + MTV base + Mzansi Bioskop + Mzansi Magic HD + Mzansi Music + Mzansi Wethu HD + National Geographic Channel + NatGeo Wild + NDTV 24x7 + Newzroom Afrika + NHK + Nickelodeon + NickJr + NickTOONS + NTA 2 + NTA I + NTA News 24 + NTA Parliament + OGTV + One Gospel + ONMAX + Parliamentary Service + PBS Kids + Peoples Weather + Phoenix News and Entertainment + Cloud Plus + Plus TV Africa + POP Central + RAI International + Real Time + ROK + ROK 2 + ROK GH + Russia Today + SABC 1 HD + SABC 2 HD + SABC 3 HD + SABC News + SBN + SILVERBIRD + Sky News + Sound City + Soweto TV + Spice TV + Star Life + Studio Universal HD + Sunna TV + ACTION + SS Blitz Nigeria + CRICKET + SS Football Nigeria + SS Football Plus Nigeria + GOLF + SS Grandstand Nigeria + SS LaLiga Nigeria + SS Maximo 1 (P) + SS Maximo 2 (P) + MOTORSPORT + SS Premier League Nigeria + PSL + RUGBY + SS Tennis Nigeria + SS Variety 1 Nigeria + SS Variety 2 Nigeria + SS Variety 3 Nigeria + SS Variety 4 Nigeria + TBN + TeleMundo + Televista + TellyTrack + The Home Channel + Discovery TLC HD + TLNovelas + TNT Africa + TRACE Africa + Trace Gospel + Trace Jama + TRACE Muzika + TRACE Mziki + TRACE Naija + TRACE URBAN HD + Travel Channel + Trybe + Tshwane TV + TV5 Monde Afrique + TVC News Nigeria + Lesotho TV + Universal TV + URBAN TV + VIA HD + VUZU HD + WAP TV + Wasafi TV + Wazobia Max + WildEarth + WWE Channel + Zee World + Zhejiang TV + CGTN French + RTPi (P) + diff --git a/sites/dstv.com/dstv.com.config.js b/sites/dstv.com/dstv.com.config.js index a53b6103..8f7e62ae 100644 --- a/sites/dstv.com/dstv.com.config.js +++ b/sites/dstv.com/dstv.com.config.js @@ -27,7 +27,7 @@ module.exports = { 'YYYY-MM-DD' )}${packageName}&country=${region}` }, - async parser({ content, channel, cached }) { + async parser({ content, channel }) { let programs = [] const items = parseItems(content, channel) for (const item of items) { @@ -91,7 +91,7 @@ async function loadProgramDetails(item) { } function parseItems(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const data = JSON.parse(content) if (!data || !Array.isArray(data.Channels)) return [] const channelData = data.Channels.find(c => c.Number === channelId) diff --git a/sites/dstv.com/dstv.com.test.js b/sites/dstv.com/dstv.com.test.js index c796b2b0..b18bb6ab 100644 --- a/sites/dstv.com/dstv.com.test.js +++ b/sites/dstv.com/dstv.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/dstv.com/dstv.com.config.js --output=./sites/dstv.com/dstv.com.channels.xml --set=country:zaf -// npx epg-grabber --config=sites/dstv.com/dstv.com.config.js --channels=sites/dstv.com/dstv.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=dstv.com const { parser, url } = require('./dstv.com.config.js') const axios = require('axios') @@ -101,7 +101,7 @@ it('can parse response for NG', async () => { it('can handle empty guide', done => { parser({ - content: `{"Total":0,"Channels":[]}`, + content: '{"Total":0,"Channels":[]}', channel: channelZA }) .then(result => { diff --git a/sites/elcinema.com/elcinema.com.channels.xml b/sites/elcinema.com/elcinema.com.channels.xml index ec2f3d13..83e36b51 100644 --- a/sites/elcinema.com/elcinema.com.channels.xml +++ b/sites/elcinema.com/elcinema.com.channels.xml @@ -1,238 +1,236 @@ - - - 2M Monde - Abu Dhabi Drama - Abu Dhabi TV - Al Aoula Middle East - Al Araby 2 TV - Al Dafrah TV - Al Hayat - Al Jadeed - Al Kahera Wal Nas - Al Kahera Wal Nas TV 2 - Al-Manar TV - Al-Nahar TV - Al-Nahar Drama - Alrai TV - Al Rasheed TV - Al-Saeedah - Al Safwa - Saudi TV - Alsharqiya TV - Alsumaria - Al Yawm - Amman TV - ART Aflam 1 - ART Aflam 2 - ART Cinema - ART Hekayat - ART Hekayat 2 - BeIn Drama 1 - BeIn Movies Premiere - BeIn Movies Action - BeIn Movies Drama - BeIn Movies Family - BeIn Series 1 - BeIn Series 2 - Cartoon Network Arabic - CBC - CBC Drama - CBC Sofra - Cima - Cinema 1 - Cinema 2 - Discovery Channel Middle East & Africa - Disney Channel Middle East - DMC - DMC Drama - Dubai One - Dubai TV - Dubai Zaman - Echorouk TV - El Mehwar Channel - Watania 1 - Emarat TV - E! Middle East - ETC TV - Fann - FX - IFilm Arabic - Kuwait TV - KTV Al Qurain - KTV Khallik Bilbait - Lana TV - LBC - LBC International - Maspero Zaman - MBC - MBC 2 - MBC 3 - MBC 4 - MBC 5 - MBC Action - MBC Bollywood - MBC Drama - MBC Maser - MBC Maser 2 - MBC Max - MBC Drama + - Mix Bel Araby - Mix Hollywood - MTV Alloubnaniya - Musawa - National Geographic Abu Dhabi - National Geographic Middle East - Nessma - Nile Comedy - Nile Drama - On Drama - On E - OSN Comedy - OSN Kids - OSN Action - OSN Movies - OSN Ya Hala - Rotana Cinema Egypt - Rotana Cinema KSA - Rotana Classic - Rotana Comedy - Rotana Drama - Rotana Khalijia - Rotana Kids - Rotana+ HD - Sada Elbalad - Sada Elbalad 2 - Sada Elbalad Drama - Sama Dubai - Sama TV - SBC - Sharjah TV - Star Movies Middle East - Star World Middle East - Syria Drama - Syria TV - Ten - Thikrayat TV - UTV - Watania 2 - Zee Aflam - Zee Alwan - 2M Monde - Abu Dhabi Drama - Abu Dhabi TV - Al Aoula Middle East - Al Araby 2 TV - Al Dafrah TV - Al Hayat - Al Jadeed - Al Kahera Wal Nas - Al Kahera Wal Nas TV 2 - Al-Manar TV - Al-Nahar TV - Al-Nahar Drama - Alrai TV - Al Rasheed TV - Al-Saeedah - Al Safwa - Saudi TV - Alsharqiya TV - Alsumaria - Al Yawm - Amman TV - ART Aflam 1 - ART Aflam 2 - ART Cinema - ART Hekayat - ART Hekayat 2 - BeIn Drama 1 - BeIn Movies Premiere - BeIn Movies Action - BeIn Movies Drama - BeIn Movies Family - BeIn Series 1 - BeIn Series 2 - Cartoon Network Arabic - CBC - CBC Drama - CBC Sofra - Cima - Cinema 1 - Cinema 2 - Discovery Channel Middle East & Africa - Disney Channel Middle East - DMC - DMC Drama - Dubai One - Dubai TV - Dubai Zaman - Echorouk TV - El Mehwar Channel - Watania 1 - Emarat TV - E! Middle East - ETC TV - Fann - FX - IFilm Arabic - Kuwait TV - KTV Al Qurain - KTV Khallik Bilbait - Lana TV - LBC - Maspero Zaman - MBC - MBC 2 - MBC 3 - MBC 4 - MBC 5 - MBC Action - MBC Bollywood - MBC Drama - MBC Maser - MBC Maser 2 - MBC Max - MBC Drama + - Mix Bel Araby - Mix Hollywood - MTV Alloubnaniya - Musawa - National Geographic Abu Dhabi - National Geographic Middle East - Nessma - Nile Comedy - Nile Drama - On Drama - On E - OSN Comedy - OSN Kids - OSN Action - OSN Movies - OSN Ya Hala - Rotana Cinema Egypt - Rotana Cinema KSA - Rotana Classic - Rotana Comedy - Rotana Drama - Rotana Khalijia - Rotana Kids - Rotana+ HD - Sada Elbalad - Sada Elbalad 2 - Sada Elbalad Drama - Sama Dubai - Sama TV - SBC - Sharjah TV - Star Movies Middle East - Star World Middle East - Syria Drama - Syria TV - Ten - Thikrayat TV - UTV - Watania 2 - Zee Aflam - Zee Alwan - - \ No newline at end of file + + 2M Monde + Abu Dhabi Drama + Abu Dhabi TV + Al Aoula Middle East + Al Araby 2 TV + Al Dafrah TV + Al Hayat + Al Jadeed + Al Kahera Wal Nas + Al Kahera Wal Nas TV 2 + Al-Manar TV + Al-Nahar TV + Al-Nahar Drama + Alrai TV + Al Rasheed TV + Al-Saeedah + Al Safwa + Saudi TV + Alsharqiya TV + Alsumaria + Al Yawm + Amman TV + ART Aflam 1 + ART Aflam 2 + ART Cinema + ART Hekayat + ART Hekayat 2 + BeIn Drama 1 + BeIn Movies Premiere + BeIn Movies Action + BeIn Movies Drama + BeIn Movies Family + BeIn Series 1 + BeIn Series 2 + Cartoon Network Arabic + CBC + CBC Drama + CBC Sofra + Cima + Cinema 1 + Cinema 2 + Discovery Channel Middle East & Africa + Disney Channel Middle East + DMC + DMC Drama + Dubai One + Dubai TV + Dubai Zaman + Echorouk TV + El Mehwar Channel + Watania 1 + Emarat TV + E! Middle East + ETC TV + Fann + FX + IFilm Arabic + Kuwait TV + KTV Al Qurain + KTV Khallik Bilbait + Lana TV + LBC + LBC International + Maspero Zaman + MBC + MBC 2 + MBC 3 + MBC 4 + MBC 5 + MBC Action + MBC Bollywood + MBC Drama + MBC Maser + MBC Maser 2 + MBC Max + MBC Drama + + Mix Bel Araby + Mix Hollywood + MTV Alloubnaniya + Musawa + National Geographic Abu Dhabi + National Geographic Middle East + Nessma + Nile Comedy + Nile Drama + On Drama + On E + OSN Comedy + OSN Kids + OSN Action + OSN Movies + OSN Ya Hala + Rotana Cinema Egypt + Rotana Cinema KSA + Rotana Classic + Rotana Comedy + Rotana Drama + Rotana Khalijia + Rotana Kids + Rotana+ HD + Sada Elbalad + Sada Elbalad 2 + Sada Elbalad Drama + Sama Dubai + Sama TV + SBC + Sharjah TV + Star Movies Middle East + Star World Middle East + Syria Drama + Syria TV + Ten + Thikrayat TV + UTV + Watania 2 + Zee Aflam + Zee Alwan + 2M Monde + Abu Dhabi Drama + Abu Dhabi TV + Al Aoula Middle East + Al Araby 2 TV + Al Dafrah TV + Al Hayat + Al Jadeed + Al Kahera Wal Nas + Al Kahera Wal Nas TV 2 + Al-Manar TV + Al-Nahar TV + Al-Nahar Drama + Alrai TV + Al Rasheed TV + Al-Saeedah + Al Safwa + Saudi TV + Alsharqiya TV + Alsumaria + Al Yawm + Amman TV + ART Aflam 1 + ART Aflam 2 + ART Cinema + ART Hekayat + ART Hekayat 2 + BeIn Drama 1 + BeIn Movies Premiere + BeIn Movies Action + BeIn Movies Drama + BeIn Movies Family + BeIn Series 1 + BeIn Series 2 + Cartoon Network Arabic + CBC + CBC Drama + CBC Sofra + Cima + Cinema 1 + Cinema 2 + Discovery Channel Middle East & Africa + Disney Channel Middle East + DMC + DMC Drama + Dubai One + Dubai TV + Dubai Zaman + Echorouk TV + El Mehwar Channel + Watania 1 + Emarat TV + E! Middle East + ETC TV + Fann + FX + IFilm Arabic + Kuwait TV + KTV Al Qurain + KTV Khallik Bilbait + Lana TV + LBC + Maspero Zaman + MBC + MBC 2 + MBC 3 + MBC 4 + MBC 5 + MBC Action + MBC Bollywood + MBC Drama + MBC Maser + MBC Maser 2 + MBC Max + MBC Drama + + Mix Bel Araby + Mix Hollywood + MTV Alloubnaniya + Musawa + National Geographic Abu Dhabi + National Geographic Middle East + Nessma + Nile Comedy + Nile Drama + On Drama + On E + OSN Comedy + OSN Kids + OSN Action + OSN Movies + OSN Ya Hala + Rotana Cinema Egypt + Rotana Cinema KSA + Rotana Classic + Rotana Comedy + Rotana Drama + Rotana Khalijia + Rotana Kids + Rotana+ HD + Sada Elbalad + Sada Elbalad 2 + Sada Elbalad Drama + Sama Dubai + Sama TV + SBC + Sharjah TV + Star Movies Middle East + Star World Middle East + Syria Drama + Syria TV + Ten + Thikrayat TV + UTV + Watania 2 + Zee Aflam + Zee Alwan + \ No newline at end of file diff --git a/sites/elcinema.com/elcinema.com.config.js b/sites/elcinema.com/elcinema.com.config.js index 5271e598..878362f9 100644 --- a/sites/elcinema.com/elcinema.com.config.js +++ b/sites/elcinema.com/elcinema.com.config.js @@ -11,7 +11,6 @@ dayjs.extend(utc) module.exports = { site: 'elcinema.com', - skip: true, // NOTE: the guide shows the wrong time (https://github.com/iptv-org/epg/issues/994) days: 2, url({ channel }) { const lang = channel.lang === 'en' ? 'en/' : '/' diff --git a/sites/elcinema.com/elcinema.com.test.js b/sites/elcinema.com/elcinema.com.test.js index a64a4eb8..d7ea6e93 100644 --- a/sites/elcinema.com/elcinema.com.test.js +++ b/sites/elcinema.com/elcinema.com.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/elcinema.com/elcinema.com.config.js --channels=sites/elcinema.com/elcinema.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=elcinema.com -const { parser, url, request } = require('./elcinema.com.config.js') +const { parser, url } = require('./elcinema.com.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') @@ -63,7 +63,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel: channelEN, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.channels.xml b/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.channels.xml index a01dc207..1af380ed 100644 --- a/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.channels.xml +++ b/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.channels.xml @@ -1,11 +1,9 @@ - - - ENA - ENA PLAY - kids talk talk plus - OLIFE - ONCE - skyUHD - - + + ENA + ENA PLAY + kids talk talk plus + OLIFE + ONCE + skyUHD + diff --git a/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.config.js b/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.config.js index 86e3791f..d8401689 100644 --- a/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.config.js +++ b/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.config.js @@ -61,7 +61,7 @@ function parseStart($item, date) { return dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'Asia/Seoul') } -function parseItems(content, channel, date) { +function parseItems(content) { const $ = cheerio.load(content) return $('.tbl_schedule > tbody > tr').toArray() diff --git a/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.test.js b/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.test.js index ecf7e5ae..12c9255c 100644 --- a/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.test.js +++ b/sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.config.js --channels=sites/ena.skylifetv.co.kr/ena.skylifetv.co.kr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=ena.skylifetv.co.kr const { parser, url } = require('./ena.skylifetv.co.kr.config.js') const fs = require('fs') @@ -31,7 +31,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-26T16:05:00.000Z', stop: '2023-01-26T17:20:00.000Z', - title: `법쩐 6화`, + title: '법쩐 6화', rating: { system: 'KMRB', value: '15' @@ -41,7 +41,7 @@ it('can parse response', () => { expect(results[17]).toMatchObject({ start: '2023-01-27T14:10:00.000Z', stop: '2023-01-27T15:25:00.000Z', - title: `남이 될 수 있을까 4화`, + title: '남이 될 수 있을까 4화', rating: { system: 'KMRB', value: '15' diff --git a/sites/entertainment.ie/entertainment.ie.channels.xml b/sites/entertainment.ie/entertainment.ie.channels.xml index f5f18067..f4201bbb 100644 --- a/sites/entertainment.ie/entertainment.ie.channels.xml +++ b/sites/entertainment.ie/entertainment.ie.channels.xml @@ -1,113 +1,111 @@ - - - - - - - - - - - - - - - - 4Music - Alibi - Animal Planet - BBC Four - BBC Three - Boomerang - Box Nation - Cartoon Network - CBBC - CBeebies - CBS Drama - CBS Reality - Challenge - Channel 4 - Channel 5 - Comedy Central Extra - Comedy Central - Dave - Discovery Channel - Discovery History - Discovery Science - Discovery Turbo - DMAX - Drama - E4 - E4 Extra - Eden - Eurosport 1 - Eurosport 2 - Free Sports - GOLD - Great! Movies - Great! TV - HorrorXtra - Investigation Discovery - ITV2 - ITV3 - ITV4 - La Liga TV - Legend - More4 - MTV - National Geographic - National Geographic Wild - Nickelodeon - Nicktoons - Pick - Premier Sports 1 - Premier Sports 2 - Really - RTÉ2 - RTÉ Jr - RTÉ One - Sky Arts - Sky Atlantic - Sky Cinema Comedy - Sky Cinema Drama - Sky Cinema Family - Sky Cinema Greats - Sky Cinema Hits - Sky Cinema Premiere - Sky Cinema Sci-Fi - Horror - Sky Cinema Thriller - Sky Comedy - Sky Crime - Sky Documentaries - Sky History - Sky History 2 - Sky Max - Sky Nature - Sky Replay - Sky Sci-Fi - Sky Showcase - Sky Sports Arena HD - Sky Sports Cricket - Sky Sports Football - Sky Sports Golf - Sky Sports Main Event - Sky Sports Mix - Sky Sports NFL - Sky Sports Premier League ROI - Sky Witness - TG4 - TLC - TNT Sports 1 - TNT Sports 2 - TNT Sports 3 - UTV - Virgin Media Four - Virgin Media More - Virgin Media One - Virgin Media Three - Virgin Media Two - W - Yesterday - - + + + + + + + + + + + + + + + 4Music + Alibi + Animal Planet + BBC Four + BBC Three + Boomerang + Box Nation + Cartoon Network + CBBC + CBeebies + CBS Drama + CBS Reality + Challenge + Channel 4 + Channel 5 + Comedy Central Extra + Comedy Central + Dave + Discovery Channel + Discovery History + Discovery Science + Discovery Turbo + DMAX + Drama + E4 + E4 Extra + Eden + Eurosport 1 + Eurosport 2 + Free Sports + GOLD + Great! Movies + Great! TV + HorrorXtra + Investigation Discovery + ITV2 + ITV3 + ITV4 + La Liga TV + Legend + More4 + MTV + National Geographic + National Geographic Wild + Nickelodeon + Nicktoons + Pick + Premier Sports 1 + Premier Sports 2 + Really + RTÉ2 + RTÉ Jr + RTÉ One + Sky Arts + Sky Atlantic + Sky Cinema Comedy + Sky Cinema Drama + Sky Cinema Family + Sky Cinema Greats + Sky Cinema Hits + Sky Cinema Premiere + Sky Cinema Sci-Fi - Horror + Sky Cinema Thriller + Sky Comedy + Sky Crime + Sky Documentaries + Sky History + Sky History 2 + Sky Max + Sky Nature + Sky Replay + Sky Sci-Fi + Sky Showcase + Sky Sports Arena HD + Sky Sports Cricket + Sky Sports Football + Sky Sports Golf + Sky Sports Main Event + Sky Sports Mix + Sky Sports NFL + Sky Sports Premier League ROI + Sky Witness + TG4 + TLC + TNT Sports 1 + TNT Sports 2 + TNT Sports 3 + UTV + Virgin Media Four + Virgin Media More + Virgin Media One + Virgin Media Three + Virgin Media Two + W + Yesterday + diff --git a/sites/entertainment.ie/entertainment.ie.config.js b/sites/entertainment.ie/entertainment.ie.config.js index 337c7872..0ac331d1 100644 --- a/sites/entertainment.ie/entertainment.ie.config.js +++ b/sites/entertainment.ie/entertainment.ie.config.js @@ -37,7 +37,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://entertainment.ie/tv/all-channels/`) + .get('https://entertainment.ie/tv/all-channels/') .then(r => r.data) .catch(console.log) const $ = cheerio.load(data) @@ -73,7 +73,7 @@ function parseCategories($item) { function parseStart($item, date) { let d = $item('.text-holder > .btn-hold > .btn-wrap > a.btn-share').data('time') - let [_, time] = d ? d.split(', ') : [null, null] + let [, time] = d ? d.split(', ') : [null, null] return time ? DateTime.fromFormat(`${date.format('YYYY-MM-DD')} ${time}`, 'yyyy-MM-dd HH:mm', { @@ -91,5 +91,5 @@ function parseDuration($item) { function parseItems(content) { const $ = cheerio.load(content) - return $(`.info-list > li`).toArray() + return $('.info-list > li').toArray() } diff --git a/sites/entertainment.ie/entertainment.ie.test.js b/sites/entertainment.ie/entertainment.ie.test.js index c88911a1..4f027098 100644 --- a/sites/entertainment.ie/entertainment.ie.test.js +++ b/sites/entertainment.ie/entertainment.ie.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/entertainment.ie/entertainment.ie.config.js --output=./sites/entertainment.ie/entertainment.ie.channels.xml -// npx epg-grabber --config=sites/entertainment.ie/entertainment.ie.config.js --channels=sites/entertainment.ie/entertainment.ie.channels.xml --output=guide.xml +// npm run grab -- --site=entertainment.ie const fs = require('fs') const path = require('path') diff --git a/sites/epg.i-cable.com/epg.i-cable.com.channels.xml b/sites/epg.i-cable.com/epg.i-cable.com.channels.xml index 6d34440a..a5567e69 100644 --- a/sites/epg.i-cable.com/epg.i-cable.com.channels.xml +++ b/sites/epg.i-cable.com/epg.i-cable.com.channels.xml @@ -1,168 +1,166 @@ - - - ABC Australia - Al Jazeera English - Animal Planet - Arirang TV - Asian Food Network [HD] - BBC Earth - BBC Lifestyle - BBC WorldNews - Bloomberg TV - Boomerang - Cartoon Network - CBeebies - CCTV-1 [HD] - CCTV-11-Opera - CCTV-News - CCTV-4 - CGTN - CGTN-Documentary [HD] - Channel Blue - Channel Fire - Ch News Asia - CNBC HK - CNNI - Da Vinci - Discovery Asia [HD] - Discovery - Discovery Sci - DMAX - Dragon TV - DreamWorks - DW (Deutsch) - DW (English) - Asia YOYO TV - ETTV AsiaNews - ETTV Asia - euronews(Eng) - euronews(Por) - Eurosport - EVE - Fashion TV - FIGHT SPORTS - France 24 English - France 24 French - Global Trekker [HD] - GRT GBA Satellite TV - HITS [HD] - HITS MOVIES [HD] - HK Int’l Business Ch - CNN HLN News - HOY TV - Hubei TV - Hunan TV International - CABLE Movies - Channel 18 - Cine p. - Family Entertainment Channel - i-CABLE Finance Info Channel - HD Channel 603 [HD] - Horse Racing 1 - Horse Racing 2 - i-CABLE Live News Channel - i-CABLE News Channel - Sports Channel - Sports Plus 1 - Sports Plus 2 - Sports Plus 3 - LFCTV - MTV Live - MyCineEu - National Geographic - Nat Geo Wild - NHK World-Japan - NHK World Pr - Nickelodeon - Nick Jr. - Outdoor Channel - Paramount Network Asia [HD] - Pet Club TV - Phoenix Chi - Phoenix Hong Kong Channel - PhoenixInfonews - ROCK Entertainment - ROCK Extreme [HD] - Russia Today - SZTV - Sky News - STAR Chinese Channel - Star Chinese Movies [HD] - TechStorm [HD] - Thrill - TLC - Travel Channel [HD] - tvN - WION - Zee Cinema - Zee TV - Zing - 動物星球頻道 - 亞洲美食頻道 [HD] - BBC Earth - BBC Lifestyle - Bloomberg TV - Boomerang 頻道 - 卡通頻道 - 中央電視台綜合頻道 [HD] - 中央電視台戲曲頻道 - 中央電視台新聞頻道 - 中央電視台中文國際頻道 - 歡樂台 - 惹火台 - 亞洲新聞台 - Discovery Asia [HD] - Discovery - Discovery科學頻道 - DMAX - 東方衛視國際頻道 - 夢工廠 - 東森亞洲衛視 - 東森亞洲幼幼台 - 東森亞洲新聞台 - euronews(Eng) - euronews(Por) - EVE - Global Trekker [HD] - 大灣區衛視 - HITS [HD] - HITS MOVIES [HD] - 香港國際財經台 - HOY TV - 湖北衛視 - 湖南廣播電視台國際頻道 - 有線電影台 - 有線18台 - Cine p. - 綜合娛樂台 - 財經資訊台 - 高清603台 [HD] - 賽馬1台 - 賽馬2台 - 直播新聞台 - 新聞台 - 體育台 - Sports Plus 1 - Sports Plus 2 - Sports Plus 3 - 光影歐洲 - 國家地理頻道 - 國家地理野生頻道 - Nickelodeon - Paramount Network Asia [HD] - 鳯凰衛視中文台 - 鳳凰衛視香港台 - 鳳凰衛視資訊台 - ROCK綜藝娛樂 - ROCK超極娛樂 [HD] - 深圳電視台 - 衛視中文台 - 衛視電影台 [HD] - 驚慄電影台 - 旅遊生活頻道 - 旅遊頻道 [HD] - tvN - Zee Cinema - - + + DW (Deutsch) + ABC Australia + Al Jazeera English + Animal Planet + Arirang TV + Asian Food Network [HD] + BBC Earth + BBC Lifestyle + BBC WorldNews + Bloomberg TV + Boomerang + Cartoon Network + CBeebies + CCTV-1 [HD] + CCTV-11-Opera + CCTV-News + CCTV-4 + CGTN + CGTN-Documentary [HD] + Channel Blue + Channel Fire + Ch News Asia + CNBC HK + CNNI + Da Vinci + Discovery Asia [HD] + Discovery + Discovery Sci + DMAX + Dragon TV + DreamWorks + DW (English) + ETTV Asia + Asia YOYO TV + ETTV AsiaNews + euronews(Eng) + euronews(Por) + Eurosport + EVE + Fashion TV + FIGHT SPORTS + France 24 English + Global Trekker [HD] + GRT GBA Satellite TV + HITS [HD] + HITS MOVIES [HD] + HK Int’l Business Ch + CNN HLN News + HOY TV + Hubei TV + Hunan TV International + CABLE Movies + Channel 18 + Cine p. + Family Entertainment Channel + i-CABLE Finance Info Channel + HD Channel 603 [HD] + Horse Racing 1 + Horse Racing 2 + i-CABLE Live News Channel + i-CABLE News Channel + Sports Channel + Sports Plus 1 + Sports Plus 2 + Sports Plus 3 + LFCTV + MTV Live + MyCineEu + National Geographic + Nat Geo Wild + NHK World-Japan + NHK World Pr + Nickelodeon + Nick Jr. + Outdoor Channel + Paramount Network Asia [HD] + Pet Club TV + Phoenix Chi + Phoenix Hong Kong Channel + PhoenixInfonews + ROCK Entertainment + ROCK Extreme [HD] + Russia Today + SZTV + Sky News + STAR Chinese Channel + Star Chinese Movies [HD] + TechStorm [HD] + Thrill + TLC + Travel Channel [HD] + tvN + WION + Zee Cinema + Zing + France 24 French + Zee TV + 動物星球頻道 + 亞洲美食頻道 [HD] + BBC Earth + BBC Lifestyle + Bloomberg TV + Boomerang 頻道 + 卡通頻道 + 中央電視台綜合頻道 [HD] + 中央電視台戲曲頻道 + 中央電視台新聞頻道 + 中央電視台中文國際頻道 + 歡樂台 + 惹火台 + 亞洲新聞台 + Discovery Asia [HD] + Discovery + Discovery科學頻道 + DMAX + 東方衛視國際頻道 + 夢工廠 + 東森亞洲衛視 + 東森亞洲幼幼台 + 東森亞洲新聞台 + euronews(Eng) + euronews(Por) + EVE + Global Trekker [HD] + 大灣區衛視 + HITS [HD] + HITS MOVIES [HD] + 香港國際財經台 + HOY TV + 湖北衛視 + 湖南廣播電視台國際頻道 + 有線電影台 + 有線18台 + Cine p. + 綜合娛樂台 + 財經資訊台 + 高清603台 [HD] + 賽馬1台 + 賽馬2台 + 直播新聞台 + 新聞台 + 體育台 + Sports Plus 1 + Sports Plus 2 + Sports Plus 3 + 光影歐洲 + 國家地理頻道 + 國家地理野生頻道 + Nickelodeon + Paramount Network Asia [HD] + 鳯凰衛視中文台 + 鳳凰衛視香港台 + 鳳凰衛視資訊台 + ROCK綜藝娛樂 + ROCK超極娛樂 [HD] + 深圳電視台 + 衛視中文台 + 衛視電影台 [HD] + 驚慄電影台 + 旅遊生活頻道 + 旅遊頻道 [HD] + tvN + Zee Cinema + diff --git a/sites/epg.i-cable.com/epg.i-cable.com.config.js b/sites/epg.i-cable.com/epg.i-cable.com.config.js index be016007..20074174 100644 --- a/sites/epg.i-cable.com/epg.i-cable.com.config.js +++ b/sites/epg.i-cable.com/epg.i-cable.com.config.js @@ -75,11 +75,13 @@ function parseStart(item, date) { return DateTime.fromFormat( `${date.format('YYYY-MM-DD')} ${item.time} ${meridiem}`, 'yyyy-MM-dd hh:mm a', - { zone: 'Asia/Hong_Kong' } + { + zone: 'Asia/Hong_Kong' + } ).toUTC() } -function parseItems(content, date) { +function parseItems(content) { const data = JSON.parse(content) if (!data || !Array.isArray(data.epgs)) return [] diff --git a/sites/epg.i-cable.com/epg.i-cable.com.test.js b/sites/epg.i-cable.com/epg.i-cable.com.test.js index bc573f02..8fc59b98 100644 --- a/sites/epg.i-cable.com/epg.i-cable.com.test.js +++ b/sites/epg.i-cable.com/epg.i-cable.com.test.js @@ -1,13 +1,13 @@ // npm run channels:parse -- --config=./sites/epg.i-cable.com/epg.i-cable.com.config.js --output=./sites/epg.i-cable.com/epg.i-cable.com.channels.xml --set=lang:zh -// npx epg-grabber --config=sites/epg.i-cable.com/epg.i-cable.com.config.js --channels=sites/epg.i-cable.com/epg.i-cable.com.channels.xml --output=guide.xml +// npm run grab -- --site=epg.i-cable.com const { parser, url } = require('./epg.i-cable.com.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') + dayjs.extend(customParseFormat) dayjs.extend(utc) diff --git a/sites/firstmedia.com/firstmedia.com.channels.xml b/sites/firstmedia.com/firstmedia.com.channels.xml index 1d8634cb..6bdba625 100644 --- a/sites/firstmedia.com/firstmedia.com.channels.xml +++ b/sites/firstmedia.com/firstmedia.com.channels.xml @@ -1,193 +1,183 @@ - - - ABC Australia - Al Jazeera Arabic - Al Jazeera International - Al Quran Al Kareem - ANHUI TV - Animal Planet - Animax - ANTV - Arirang - Asian Food Network - AXN - BabyFirst - - - Berita Satu - Berita Satu World - - BLOOMBERG TELEVISION - Boomerang HD - Cartoon Network - CCTV 4 - Celestial Movie - CGTN - CGTN Documentary HD - Champions TV 1 - Champions TV 2 - Champions TV 3 - Champions TV 4 SD - Channel News Asia - Cinema World HD - Cinemax - Citra Biskop HD - Citra Dangdut HD - CItra Drama HD - Citra Entertainment HD - Citra Muslim HD - - Crime - Investigation HD - Da Vinci HD - DAAI TV - Discovery Asia HD - Discovery Channel - - DMAX HD - Dragon TV - Dream Works HD - DW Deutsch - DW English - eGG Channel - Eternal Word Television - Network (EWTN)) - Euronews - - Fashion TV - - Food Network HD - Fox News - France 24 - Galaxy HD - Galaxy Premium HD - Garuda TV - GEM - GMS Channel - GTV - HBO - HBO Family - HBO Hits - HBO Signature - HGTV HD - History HD - HITS HD - HITS MOVIES HD - - - Horee! HD - Hunan TV - IDX Channel HD - IMC - Indosiar - iNews - - Jakarta TV - Jak TV - Jawa Pos Media Televisi - JTV - Jiangsu TV - - KBS World - KIX HD - Kompas TV - Lifetime HD - - - Love Nature 4K - Love Nature HD - - Metro Globe Network - MGN - Metro TV - MNC News - MTV Asia - MTV Live HD - MyZen TV HD - National - Geographic Channel - National - Geographic Wild - NET. - NHK World Japan HD - NHK World Premium - Nick jr. - Nickelodeon - O Channel - ONE - Paramount Network - HD - Phoenix Chinese Channel - Phoenix Info News - - Premier Sports - Rai Italia - Rajawali TV - Reformed 21 - Rock Entertainment HD - Rock Extreme - Russia Today - SCTV - SEA Today HD - - - Shine - Smithsonian HD - SPOTV - SPOTV 2 - Star Chinese Channel - Star Gold - Star Plus - Stingray Djazz HD - Stingray Festival 4K - - Stingray Naturescape HD - Stingray Now 4K - - Sunnah TV - TBN Asia - Tech Storm HD - The Learning Channel - TLC - TRANS 7 - TRANS TV - TRT World - - TV 5 Monde Style HD - TV One - TV PARLEMEN - TV5 Monde - TV9 - TVB Xing He - TVBS Asia - TVBS News - TVN HD - TVN Movies HD - TVRI Nasional - USA Today HD - - Wion - Xing Kong China - Zee Action - Zee Bioskop - Zee Bollywood - Zee Cinema - ZEE TV - Zhejiang TV - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ABC Australia + Al Jazeera Arabic + Al Jazeera International + Al Quran Al Kareem + Sunnah TV + ANHUI TV + Animal Planet + Animax + ANTV + Arirang + Asian Food Network + AXN + BabyFirst + Berita Satu + Berita Satu World + BLOOMBERG TELEVISION + Boomerang HD + Cartoon Network + CCTV 4 + Celestial Movie + CGTN + CGTN Documentary HD + Champions TV 1 + Champions TV 2 + Champions TV 3 + Champions TV 4 SD + Cinema World HD + Cinemax + Citra Biskop HD + Citra Dangdut HD + CItra Drama HD + Citra Entertainment HD + Citra Muslim HD + Channel News Asia + Crime Investigation HD + DAAI TV + Da Vinci HD + Discovery Asia HD + Discovery Channel + DMAX HD + Dragon TV + Dream Works HD + DW Deutsch + DW English + eGG Channel + Euronews + Eternal Word Television Network (EWTN)) + Fashion TV + Food Network HD + Fox News + France 24 + Galaxy HD + Galaxy Premium HD + Garuda TV + GEM + GMS Channel + GTV + HBO + HBO Family + HBO Hits + HBO Signature + HGTV HD + History HD + HITS HD + HITS MOVIES HD + Horee! HD + Hunan TV + IDX Channel HD + IMC + Indosiar + iNews + Jakarta TV - Jak TV + Jiangsu TV + Jawa Pos Media Televisi - JTV + KBS World + KIX HD + Kompas TV + Lifetime HD + Love Nature 4K + Love Nature HD + Metro Globe Network - MGN + Metro TV + MNC News + MTV Asia + MTV Live HD + MyZen TV HD + National Geographic Channel + National Geographic Wild + NET. + NHK World Japan HD + NHK World Premium + Nickelodeon + Nick jr. + O Channel + ONE + Paramount Network HD + Phoenix Chinese Channel + Phoenix Info News + Premier Sports + Rai Italia + Rajawali TV + Reformed 21 + Rock Entertainment HD + Rock Extreme + Russia Today + SCTV + SEA Today HD + Shine + Smithsonian HD + SPOTV + SPOTV 2 + Star Chinese Channel + Star Gold + Star Plus + Stingray Djazz HD + Stingray Festival 4K + Stingray Naturescape HD + Stingray Now 4K + TBN Asia + Tech Storm HD + The Learning Channel - TLC + TRANS 7 + TRANS TV + TRT World + TV5 Monde + TV 5 Monde Style HD + TV9 + TVBS Asia + TVBS News + TVB Xing He + TVN HD + TVN Movies HD + TV One + TVRI Nasional + TV PARLEMEN + USA Today HD + Wion + Xing Kong China + Zee Action + Zee Bioskop + Zee Bollywood + Zee Cinema + ZEE TV + Zhejiang TV + \ No newline at end of file diff --git a/sites/firstmedia.com/firstmedia.com.config.js b/sites/firstmedia.com/firstmedia.com.config.js index 604ee012..75237b1e 100644 --- a/sites/firstmedia.com/firstmedia.com.config.js +++ b/sites/firstmedia.com/firstmedia.com.config.js @@ -1,54 +1,52 @@ -const dayjs = require("dayjs"); -const timezone = require("dayjs/plugin/timezone"); -const utc = require('dayjs/plugin/utc'); +const dayjs = require('dayjs') +const timezone = require('dayjs/plugin/timezone') +const utc = require('dayjs/plugin/utc') -dayjs.extend(timezone); -dayjs.extend(utc); +dayjs.extend(timezone) +dayjs.extend(utc) module.exports = { - site: "firstmedia.com", + site: 'firstmedia.com', days: 1, - request: { - timeout: 30000 // 30 seconds - }, url: function ({ channel, date }) { - return `https://www.firstmedia.com/ajax/schedule?date=${date.format("DD/MM/YYYY") - }&channel=${channel.site_id}&start_time=1&end_time=24&need_channels=0`; + return `https://www.firstmedia.com/ajax/schedule?date=${date.format('DD/MM/YYYY')}&channel=${ + channel.site_id + }&start_time=1&end_time=24&need_channels=0` }, parser: function ({ content, channel }) { - if (!content || !channel) return []; + if (!content || !channel) return [] - let programs = []; - const items = parseItems(content, channel.site_id); - items.forEach((item) => { + let programs = [] + const items = parseItems(content, channel.site_id) + items.forEach(item => { programs.push({ title: parseTitle(item), description: parseDescription(item), start: parseStart(item).toISOString(), - stop: parseStop(item).toISOString(), - }); - }); + stop: parseStop(item).toISOString() + }) + }) - return programs; - }, -}; + return programs + } +} function parseItems(content, channel) { - return JSON.parse(content.trim()).entries[channel]; + return JSON.parse(content.trim()).entries[channel] } function parseTitle(item) { - return item.title; + return item.title } function parseDescription(item) { - return item.long_description; + return item.long_description } function parseStart(item) { - return dayjs.tz(item.start_time, "YYYY-MM-DD HH:mm:ss", "Asia/Jakarta"); + return dayjs.tz(item.start_time, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta') } function parseStop(item) { - return dayjs.tz(item.end_time, "YYYY-MM-DD HH:mm:ss", "Asia/Jakarta"); + return dayjs.tz(item.end_time, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta') } diff --git a/sites/firstmedia.com/firstmedia.com.test.js b/sites/firstmedia.com/firstmedia.com.test.js index 8792b5fa..821fdaac 100644 --- a/sites/firstmedia.com/firstmedia.com.test.js +++ b/sites/firstmedia.com/firstmedia.com.test.js @@ -7,25 +7,29 @@ const date = dayjs.utc('2023-06-18', 'DD/MM/YYYY').startOf('d') const channel = { site_id: '251', xmltv_id: 'ABCAustralia.au', lang: 'id' } it('can generate valid url', () => { - expect(url({ channel, date })).toBe('https://www.firstmedia.com/ajax/schedule?date=18/06/2023&channel=251&start_time=1&end_time=24&need_channels=0') + expect(url({ channel, date })).toBe( + 'https://www.firstmedia.com/ajax/schedule?date=18/06/2023&channel=251&start_time=1&end_time=24&need_channels=0' + ) }) it('can parse response', () => { - const content = `{"entries":{"251":[{"logo":"files/images/d/new-logo/channels/11-NEWS/ABC Australia SD-FirstMedia-Chl-251.jpg","name":"ABC Australia","id":"2a800e8a-fdcc-47b3-a4a6-58d1d122b326","channel_id":"a1840c59-6c92-8233-3a02-230246aae0c4","channel_no":251,"programme_id":null,"episode":null,"title":"China Tonight","slug":null,"date":"2023-06-13 00:00:00","start_time":"2023-06-13 10:55:00","end_time":"2023-06-13 11:30:00","length":2100,"description":"China Tonight","long_description":"China is a superpower that dominates global news but it's also home to 1.4 billion stories. Sam Yang is back for a new season, hearing from the people who make this extraordinary nation what it is today.","status":"0","created_by":null,"updated_by":null,"created_at":"2023-06-13 00:20:24","updated_at":"2023-06-13 00:20:24"}]}}` - const results = parser({ content, channel }) + const content = + '{"entries":{"251":[{"logo":"files/images/d/new-logo/channels/11-NEWS/ABC Australia SD-FirstMedia-Chl-251.jpg","name":"ABC Australia","id":"2a800e8a-fdcc-47b3-a4a6-58d1d122b326","channel_id":"a1840c59-6c92-8233-3a02-230246aae0c4","channel_no":251,"programme_id":null,"episode":null,"title":"China Tonight","slug":null,"date":"2023-06-13 00:00:00","start_time":"2023-06-13 10:55:00","end_time":"2023-06-13 11:30:00","length":2100,"description":"China Tonight","long_description":"China is a superpower that dominates global news but it\'s also home to 1.4 billion stories. Sam Yang is back for a new season, hearing from the people who make this extraordinary nation what it is today.","status":"0","created_by":null,"updated_by":null,"created_at":"2023-06-13 00:20:24","updated_at":"2023-06-13 00:20:24"}]}}' + const results = parser({ content, channel }) - expect(results).toMatchObject([ - { - start: '2023-06-13T03:55:00.000Z', - stop: '2023-06-13T04:30:00.000Z', - title: 'China Tonight', - description: 'China is a superpower that dominates global news but it\'s also home to 1.4 billion stories. Sam Yang is back for a new season, hearing from the people who make this extraordinary nation what it is today.' - } - ]) + expect(results).toMatchObject([ + { + start: '2023-06-13T03:55:00.000Z', + stop: '2023-06-13T04:30:00.000Z', + title: 'China Tonight', + description: + "China is a superpower that dominates global news but it's also home to 1.4 billion stories. Sam Yang is back for a new season, hearing from the people who make this extraordinary nation what it is today." + } + ]) }) it('can handle empty guide', () => { - const results = parser({ content: '' }) + const results = parser({ content: '' }) - expect(results).toMatchObject([]) -}) \ No newline at end of file + expect(results).toMatchObject([]) +}) diff --git a/sites/flixed.io/flixed.io.channels.xml b/sites/flixed.io/flixed.io.channels.xml index c64c7f1a..6f68e202 100644 --- a/sites/flixed.io/flixed.io.channels.xml +++ b/sites/flixed.io/flixed.io.channels.xml @@ -1,498 +1,496 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ABC News Live - ACC Network (East) - AccuWeather - A&E (East) - A&E (West) - Al Jazeera America - Altitude Sports and Entertainment Network - AMC (East) - AMC (West) - American Heroes Channel - Animal Planet - Antenna TV - ASPiRE HD - AT&T SportsNet Pittsburgh - AT&T SportsNet Rocky Mountain - AT&T SportsNet Southwest - AXS TV - Bally Sports Arizona - Bally Sports Detroit - Bally Sports Florida - Bally Sports Great Lakes - Bally Sports Indiana - Bally Sports Kansas City - Bally Sports Midwest - Illinois - Bally Sports New Orleans (North) - Bally Sports North - Bally Sports Ohio 1 (Cleveland feed) - Bally Sports Ohio 2 (Cincinnati feed) - Bally Sports Oklahoma - Bally Sports San Diego - Bally Sports SoCal - Bally Sports South - Main Feed - Bally Sports Southeast - Bally Sports Southwest (Main Feed) - Bally Sports Sun - Bally Sports West - Bally Sports Wisconsin - BBC America - BBC World News - beIN SPORTS 3 - beIN SPORTS 4 - beIN SPORTS 5 - beIN SPORTS 6 - beIN SPORTS 7 - beIN SPORTS 8 - beIN Sports HD - BET (East) - BET Her - BET Jams - BET Soul - BET (West) - Big Ten Network - Big Ten Network Overflow - Bloomberg Business Television - Boomerang - Bravo (East) - Bravo (West) - BYU-TV - Cartoon Network (East) - Cartoon Network (West) - CBS (East) - CBS News Streaming - CBS Sports Network - CBS (West) - Cheddar News - Cheddar U - Cinemax (East) - Cinemax (West) - Sony Cine - Cleo TV - CMT (East) - CMT (West) - CNBC - CNBC World - CNN - CNN International HD - Comedy Central (East) - Comedy Central (West) - Comet - Cooking Channel - COZI TV HD - Crime & Investigation Network HD - CSPAN - CSPAN2 - CW (Central) - CW (East) - Destination America - Discovery Channel (East) - Discovery Channel (West) - Discovery Family Channel - Discovery Life Channel - Disney Channel (East) - Disney Channel (West) - Disney Junior - Disney XD (East) - Disney XD (West) - Do-It-Yourself Network HD - E! Entertainment (East) - ESPN - ESPN2 - ESPN3 South - ESPNEWS - ESPNU - E! Entertainment (West) - The Fight Network HD - Food Network (East) - Food Network (West) - Fox Business - FOX (East) - Fox News Channel - Fox Soccer Plus HD - Fox Sports 1 - Fox Sports 2 - FOX (West) - Freeform (East) - Freeform (West) - Fubo Sports Network - Fuse - Fusion HD - FX - FXM - FXX - FYI - Game Show Network - getTV - GINX eSports TV US - Golf Channel - GOLTV (English) HD - Hallmark Channel (East) - Hallmark Channel (West) - Hallmark Drama - Hallmark Movies & Mysteries HD - HBO2 (East) - HBO2 (West) - HBO Comedy HD - HBO (East) - HBO Family (East) - HBO Family (West) - HBO Signature (East) - HBO Signature (West) - HBO (West) - HBO Zone HD - Home & Garden Television (East) - Home & Garden Television (West) - History (East) - History (West) - HLN - IFC - INSP - Investigation Discovery - ION Television (Central) - ION Television (East) - ION Television (West) - Law & Crime Stream - Lifetime (East) - LMN - Lifetime (West) - Logo HD - Longhorn Network HD - Marquee Sports Network HD - MASN - Mid Atlantic Sports Network - MavTV HD - MGM+ Drive-in HD - MGM+ HD (East) - MGM+ Hits HD - MGM+ Marquee - MGM+ HD (West) - MLB Network - MLB Network Strike Zone - MoreMAX (East) - MoreMAX (West) - MOTORTREND HD - MSG National - MSG Plus Zone 1 - MSG Plus HD Zone 2 - MTV2: Music Television (East) - MTV2: Music Television (West) - MTV Classic - MTV - Music Television (East) - MTVLIVE - MTV - Music Television (West) - National Geographic USA - National Geographic Wild - NBA TV - NBC (Central) - NBC (East) - LX - NBC Sports Bay Area - NBC Sports Bay Area Plus - NBC Sports Boston - NBC Sports California - NBC Sports Chicago HD - NBC Sports Northwest - NBC Sports Philadelphia - NBC Sports Washington - NBC Sports Washington Plus HD - NBC (West) - Newsmax TV HD - NewsNation SD - Newsy - NFL Network HD - NFL RedZone - NHL Network - Nickelodeon (East) - Nickelodeon (West) - Nick Jr - Nick Music - Nicktoons - Olympic Channel - One America News Network - Outdoor Channel - Outside Television HD - Ovation - Oprah Winfrey Network (East) - Oprah Winfrey Network (West) - Oxygen (East) - Oxygen (West) - Pac-12 Arizona HD - Pac-12 Bay Area HD - Pac-12 Los Angeles HD - Pac-12 Mountain HD - Pac-12 Network - Pac-12 Oregon HD - Pac-12 Washington HD - Paramount Network (East) - Paramount Network (West) - PBS (East) - PBS (West) - PeopleTV - POP - QVC - QVC2 - Revolt HD - ROOT Sports Northwest - Science - SEC Network HD - Showtime 2 (East) - Showtime 2 (West) - Showtime (East) - Showtime Extreme (East) - Showtime Extreme (West) - Showtime Familyzone HD - Showtime Next HD - Showtime Showcase (East) - Showtime Showcase (West) - Showtime (West) - Showtime Women HD - SHO x BET - Smithsonian HD Network - Sony Movie Channel HD - Spectrum SportsNet - Spectrum SportsNet LA - The Sportsman Channel HD - Sportsnet East - Sportsnet NY - Sportsnet Ontario - Sportsnet (Pacific) - Sportsnet MST - Stadium HD - Stadium College Sports Atlantic - Stadium College Sports Central - Stadium College Sports Pacific - Starz Cinema HD - Starz Comedy HD - Starz (East) - Starz Edge - Starz Encore Classic - Starz Encore (East) - Starz Encore (West) - Starz in Black - Starz Kids - Starz (West) - SundanceTV (East) - SundanceTV (West) - SYFY (East) - SYFY (West) - Tastemade [Str] - TBS (East) - TBS (West) - Turner Classic Movies - Teen Nick HD - Tennis Channel - The Movie Channel (East) - The Movie Channel (West) - The Movie Channel Extra (East) - The Movie Channel Extra (West) - The Weather Channel - TLC (East) - TLC (West) - TNT (East) - TNT (West) - The Travel Channel (East) - The Travel Channel (West) - Trinity Broadcasting Network - truTV (East) - truTV (West) - TSN1 - TSN2 - TSN3 - TSN4 - TSN5 - TV Land (East) - TV Land (West) - TyC Sports International English - Universal Kids HD - UPtv HD - USA Network (East) - USA Network (West) - VH1 (East) - VH1 (West) - Vice - Vegas Sports & Information Network (VSIN) - WE tv (East) - WE tv (West) - Yes Network - Baby TV - beIN Sports En Español - CNN en Español - Discovery en Español - Discovery Familia HD - El Gourmet - ESPN Deportes - Estrella TV - Fox Deportes HD - Galavision Cable Network (East) - Galavision Cable Network (West) - GOLTV International HD - HBO Latino - History Channel En Español - MTV España - Nat Geo Mundo - UNIVERSO HD - Telefe Internacional - Telemundo (East) - Telemundo (West) - TUDN - TyC Sports International - UniMas (East) - UniMas (West) - Univision Network (East) - Univision Network (West) - Video Rola HD - WAPA America - BeIN SPORTS 2 HD - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ABC News Live + ACC Network (East) + AccuWeather + A&E (East) + A&E (West) + Al Jazeera America + Altitude Sports and Entertainment Network + AMC (East) + AMC (West) + American Heroes Channel + Animal Planet + Antenna TV + ASPiRE HD + AT&T SportsNet Pittsburgh + AT&T SportsNet Rocky Mountain + AT&T SportsNet Southwest + AXS TV + Bally Sports Arizona + Bally Sports Detroit + Bally Sports Florida + Bally Sports Great Lakes + Bally Sports Indiana + Bally Sports Kansas City + Bally Sports Midwest - Illinois + Bally Sports New Orleans (North) + Bally Sports North + Bally Sports Ohio 1 (Cleveland feed) + Bally Sports Ohio 2 (Cincinnati feed) + Bally Sports Oklahoma + Bally Sports San Diego + Bally Sports SoCal + Bally Sports South - Main Feed + Bally Sports Southeast + Bally Sports Southwest (Main Feed) + Bally Sports Sun + Bally Sports West + Bally Sports Wisconsin + BBC America + BBC World News + beIN SPORTS 3 + beIN SPORTS 4 + beIN SPORTS 5 + beIN SPORTS 6 + beIN SPORTS 7 + beIN SPORTS 8 + beIN Sports HD + BET (East) + BET Her + BET Jams + BET Soul + BET (West) + Big Ten Network + Big Ten Network Overflow + Bloomberg Business Television + Boomerang + Bravo (East) + Bravo (West) + BYU-TV + Cartoon Network (East) + Cartoon Network (West) + CBS (East) + CBS News Streaming + CBS Sports Network + CBS (West) + Cheddar News + Cheddar U + Cinemax (East) + Cinemax (West) + Sony Cine + Cleo TV + CMT (East) + CMT (West) + CNBC + CNBC World + CNN + CNN International HD + Comedy Central (East) + Comedy Central (West) + Comet + Cooking Channel + COZI TV HD + Crime & Investigation Network HD + CSPAN + CSPAN2 + CW (Central) + CW (East) + Destination America + Discovery Channel (East) + Discovery Channel (West) + Discovery Family Channel + Discovery Life Channel + Disney Channel (East) + Disney Channel (West) + Disney Junior + Disney XD (East) + Disney XD (West) + Do-It-Yourself Network HD + E! Entertainment (East) + ESPN + ESPN2 + ESPN3 South + ESPNEWS + ESPNU + E! Entertainment (West) + The Fight Network HD + Food Network (East) + Food Network (West) + Fox Business + FOX (East) + Fox News Channel + Fox Soccer Plus HD + Fox Sports 1 + Fox Sports 2 + FOX (West) + Freeform (East) + Freeform (West) + Fubo Sports Network + Fuse + Fusion HD + FX + FXM + FXX + FYI + Game Show Network + getTV + GINX eSports TV US + Golf Channel + GOLTV (English) HD + Hallmark Channel (East) + Hallmark Channel (West) + Hallmark Drama + Hallmark Movies & Mysteries HD + HBO2 (East) + HBO2 (West) + HBO Comedy HD + HBO (East) + HBO Family (East) + HBO Family (West) + HBO Signature (East) + HBO Signature (West) + HBO (West) + HBO Zone HD + Home & Garden Television (East) + Home & Garden Television (West) + History (East) + History (West) + HLN + IFC + INSP + Investigation Discovery + ION Television (Central) + ION Television (East) + ION Television (West) + Law & Crime Stream + Lifetime (East) + LMN + Lifetime (West) + Logo HD + Longhorn Network HD + Marquee Sports Network HD + MASN - Mid Atlantic Sports Network + MavTV HD + MGM+ Drive-in HD + MGM+ HD (East) + MGM+ Hits HD + MGM+ Marquee + MGM+ HD (West) + MLB Network + MLB Network Strike Zone + MoreMAX (East) + MoreMAX (West) + MOTORTREND HD + MSG National + MSG Plus Zone 1 + MSG Plus HD Zone 2 + MTV2: Music Television (East) + MTV2: Music Television (West) + MTV Classic + MTV - Music Television (East) + MTVLIVE + MTV - Music Television (West) + National Geographic USA + National Geographic Wild + NBA TV + NBC (Central) + NBC (East) + LX + NBC Sports Bay Area + NBC Sports Bay Area Plus + NBC Sports Boston + NBC Sports California + NBC Sports Chicago HD + NBC Sports Northwest + NBC Sports Philadelphia + NBC Sports Washington + NBC Sports Washington Plus HD + NBC (West) + Newsmax TV HD + NewsNation SD + Newsy + NFL Network HD + NFL RedZone + NHL Network + Nickelodeon (East) + Nickelodeon (West) + Nick Jr + Nick Music + Nicktoons + Olympic Channel + One America News Network + Outdoor Channel + Outside Television HD + Ovation + Oprah Winfrey Network (East) + Oprah Winfrey Network (West) + Oxygen (East) + Oxygen (West) + Pac-12 Arizona HD + Pac-12 Bay Area HD + Pac-12 Los Angeles HD + Pac-12 Mountain HD + Pac-12 Network + Pac-12 Oregon HD + Pac-12 Washington HD + Paramount Network (East) + Paramount Network (West) + PBS (East) + PBS (West) + PeopleTV + POP + QVC + QVC2 + Revolt HD + ROOT Sports Northwest + Science + SEC Network HD + Showtime 2 (East) + Showtime 2 (West) + Showtime (East) + Showtime Extreme (East) + Showtime Extreme (West) + Showtime Familyzone HD + Showtime Next HD + Showtime Showcase (East) + Showtime Showcase (West) + Showtime (West) + Showtime Women HD + SHO x BET + Smithsonian HD Network + Sony Movie Channel HD + Spectrum SportsNet + Spectrum SportsNet LA + The Sportsman Channel HD + Sportsnet East + Sportsnet NY + Sportsnet Ontario + Sportsnet (Pacific) + Sportsnet MST + Stadium HD + Stadium College Sports Atlantic + Stadium College Sports Central + Stadium College Sports Pacific + Starz Cinema HD + Starz Comedy HD + Starz (East) + Starz Edge + Starz Encore Classic + Starz Encore (East) + Starz Encore (West) + Starz in Black + Starz Kids + Starz (West) + SundanceTV (East) + SundanceTV (West) + SYFY (East) + SYFY (West) + Tastemade [Str] + TBS (East) + TBS (West) + Turner Classic Movies + Teen Nick HD + Tennis Channel + The Movie Channel (East) + The Movie Channel (West) + The Movie Channel Extra (East) + The Movie Channel Extra (West) + The Weather Channel + TLC (East) + TLC (West) + TNT (East) + TNT (West) + The Travel Channel (East) + The Travel Channel (West) + Trinity Broadcasting Network + truTV (East) + truTV (West) + TSN1 + TSN2 + TSN3 + TSN4 + TSN5 + TV Land (East) + TV Land (West) + TyC Sports International English + Universal Kids HD + UPtv HD + USA Network (East) + USA Network (West) + VH1 (East) + VH1 (West) + Vice + Vegas Sports & Information Network (VSIN) + WE tv (East) + WE tv (West) + Yes Network + Baby TV + beIN Sports En Español + CNN en Español + Discovery en Español + Discovery Familia HD + El Gourmet + ESPN Deportes + Estrella TV + Fox Deportes HD + Galavision Cable Network (East) + Galavision Cable Network (West) + GOLTV International HD + HBO Latino + History Channel En Español + MTV España + Nat Geo Mundo + UNIVERSO HD + Telefe Internacional + Telemundo (East) + Telemundo (West) + TUDN + TyC Sports International + UniMas (East) + UniMas (West) + Univision Network (East) + Univision Network (West) + Video Rola HD + WAPA America + BeIN SPORTS 2 HD + diff --git a/sites/flixed.io/flixed.io.config.js b/sites/flixed.io/flixed.io.config.js index 6ae463f2..5dfb5e0a 100644 --- a/sites/flixed.io/flixed.io.config.js +++ b/sites/flixed.io/flixed.io.config.js @@ -40,6 +40,6 @@ function parseStop(item) { return dayjs(item.endTime) } -function parseItems(content, channel) { +function parseItems(content) { return JSON.parse(content) } diff --git a/sites/flixed.io/flixed.io.test.js b/sites/flixed.io/flixed.io.test.js index 9f501c0a..e22d4b15 100644 --- a/sites/flixed.io/flixed.io.test.js +++ b/sites/flixed.io/flixed.io.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/flixed.io/flixed.io.config.js --channels=sites/flixed.io/flixed.io.channels.xml --output=guide.xml --days=1 +// npm run grab -- --site=flixed.io const { parser, url } = require('./flixed.io.config.js') const fs = require('fs') @@ -17,7 +17,7 @@ const channel = { it('can generate valid url', () => { expect(url({ date, channel })).toBe( - `https://tv-guide.vercel.app/api/stationAirings?stationId=108970&startDateTime=2023-01-19T00:00:00.000Z` + 'https://tv-guide.vercel.app/api/stationAirings?stationId=108970&startDateTime=2023-01-19T00:00:00.000Z' ) }) @@ -42,7 +42,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const results = parser({ - content: `[]` + content: '[]' }) expect(results).toMatchObject([]) diff --git a/sites/foxsports.com.au/foxsports.com.au.channels.xml b/sites/foxsports.com.au/foxsports.com.au.channels.xml index d7bc38b2..6de80a18 100644 --- a/sites/foxsports.com.au/foxsports.com.au.channels.xml +++ b/sites/foxsports.com.au/foxsports.com.au.channels.xml @@ -1,21 +1,19 @@ - - - FOX Cricket - FOX Footy - FOX League - FOX Sports 503 - FOX Sports 505 - FOX Sports 506 - FOX Sports More - FOX Sports News - - - - - - - - - - \ No newline at end of file + + + + + + + + + + FOX Cricket + FOX Footy + FOX League + FOX Sports 503 + FOX Sports 505 + FOX Sports 506 + FOX Sports More + FOX Sports News + \ No newline at end of file diff --git a/sites/foxsports.com.au/foxsports.com.au.test.js b/sites/foxsports.com.au/foxsports.com.au.test.js index 77dfff52..52090f73 100644 --- a/sites/foxsports.com.au/foxsports.com.au.test.js +++ b/sites/foxsports.com.au/foxsports.com.au.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/foxsports.com.au/foxsports.com.au.config.js --channels=sites/foxsports.com.au/foxsports.com.au.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=foxsports.com.au const { parser, url } = require('./foxsports.com.au.config.js') const dayjs = require('dayjs') @@ -17,7 +17,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"channel-programme":[{"id":"31cc8b4c-3711-49f0-bf22-2ec3993b0a07","programmeTitle":"NRL","title":"Eels v Titans","startTime":"2022-12-14T00:00:00+11:00","endTime":"2022-12-14T01:00:00+11:00","duration":60,"live":false,"genreId":"5c389cf4-8db7-4b52-9773-52355bd28559","channelId":2,"channelName":"FOX League","channelAbbreviation":"LEAGUE","programmeUID":235220,"round":"R1","statsMatchId":null,"closedCaptioned":true,"statsFixtureId":10207,"genreTitle":"Rugby League","parentGenreId":"a953f929-2d12-41a4-b0e9-97f401afff11","parentGenreTitle":"Sport","pmgId":"PMG01306944","statsSport":"league","type":"GAME","hiDef":true,"widescreen":true,"classification":"","synopsis":"The Eels and Titans have plenty of motivation this season after heartbreaking Finals losses in 2021. Parramatta has won their past five against Gold Coast.","preGameStartTime":null,"closeCaptioned":true}]}` + const content = + '{"channel-programme":[{"id":"31cc8b4c-3711-49f0-bf22-2ec3993b0a07","programmeTitle":"NRL","title":"Eels v Titans","startTime":"2022-12-14T00:00:00+11:00","endTime":"2022-12-14T01:00:00+11:00","duration":60,"live":false,"genreId":"5c389cf4-8db7-4b52-9773-52355bd28559","channelId":2,"channelName":"FOX League","channelAbbreviation":"LEAGUE","programmeUID":235220,"round":"R1","statsMatchId":null,"closedCaptioned":true,"statsFixtureId":10207,"genreTitle":"Rugby League","parentGenreId":"a953f929-2d12-41a4-b0e9-97f401afff11","parentGenreTitle":"Sport","pmgId":"PMG01306944","statsSport":"league","type":"GAME","hiDef":true,"widescreen":true,"classification":"","synopsis":"The Eels and Titans have plenty of motivation this season after heartbreaking Finals losses in 2021. Parramatta has won their past five against Gold Coast.","preGameStartTime":null,"closeCaptioned":true}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() @@ -29,7 +30,8 @@ it('can parse response', () => { { title: 'NRL', sub_title: 'Eels v Titans', - description: `The Eels and Titans have plenty of motivation this season after heartbreaking Finals losses in 2021. Parramatta has won their past five against Gold Coast.`, + description: + 'The Eels and Titans have plenty of motivation this season after heartbreaking Finals losses in 2021. Parramatta has won their past five against Gold Coast.', category: 'Rugby League', start: '2022-12-13T13:00:00.000Z', stop: '2022-12-13T14:00:00.000Z' @@ -40,7 +42,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser( { - content: `{"channel-programme":[]}` + content: '{"channel-programme":[]}' }, channel ) diff --git a/sites/foxtel.com.au/foxtel.com.au.channels.xml b/sites/foxtel.com.au/foxtel.com.au.channels.xml index 8ee54930..a4f919e2 100644 --- a/sites/foxtel.com.au/foxtel.com.au.channels.xml +++ b/sites/foxtel.com.au/foxtel.com.au.channels.xml @@ -1,197 +1,195 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/sites/foxtel.com.au/foxtel.com.au.config.js b/sites/foxtel.com.au/foxtel.com.au.config.js index a93699b1..e8674256 100644 --- a/sites/foxtel.com.au/foxtel.com.au.config.js +++ b/sites/foxtel.com.au/foxtel.com.au.config.js @@ -3,7 +3,6 @@ const dayjs = require('dayjs') const cheerio = require('cheerio') module.exports = { - skip: true, // returns "Access Denied" or nothing site: 'foxtel.com.au', days: 2, url({ channel, date }) { @@ -17,13 +16,13 @@ module.exports = { Cookie: 'AAMC_foxtel_0=REGION|6' } }, - parser: function ({ content }) { + parser: function ({ content, date }) { let programs = [] const items = parseItems(content) for (let item of items) { const $item = cheerio.load(item) const prev = programs[programs.length - 1] - const start = parseStart($item) + let start = parseStart($item) if (prev) { if (start.isBefore(prev.start)) { start = start.add(1, 'd') @@ -48,7 +47,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.foxtel.com.au/webepg/ws/foxtel/channels?regionId=8336`, { + .get('https://www.foxtel.com.au/webepg/ws/foxtel/channels?regionId=8336', { headers: { 'Accept-Language': 'en-US,en;', Cookie: 'AAMC_foxtel_0=REGION|6' @@ -58,11 +57,11 @@ module.exports = { .catch(console.log) return data.channels.forEach(item => { - let name = item.name.replace(/\+/g, '-').replace(/\&/g, '') + let name = item.name.replace(/\+/g, '-').replace(/&/g, '') const slug = name.replace(/[^a-z0-9\s]/gi, '').replace(/[^a-z0-9]/i, '-') return { - name: item.name.replace(/\&/g, '&'), + name: item.name.replace(/&/g, '&'), site_id: `${slug}/${item.channelTag}` } }) @@ -72,7 +71,7 @@ module.exports = { function parseSeason($item) { let seasonString = $item('.epg-event-description > div > abbr:nth-child(1)').attr('title') if (!seasonString) return null - let [_, season] = seasonString.match(/^Season: (\d+)/) || [null, null] + let [, season] = seasonString.match(/^Season: (\d+)/) || [null, null] return season ? parseInt(season) : null } @@ -80,7 +79,7 @@ function parseSeason($item) { function parseEpisode($item) { let episodeString = $item('.epg-event-description > div > abbr:nth-child(2)').attr('title') if (!episodeString) return null - let [_, episode] = episodeString.match(/^Episode: (\d+)/) || [null, null] + let [, episode] = episodeString.match(/^Episode: (\d+)/) || [null, null] return episode ? parseInt(episode) : null } @@ -104,14 +103,14 @@ function parseSubTitle($item) { .split(',') subtitle = subtitle.pop() - const [_, rating] = subtitle.match(/\(([^)]+)\)$/) || [null, null] + const [, rating] = subtitle.match(/\(([^)]+)\)$/) || [null, null] return subtitle.replace(`(${rating})`, '').trim() } function parseRating($item) { const subtitle = $item('.epg-event-description > div').text().trim() - const [_, rating] = subtitle.match(/\(([^)]+)\)$/) || [null, null] + const [, rating] = subtitle.match(/\(([^)]+)\)$/) || [null, null] return rating ? { @@ -131,5 +130,5 @@ function parseItems(content) { if (!content) return [] const $ = cheerio.load(content) - return $(`#epg-channel-events > a`).toArray() + return $('#epg-channel-events > a').toArray() } diff --git a/sites/foxtel.com.au/foxtel.com.au.test.js b/sites/foxtel.com.au/foxtel.com.au.test.js index a30f301a..a3779b7f 100644 --- a/sites/foxtel.com.au/foxtel.com.au.test.js +++ b/sites/foxtel.com.au/foxtel.com.au.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/foxtel.com.au/foxtel.com.au.config.js --output=./sites/foxtel.com.au/foxtel.com.au.channels.xml -// npx epg-grabber --config=sites/foxtel.com.au/foxtel.com.au.config.js --channels=sites/foxtel.com.au/foxtel.com.au.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=foxtel.com.au const { parser, url, request } = require('./foxtel.com.au.config.js') const fs = require('fs') diff --git a/sites/frikanalen.no/frikanalen.no.channels.xml b/sites/frikanalen.no/frikanalen.no.channels.xml index 4cd7379b..ae3ce2fa 100644 --- a/sites/frikanalen.no/frikanalen.no.channels.xml +++ b/sites/frikanalen.no/frikanalen.no.channels.xml @@ -1,6 +1,4 @@ - - - Frikanalen - - \ No newline at end of file + + Frikanalen + \ No newline at end of file diff --git a/sites/frikanalen.no/frikanalen.no.test.js b/sites/frikanalen.no/frikanalen.no.test.js index 33606a0a..8c9fb2da 100644 --- a/sites/frikanalen.no/frikanalen.no.test.js +++ b/sites/frikanalen.no/frikanalen.no.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/frikanalen.no/frikanalen.no.config.js --channels=sites/frikanalen.no/frikanalen.no.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=frikanalen.no const { parser, url } = require('./frikanalen.no.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"count":83,"next":null,"previous":null,"results":[{"id":135605,"video":{"id":626094,"name":"FSCONS 2017 - Keynote: TBA - Linda Sandvik","header":"Linda Sandvik's keynote at FSCONS 2017\\r\\n\\r\\nRecorded by NUUG for FSCONS.","description":null,"creator":"davidwnoble@gmail.com","organization":{"id":82,"name":"NUUG","homepage":"https://www.nuug.no/","description":"Forening NUUG er for alle som er interessert i fri programvare, åpne standarder og Unix-lignende operativsystemer.","postalAddress":"","streetAddress":"","editorId":2148,"editorName":"David Noble","editorEmail":"davidwnoble@gmail.com","editorMsisdn":"","fkmember":true},"duration":"00:57:55.640000","categories":["Samfunn"]},"schedulereason":5,"starttime":"2022-01-19T00:47:00+01:00","endtime":"2022-01-19T01:44:55.640000+01:00","duration":"00:57:55.640000"}]}` + const content = + '{"count":83,"next":null,"previous":null,"results":[{"id":135605,"video":{"id":626094,"name":"FSCONS 2017 - Keynote: TBA - Linda Sandvik","header":"Linda Sandvik\'s keynote at FSCONS 2017\\r\\n\\r\\nRecorded by NUUG for FSCONS.","description":null,"creator":"davidwnoble@gmail.com","organization":{"id":82,"name":"NUUG","homepage":"https://www.nuug.no/","description":"Forening NUUG er for alle som er interessert i fri programvare, åpne standarder og Unix-lignende operativsystemer.","postalAddress":"","streetAddress":"","editorId":2148,"editorName":"David Noble","editorEmail":"davidwnoble@gmail.com","editorMsisdn":"","fkmember":true},"duration":"00:57:55.640000","categories":["Samfunn"]},"schedulereason":5,"starttime":"2022-01-19T00:47:00+01:00","endtime":"2022-01-19T01:44:55.640000+01:00","duration":"00:57:55.640000"}]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -31,9 +32,9 @@ it('can parse response', () => { { start: '2022-01-18T23:47:00.000Z', stop: '2022-01-19T00:44:55.640Z', - title: `FSCONS 2017 - Keynote: TBA - Linda Sandvik`, + title: 'FSCONS 2017 - Keynote: TBA - Linda Sandvik', category: ['Samfunn'], - description: `Linda Sandvik's keynote at FSCONS 2017\r\n\r\nRecorded by NUUG for FSCONS.` + description: "Linda Sandvik's keynote at FSCONS 2017\r\n\r\nRecorded by NUUG for FSCONS." } ]) }) @@ -42,7 +43,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"count":0,"next":null,"previous":null,"results":[]}` + content: '{"count":0,"next":null,"previous":null,"results":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/gatotv.com/gatotv.com.channels.xml b/sites/gatotv.com/gatotv.com.channels.xml index 80a9fdae..6e9e1106 100644 --- a/sites/gatotv.com/gatotv.com.channels.xml +++ b/sites/gatotv.com/gatotv.com.channels.xml @@ -1,492 +1,490 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - M+ #0 - 24 Horas Chile - M+ Acción - ADN 40 - Adrenalina Sports Network - A&E Chile - A&E México - A&E PAN - Afizzionados - Agrotendencia TV - AMC Crime - AMC España - América Televisión Perú - America TV Argentina - Antena 3 de España - Antena 3 Internacional - 7 de República Dominicana - a+ - Aprende - Atreseries España - Atreseries Internacional - ATV - AXN Andes - AXN México - AXN Sur - AYM Sports - Azteca 7 - Azteca Guate - Azteca Uno - BabyFirst TV - Bandamax - Barça TV - beIN Sports en Español - Be Mad - BET Jams - BitMe - Boing España - 9 Noticias Paraguay - Cablenoticias - Calle 13 - 1 Colombia - 11 de Costa Rica - 12 de El Salvador - 13 de Chile - 2 de Nicaragua - 2 de El Salvador - 24 Horas - 27 de Guatemala - 3 de Guatemala - 4 de Costa Rica - 4 de El Salvador - 5 de Honduras - 6 de Costa Rica - 6 de El Salvador - Multimedios Costa Rica - Canal Antigua - Cocina - Canal Congreso Colombia - Institucional Colombia - Sur - Sur Andalucía - Tro - Caracol Internacional - Caracol Colombia - Cartoonito México - Cartoon Network México - Cartoon Network Atlántico Norte - Cartoon Network Pacífico - Cartoon Network Atlántico Sur - 37 de República Dominicana - CDN Deportes - Chilevisión (CHV) - Cinecanal México - Cinecanal Pacífico - Cinecanal Sur - CineClick - Cine Estelar - Cinelatino - Cinema Platino - Cinema + - Cinemax Chile - Cinemax México - Cinemax Panregional - Cine Mexicano - Cine Nostalgia - Cine Sony - Clan TVE - Claro Música - Classica - Castilla-La Mancha Media - CNN Chile - CNN en Español - CNN Internacional - 9 de República Dominicana - M+ Comedia - Comedy Central España - Concert Channel - Cosmopolitan España - Cuatro de España - Decasa - De Película Clásico - DHE - 15 de República Dominicana - Discovery Channel Chile - Discovery Channel México - Discovery Channel España - Discovery en Español - Discovery Familia - Discovery H&H MX - Discovery Kids Chile - Discovery Kids MX - Discovery Science LATAM - Discovery Theater LATAM. - Disney Channel Centro - Disney Channel Sur - Disney Channel España - Disney Junior Norte - Disney Junior Sur - Disney Junior España - Distrito Comedia - Divinity - Ecuador TV - Ecuavisa Ecuador - Ecuavisa Internacional - Efekto TV - El Financiero - Bloomberg - 13 de Argentina - Energy - ESNE TV - ESPN 2 Colombia - ESPN 2 México - ESPN 2 Norte - ESPN 3 Norte - ESPN 3 Sur - ESPN 4 Chile - ESPN 4 Norte - ESPN Chile - ESPN Colombia - ESPN Deportes - ESPN México - ESPN Norte - Estrella TV - ETB 1 - ETB 2 - Eurochannel - Europa Europa - Eurosport 1 España - Eurosport 2 España - Exa TV - Excelsior TV - 42 de Costa Rica - Foro TV - Fox Deportes - Fox News - Fox España - FUTV - FX Chile - FX México - Gamavisión - Golden Panregional - Golden Plus - Golden Premier - Golden Premier 2 - Golf Channel Latinoamérica - GolTV Lat. - Guatevisión - HBO 2 LATAM - HBO Family LATAM - HBO Latinoamérica - HBO Latino Este - HBO Mundi - HBO Plus - HBO Pop - HBO Signature LATAM - HBO Xtreme - Historia España - History 2 México - History 2 Panregional - History Chile - History en Español - History MX - History Panregional - HITN - HLN - ¡Hola! TV - HTV - Iberalia TV - Ingenio TV México - Inti Network - ID México - ID Panregional - Justicia TV - La 1 - La 2 - M+ LaLiga - laOtra - La Red TV Guatemala - 2 de México - Las Estrellas LATAM - La Sexta - La Tele Paraguay - Frecuencia Latina - Lifetime México - Lifetime PAN - María Visión - MC - Mega Chile - Mega España - Meganoticias MX - 12 de El Salvador - Mexiquense TV - Milenio - MTV 00s - MTV 80S - MTV Sur - MTV España - Multimedios Plus - National Geographic México - National Geographic España - Universo - Neox - NFL Network - NHK World - Nickelodeon México - Nickelodeon España - Nick Jr. España - NickMusic - Nova - Noticias PY - NTN24 - Odisea - Pakapaka - Panamericana Televisión - Pánico - Paraguay TV - Paramount Channel ES - Paravisión - Pasiones Estados Unidos - Pasiones Latinoamérica - Perú Mágico - PX Sports - RCN Novelas - Real Madrid TV - 4 de Panamá - RTS - Semillitas - Señal Colombia - Sky One México - Sky Sports 1 México - Sky Sports 16 - Sky Sports 24 - SNT - Sony México - Sorpresa - Space México - Space Panregional - Space Sur - Star Channel México - Studio Universal México - Studio Universal Panregional - Sundance TV España - Sur TV Itapúa Paraguay - Syfy España - TCM Panregional - TCM España - TC Televisión - TeenNick - Teleamazonas - 2 de República Dominicana - Teleantioquia - 7 y 4 de Honduras - Telecafé - Telecaribe - 13 de República Dominicana - Telecentro TV - Telecinco - Teledeporte - Telefé (Argentina) - Telefe Internacional - Telefórmula - Telefuturo - Telehit - Telehit Música - Teleislas - TeleMadrid - Telemetro - Telemicro - Telemundo México - Telenostalgia - 11 de Guatemala - Telepacífico - 11 de República Dominicana - 7 de Costa Rica - Teleunion - 29 de República Dominicana - 4 de Guadalajara - 7 de Guatemala - Tigo Sports Costa Rica - Tigo Sports El Salvador - Tigo Sports Guatemala - TLC MX - TLC Panregional - TLNovelas LATAM - TLNovelas México - TNT México - TNT Pacífico - TNT Sur - TNT España - TNT Sports 2 Chile - TNT Sports 3 Chile - Tooncast - 13 de Colombia - 13 de Paraguay - 13 de Costa Rica - truTV Lat. - Telesistema Informativo (TSI) - TUDN USA - TUDN México - TV5Monde - TV Canaria - TVC Deportes - TV Chile - TVE Internacional - TV Globo Internacional - 9 de Panamá - TVN Chile - 2 de Panamá - Televisión Pública Argentina - TVUNAM - TyC Sports - Unicable MX - Unicanal - Universal Cinema - Universal Comedy - Universal Crime - Universal Premiere - Universal Reality - Universal TV México - Universal TV Panregional - Univision TLNovelas - M+ #Vamos - Ve Plus Estados Unidos - Vía X - Vibra TV - Video Rola - ViendoMovies - 13 de Nicaragua - VTV Honduras - WAPA-TV - WAPA 2 Deportes - Willax TV - Punto 2 - WOBI - 13 de Puerto Rico - 4 de Monterrey - 22 de México - 11 de México - Zona Latina - ZOOM Colombia - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + M+ #0 + 24 Horas Chile + M+ Acción + ADN 40 + Adrenalina Sports Network + A&E Chile + A&E México + A&E PAN + Afizzionados + Agrotendencia TV + AMC Crime + AMC España + América Televisión Perú + America TV Argentina + Antena 3 de España + Antena 3 Internacional + 7 de República Dominicana + a+ + Aprende + Atreseries España + Atreseries Internacional + ATV + AXN Andes + AXN México + AXN Sur + AYM Sports + Azteca 7 + Azteca Guate + Azteca Uno + BabyFirst TV + Bandamax + Barça TV + beIN Sports en Español + Be Mad + BET Jams + BitMe + Boing España + 9 Noticias Paraguay + Cablenoticias + Calle 13 + 1 Colombia + 11 de Costa Rica + 12 de El Salvador + 13 de Chile + 2 de Nicaragua + 2 de El Salvador + 24 Horas + 27 de Guatemala + 3 de Guatemala + 4 de Costa Rica + 4 de El Salvador + 5 de Honduras + 6 de Costa Rica + 6 de El Salvador + Multimedios Costa Rica + Canal Antigua + Cocina + Canal Congreso Colombia + Institucional Colombia + Sur + Sur Andalucía + Tro + Caracol Internacional + Caracol Colombia + Cartoonito México + Cartoon Network México + Cartoon Network Atlántico Norte + Cartoon Network Pacífico + Cartoon Network Atlántico Sur + 37 de República Dominicana + CDN Deportes + Chilevisión (CHV) + Cinecanal México + Cinecanal Pacífico + Cinecanal Sur + CineClick + Cine Estelar + Cinelatino + Cinema Platino + Cinema + + Cinemax Chile + Cinemax México + Cinemax Panregional + Cine Mexicano + Cine Nostalgia + Cine Sony + Clan TVE + Claro Música + Classica + Castilla-La Mancha Media + CNN Chile + CNN en Español + CNN Internacional + 9 de República Dominicana + M+ Comedia + Comedy Central España + Concert Channel + Cosmopolitan España + Cuatro de España + Decasa + De Película Clásico + DHE + 15 de República Dominicana + Discovery Channel Chile + Discovery Channel México + Discovery Channel España + Discovery en Español + Discovery Familia + Discovery H&H MX + Discovery Kids Chile + Discovery Kids MX + Discovery Science LATAM + Discovery Theater LATAM. + Disney Channel Centro + Disney Channel Sur + Disney Channel España + Disney Junior Norte + Disney Junior Sur + Disney Junior España + Distrito Comedia + Divinity + Ecuador TV + Ecuavisa Ecuador + Ecuavisa Internacional + Efekto TV + El Financiero - Bloomberg + 13 de Argentina + Energy + ESNE TV + ESPN 2 Colombia + ESPN 2 México + ESPN 2 Norte + ESPN 3 Norte + ESPN 3 Sur + ESPN 4 Chile + ESPN 4 Norte + ESPN Chile + ESPN Colombia + ESPN Deportes + ESPN México + ESPN Norte + Estrella TV + ETB 1 + ETB 2 + Eurochannel + Europa Europa + Eurosport 1 España + Eurosport 2 España + Exa TV + Excelsior TV + 42 de Costa Rica + Foro TV + Fox Deportes + Fox News + Fox España + FUTV + FX Chile + FX México + Gamavisión + Golden Panregional + Golden Plus + Golden Premier + Golden Premier 2 + Golf Channel Latinoamérica + GolTV Lat. + Guatevisión + HBO 2 LATAM + HBO Family LATAM + HBO Latinoamérica + HBO Latino Este + HBO Mundi + HBO Plus + HBO Pop + HBO Signature LATAM + HBO Xtreme + Historia España + History 2 México + History 2 Panregional + History Chile + History en Español + History MX + History Panregional + HITN + HLN + ¡Hola! TV + HTV + Iberalia TV + Ingenio TV México + Inti Network + ID México + ID Panregional + Justicia TV + La 1 + La 2 + M+ LaLiga + laOtra + La Red TV Guatemala + 2 de México + Las Estrellas LATAM + La Sexta + La Tele Paraguay + Frecuencia Latina + Lifetime México + Lifetime PAN + María Visión + MC + Mega Chile + Mega España + Meganoticias MX + 12 de El Salvador + Mexiquense TV + Milenio + MTV 00s + MTV 80S + MTV Sur + MTV España + Multimedios Plus + National Geographic México + National Geographic España + Universo + Neox + NFL Network + NHK World + Nickelodeon México + Nickelodeon España + Nick Jr. España + NickMusic + Nova + Noticias PY + NTN24 + Odisea + Pakapaka + Panamericana Televisión + Pánico + Paraguay TV + Paramount Channel ES + Paravisión + Pasiones Estados Unidos + Pasiones Latinoamérica + Perú Mágico + PX Sports + RCN Novelas + Real Madrid TV + 4 de Panamá + RTS + Semillitas + Señal Colombia + Sky One México + Sky Sports 1 México + Sky Sports 16 + Sky Sports 24 + SNT + Sony México + Sorpresa + Space México + Space Panregional + Space Sur + Star Channel México + Studio Universal México + Studio Universal Panregional + Sundance TV España + Sur TV Itapúa Paraguay + Syfy España + TCM Panregional + TCM España + TC Televisión + TeenNick + Teleamazonas + 2 de República Dominicana + Teleantioquia + 7 y 4 de Honduras + Telecafé + Telecaribe + 13 de República Dominicana + Telecentro TV + Telecinco + Teledeporte + Telefé (Argentina) + Telefe Internacional + Telefórmula + Telefuturo + Telehit + Telehit Música + Teleislas + TeleMadrid + Telemetro + Telemicro + Telemundo México + Telenostalgia + 11 de Guatemala + Telepacífico + 11 de República Dominicana + 7 de Costa Rica + Teleunion + 29 de República Dominicana + 4 de Guadalajara + 7 de Guatemala + Tigo Sports Costa Rica + Tigo Sports El Salvador + Tigo Sports Guatemala + TLC MX + TLC Panregional + TLNovelas LATAM + TLNovelas México + TNT México + TNT Pacífico + TNT Sur + TNT España + TNT Sports 2 Chile + TNT Sports 3 Chile + Tooncast + 13 de Colombia + 13 de Paraguay + 13 de Costa Rica + truTV Lat. + Telesistema Informativo (TSI) + TUDN USA + TUDN México + TV5Monde + TV Canaria + TVC Deportes + TV Chile + TVE Internacional + TV Globo Internacional + 9 de Panamá + TVN Chile + 2 de Panamá + Televisión Pública Argentina + TVUNAM + TyC Sports + Unicable MX + Unicanal + Universal Cinema + Universal Comedy + Universal Crime + Universal Premiere + Universal Reality + Universal TV México + Universal TV Panregional + Univision TLNovelas + M+ #Vamos + Ve Plus Estados Unidos + Vía X + Vibra TV + Video Rola + ViendoMovies + 13 de Nicaragua + VTV Honduras + WAPA-TV + WAPA 2 Deportes + Willax TV + Punto 2 + WOBI + 13 de Puerto Rico + 4 de Monterrey + 22 de México + 11 de México + Zona Latina + ZOOM Colombia + diff --git a/sites/gatotv.com/gatotv.com.config.js b/sites/gatotv.com/gatotv.com.config.js index bff22d0f..fe4c327d 100644 --- a/sites/gatotv.com/gatotv.com.config.js +++ b/sites/gatotv.com/gatotv.com.config.js @@ -15,7 +15,6 @@ module.exports = { const items = parseItems(content) date = date.subtract(1, 'd') items.forEach((item, i) => { - const prev = programs[programs.length - 1] const $item = cheerio.load(item) let start = parseStart($item, date) if (i === 0 && start.hour >= 5) { @@ -41,7 +40,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.gatotv.com/guia_tv/completa`) + .get('https://www.gatotv.com/guia_tv/completa') .then(response => response.data) .catch(console.log) diff --git a/sites/gatotv.com/gatotv.com.test.js b/sites/gatotv.com/gatotv.com.test.js index 814a7953..5f96e16e 100644 --- a/sites/gatotv.com/gatotv.com.test.js +++ b/sites/gatotv.com/gatotv.com.test.js @@ -1,7 +1,7 @@ // npm run channels:parse -- --config=./sites/gatotv.com/gatotv.com.config.js --output=./sites/gatotv.com/gatotv.com.channels.xml -// npx epg-grabber --config=sites/gatotv.com/gatotv.com.config.js --channels=sites/gatotv.com/gatotv.com.channels.xml --output=guide.xml +// npm run grab -- --site=gatotv.com -const { parser, url, request } = require('./gatotv.com.config.js') +const { parser, url } = require('./gatotv.com.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') diff --git a/sites/getafteritmedia.com/getafteritmedia.com.channels.xml b/sites/getafteritmedia.com/getafteritmedia.com.channels.xml index 14c51aac..ef6aa3ad 100644 --- a/sites/getafteritmedia.com/getafteritmedia.com.channels.xml +++ b/sites/getafteritmedia.com/getafteritmedia.com.channels.xml @@ -1,10 +1,8 @@ - - - REV'N Eastern - REV'N Central - REV'N Mountain - REV'N Pacific - REV'N Web Feed - - + + REV'N Central + REV'N Eastern + REV'N Mountain + REV'N Pacific + REV'N Web Feed + diff --git a/sites/getafteritmedia.com/getafteritmedia.com.test.js b/sites/getafteritmedia.com/getafteritmedia.com.test.js index 7edb467e..5d95345f 100644 --- a/sites/getafteritmedia.com/getafteritmedia.com.test.js +++ b/sites/getafteritmedia.com/getafteritmedia.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/getafteritmedia.com/getafteritmedia.com.config.js --channels=sites/getafteritmedia.com/getafteritmedia.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=getafteritmedia.com const { parser, url } = require('./getafteritmedia.com.config.js') const fs = require('fs') @@ -33,7 +33,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2022-11-26T05:00:00.000Z', stop: '2022-11-26T05:30:00.000Z', - title: `The Appraisers` + title: 'The Appraisers' }) }) @@ -41,7 +41,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/guidatv.sky.it/guidatv.sky.it.channels.xml b/sites/guidatv.sky.it/guidatv.sky.it.channels.xml index 1a8bdbe0..974ffd4c 100644 --- a/sites/guidatv.sky.it/guidatv.sky.it.channels.xml +++ b/sites/guidatv.sky.it/guidatv.sky.it.channels.xml @@ -1,168 +1,166 @@ - - - 20 Mediaset - 27 Twentyseven - ACI Sport Tv - Aljazeera English - Baby TV Europe - BBC World News - BFC Forbes - BIKE - Blaze HD - Bloomberg TV Europe - Boing Italia - Boomerang Italia - Boomerang Italia +1 - Caccia - Canale 5 - Cartoonito Italia - Cartoon Network India - Cartoon Network Italia +1 - Cielo - Cine 34 - Class CNBC - Classica HD - CNBC Europe - CNN International Europe - Comedy Central Italia - Comedy Central Italia +1 - Crime + Investigation Network Italia - DeA Junior - DeA Kids - DeA Kids +1 - Deejay TV - Discovery Channel Italia - Discovery Channel Italia +1 - DMAX Italia - Emilia-Romagna 24 - EQUtv - Euronews English - Eurosport 1 Italia - Eurosport 2 Italia - Explorer HD Channel - Fashion TV - Food Network Italia - Fox Business - Fox News Channel - France 24 English - France 24 Français - Frisbee - Gambero Rosso Channel - Giallo - HGTV Italia - History Italia - Horse TV - I24 News English - Inter TV - Iris - Italia 1 - Italia 2 - K2 - La 5 - La 7 - La 7 d - Lazio Style TV - Mediaset Extra - Milan TV - Motor Trend - MTV HD - MTV Music - National Geographic Italia - National Geographic Italia +1 - National Geographic Wild Italia - National Geographic Wild Italia +1 - Nickelodeon Italia - Nickelodeon Italia +1 - Nick Jr Italia - Nick Jr Italia +1 - Nove - Pesca - POP Economy - QVC Italia - Radio Freccia TV - Radio Italia Trend Tv HD - Radio Italia TV - Radio Monte Carlo TV - Radionorba TV - Rai 1 - Rai 2 - Rai 3 - Rai 4 - Rai 5 - Rai Gulp - Rai Movie - Rai News 24 - Rai Premium - Rai Sport - Rai Storia - Rai Yoyo - Real Time Italia - Rete 4 - RTL 102.5 RadioVisione - San Marino RTV - Sky Arte - Sky Atlantic - Sky Atlantic +1 - Sky Cinema 4K - Sky Cinema Action - Adventure Collection HD - Sky Cinema Comedy - Sky Cinema Drama - Sky Cinema Due - Sky Cinema Due +24 - Sky Cinema Family - Sky Cinema Romance - Sky Cinema Suspense - Sky Cinema Uno - Sky Cinema Uno +24 - Sky Documentaries HD - Sky Documentaries +1 HD - Sky Investigation HD - Sky Investigation +1 HD - Sky Meteo 24 - Sky Nature HD - Sky News International - Sky Serie HD - Sky Serie Anime HD - Sky Sport 10 - Sky Sport 11 - Sky Sport 24 - Sky Sport 2 - Sky Sport 3 - Sky Sport 4 - Sky Sport 4K - Sky Sport 5 - Sky Sport 6 - Sky Sport 7 - Sky Sport 8 - Sky Sport 9 - Sky Sport Action HD - Sky Sport Arena - Sky Sport F1 - Sky Sport Football - Sky Sport Moto GP - Sky Sport NBA - Sky Sport Serie A - Sky Sport Tennis HD - Sky Sport Uno - Sky TG24 HD - Sky Uno - Sky Uno +1 - Super! - Super Tennis - TgCom24 HD - TG Norba 24 - Top Crime - TRM h24 - TV 2000 - TV 8 - VH1 Italia - Virgin Radio TV - ZONA DAZN - ZONA DAZN 2 - ZONA DAZN 3 - ZONA DAZN 4 - ZONA DAZN 5 - - + + 20 Mediaset + 27 Twentyseven + ACI Sport Tv + Aljazeera English + Baby TV Europe + BBC World News + BFC Forbes + BIKE + Blaze HD + Bloomberg TV Europe + Boing Italia + Boomerang Italia + Boomerang Italia +1 + Caccia + Canale 5 + Cartoonito Italia + Cartoon Network India + Cartoon Network Italia +1 + Cielo + Cine 34 + Class CNBC + Classica HD + CNBC Europe + CNN International Europe + Comedy Central Italia + Comedy Central Italia +1 + Crime + Investigation Network Italia + DeA Junior + DeA Kids + DeA Kids +1 + Deejay TV + Discovery Channel Italia + Discovery Channel Italia +1 + DMAX Italia + Emilia-Romagna 24 + EQUtv + Euronews English + Eurosport 1 Italia + Eurosport 2 Italia + Explorer HD Channel + Fashion TV + Food Network Italia + Fox Business + Fox News Channel + France 24 English + France 24 Français + Frisbee + Gambero Rosso Channel + Giallo + HGTV Italia + History Italia + Horse TV + I24 News English + Inter TV + Iris + Italia 1 + Italia 2 + K2 + La 5 + La 7 + La 7 d + Lazio Style TV + Mediaset Extra + Milan TV + Motor Trend + MTV HD + MTV Music + National Geographic Italia + National Geographic Italia +1 + National Geographic Wild Italia + National Geographic Wild Italia +1 + Nickelodeon Italia + Nickelodeon Italia +1 + Nick Jr Italia + Nick Jr Italia +1 + Nove + Pesca + POP Economy + QVC Italia + Radio Freccia TV + Radio Italia Trend Tv HD + Radio Italia TV + Radio Monte Carlo TV + Radionorba TV + Rai 1 + Rai 2 + Rai 3 + Rai 4 + Rai 5 + Rai Gulp + Rai Movie + Rai News 24 + Rai Premium + Rai Sport + Rai Storia + Rai Yoyo + Real Time Italia + Rete 4 + RTL 102.5 RadioVisione + San Marino RTV + Sky Arte + Sky Atlantic + Sky Atlantic +1 + Sky Cinema 4K + Sky Cinema Action + Adventure Collection HD + Sky Cinema Comedy + Sky Cinema Drama + Sky Cinema Due + Sky Cinema Due +24 + Sky Cinema Family + Sky Cinema Romance + Sky Cinema Suspense + Sky Cinema Uno + Sky Cinema Uno +24 + Sky Documentaries HD + Sky Documentaries +1 HD + Sky Investigation HD + Sky Investigation +1 HD + Sky Meteo 24 + Sky Nature HD + Sky News International + Sky Serie HD + Sky Serie Anime HD + Sky Sport 10 + Sky Sport 11 + Sky Sport 24 + Sky Sport 2 + Sky Sport 3 + Sky Sport 4 + Sky Sport 4K + Sky Sport 5 + Sky Sport 6 + Sky Sport 7 + Sky Sport 8 + Sky Sport 9 + Sky Sport Action HD + Sky Sport Arena + Sky Sport F1 + Sky Sport Football + Sky Sport Moto GP + Sky Sport NBA + Sky Sport Serie A + Sky Sport Tennis HD + Sky Sport Uno + Sky TG24 HD + Sky Uno + Sky Uno +1 + Super! + Super Tennis + TgCom24 HD + TG Norba 24 + Top Crime + TRM h24 + TV 2000 + TV 8 + VH1 Italia + Virgin Radio TV + ZONA DAZN + ZONA DAZN 2 + ZONA DAZN 3 + ZONA DAZN 4 + ZONA DAZN 5 + diff --git a/sites/guidatv.sky.it/guidatv.sky.it.test.js b/sites/guidatv.sky.it/guidatv.sky.it.test.js index 86ca43e4..77e5ee23 100644 --- a/sites/guidatv.sky.it/guidatv.sky.it.test.js +++ b/sites/guidatv.sky.it/guidatv.sky.it.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/guidatv.sky.it/guidatv.sky.it.config.js --channels=sites/guidatv.sky.it/guidatv.sky.it.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=guidatv.sky.it const { parser, url } = require('./guidatv.sky.it.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"events": [ { "channel": { "id": 10458, "logo": "/logo/545820mediasethd_Light_Fit.png", "logoPadding": "/logo/545820mediasethd_Light_Padding.png", "logoDark": "/logo/545820mediasethd_Dark_Fit.png", "logoDarkPadding": "/logo/545820mediasethd_Dark_Padding.png", "logoLight": "/logo/545820mediasethd_Light_Padding.png", "name": "20Mediaset HD", "number": 151, "category": { "id": 3, "name": "Intrattenimento" } }, "content": { "uuid": "77c630aa-4744-44cb-a88e-3e871c6b73d9", "contentTitle": "Distretto di Polizia", "episodeNumber": 26, "seasonNumber": 6, "url": "/serie-tv/distretto-di-polizia/stagione-6/episodio-26/77c630aa-4744-44cb-a88e-3e871c6b73d9", "genre": { "id": 1, "name": "Intrattenimento" }, "subgenre": { "id": 9, "name": "Fiction" }, "imagesMap": [ { "key": "background", "img": { "url": "/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/background?md5ChecksumParam=88d3f48ce855316f4be25ab9bb846d32" } }, { "key": "cover", "img": { "url": "/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/cover?md5ChecksumParam=61135b999a63e3d3f4a933b9edeb0c1b" } }, { "key": "scene", "img": { "url": "/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/16-9?md5ChecksumParam=f41bfe414bec32505abdab19d00b8b43" } } ] }, "eventId": "139585132", "starttime": "2022-05-06T00:35:40Z", "endtime": "2022-05-06T01:15:40Z", "eventTitle": "Distretto di Polizia", "eventSynopsis": "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.", "epgEventTitle": "S6 Ep26 - Distretto di Polizia", "primeVision": false, "resolutions": [ { "resolutionType": "resolution4k", "value": false } ] }]}` + const content = + '{"events": [ { "channel": { "id": 10458, "logo": "/logo/545820mediasethd_Light_Fit.png", "logoPadding": "/logo/545820mediasethd_Light_Padding.png", "logoDark": "/logo/545820mediasethd_Dark_Fit.png", "logoDarkPadding": "/logo/545820mediasethd_Dark_Padding.png", "logoLight": "/logo/545820mediasethd_Light_Padding.png", "name": "20Mediaset HD", "number": 151, "category": { "id": 3, "name": "Intrattenimento" } }, "content": { "uuid": "77c630aa-4744-44cb-a88e-3e871c6b73d9", "contentTitle": "Distretto di Polizia", "episodeNumber": 26, "seasonNumber": 6, "url": "/serie-tv/distretto-di-polizia/stagione-6/episodio-26/77c630aa-4744-44cb-a88e-3e871c6b73d9", "genre": { "id": 1, "name": "Intrattenimento" }, "subgenre": { "id": 9, "name": "Fiction" }, "imagesMap": [ { "key": "background", "img": { "url": "/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/background?md5ChecksumParam=88d3f48ce855316f4be25ab9bb846d32" } }, { "key": "cover", "img": { "url": "/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/cover?md5ChecksumParam=61135b999a63e3d3f4a933b9edeb0c1b" } }, { "key": "scene", "img": { "url": "/uuid/77c630aa-4744-44cb-a88e-3e871c6b73d9/16-9?md5ChecksumParam=f41bfe414bec32505abdab19d00b8b43" } } ] }, "eventId": "139585132", "starttime": "2022-05-06T00:35:40Z", "endtime": "2022-05-06T01:15:40Z", "eventTitle": "Distretto di Polizia", "eventSynopsis": "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.", "epgEventTitle": "S6 Ep26 - Distretto di Polizia", "primeVision": false, "resolutions": [ { "resolutionType": "resolution4k", "value": false } ] }]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -45,7 +46,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"events":[],"total":0}` + content: '{"events":[],"total":0}' }) expect(result).toMatchObject([]) }) diff --git a/sites/guide.dstv.com/guide.dstv.com.channels.xml b/sites/guide.dstv.com/guide.dstv.com.channels.xml index 0bdaf11a..f08da374 100644 --- a/sites/guide.dstv.com/guide.dstv.com.channels.xml +++ b/sites/guide.dstv.com/guide.dstv.com.channels.xml @@ -1,326 +1,324 @@ - - - 1KZN TV - 1 Magic Africa - Abol TV - Addis Media Network - Adom TV - Africa Magic Epic - Africa Magic Family - Africa Magic Hausa - Africa Magic Igbo - Africa Magic Showcase Africa - Africa Magic Urban - Africa Magic Yoruba - Africanews - Afro Music Pop - Ahadu TV - AIT International - Akili Kids! - Aljazeera English - Amhara TV - Arewa 24 - Arise News - ARTS TV - Asham TV - AYV TV - B4U Movies UK - Baba TV - Balageru TV - BBC Brit South Africa - BBC Earth South Africa - BBC Lifestyle South Africa - BBC World News Africa - BBS TV - BET Africa - Big Brother Mzansi - Bloomberg TV Africa - Boomerang EMEA - Botswana TV - Bukedde TV 1 - BusinessDay TV - Camnet TV - Cape Town TV - Cartoon Network Middle East & Africa - CBeebies South Africa - CBS Justice Africa - CBS Reality Africa - CCTV 4 Europe - CCTV Entertainment - CGTN - CGTN Documentary - CGTN Français - Channel 44 - Channel O - Channels TV - Citizen TV - CNBC Africa - CNN International Europe - Comedy Central Africa - Curiosity Channel - Da Vinci - Daystar TV - Diamond TV - Discovery Channel Middle East & Africa - Discovery Family Africa - Disney Channel South Africa - Disney Junior South Africa - Dominion TV - Dove TV - Dumisa TV - DW Deutsch - E! Africa - EBS - Edu Channel - E Extra - Emmanuel TV - E Movies - E Movies Extra - ENews Channel Africa - ESPN 2 Africa - ESPN Africa - E Toonz - E TV - E TV Africa - ETV News - EuroNews English - EuroNews Français - EuroNews Deutsch - EuroNews Português - EWTN Africa - Asia - Faith Africa - Fana TV - FliekNet - Food Network EMEA - Galaxy TV - Gau TV - Ghana Learning TV - Ghana TV - Gh One TV - Ginx eSports TV International - HGTV South Africa - Hip TV - History Africa - Honey - Ignition - Inooro TV - Investigation Discovery Africa - Iqraa Africa & Europe - Islam Channel - ITV Networks - Jiangsu TV - JimJam Europe - Joy News - Joy Prime - K24 - Kameme TV - Kass TV - KBC Channel 1 - KBN - Kiss TV - Kix - KTN Home - KTN News - KykNet - KykNet & Kie - KykNet Nou! - Lagos TV - Lifetime Africa - Lumen Christi TV Network - Maisha Magic Bongo - Maisha Magic Movies - Maisha Magic Plus - Maisha Magic Poa - Mambo Moto TV - MBC - Me - Mibawa TV - Mindset Learn - MITV - M-Net East - M-Net Movies 1 East Africa - M-Net Movies 1 West Africa - M-Net Movies 2 - M-Net Movies 3 - M-Net Movies 4 - M-Net Movies Men of Action - M-Net South Africa - M-Net West - Moja Love - MovieRoom - Mpuma Kapa TV - MTV Africa - MTV Base Africa - My Channel Africa - Mzansi Bioskop - Mzansi Magic - Mzansi Magic Music - Mzansi Wethu - Nahoo TV - National Geographic South Africa - National Geographic Wild South Africa - NBC 2 - NBS TV - NDTV 24x7 - Newzroom Afrika - NHK World Japan - Nickelodeon Africa - Nick Jr Africa - NickToons Africa - Novela Magic - Now! TV - NTA 2 - NTA International - NTA News 24 - NTA Parliament - NTV - NTV Uganda - OBN - Ogun State TV - One Africa TV - One Gospel - OneZed - Parliament TV - Parliament TV - PBS Kids - Pearl Magic Prime - People&apos;s Weather - Plus TV Africa - Pop Central - Power TV - Racing 240 - Rai Italia Africa - Real Time Africa - Rok - Rok 2 - Rok GH - RT News - SABC 1 - SABC 2 - SABC 3 - SABC News - Salt TV - SBN International - Silverbird TV - Sky News International - Soundcity Africa - Soweto TV - Spice - SSBC TV - StarLife - STN - Studio Universal Africa - Sunna TV - SuperSport Action Africa - SuperSport Blitz Africa - SuperSport Cricket Africa - SuperSport Football Africa - SuperSport Football Plus Africa - SuperSport Golf Africa - SuperSport Grandstand Africa - SuperSport LaLiga Africa - SuperSport Máximo 1 Africa - SuperSport Máximo 2 Africa - SuperSport Motorsport Africa - SuperSport OTT - SuperSport OTT 2 - SuperSport OTT 3 - SuperSport OTT 4 - SuperSport OTT 5 - SuperSport OTT 6 - SuperSport OTT 7 - SuperSport OTT 8 - SuperSport Play - SuperSport Premier League Africa - SuperSport PSL - SuperSport Rugby Africa - SuperSport Tennis Africa - SuperSport Variety 1 Africa - SuperSport Variety 2 Africa - SuperSport Variety 3 Africa - SuperSport Variety 4 Africa - Tanzania Safari Channel - TBN Africa - Telemundo Africa - Televista - Tellytrack 1 - The Home Channel - TLC Africa - Tlnovelas Europa - TNT Africa - Trace Gospel English Speaking Africa - Trace Jama - Trace Muzika - Trace Mziki - Trace Naija - Travel Channel Europe - Trybe TV - Tshwane TV - TV 1 - TV 3 - TV 47 - TV5Monde Afrique - TV Africa - TVC News - TV E - TV Lesotho - TV Moçambique Internacional - TV West - UBC TV - United TV - Universal TV Africa - Urban TV - Via - Walta TV - Wap TV - Wasafi TV - Wazobia Max TV Nigeria - WildEarth - WWE Channel - Y254 - Yadah TV - Zambezi Magic - ZBC TV - Zee Alem - Zee World - ZNBC TV 1 - ZNBC TV 2 - Zodiak TV - Afro Music Channel - AXN Movies - AXN Portugal - Banda TV - Best Brasil - Boomerang Portugal - Boom TV - Canal Panda Portugal - Cine Mundo - Disney Junior Portugal - DSTV Pipoca - Fé TV - Fox Comedy Portugal - Fox Crime Portugal - Fox Life Portugal - Fox Movies Portugal - Fox Portugal - Luta Pela Fama - Media Mais TV - MundoFox - National Geographic Portugal - Palanca TV - Record News - RTP África - RTP Internacional Europa - Soico TV - Strong Live - SuperSport Máximo 360 - TLN Network - TPA 1 - TPA2 - Trace Toca - TVM - TV Miramar - TV Zimbo - - \ No newline at end of file + + 1KZN TV + 1 Magic Africa + Abol TV + Addis Media Network + Adom TV + Africa Magic Epic + Africa Magic Family + Africa Magic Hausa + Africa Magic Igbo + Africa Magic Showcase Africa + Africa Magic Urban + Africa Magic Yoruba + Africanews + Afro Music Pop + Ahadu TV + AIT International + Akili Kids! + Aljazeera English + Amhara TV + Arewa 24 + Arise News + ARTS TV + Asham TV + AYV TV + B4U Movies UK + Baba TV + Balageru TV + BBC Brit South Africa + BBC Earth South Africa + BBC Lifestyle South Africa + BBC World News Africa + BBS TV + BET Africa + Big Brother Mzansi + Bloomberg TV Africa + Boomerang EMEA + Botswana TV + Bukedde TV 1 + BusinessDay TV + Camnet TV + Cape Town TV + Cartoon Network Middle East & Africa + CBeebies South Africa + CBS Justice Africa + CBS Reality Africa + CCTV 4 Europe + CCTV Entertainment + CGTN + CGTN Documentary + CGTN Français + Channel 44 + Channel O + Channels TV + Citizen TV + CNBC Africa + CNN International Europe + Comedy Central Africa + Curiosity Channel + Da Vinci + Daystar TV + Diamond TV + Discovery Channel Middle East & Africa + Discovery Family Africa + Disney Channel South Africa + Disney Junior South Africa + Dominion TV + Dove TV + Dumisa TV + DW Deutsch + E! Africa + EBS + Edu Channel + E Extra + Emmanuel TV + E Movies + E Movies Extra + ENews Channel Africa + ESPN 2 Africa + ESPN Africa + E Toonz + E TV + E TV Africa + ETV News + EuroNews English + EuroNews Français + EuroNews Deutsch + EuroNews Português + EWTN Africa - Asia + Faith Africa + Fana TV + FliekNet + Food Network EMEA + Galaxy TV + Gau TV + Ghana Learning TV + Ghana TV + Gh One TV + Ginx eSports TV International + HGTV South Africa + Hip TV + History Africa + Honey + Ignition + Inooro TV + Investigation Discovery Africa + Iqraa Africa & Europe + Islam Channel + ITV Networks + Jiangsu TV + JimJam Europe + Joy News + Joy Prime + K24 + Kameme TV + Kass TV + KBC Channel 1 + KBN + Kiss TV + Kix + KTN Home + KTN News + KykNet + KykNet & Kie + KykNet Nou! + Lagos TV + Lifetime Africa + Lumen Christi TV Network + Maisha Magic Bongo + Maisha Magic Movies + Maisha Magic Plus + Maisha Magic Poa + Mambo Moto TV + MBC + Me + Mibawa TV + Mindset Learn + MITV + M-Net East + M-Net Movies 1 East Africa + M-Net Movies 1 West Africa + M-Net Movies 2 + M-Net Movies 3 + M-Net Movies 4 + M-Net Movies Men of Action + M-Net South Africa + M-Net West + Moja Love + MovieRoom + Mpuma Kapa TV + MTV Africa + MTV Base Africa + My Channel Africa + Mzansi Bioskop + Mzansi Magic + Mzansi Magic Music + Mzansi Wethu + Nahoo TV + National Geographic South Africa + National Geographic Wild South Africa + NBC 2 + NBS TV + NDTV 24x7 + Newzroom Afrika + NHK World Japan + Nickelodeon Africa + Nick Jr Africa + NickToons Africa + Novela Magic + Now! TV + NTA 2 + NTA International + NTA News 24 + NTA Parliament + NTV + NTV Uganda + OBN + Ogun State TV + One Africa TV + One Gospel + OneZed + Parliament TV + Parliament TV + PBS Kids + Pearl Magic Prime + People&apos;s Weather + Plus TV Africa + Pop Central + Power TV + Racing 240 + Rai Italia Africa + Real Time Africa + Rok + Rok 2 + Rok GH + RT News + SABC 1 + SABC 2 + SABC 3 + SABC News + Salt TV + SBN International + Silverbird TV + Sky News International + Soundcity Africa + Soweto TV + Spice + SSBC TV + StarLife + STN + Studio Universal Africa + Sunna TV + SuperSport Action Africa + SuperSport Blitz Africa + SuperSport Cricket Africa + SuperSport Football Africa + SuperSport Football Plus Africa + SuperSport Golf Africa + SuperSport Grandstand Africa + SuperSport LaLiga Africa + SuperSport Máximo 1 Africa + SuperSport Máximo 2 Africa + SuperSport Motorsport Africa + SuperSport OTT + SuperSport OTT 2 + SuperSport OTT 3 + SuperSport OTT 4 + SuperSport OTT 5 + SuperSport OTT 6 + SuperSport OTT 7 + SuperSport OTT 8 + SuperSport Play + SuperSport Premier League Africa + SuperSport PSL + SuperSport Rugby Africa + SuperSport Tennis Africa + SuperSport Variety 1 Africa + SuperSport Variety 2 Africa + SuperSport Variety 3 Africa + SuperSport Variety 4 Africa + Tanzania Safari Channel + TBN Africa + Telemundo Africa + Televista + Tellytrack 1 + The Home Channel + TLC Africa + Tlnovelas Europa + TNT Africa + Trace Gospel English Speaking Africa + Trace Jama + Trace Muzika + Trace Mziki + Trace Naija + Travel Channel Europe + Trybe TV + Tshwane TV + TV 1 + TV 3 + TV 47 + TV5Monde Afrique + TV Africa + TVC News + TV E + TV Lesotho + TV Moçambique Internacional + TV West + UBC TV + United TV + Universal TV Africa + Urban TV + Via + Walta TV + Wap TV + Wasafi TV + Wazobia Max TV Nigeria + WildEarth + WWE Channel + Y254 + Yadah TV + Zambezi Magic + ZBC TV + Zee Alem + Zee World + ZNBC TV 1 + ZNBC TV 2 + Zodiak TV + Afro Music Channel + AXN Movies + AXN Portugal + Banda TV + Best Brasil + Boomerang Portugal + Boom TV + Canal Panda Portugal + Cine Mundo + Disney Junior Portugal + DSTV Pipoca + Fé TV + Fox Comedy Portugal + Fox Crime Portugal + Fox Life Portugal + Fox Movies Portugal + Fox Portugal + Luta Pela Fama + Media Mais TV + MundoFox + National Geographic Portugal + Palanca TV + Record News + RTP África + RTP Internacional Europa + Soico TV + Strong Live + SuperSport Máximo 360 + TLN Network + TPA 1 + TPA2 + Trace Toca + TVM + TV Miramar + TV Zimbo + \ No newline at end of file diff --git a/sites/guide.dstv.com/guide.dstv.com.config.js b/sites/guide.dstv.com/guide.dstv.com.config.js index 44ad8d38..44ca692a 100644 --- a/sites/guide.dstv.com/guide.dstv.com.config.js +++ b/sites/guide.dstv.com/guide.dstv.com.config.js @@ -7,9 +7,9 @@ const customParseFormat = require('dayjs/plugin/customParseFormat') dayjs.extend(utc) dayjs.extend(customParseFormat) +// ERR: certificate has expired module.exports = { site: 'guide.dstv.com', - skip: true, // NOTE: website is down (HTTP Server Error 503) days: 2, request: { cache: { @@ -24,9 +24,9 @@ module.exports = { 'YYYY-MM-DD' )}` }, - parser({ content, date, channel, cached }) { + parser({ content, date, channel }) { const programs = [] - const items = parseItems(content, date, channel) + const items = parseItems(content, channel) items.forEach(item => { const prev = programs[programs.length - 1] let start = parseStart(item, date) @@ -70,13 +70,13 @@ module.exports = { } function parseStart(item, date) { - time = `${date.format('MM/DD/YYYY')} ${item.time}` + const time = `${date.format('MM/DD/YYYY')} ${item.time}` return dayjs.utc(time, 'MM/DD/YYYY HH:mm') } -function parseItems(content, date, channel) { - const [_, channelTag] = channel.site_id.split('#') +function parseItems(content, channel) { + const [, channelTag] = channel.site_id.split('#') const data = JSON.parse(content) const html = data[channelTag] if (!html) return [] diff --git a/sites/guide.dstv.com/guide.dstv.com.test.js b/sites/guide.dstv.com/guide.dstv.com.test.js index afd4c318..09b242e5 100644 --- a/sites/guide.dstv.com/guide.dstv.com.test.js +++ b/sites/guide.dstv.com/guide.dstv.com.test.js @@ -1,5 +1,5 @@ -// node ./scripts/commands/parse-channels.js --config=./sites/guide.dstv.com/guide.dstv.com.config.js --output=./sites/guide.dstv.com/guide.dstv.com.channels.xml --set=bouquet:c35aaecd-5dd1-480b-ae24-357e600a0e4d -// npx epg-grabber --config=sites/guide.dstv.com/guide.dstv.com.config.js --channels=sites/guide.dstv.com/guide.dstv.com.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=guide.dstv.com +// npm run channels:parse -- --config=./sites/guide.dstv.com/guide.dstv.com.config.js --output=./sites/guide.dstv.com/guide.dstv.com.channels.xml --set=bouquet:c35aaecd-5dd1-480b-ae24-357e600a0e4d const { parser, url } = require('./guide.dstv.com.config.js') const dayjs = require('dayjs') @@ -22,7 +22,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"M4H": "
  • 21:30

    Deadly Flight

  • 08:25

    I Still Believe

  • 15:50

    Despicable Me

  • 20:35

    The Foreigner

  • "}` + const content = + "{\"M4H\": \"
  • 21:30

    Deadly Flight

  • 08:25

    I Still Believe

  • 15:50

    Despicable Me

  • 20:35

    The Foreigner

  • \"}" const result = parser({ date, channel, content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -53,6 +54,6 @@ it('can parse response', () => { }) it('can handle empty guide', () => { - const result = parser({ date, channel, content: `{}` }) + const result = parser({ date, channel, content: '{}' }) expect(result).toMatchObject([]) }) diff --git a/sites/hd-plus.de/hd-plus.de.channels.xml b/sites/hd-plus.de/hd-plus.de.channels.xml index c22c83fa..ee89d1b2 100644 --- a/sites/hd-plus.de/hd-plus.de.channels.xml +++ b/sites/hd-plus.de/hd-plus.de.channels.xml @@ -1,125 +1,123 @@ - - - 1-2-3 TV - 13th Street Deutschland - 3sat - Anixe HD Serie - ARD Alpha - ARTE Deutsch - AstroTV - ATV - ATV 2 - Augsburg TV - Sony AXN - Bayerisches Fernsehen Nord - Bibel TV - Bloomberg TV Europe - Boomerang Deutschland - Cartoon Network Deutschland - Channel 21 - Comedy Central Deutschland - Das Erste - Deluxe Music - Deutsches Musik Fernsehen - Die Neue Zeit TV - Discovery Channel Deutschland - Disney Channel Deutschland - DMAX Deutschland - E! Europe - EuroNews Deutsch - Eurosport 1 Germany - EWTN auf Deutsch - Franken Fernsehen - GoTV - Heimatkanal - History Deutschland - Hope TV Deutsch - HR Fernsehen - HSE - HSE Extra - JML Direct - Junior - Juwelo - Kabel Eins Classics - Kabel Eins Deutschland - KIKA - Kinowelt TV - K-TV - L TV - Motorvision TV - MTV Germany - MTV Hits Europe - MTV Live HD - München TV - National Geographic Deutschland - National Geographic Wild Deutschland - Nitro Deutschland - NPO 1 - NPO 2 - N-TV - One - ORF 1 - ORF 2 - ORF III - ORF Sport + - Pearl TV - Phoenix - ProSieben Deutschland - ProSieben Maxx Deutschland - Puls 4 - QVC Deutschland - QVC Zwei - RFO - RheinMain TV - RiC - Romance TV Deutschland - RTL Crime Deutschland - RTL Deutschland - RTL Living Deutschland - RTL Zwei Deutschland - Sat. 1 Deutschland - Sat. 1 Emotions - Sat. 1 Gold Deutschland - Servus TV Deutschland - Sixx Deutschland - Sky Atlantic - Sky Cinema Action - Sky Cinema Hits - Sky Cinema Nostalgie - Sky Comedy - Sky Krimi - Sky Sport 1 - Sky Sport 2 - Sky Sport Austria 1 - Sky Sport Bundesliga 1 - Sky Sport Bundesliga 2 - Sky Sport Bundesliga 3 - Sky Sport Bundesliga 4 - Sky Sport News - Sonnenklar TV - Sport 1 - Sport 1+ - Sportdigital Fussball - SRF 1 - SR Fernsehen - SRF Zwei - Stingray Classica - Super RTL Deutschland - Syfy Deutschland - Tagesschau 24 - Tele 5 - TLC Germany - TNT Film - TNT Serie - TVA Ostbayern - TV Oberfranken - Universal TV Deutschland - Vox Deutschland - Welt - Welt der Wunder TV - ZDF - ZDF Info - ZDF Neo - - + + 1-2-3 TV + 13th Street Deutschland + 3sat + Anixe HD Serie + ARD Alpha + ARTE Deutsch + AstroTV + ATV + ATV 2 + Augsburg TV + Bibel TV + Bloomberg TV Europe + Boomerang Deutschland + Bayerisches Fernsehen Nord + Cartoon Network Deutschland + Channel 21 + Comedy Central Deutschland + Das Erste + Deluxe Music + Deutsches Musik Fernsehen + Die Neue Zeit TV + Discovery Channel Deutschland + Disney Channel Deutschland + DMAX Deutschland + E! Europe + EuroNews Deutsch + Eurosport 1 Germany + EWTN auf Deutsch + Franken Fernsehen + GoTV + Heimatkanal + History Deutschland + Hope TV Deutsch + HR Fernsehen + HSE + HSE Extra + JML Direct + Junior + Juwelo + Kabel Eins Deutschland + Kabel Eins Classics + KIKA + Kinowelt TV + K-TV + L TV + Motorvision TV + MTV Germany + MTV Hits Europe + MTV Live HD + München TV + National Geographic Deutschland + National Geographic Wild Deutschland + Nitro Deutschland + NPO 1 + NPO 2 + N-TV + One + ORF 1 + ORF 2 + ORF III + ORF Sport + + Pearl TV + Phoenix + ProSieben Deutschland + ProSieben Maxx Deutschland + Puls 4 + QVC Zwei + QVC Deutschland + RFO + RheinMain TV + RiC + Romance TV Deutschland + RTL Crime Deutschland + RTL Deutschland + RTL Living Deutschland + RTL Zwei Deutschland + Sat. 1 Deutschland + Sat. 1 Emotions + Sat. 1 Gold Deutschland + Servus TV Deutschland + Sixx Deutschland + Sky Atlantic + Sky Cinema Action + Sky Cinema Hits + Sky Cinema Nostalgie + Sky Comedy + Sky Krimi + Sky Sport 1 + Sky Sport 2 + Sky Sport Austria 1 + Sky Sport Bundesliga 1 + Sky Sport Bundesliga 2 + Sky Sport Bundesliga 3 + Sky Sport Bundesliga 4 + Sky Sport News + Sonnenklar TV + Sony AXN + Sport 1 + Sport 1+ + Sportdigital Fussball + SRF 1 + SR Fernsehen + SRF Zwei + Stingray Classica + Super RTL Deutschland + Syfy Deutschland + Tagesschau 24 + Tele 5 + TLC Germany + TNT Film + TNT Serie + TVA Ostbayern + TV Oberfranken + Universal TV Deutschland + Vox Deutschland + Welt + Welt der Wunder TV + ZDF + ZDF Info + ZDF Neo + diff --git a/sites/hd-plus.de/hd-plus.de.test.js b/sites/hd-plus.de/hd-plus.de.test.js index bbb5c2be..d8cb96d4 100644 --- a/sites/hd-plus.de/hd-plus.de.test.js +++ b/sites/hd-plus.de/hd-plus.de.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/hd-plus.de/hd-plus.de.config.js --channels=sites/hd-plus.de/hd-plus.de.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=hd-plus.de const { parser, url } = require('./hd-plus.de.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '1-2-3-tv-hd', xmltv_id: '123tv.de' } -const content = `
    1-2-3.tv HD

    1-2-3.tv HD

    Titel Ausstrahlungszeit
    Ihre Lieblingsuhren Do 25.11 00:00
    Ihre Lieblingsuhren Do 25.11 01:00
    Flash DealsDo 25.11 06:00
    ` +const content = + '
    1-2-3.tv HD

    1-2-3.tv HD

    Titel Ausstrahlungszeit
    Ihre Lieblingsuhren Do 25.11 00:00
    Ihre Lieblingsuhren Do 25.11 01:00
    Flash DealsDo 25.11 06:00
    ' it('can generate valid url', () => { const today = dayjs.utc().startOf('d') @@ -30,17 +31,17 @@ it('can parse response', () => { { start: '2021-11-24T23:00:00.000Z', stop: '2021-11-25T00:00:00.000Z', - title: `Ihre Lieblingsuhren` + title: 'Ihre Lieblingsuhren' }, { start: '2021-11-25T00:00:00.000Z', stop: '2021-11-25T05:00:00.000Z', - title: `Ihre Lieblingsuhren` + title: 'Ihre Lieblingsuhren' }, { start: '2021-11-25T05:00:00.000Z', stop: '2021-11-25T06:00:00.000Z', - title: `Flash Deals` + title: 'Flash Deals' } ]) }) @@ -49,7 +50,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/horizon.tv/horizon.tv.channels.xml b/sites/horizon.tv/horizon.tv.channels.xml index 571ebb74..add65f86 100644 --- a/sites/horizon.tv/horizon.tv.channels.xml +++ b/sites/horizon.tv/horizon.tv.channels.xml @@ -1,189 +1,187 @@ - - - RTVS 24 HD - 360 TuneBox HD - AMC HD - Animal Planet HD - Magyar ATV - Auto Motor Sport - BabesTV HD - Barrandov Krimi HD - Bober - Brazzers TV HD - Cartoon Network HD - Cinemax 2 HD - Cinemax HD - Club MTV - CNBC Europe HD - CNN - CNN Prima News HD - Cool TV - CS History - CS Mystery - CT 1 HD - CT 2 HD - CT 24 HD - CT sport HD - Current Time - Discovery HD - Discovery Science HD - Disney Channel - Docubox HD - Dom Kino - Dom Kino PREMIUM HD - DTX HD - ducktv HD - Duna - Duna World - Dvojka HD - Deutsche Welle - EroXXX HD - Espreso TV - Euronews HD - Euronews FR - Euronews HU - Eurosport 1 HD - Eurosport 2 HD - Extasy HD - Extreme Sports - FashionBox - Fashion TV HD - Fast & FunBox HD - Fem3 - Fightbox HD - FilmBox HD - FilmBox Arthouse - FilmBox Extra HD - FilmBox Family - FilmBox Premium HD - FilmBox Stars HD - Film+ CZ HD - FILM+ HU - Folklorika HD - Food Network HD - France 24 - HBO 2 HD - HBO 3 HD - HBO HD - HirTV - History HD - Hobby TV HD - Jednotka HD - JimJam - JOJ 24 HD - JOJ Cinema HD - Jojko HD - JOJ Plus HD - JOJ Sport HD - WAU HD - Kabel eins - Carousel - Kino Barrandov HD - Leo TV HD - m1 HD - m2 - m4 Sport HD - m5 - Markiza HD - Dajto HD - Doma HD - Mezzo - Minimax - Mnam TV HD - Mnau TV - MTV 00s - MTV 80s - MTV 90s - MTV Live HD - Muzika Pervogo - Muzsika TV - National Geographic HD - Nat Geo Wild HD - Nick Jr. - Nickelodeon - NickToons - Nitro - Nova International HD - Nova Sport 1 HD - Nova Sport 2 HD - O! - ORF 1 - ORF 2 - ORF III - Park TV - Pobeda - Poekhali! - Prima COOL HD - Prima KRIMI HD - Prima love HD - Prima MAX HD - Prima PLUS HD - Prima ZOOM HD - ProSieben - Reality Kings HD - RELAX - Retro Music TV - RTL Gold - RTL KETTŐ - RTL DE - RTL HÁROM - RTL - RTL Zwei - SAT 1 - SENZI HD - Sky News - Slager muzika - Slager original - Slager Premium HD - Slager TV - Sorozat+ - Spektrum HD - Spektrum home - RTVS Sport HD - Sport 1 HD - Sport 2 HD - Sport 5 - Story 4 - Super RTL - Super TV2 - TA3 HD - Telecafe - Seznam.cz TV HD - Fishing and Hunting - Travel Channel HD - TRT World - TurboTV HD - TV2 - TV2Sef - TV4 - TV8 - Barrandov TV HD - JOJ HD - TV LUX HD - Noe TV HD - TV Paprika - TV Paprika HU - TVP Polonia - TV Raj HD - TV Romana - TV Ruzinov HD - UATV - Viasat Explore HD - Viasat History HD - Viasat Nature HD - VOX - Vremja - WELT - - - - - - - - - - - - + + + + + + + + + + + + Kabel eins + Nitro + ORF 1 + ORF 2 + ORF III + ProSieben + RTL DE + RTL Zwei + SAT 1 + Super RTL + VOX + WELT + 360 TuneBox HD + BabesTV HD + Brazzers TV HD + Club MTV + CNBC Europe HD + CNN + Docubox HD + Deutsche Welle + EroXXX HD + Euronews HD + Extasy HD + Extreme Sports + FashionBox + Fashion TV HD + Fast & FunBox HD + Fightbox HD + FilmBox Arthouse + Mezzo + MTV 00s + MTV 80s + MTV 90s + MTV Live HD + Reality Kings HD + Sky News + TRT World + UATV + Euronews FR + France 24 + RTVS 24 HD + AMC HD + Animal Planet HD + Magyar ATV + Auto Motor Sport + Barrandov Krimi HD + Bober + Cartoon Network HD + Cinemax 2 HD + Cinemax HD + CNN Prima News HD + Cool TV + CS History + CS Mystery + CT 1 HD + CT 2 HD + CT 24 HD + CT sport HD + Current Time + Discovery HD + Discovery Science HD + Disney Channel + Dom Kino + Dom Kino PREMIUM HD + DTX HD + ducktv HD + Duna + Duna World + Dvojka HD + Espreso TV + Euronews HU + Eurosport 1 HD + Eurosport 2 HD + Fem3 + FilmBox HD + FilmBox Extra HD + FilmBox Family + FilmBox Premium HD + FilmBox Stars HD + Film+ CZ HD + FILM+ HU + Folklorika HD + Food Network HD + HBO 2 HD + HBO 3 HD + HBO HD + HirTV + History HD + Hobby TV HD + Jednotka HD + JimJam + JOJ 24 HD + JOJ Cinema HD + Jojko HD + JOJ Plus HD + JOJ Sport HD + WAU HD + Carousel + Kino Barrandov HD + Leo TV HD + m1 HD + m2 + m4 Sport HD + m5 + Markiza HD + Dajto HD + Doma HD + Minimax + Mnam TV HD + Mnau TV + Muzika Pervogo + Muzsika TV + National Geographic HD + Nat Geo Wild HD + Nickelodeon + Nick Jr. + NickToons + Nova International HD + Nova Sport 1 HD + Nova Sport 2 HD + O! + Park TV + Pobeda + Poekhali! + Prima COOL HD + Prima KRIMI HD + Prima love HD + Prima MAX HD + Prima PLUS HD + Prima ZOOM HD + RELAX + Retro Music TV + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + SENZI HD + Slager muzika + Slager original + Slager Premium HD + Slager TV + Sorozat+ + Spektrum HD + Spektrum home + RTVS Sport HD + Sport 1 HD + Sport 2 HD + Sport 5 + Story 4 + Super TV2 + TA3 HD + Telecafe + Seznam.cz TV HD + Fishing and Hunting + Travel Channel HD + TurboTV HD + TV2 + TV2Sef + TV4 + TV8 + Barrandov TV HD + JOJ HD + TV LUX HD + Noe TV HD + TV Paprika + TV Paprika HU + TVP Polonia + TV Raj HD + TV Romana + TV Ruzinov HD + Viasat Explore HD + Viasat History HD + Viasat Nature HD + Vremja + diff --git a/sites/horizon.tv/horizon.tv.config.js b/sites/horizon.tv/horizon.tv.config.js index 92474cfa..0444317c 100644 --- a/sites/horizon.tv/horizon.tv.config.js +++ b/sites/horizon.tv/horizon.tv.config.js @@ -1,7 +1,7 @@ const axios = require('axios') const dayjs = require('dayjs') -const API_ENDPOINT = `https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web` +const API_ENDPOINT = 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web' module.exports = { site: 'horizon.tv', @@ -87,7 +87,7 @@ function parseStop(item) { function parseItems(content, channel) { if (!content) return [] - const data = (typeof content === 'string') ? JSON.parse(content) : content + const data = typeof content === 'string' ? JSON.parse(content) : content if (!data || !Array.isArray(data.entries)) return [] const entity = data.entries.find(e => e.o === `lgi-obolite-sk-prod-master:${channel.site_id}`) return entity ? entity.l : [] @@ -142,4 +142,4 @@ function parseYear(detail) { if (!detail) return null if (!detail.program) return null return detail.program.year || null -} \ No newline at end of file +} diff --git a/sites/horizon.tv/horizon.tv.test.js b/sites/horizon.tv/horizon.tv.test.js index 1e3fc985..4a5a6758 100644 --- a/sites/horizon.tv/horizon.tv.test.js +++ b/sites/horizon.tv/horizon.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/horizon.tv/horizon.tv.config.js --output=./sites/horizon.tv/horizon.tv.channels.xml -// npx epg-grabber --config=sites/horizon.tv/horizon.tv.config.js --channels=sites/horizon.tv/horizon.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=horizon.tv const { parser, url } = require('./horizon.tv.config.js') const axios = require('axios') @@ -24,38 +24,70 @@ it('can generate valid url', () => { }) it('can parse response', done => { - const content = `{"entryCount":184,"totalResults":184,"updated":1675790518889,"expires":1675791343825,"title":"EPG","periods":4,"periodStartTime":1675724400000,"periodEndTime":1675746000000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","t":"Avengement","s":1675719300000,"e":1675724700000,"c":"lgi-obolite-sk-prod-master:genre-9","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}` + const content = + '{"entryCount":184,"totalResults":184,"updated":1675790518889,"expires":1675791343825,"title":"EPG","periods":4,"periodStartTime":1675724400000,"periodEndTime":1675746000000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","t":"Avengement","s":1675719300000,"e":1675724700000,"c":"lgi-obolite-sk-prod-master:genre-9","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' axios.get.mockImplementation(url => { - if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/programschedules/20230207/2') { + if ( + url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/programschedules/20230207/2' + ) { return Promise.resolve({ - data: JSON.parse(`{"entryCount":184,"totalResults":184,"updated":1675790518889,"expires":1675791376097,"title":"EPG","periods":4,"periodStartTime":1675746000000,"periodEndTime":1675767600000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b","t":"Zoom In","s":1675744500000,"e":1675746000000,"c":"lgi-obolite-sk-prod-master:genre-21","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}`) + data: JSON.parse( + '{"entryCount":184,"totalResults":184,"updated":1675790518889,"expires":1675791376097,"title":"EPG","periods":4,"periodStartTime":1675746000000,"periodEndTime":1675767600000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b","t":"Zoom In","s":1675744500000,"e":1675746000000,"c":"lgi-obolite-sk-prod-master:genre-21","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' + ) }) - } else if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/programschedules/20230207/3') { + } else if ( + url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/programschedules/20230207/3' + ) { return Promise.resolve({ - data: JSON.parse(`{"entryCount":184,"totalResults":184,"updated":1675789948804,"expires":1675791024984,"title":"EPG","periods":4,"periodStartTime":1675767600000,"periodEndTime":1675789200000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","t":"Studentka","s":1675761000000,"e":1675767600000,"c":"lgi-obolite-sk-prod-master:genre-14","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}`) + data: JSON.parse( + '{"entryCount":184,"totalResults":184,"updated":1675789948804,"expires":1675791024984,"title":"EPG","periods":4,"periodStartTime":1675767600000,"periodEndTime":1675789200000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","t":"Studentka","s":1675761000000,"e":1675767600000,"c":"lgi-obolite-sk-prod-master:genre-14","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' + ) }) - } else if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/programschedules/20230207/4') { + } else if ( + url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/programschedules/20230207/4' + ) { return Promise.resolve({ - data: JSON.parse(`{"entryCount":184,"totalResults":184,"updated":1675789948804,"expires":1675790973469,"title":"EPG","periods":4,"periodStartTime":1675789200000,"periodEndTime":1675810800000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","t":"Zilionáři","s":1675785900000,"e":1675791900000,"c":"lgi-obolite-sk-prod-master:genre-9","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}`) + data: JSON.parse( + '{"entryCount":184,"totalResults":184,"updated":1675789948804,"expires":1675790973469,"title":"EPG","periods":4,"periodStartTime":1675789200000,"periodEndTime":1675810800000,"entries":[{"o":"lgi-obolite-sk-prod-master:10024","l":[{"i":"crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","t":"Zilionáři","s":1675785900000,"e":1675791900000,"c":"lgi-obolite-sk-prod-master:genre-9","a":false,"r":true,"rm":true,"rs":0,"re":604800,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' + ) }) - } else if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78') { + } else if ( + url === + 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78' + ) { return Promise.resolve({ - data: JSON.parse(`{"id":"crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","startTime":1675719300000,"endTime":1675724700000,"actualStartTime":1675719300000,"actualEndTime":1675724700000,"expirationDate":1676324100000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","scCridImi":"crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F122941980","program":{"id":"crid:~~2F~~2Fport.cs~~2F122941980","title":"Avengement","description":"Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za...","longDescription":"Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za dosažením vytoužené pomsty na těch, kteří z něj udělali chladnokrevného vraha.","medium":"Movie","categories":[{"id":"lgi-obolite-sk-prod-master:genre-9","title":"Drama","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-33","title":"Akcia","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"18","cast":["Scott Adkins","Craig Fairbrass","Thomas Turgoose","Nick Moran","Kierston Wareing","Leo Gregory","Mark Strange","Luke LaFontaine","Beau Fowler","Dan Styles","Christopher Sciueref","Matt Routledge","Jane Thorne","Louis Mandylor","Terence Maynard","Greg Burridge","Michael Higgs","Damian Gallagher","Daniel Adegboyega","John Ioannou","Sofie Golding-Spittle","Joe Egan","Darren Swain","Lee Charles","Dominic Kinnaird","Ross O'Hennessy","Teresa Mahoney","Andrew Dunkelberger","Sam Hardy","Ivan Moy","Mark Sears","Phillip Ray Tommy"],"directors":["Jesse V. Johnson"],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_3fa8387df870473fdacb1024635b52b2496b159c.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_19e3a660e637cd39e31046c284a66b3a95d698e4.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=180&h=260&mode=box"}],"rootId":"crid:~~2F~~2Fport.cs~~2F122941980","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F122941980","shortDescription":"Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za...","mediaType":"FeatureFilm","year":"2019","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"rootId":"crid:~~2F~~2Fport.cs~~2F122941980","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1676247300000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}`) + data: JSON.parse( + '{"id":"crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","startTime":1675719300000,"endTime":1675724700000,"actualStartTime":1675719300000,"actualEndTime":1675724700000,"expirationDate":1676324100000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","scCridImi":"crid:~~2F~~2Fport.cs~~2F122941980,imi:7ca159c917344e0dd3fbe1cd8db5ff8043d96a78","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F122941980","program":{"id":"crid:~~2F~~2Fport.cs~~2F122941980","title":"Avengement","description":"Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za...","longDescription":"Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za dosažením vytoužené pomsty na těch, kteří z něj udělali chladnokrevného vraha.","medium":"Movie","categories":[{"id":"lgi-obolite-sk-prod-master:genre-9","title":"Drama","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-33","title":"Akcia","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"18","cast":["Scott Adkins","Craig Fairbrass","Thomas Turgoose","Nick Moran","Kierston Wareing","Leo Gregory","Mark Strange","Luke LaFontaine","Beau Fowler","Dan Styles","Christopher Sciueref","Matt Routledge","Jane Thorne","Louis Mandylor","Terence Maynard","Greg Burridge","Michael Higgs","Damian Gallagher","Daniel Adegboyega","John Ioannou","Sofie Golding-Spittle","Joe Egan","Darren Swain","Lee Charles","Dominic Kinnaird","Ross O\'Hennessy","Teresa Mahoney","Andrew Dunkelberger","Sam Hardy","Ivan Moy","Mark Sears","Phillip Ray Tommy"],"directors":["Jesse V. Johnson"],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_3fa8387df870473fdacb1024635b52b2496b159c.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_19e3a660e637cd39e31046c284a66b3a95d698e4.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_939160772e45a783fb3a19970696f5ebcb6e568b.jpg?w=180&h=260&mode=box"}],"rootId":"crid:~~2F~~2Fport.cs~~2F122941980","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F122941980","shortDescription":"Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za...","mediaType":"FeatureFilm","year":"2019","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"rootId":"crid:~~2F~~2Fport.cs~~2F122941980","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1676247300000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}' + ) }) - } else if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b') { + } else if ( + url === + 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b' + ) { return Promise.resolve({ - data: JSON.parse(`{"id":"crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b","startTime":1675744500000,"endTime":1675746000000,"actualStartTime":1675744500000,"actualEndTime":1675746000000,"expirationDate":1676349300000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:e85129f9d1e211406a521df7a36f22237c22651b","scCridImi":"crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F41764266","program":{"id":"crid:~~2F~~2Fport.cs~~2F248281986","title":"Zoom In","description":"Film/Kino","longDescription":"Film/Kino","medium":"TV","categories":[{"id":"lgi-obolite-sk-prod-master:genre-21","title":"Hudba a umenie","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-14","title":"Film","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"9","cast":[],"directors":[],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_cbed64b557e83227a2292604cbcae2d193877b1c.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_cfe405e669385365846b69196e1e94caa3e60de0.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=180&h=260&mode=box"}],"parentId":"crid:~~2F~~2Fport.cs~~2F41764266_series","rootId":"crid:~~2F~~2Fport.cs~~2F41764266","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F41764266","shortDescription":"Film/Kino","mediaType":"Episode","year":"2010","seriesEpisodeNumber":"1302070535","seriesNumber":"1302080520","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"parentId":"crid:~~2F~~2Fport.cs~~2F41764266_series","rootId":"crid:~~2F~~2Fport.cs~~2F41764266","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1675746000000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}`) + data: JSON.parse( + '{"id":"crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b","startTime":1675744500000,"endTime":1675746000000,"actualStartTime":1675744500000,"actualEndTime":1675746000000,"expirationDate":1676349300000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:e85129f9d1e211406a521df7a36f22237c22651b","scCridImi":"crid:~~2F~~2Fport.cs~~2F248281986,imi:e85129f9d1e211406a521df7a36f22237c22651b","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F41764266","program":{"id":"crid:~~2F~~2Fport.cs~~2F248281986","title":"Zoom In","description":"Film/Kino","longDescription":"Film/Kino","medium":"TV","categories":[{"id":"lgi-obolite-sk-prod-master:genre-21","title":"Hudba a umenie","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-14","title":"Film","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"9","cast":[],"directors":[],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_cbed64b557e83227a2292604cbcae2d193877b1c.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_cfe405e669385365846b69196e1e94caa3e60de0.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_cfe405e669385365846b69196e1e94caa3e60de0.jpg?w=180&h=260&mode=box"}],"parentId":"crid:~~2F~~2Fport.cs~~2F41764266_series","rootId":"crid:~~2F~~2Fport.cs~~2F41764266","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F41764266","shortDescription":"Film/Kino","mediaType":"Episode","year":"2010","seriesEpisodeNumber":"1302070535","seriesNumber":"1302080520","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"parentId":"crid:~~2F~~2Fport.cs~~2F41764266_series","rootId":"crid:~~2F~~2Fport.cs~~2F41764266","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1675746000000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}' + ) }) - } else if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad') { + } else if ( + url === + 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad' + ) { return Promise.resolve({ - data: JSON.parse(`{"id":"crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","startTime":1675761000000,"endTime":1675767600000,"actualStartTime":1675761000000,"actualEndTime":1675767600000,"expirationDate":1676365800000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","scCridImi":"crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F1379541","program":{"id":"crid:~~2F~~2Fport.cs~~2F1379541","title":"Studentka","description":"Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný...","longDescription":"Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný spánek a především a hlavně ... žádná láska! Věří, že jedině tak obstojí před zkušební komisí. Jednoho dne se však odehraje něco, s čím nepočítala. Potká charismatického hudebníka Neda - a bláznivě se zamiluje. V tuto chvíli stojí před osudovým rozhodnutím: zahodí roky obrovského studijního nasazení, nebo odmítne lásku? Nebo se snad dá obojí skloubit dohromady?","medium":"Movie","categories":[{"id":"lgi-obolite-sk-prod-master:genre-14","title":"Film","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-4","title":"Komédia","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"9","cast":["Sophie Marceauová","Vincent Lindon","Elisabeth Vitali","Elena Pompei","Jean-Claude Leguay","Brigitte Chamarande","Christian Pereira","Gérard Dacier","Roberto Attias","Beppe Chierici","Nathalie Mann","Anne Macina","Janine Souchon","Virginie Demians","Hugues Leforestier","Jacqueline Noëlle","Marc-André Brunet","Isabelle Caubère","André Chazel","Med Salah Cheurfi","Guillaume Corea","Eric Denize","Gilles Gaston-Dreyfuss","Benoît Gourley","Marc Innocenti","Najim Laouriga","Laurent Ledermann","Philippe Maygal","Dominique Pifarely","Ysé Tran"],"directors":["Francis De Gueltz","Dominique Talmon","Claude Pinoteau"],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_a8abceaa59bbb0aae8031dcdd5deba03aba8a100.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_72b11621270454812ac8474698fc75670db4a49d.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=180&h=260&mode=box"}],"rootId":"crid:~~2F~~2Fport.cs~~2F1379541","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F1379541","shortDescription":"Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný...","mediaType":"FeatureFilm","year":"1988","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"rootId":"crid:~~2F~~2Fport.cs~~2F1379541","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1675767600000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}`) + data: JSON.parse( + '{"id":"crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","startTime":1675761000000,"endTime":1675767600000,"actualStartTime":1675761000000,"actualEndTime":1675767600000,"expirationDate":1676365800000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","scCridImi":"crid:~~2F~~2Fport.cs~~2F1379541,imi:5f806a2a0bc13e9745e14907a27116c60ea2c6ad","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F1379541","program":{"id":"crid:~~2F~~2Fport.cs~~2F1379541","title":"Studentka","description":"Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný...","longDescription":"Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný spánek a především a hlavně ... žádná láska! Věří, že jedině tak obstojí před zkušební komisí. Jednoho dne se však odehraje něco, s čím nepočítala. Potká charismatického hudebníka Neda - a bláznivě se zamiluje. V tuto chvíli stojí před osudovým rozhodnutím: zahodí roky obrovského studijního nasazení, nebo odmítne lásku? Nebo se snad dá obojí skloubit dohromady?","medium":"Movie","categories":[{"id":"lgi-obolite-sk-prod-master:genre-14","title":"Film","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-4","title":"Komédia","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"9","cast":["Sophie Marceauová","Vincent Lindon","Elisabeth Vitali","Elena Pompei","Jean-Claude Leguay","Brigitte Chamarande","Christian Pereira","Gérard Dacier","Roberto Attias","Beppe Chierici","Nathalie Mann","Anne Macina","Janine Souchon","Virginie Demians","Hugues Leforestier","Jacqueline Noëlle","Marc-André Brunet","Isabelle Caubère","André Chazel","Med Salah Cheurfi","Guillaume Corea","Eric Denize","Gilles Gaston-Dreyfuss","Benoît Gourley","Marc Innocenti","Najim Laouriga","Laurent Ledermann","Philippe Maygal","Dominique Pifarely","Ysé Tran"],"directors":["Francis De Gueltz","Dominique Talmon","Claude Pinoteau"],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_a8abceaa59bbb0aae8031dcdd5deba03aba8a100.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_72b11621270454812ac8474698fc75670db4a49d.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_72b11621270454812ac8474698fc75670db4a49d.jpg?w=180&h=260&mode=box"}],"rootId":"crid:~~2F~~2Fport.cs~~2F1379541","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F1379541","shortDescription":"Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný...","mediaType":"FeatureFilm","year":"1988","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"rootId":"crid:~~2F~~2Fport.cs~~2F1379541","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1675767600000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}' + ) }) - } else if (url === 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7') { + } else if ( + url === + 'https://legacy-static.oesp.horizon.tv/oesp/v4/SK/slk/web/listings/crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7' + ) { return Promise.resolve({ - data: JSON.parse(`{"id":"crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","startTime":1675785900000,"endTime":1675791900000,"actualStartTime":1675785900000,"actualEndTime":1675791900000,"expirationDate":1676390700000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","scCridImi":"crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F71927954","program":{"id":"crid:~~2F~~2Fport.cs~~2F71927954","title":"Zilionáři","description":"David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným...","longDescription":"David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným vzrušujícím momentem v jeho životě je flirtování s kolegyní Kelly (Kristen Wiig), která ho však brzy zatáhne do těžko uvěřitelného dobrodružství. Skupinka nepříliš inteligentních loserů, pod vedením Steva (Owen Wilson), plánuje vyloupit banku a David jim v tom má samozřejmě pomoci. Navzdory absolutně amatérskému plánu se ale stane nemožné a oni mají najednou v kapse 17 miliónů dolarů. A protože tato partička je opravdu bláznivá, začne je hned ve velkém roztáčet. Peníze létají vzduchem za luxusní a kolikrát i zbytečné věci, ale nedochází jim, že pro policii tak zanechávají jasné stopy...","medium":"Movie","categories":[{"id":"lgi-obolite-sk-prod-master:genre-9","title":"Drama","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-33","title":"Akcia","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"15","cast":["Zach Galifianakis","Kristen Wiigová","Owen Wilson","Kate McKinnon","Leslie Jones","Jason Sudeikis","Ross Kimball","Devin Ratray","Mary Elizabeth Ellisová","Jon Daly","Ken Marino","Daniel Zacapa","Tom Werme","Njema Williams","Nils Cruz","Michael Fraguada","Christian Gonzalez","Candace Blanchard","Karsten Friske","Dallas Edwards","Barry Ratcliffe","Shelton Grant","Laura Palka","Reegus Flenory","Wynn Reichert","Jill Jane Clements","Joseph S. Wilson","Jee An","Rhoda Griffisová","Nicole Dupre Sobchack"],"directors":["Scott August","Richard L. Fox","Michelle Malley-Campos","Sebastian Mazzola","Steven Ritzi","Pete Waterman","Jared Hess"],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_fd098116bac1429318aaf5fdae498ce76e258782.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_6f857ae9375b3bcceb6353a5b35775f52cd85302.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=180&h=260&mode=box"}],"rootId":"crid:~~2F~~2Fport.cs~~2F71927954","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F71927954","shortDescription":"David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným...","mediaType":"FeatureFilm","year":"2016","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"rootId":"crid:~~2F~~2Fport.cs~~2F71927954","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1676187900000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}`) + data: JSON.parse( + '{"id":"crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","startTime":1675785900000,"endTime":1675791900000,"actualStartTime":1675785900000,"actualEndTime":1675791900000,"expirationDate":1676390700000,"stationId":"lgi-obolite-sk-prod-master:10024","imi":"imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","scCridImi":"crid:~~2F~~2Fport.cs~~2F71927954,imi:f1b4b0285b72cf44cba74e1c62322a4c682385c7","mediaGroupId":"crid:~~2F~~2Fport.cs~~2F71927954","program":{"id":"crid:~~2F~~2Fport.cs~~2F71927954","title":"Zilionáři","description":"David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným...","longDescription":"David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným vzrušujícím momentem v jeho životě je flirtování s kolegyní Kelly (Kristen Wiig), která ho však brzy zatáhne do těžko uvěřitelného dobrodružství. Skupinka nepříliš inteligentních loserů, pod vedením Steva (Owen Wilson), plánuje vyloupit banku a David jim v tom má samozřejmě pomoci. Navzdory absolutně amatérskému plánu se ale stane nemožné a oni mají najednou v kapse 17 miliónů dolarů. A protože tato partička je opravdu bláznivá, začne je hned ve velkém roztáčet. Peníze létají vzduchem za luxusní a kolikrát i zbytečné věci, ale nedochází jim, že pro policii tak zanechávají jasné stopy...","medium":"Movie","categories":[{"id":"lgi-obolite-sk-prod-master:genre-9","title":"Drama","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-obolite-sk-prod-master:genre-33","title":"Akcia","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"parentalRating":"15","cast":["Zach Galifianakis","Kristen Wiigová","Owen Wilson","Kate McKinnon","Leslie Jones","Jason Sudeikis","Ross Kimball","Devin Ratray","Mary Elizabeth Ellisová","Jon Daly","Ken Marino","Daniel Zacapa","Tom Werme","Njema Williams","Nils Cruz","Michael Fraguada","Christian Gonzalez","Candace Blanchard","Karsten Friske","Dallas Edwards","Barry Ratcliffe","Shelton Grant","Laura Palka","Reegus Flenory","Wynn Reichert","Jill Jane Clements","Joseph S. Wilson","Jee An","Rhoda Griffisová","Nicole Dupre Sobchack"],"directors":["Scott August","Richard L. Fox","Michelle Malley-Campos","Sebastian Mazzola","Steven Ritzi","Pete Waterman","Jared Hess"],"images":[{"assetType":"HighResLandscape","assetTypes":["HighResLandscape"],"url":"http://62.179.125.152/SK/Images/hrl_fd098116bac1429318aaf5fdae498ce76e258782.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"http://62.179.125.152/SK/Images/hrp_6f857ae9375b3bcceb6353a5b35775f52cd85302.jpg"},{"assetType":"boxCover","assetTypes":["boxCover"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg"},{"assetType":"boxart-small","assetTypes":["boxart-small"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=75&h=108&mode=box"},{"assetType":"boxart-medium","assetTypes":["boxart-medium"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=110&h=159&mode=box"},{"assetType":"boxart-xlarge","assetTypes":["boxart-xlarge"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=210&h=303&mode=box"},{"assetType":"boxart-large","assetTypes":["boxart-large"],"url":"http://62.179.125.152/SK/Images/bc_3f5a24412c7f4f434094fa1147a304aa6a5ebda6.jpg?w=180&h=260&mode=box"}],"rootId":"crid:~~2F~~2Fport.cs~~2F71927954","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fport.cs~~2F71927954","shortDescription":"David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným...","mediaType":"FeatureFilm","year":"2016","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"rootId":"crid:~~2F~~2Fport.cs~~2F71927954","replayTvAvailable":true,"audioTracks":[],"ratings":[],"offersLatestExpirationDate":1676187900000,"replayTvStartOffset":0,"replayTvEndOffset":604800,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false}' + ) }) - } else { return Promise.resolve({ data: '' }) } @@ -74,11 +106,9 @@ it('can parse response', done => { start: '2023-02-06T21:35:00.000Z', stop: '2023-02-06T23:05:00.000Z', title: 'Avengement', - description: `Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za dosažením vytoužené pomsty na těch, kteří z něj udělali chladnokrevného vraha.`, - category: [ - 'Drama', - 'Akcia' - ], + description: + 'Během propustky z vězení za účelem návštěvy umírající matky v nemocnici zločinec Cain Burgess (Scott Adkins) unikne svým dozorcům a mizí v ulicích Londýna. Jde o epickou cestu krve a bolesti za dosažením vytoužené pomsty na těch, kteří z něj udělali chladnokrevného vraha.', + category: ['Drama', 'Akcia'], directors: ['Jesse V. Johnson'], actors: [ 'Scott Adkins', @@ -106,7 +136,7 @@ it('can parse response', done => { 'Darren Swain', 'Lee Charles', 'Dominic Kinnaird', - `Ross O'Hennessy`, + "Ross O'Hennessy", 'Teresa Mahoney', 'Andrew Dunkelberger', 'Sam Hardy', @@ -128,45 +158,42 @@ it('can parse response', done => { start: '2023-02-07T09:10:00.000Z', stop: '2023-02-07T11:00:00.000Z', title: 'Studentka', - description: 'Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný spánek a především a hlavně ... žádná láska! Věří, že jedině tak obstojí před zkušební komisí. Jednoho dne se však odehraje něco, s čím nepočítala. Potká charismatického hudebníka Neda - a bláznivě se zamiluje. V tuto chvíli stojí před osudovým rozhodnutím: zahodí roky obrovského studijního nasazení, nebo odmítne lásku? Nebo se snad dá obojí skloubit dohromady?', + description: + 'Ambiciózní vysokoškolačka Valentina (Sophie Marceau) studuje literaturu na pařížské Sorbonně a právě se připravuje k závěrečným zkouškám. Žádný odpočinek, žádné volno, žádné večírky, téměř žádný spánek a především a hlavně ... žádná láska! Věří, že jedině tak obstojí před zkušební komisí. Jednoho dne se však odehraje něco, s čím nepočítala. Potká charismatického hudebníka Neda - a bláznivě se zamiluje. V tuto chvíli stojí před osudovým rozhodnutím: zahodí roky obrovského studijního nasazení, nebo odmítne lásku? Nebo se snad dá obojí skloubit dohromady?', category: ['Film', 'Komédia'], actors: [ - "Sophie Marceauová", - "Vincent Lindon", - "Elisabeth Vitali", - "Elena Pompei", - "Jean-Claude Leguay", - "Brigitte Chamarande", - "Christian Pereira", - "Gérard Dacier", - "Roberto Attias", - "Beppe Chierici", - "Nathalie Mann", - "Anne Macina", - "Janine Souchon", - "Virginie Demians", - "Hugues Leforestier", - "Jacqueline Noëlle", - "Marc-André Brunet", - "Isabelle Caubère", - "André Chazel", - "Med Salah Cheurfi", - "Guillaume Corea", - "Eric Denize", - "Gilles Gaston-Dreyfuss", - "Benoît Gourley", - "Marc Innocenti", - "Najim Laouriga", - "Laurent Ledermann", - "Philippe Maygal", - "Dominique Pifarely", - "Ysé Tran" - ], - directors: [ - "Francis De Gueltz", - "Dominique Talmon", - "Claude Pinoteau" + 'Sophie Marceauová', + 'Vincent Lindon', + 'Elisabeth Vitali', + 'Elena Pompei', + 'Jean-Claude Leguay', + 'Brigitte Chamarande', + 'Christian Pereira', + 'Gérard Dacier', + 'Roberto Attias', + 'Beppe Chierici', + 'Nathalie Mann', + 'Anne Macina', + 'Janine Souchon', + 'Virginie Demians', + 'Hugues Leforestier', + 'Jacqueline Noëlle', + 'Marc-André Brunet', + 'Isabelle Caubère', + 'André Chazel', + 'Med Salah Cheurfi', + 'Guillaume Corea', + 'Eric Denize', + 'Gilles Gaston-Dreyfuss', + 'Benoît Gourley', + 'Marc Innocenti', + 'Najim Laouriga', + 'Laurent Ledermann', + 'Philippe Maygal', + 'Dominique Pifarely', + 'Ysé Tran' ], + directors: ['Francis De Gueltz', 'Dominique Talmon', 'Claude Pinoteau'], date: '1988' }, { @@ -177,57 +204,57 @@ it('can parse response', done => { 'David (Zach Galifianakis) je nekomplikovaný muž, který uvízl v monotónním životě. Den co den usedá za volant svého obrněného automobilu, aby odvážel obrovské sumy peněz jiných lidí. Jediným vzrušujícím momentem v jeho životě je flirtování s kolegyní Kelly (Kristen Wiig), která ho však brzy zatáhne do těžko uvěřitelného dobrodružství. Skupinka nepříliš inteligentních loserů, pod vedením Steva (Owen Wilson), plánuje vyloupit banku a David jim v tom má samozřejmě pomoci. Navzdory absolutně amatérskému plánu se ale stane nemožné a oni mají najednou v kapse 17 miliónů dolarů. A protože tato partička je opravdu bláznivá, začne je hned ve velkém roztáčet. Peníze létají vzduchem za luxusní a kolikrát i zbytečné věci, ale nedochází jim, že pro policii tak zanechávají jasné stopy...', category: ['Drama', 'Akcia'], actors: [ - "Zach Galifianakis", - "Kristen Wiigová", - "Owen Wilson", - "Kate McKinnon", - "Leslie Jones", - "Jason Sudeikis", - "Ross Kimball", - "Devin Ratray", - "Mary Elizabeth Ellisová", - "Jon Daly", - "Ken Marino", - "Daniel Zacapa", - "Tom Werme", - "Njema Williams", - "Nils Cruz", - "Michael Fraguada", - "Christian Gonzalez", - "Candace Blanchard", - "Karsten Friske", - "Dallas Edwards", - "Barry Ratcliffe", - "Shelton Grant", - "Laura Palka", - "Reegus Flenory", - "Wynn Reichert", - "Jill Jane Clements", - "Joseph S. Wilson", - "Jee An", - "Rhoda Griffisová", - "Nicole Dupre Sobchack" + 'Zach Galifianakis', + 'Kristen Wiigová', + 'Owen Wilson', + 'Kate McKinnon', + 'Leslie Jones', + 'Jason Sudeikis', + 'Ross Kimball', + 'Devin Ratray', + 'Mary Elizabeth Ellisová', + 'Jon Daly', + 'Ken Marino', + 'Daniel Zacapa', + 'Tom Werme', + 'Njema Williams', + 'Nils Cruz', + 'Michael Fraguada', + 'Christian Gonzalez', + 'Candace Blanchard', + 'Karsten Friske', + 'Dallas Edwards', + 'Barry Ratcliffe', + 'Shelton Grant', + 'Laura Palka', + 'Reegus Flenory', + 'Wynn Reichert', + 'Jill Jane Clements', + 'Joseph S. Wilson', + 'Jee An', + 'Rhoda Griffisová', + 'Nicole Dupre Sobchack' ], directors: [ - "Scott August", - "Richard L. Fox", - "Michelle Malley-Campos", - "Sebastian Mazzola", - "Steven Ritzi", - "Pete Waterman", - "Jared Hess" + 'Scott August', + 'Richard L. Fox', + 'Michelle Malley-Campos', + 'Sebastian Mazzola', + 'Steven Ritzi', + 'Pete Waterman', + 'Jared Hess' ], date: '2016' } - ]) - done() - }) - .catch(done) + ]) + done() + }) + .catch(done) }) it('can handle empty guide', done => { parser({ - content: `[{"type":"PATH_PARAM","code":"period","reason":"INVALID"}]`, + content: '[{"type":"PATH_PARAM","code":"period","reason":"INVALID"}]', channel, date }) diff --git a/sites/i.mjh.nz/i.mjh.nz.config.js b/sites/i.mjh.nz/i.mjh.nz.config.js index 084748e9..0f81dbf6 100644 --- a/sites/i.mjh.nz/i.mjh.nz.config.js +++ b/sites/i.mjh.nz/i.mjh.nz.config.js @@ -13,7 +13,6 @@ module.exports = { site: 'i.mjh.nz', days: 2, request: { - timeout: 30000, // 30s cache: { ttl: 3 * 60 * 60 * 1000 // 3h }, @@ -24,7 +23,7 @@ module.exports = { return `${API_ENDPOINT}/${path}.xml` }, - parser: function ({ content, channel, date, cached }) { + parser: function ({ content, channel, date }) { const items = parseItems(content, channel, date) let programs = items.map(item => { @@ -94,7 +93,7 @@ function parseItems(content, channel, date) { try { const curr_day = date const next_day = date.add(1, 'd') - const [_, site_id] = channel.site_id.split('#') + const [, site_id] = channel.site_id.split('#') const data = parser.parse(content) if (!data || !Array.isArray(data.programs)) return [] diff --git a/sites/i.mjh.nz/i.mjh.nz.test.js b/sites/i.mjh.nz/i.mjh.nz.test.js index 678eb70c..c5ba8bc8 100644 --- a/sites/i.mjh.nz/i.mjh.nz.test.js +++ b/sites/i.mjh.nz/i.mjh.nz.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/i.mjh.nz/i.mjh.nz.config.js --output=./sites/i.mjh.nz/i.mjh.nz_pluto.channels.xml --set=path:PlutoTV/all -// npx epg-grabber --config=sites/i.mjh.nz/i.mjh.nz.config.js --channels=sites/i.mjh.nz/i.mjh.nz_plex.channels.xml --output=guide.xml +// npm run grab -- --site=i.mjh.nz const { parser, url } = require('./i.mjh.nz.config.js') const fs = require('fs') @@ -42,7 +42,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `404: Not Found`, + content: '404: Not Found', channel, date }) diff --git a/sites/i.mjh.nz/i.mjh.nz_foxtel.channels.xml b/sites/i.mjh.nz/i.mjh.nz_foxtel.channels.xml index c92ec090..606dfef1 100644 --- a/sites/i.mjh.nz/i.mjh.nz_foxtel.channels.xml +++ b/sites/i.mjh.nz/i.mjh.nz_foxtel.channels.xml @@ -1,88 +1,86 @@ - - - A&E - Animal Planet - BBC Earth - BBC First - UKTV - BBC World News - beIN SPORTS 1 - beIN SPORTS 2 - beIN SPORTS 3 - Bloomberg Television - Boomerang - BoxSets - Cartoon Network - CBeebies - Club MTV - CMT - CNBC - CNN International - CRIME+INVESTIGATION - Discovery Channel - Discovery Turbo - DreamWorks - E! - ESPN2 - ESPN - FOX8 - FOX ARENA - FOX Classics - FOX Comedy - FOX CRICKET - FOX Crime - FOX DOCOS - FOX Footy - FOX Funny - FOX League - FOX News - FOX One - FOX Sci Fi - FOX SHOWCASE - FOX Sleuth - Fox Sports 503 - Fox Sports 505 - Fox Sports 506 - Fox Sports More+ - FOX SPORTS NEWS - Movies Action - Movies Comedy - Movies Drama - Movies Family - Movies Greats - Movies Hits - Movies Kids - Movies Premiere - Movies Romance - Movies Thriller - GOOD. - HISTORY - Investigation Discovery - LifeStyle - LifeStyle Food - LifeStyle Home - LMN - MTV - MTV Classic - MTV Hits - National Geographic - Nat Geo WILD - NHK World - Nickelodeon - Nick Jr. - Nick Music - SKY NEWS UK - SKY NEWS - Sky News Extra - Sky Racing 1 - Sky Racing 2 - Sky Racing Thoroughbred Central - TLC - TVSN - Universal TV - - - - - + + + + + A&E + Animal Planet + BBC Earth + BBC First + UKTV + BBC World News + beIN SPORTS 1 + beIN SPORTS 2 + beIN SPORTS 3 + Bloomberg Television + Boomerang + BoxSets + Cartoon Network + CBeebies + Club MTV + CMT + CNBC + CNN International + CRIME+INVESTIGATION + Discovery Channel + Discovery Turbo + DreamWorks + E! + ESPN2 + ESPN + FOX8 + FOX ARENA + FOX Classics + FOX Comedy + FOX CRICKET + FOX Crime + FOX DOCOS + FOX Footy + FOX Funny + FOX League + FOX News + FOX One + FOX Sci Fi + FOX SHOWCASE + FOX Sleuth + Fox Sports 503 + Fox Sports 505 + Fox Sports 506 + Fox Sports More+ + FOX SPORTS NEWS + Movies Action + Movies Comedy + Movies Drama + Movies Family + Movies Greats + Movies Hits + Movies Kids + Movies Premiere + Movies Romance + Movies Thriller + GOOD. + HISTORY + Investigation Discovery + LifeStyle + LifeStyle Food + LifeStyle Home + LMN + MTV + MTV Classic + MTV Hits + National Geographic + Nat Geo WILD + NHK World + Nickelodeon + Nick Jr. + Nick Music + SKY NEWS UK + SKY NEWS + Sky News Extra + Sky Racing 1 + Sky Racing 2 + Sky Racing Thoroughbred Central + TLC + TVSN + Universal TV + diff --git a/sites/i.mjh.nz/i.mjh.nz_plex.channels.xml b/sites/i.mjh.nz/i.mjh.nz_plex.channels.xml index 41007070..5659de73 100644 --- a/sites/i.mjh.nz/i.mjh.nz_plex.channels.xml +++ b/sites/i.mjh.nz/i.mjh.nz_plex.channels.xml @@ -1,332 +1,330 @@ - - - 24 Hour Free Movies - ACL Cornhole TV - AFV Family - All Reality WE tv - AMC Thrillers - Antiques Roadshow UK - AsianCrush - AXS TV NOW - BABY SHARK TV - BACKSTAGE - BBC Food - beIN SPORTS XTRA - Bloomberg Quicktake - Camp Spoopy - Canela TV - Chicken Soup for the Soul - ChiveTV - Choppertown - CineLife - CINEPRIDE - Cine Sureño - Comedy Dynamics - CONtv - CONtv Anime - Cooking Panda - Crackle - Crime 360 - Dark Matter TV - Discover Film - Docurama - Dove - Edge Sport - Electric Now - Entrepreneur TV - Estrella News - Euronews Français - Euronews Deutsch - Euronews Italiano - Euronews Portuguese - Euronews Español - FailArmy - Fight Network - FrightFlix - Fubo Sports Network - FUEL TV - Galxy TV - Game Show Central - GFN TV - Glewed TV - GoTraveler - Gravitas Movies - GUSTOTV - Hallmark Movies & More - Hard Knocks - Hi-YAH! - Humor Mill - IMPACT Wrestling - Johnny Carson TV - Journy - Judge Faith - Juntos TV - Kidoodle TV - KidsFlix - Law & Crime - Love Nature - Made In Hollywood - MagellanTV NOW - Maverick Black Cinema - MAVTV Select - MHz Now - Midnight Pulp - Motorvision TV - MOVIESPHERE - MST3K - NBC News NOW - News 12 New York - Newsmax TV - Newsy - Nosey - Nosey Casos - Nosey Escándalos - Outdoor America - Outside - Party Tyme Karaoke - Pattrn - People are Awesome - PeopleTV - pocket.watch - Popstar! TV - QwestTV Classical - QwestTV Jazz & Beyond - QwestTV Mix - Real Nosey - Real Stories - RetroCrush - Reuters TV - Revry - RevryNews - Runtime - Ryan and Friends - Samuel Goldwyn Channel - Samuel Goldwyn Classics - Shorts TV - Shout! Factory TV Stream - Skills + Thrills - Slightly Off IFC - Sony Canal Novelas - So...Real - So Yummy - SportsGrid - Stadium - Stingray Classica Stream - Stingray CMusic - Stingray DJAZZ - Stingray Karaoke - Stingray Naturescape - Stories by AMC - Surf Now TV - Tankee - Tastemade - TG Junior - The Archive - The Boat Show - The Bob Ross Channel - The Carol Burnett Show - The Design Network - The Film Detective - The Pet Collective - The Preview Channel - This Old House - Times Now Navbharat - TODAY All Day - TokuSHOUTsu - Top Cine - Unbeaten - Unidentified - USA TODAY - USA TODAY Sportswire - Us Weekly TV - VICE - Wanted: Dead or Alive - Watch it Kid - Watch it SCREAM - Waypoint TV - WeatherSpy - WildEarth - Wonder - Wu Tang Collection - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 24 Hour Free Movies + ACL Cornhole TV + AFV Family + All Reality WE tv + AMC Thrillers + Antiques Roadshow UK + AsianCrush + AXS TV NOW + BABY SHARK TV + BACKSTAGE + BBC Food + beIN SPORTS XTRA + Bloomberg Quicktake + Camp Spoopy + Canela TV + Chicken Soup for the Soul + ChiveTV + Choppertown + CineLife + CINEPRIDE + Cine Sureño + Comedy Dynamics + CONtv + CONtv Anime + Cooking Panda + Crackle + Crime 360 + Dark Matter TV + Discover Film + Docurama + Dove + Edge Sport + Electric Now + Entrepreneur TV + Estrella News + Euronews Français + Euronews Deutsch + Euronews Italiano + Euronews Portuguese + Euronews Español + FailArmy + Fight Network + FrightFlix + Fubo Sports Network + FUEL TV + Galxy TV + Game Show Central + GFN TV + Glewed TV + GoTraveler + Gravitas Movies + GUSTOTV + Hallmark Movies & More + Hard Knocks + Hi-YAH! + Humor Mill + IMPACT Wrestling + Johnny Carson TV + Journy + Judge Faith + Kidoodle TV + KidsFlix + Law & Crime + Love Nature + Made In Hollywood + MagellanTV NOW + Maverick Black Cinema + MAVTV Select + MHz Now + Midnight Pulp + Motorvision TV + MOVIESPHERE + MST3K + NBC News NOW + News 12 New York + Newsmax TV + Newsy + Nosey + Nosey Casos + Nosey Escándalos + Outdoor America + Outside + Party Tyme Karaoke + Pattrn + People are Awesome + PeopleTV + pocket.watch + Popstar! TV + QwestTV Classical + QwestTV Jazz & Beyond + QwestTV Mix + Real Nosey + Real Stories + RetroCrush + Reuters TV + Revry + RevryNews + Runtime + Ryan and Friends + Samuel Goldwyn Channel + Samuel Goldwyn Classics + Shorts TV + Shout! Factory TV Stream + Skills + Thrills + Slightly Off IFC + Sony Canal Novelas + So...Real + So Yummy + SportsGrid + Stadium + Stingray Classica Stream + Stingray CMusic + Stingray DJAZZ + Stingray Karaoke + Stingray Naturescape + Stories by AMC + Surf Now TV + Tankee + Tastemade + TG Junior + The Archive + The Boat Show + The Bob Ross Channel + The Carol Burnett Show + The Design Network + The Film Detective + The Pet Collective + The Preview Channel + This Old House + Times Now Navbharat + TODAY All Day + TokuSHOUTsu + Top Cine + Unbeaten + Unidentified + USA TODAY + USA TODAY Sportswire + Us Weekly TV + VICE + Wanted: Dead or Alive + Watch it Kid + Watch it SCREAM + Waypoint TV + WeatherSpy + WildEarth + Wonder + Wu Tang Collection + Juntos TV + \ No newline at end of file diff --git a/sites/i.mjh.nz/i.mjh.nz_pluto.channels.xml b/sites/i.mjh.nz/i.mjh.nz_pluto.channels.xml index a33d75b1..58bf58e2 100644 --- a/sites/i.mjh.nz/i.mjh.nz_pluto.channels.xml +++ b/sites/i.mjh.nz/i.mjh.nz_pluto.channels.xml @@ -1,335 +1,333 @@ - - - 48 Hours - 70s Cinema - 80s Rewind - 90210 - 90s Throwback - Acapulco Shore - All Reality by WE tv - Always Funny Videos - Amantes del romance - America's Test Kitchen - America's Voice News - Anime All Day - Antiques Roadshow UK - Antiques Road Trip - Awesomeness TV - Baby Shark TV - Badass novelas - Bar Rescue - Baywatch - BBC Food - BBC Home - BBC Kids - Bebecito Bum y sus amigos - beIN SPORTS XTRA en español - beIN SPORTS XTRA - Bellator MMA - Best of Dr. Phil - Best of The Drew Barrymore Show - BET Her - BET Pluto TV - Beverly Hillbillies - Black Cinema - Black Classics - Black Ink Crew - Black Throwbacks - Blaze Live - Bloomberg TV - BNC GO - Bounce XL - BritBox Mysteries - British Comedy - British Drama - BUZZR - Cats 24/7 - CBS News - CBS News Baltimore - CBS News Bay Area - CBS News Boston - CBS News Chicago - CBS News Colorado - CBS News Detroit - CBS News DFW - CBS News Los Angeles - CBS News Miami - CBS News Minnesota - CBS News New York - CBS News Philly - CBS News Pittsburgh - CBS News Sacramento - CBS Sports HQ - Cheddar News - Cine adrenalina - Cine ¡¡jaja!! - Cine Premiere - Cine terror - Cine XOXO - Classica - Classic Movies Channel - Classic Toons TV - Classic TV Comedy - Classic TV Drama - Classic TV: Families - CMT Equal Play - CMT Pluto TV - CNN RePlay - Cold Case Files - Combate World - Comedy Central Animation - Comedy Central en español - Comedy Central Pluto TV - COPS - Court TV - Crime 360 - Crímenes imperfectos - CSI - CSI en español - Dabl - Dallas Cowboy Cheerleaders - Dark Shadows - Deal or No Deal - Degrassi - Demand Africa - Doctor Who Classic - Dogs 24/7 - Dog the Bounty Hunter - Dora TV - Emergencia 911 - Entre nosotras - Estrella News - EstrellaTV - ET Live - Euronews - FailArmy - Faith TV - Family Ties - Fear Factor - Fight - Find Out Why - Flicks of Fury - Foodies - Food TV - Forensic Files - Forever Kids - FOX Sports - Funny AF - Fuse Beat - G4 Select - Gameplay: Call of Duty - Gameplay: Fortnite - Gameplay: Roblox - Gameplay: Sports - Game Show Central - Garfield and Friends - GLORY Kickboxing - Gordon Ramsay's Hell's Kitchen - Grande-ish - Gunsmoke - Happy Days - Heartland - Hell's Kitchen en español - IGN - IMPACT Wrestling - Ink Master - Investiga - Iron Chef - Jersey Shore - Johnny Carson TV - Judge Nosey - Julia Child - Kartoon Channel! - K-Content by CJ ENM - Kevin Hart’s LOL! Network - Kids Movie Club - LEGO Kids TV - Little Baby Bum - Little Stars Universe - Lively Place - Live Music Replay - Logo Pluto TV - Love & Hip Hop - Lucha Libre AAA - Lupin the 3rd - Matlock - MAVTV Select - Midsomer Murders - MinecrafTV - Mi obsesión favorita - Mission Impossible - Misterios sin resolver - MLB - MLS - More TV Drama - More TV Sitcoms - MST3K - MTV Biggest Pop - MTV Block Party - MTV Dating - MTV en español - MTV Pluto TV - MTV Spankin' New - Mundo geek - Mundo paranormal - Mundo viajero - Narcos - Narcos en español - Naruto - Naruto en español - Naturescape - NBC News NOW - News 12 New York - Newsmax - Newsy - NFL Channel - Nick en español - Nick Jr. en español - Nick Jr. Pluto TV - Nick Pluto TV - Niños por BBC Kids - No Parents Allowed - Nosey - Nosey escándalos - Novelas con la abuela - Nuestra Visión - OAN Plus - One Piece - Paramount Movie Channel - Paramount+ Picks - PBR RidePass - Pelis y Popcorn - People Are Awesome - Perry Mason - PGA TOUR - Pluto TV Action - Pluto TV Action Sports - Pluto TV Animals - Pluto TV Backcountry - Pluto TV Best Life - Pluto TV Boxing - Pluto TV Cars - Pluto TV Celebrity - Pluto TV Comedy - Pluto TV Courtroom - Pluto TV Crime Drama - Pluto TV Crime Movies - Pluto TV Cult Films - Pluto TV Documentaries - Pluto TV Drama - Pluto TV Drama Life - Pluto TV Fantastic - Pluto TV Gamer - Pluto TV Game Shows - Pluto TV History - Pluto TV Home - Pluto TV Horror - Pluto TV Lives - Pluto TV Love Stories - Pluto TV Military - Pluto TV News - Pluto TV Paranormal - Pluto TV Pranks - Pluto TV Pro Wrestling - Pluto TV Reaction - Pluto TV Reality - Pluto TV Romance - Pluto TV Science - Pluto TV Sci-Fi - Pluto TV Soaps - Pluto TV Sports - Pluto TV Spotlight - Pluto TV Staff Picks - Pluto TV Suspense - Pluto TV Terror - Pluto TV Thrillers - Pluto TV Travel - Pluto TV True Crime - Pluto TV Vs. - Pluto TV Weddings - Pluto TV Westerns - pocket.watch - PokerGo - Rainbow Squad - Realmadrid tv - Rescue 911 - RiffTrax - Ryan and Friends - Sala de parejas - Séptimo arte - Series con Ñ - Shout! Factory TV - Showtime Selects - Skills + Thrills - Sky News - Slightly Off IFC - Slow TV - Smithsonian Channel Selects - Sony Canal Comedias - Sony Canal Escape Perfecto - Spike ¡extremo! - Spike Outdoors - Spike Pluto TV - Stand-Up TV - Star Trek - Stories by AMC - Survivor - TBN - Team Spirit - Teen Mom - Telefe noticias - Telemundo telenovelas clásicas - The Addams Family - The Amazing Race - The Andy Griffith Show - The Asylum - The Bob Ross Channel - The Carol Burnett Show - The Challenge - The Design Network - The First - The Love Boat - The New Detectives - The Pet Collective - The Price Is Right: The Barker Era - The Rifleman - The Walking Dead en español - This Old House - Three's Company - Tiny House Nation - TODAY All Day - TokuSHOUTsu - Top Gear en español - Tosh.0 - TOTALLY TURTLES - TV Land Drama - TV Land Sitcoms - TYT Network - Unsolved Mysteries - Vevo 2K - Vevo '70s - Vevo '80s - Vevo '90s - Vevo Country - Vevo Latino - Vevo Pop - Vevo R&B - Vevo Reggaetón & Trap - Vevo Retro Rock - Vevo True School Hip-Hop - VH1 Hip Hop Family - VH1 I Love Reality - Viaje a las estrellas - Voyager Documentaries - Wanted: Dead or Alive - WeatherNation - Western TV - Wild 'N Out - World Poker Tour - Yahoo Finance - Yo! MTV - Yu-Gi-Oh! - Yu-Gi-Oh! en español - - + + 48 Hours + 70s Cinema + 80s Rewind + 90210 + 90s Throwback + Acapulco Shore + All Reality by WE tv + Always Funny Videos + Amantes del romance + America's Test Kitchen + America's Voice News + Anime All Day + Antiques Roadshow UK + Antiques Road Trip + Awesomeness TV + Baby Shark TV + Badass novelas + Bar Rescue + Baywatch + BBC Food + BBC Home + BBC Kids + beIN SPORTS XTRA + beIN SPORTS XTRA en español + Bellator MMA + Best of Dr. Phil + Best of The Drew Barrymore Show + BET Her + BET Pluto TV + Beverly Hillbillies + Black Cinema + Black Classics + Black Ink Crew + Black Throwbacks + Blaze Live + Bloomberg TV + BNC GO + Bounce XL + BritBox Mysteries + British Comedy + British Drama + BUZZR + Cats 24/7 + CBS News + CBS News Baltimore + CBS News Bay Area + CBS News Boston + CBS News Chicago + CBS News Colorado + CBS News Detroit + CBS News DFW + CBS News Los Angeles + CBS News Miami + CBS News Minnesota + CBS News New York + CBS News Philly + CBS News Pittsburgh + CBS News Sacramento + CBS Sports HQ + Cheddar News + Cine adrenalina + Cine ¡¡jaja!! + Cine Premiere + Cine terror + Cine XOXO + Classica + Classic Movies Channel + Classic Toons TV + Classic TV Comedy + Classic TV Drama + Classic TV: Families + CMT Equal Play + CMT Pluto TV + CNN RePlay + Cold Case Files + Combate World + Comedy Central Animation + Comedy Central en español + Comedy Central Pluto TV + COPS + Court TV + Crime 360 + Crímenes imperfectos + CSI + CSI en español + Dabl + Dallas Cowboy Cheerleaders + Dark Shadows + Deal or No Deal + Degrassi + Demand Africa + Doctor Who Classic + Dogs 24/7 + Dog the Bounty Hunter + Dora TV + Emergencia 911 + Entre nosotras + Estrella News + EstrellaTV + ET Live + Euronews + FailArmy + Faith TV + Family Ties + Fear Factor + Fight + Find Out Why + Flicks of Fury + Foodies + Food TV + Forensic Files + Forever Kids + FOX Sports + Funny AF + Fuse Beat + G4 Select + Gameplay: Call of Duty + Gameplay: Fortnite + Gameplay: Roblox + Gameplay: Sports + Game Show Central + Garfield and Friends + GLORY Kickboxing + Gordon Ramsay's Hell's Kitchen + Grande-ish + Gunsmoke + Happy Days + Heartland + Hell's Kitchen en español + IGN + IMPACT Wrestling + Ink Master + Investiga + Iron Chef + Jersey Shore + Johnny Carson TV + Judge Nosey + Julia Child + Kartoon Channel! + K-Content by CJ ENM + Kevin Hart’s LOL! Network + Kids Movie Club + LEGO Kids TV + Little Baby Bum + Little Stars Universe + Lively Place + Live Music Replay + Logo Pluto TV + Love & Hip Hop + Lucha Libre AAA + Lupin the 3rd + Matlock + MAVTV Select + Midsomer Murders + MinecrafTV + Mi obsesión favorita + Mission Impossible + Misterios sin resolver + MLB + MLS + More TV Drama + More TV Sitcoms + MST3K + MTV Biggest Pop + MTV Block Party + MTV Dating + MTV en español + MTV Pluto TV + MTV Spankin' New + Mundo geek + Mundo paranormal + Mundo viajero + Narcos + Narcos en español + Naruto + Naruto en español + NBC News NOW + News 12 New York + Newsmax + Newsy + NFL Channel + Nick en español + Nick Jr. en español + Nick Jr. Pluto TV + Nick Pluto TV + Niños por BBC Kids + No Parents Allowed + Nosey + Nosey escándalos + Novelas con la abuela + Nuestra Visión + OAN Plus + One Piece + Paramount Movie Channel + Paramount+ Picks + PBR RidePass + Pelis y Popcorn + People Are Awesome + Perry Mason + PGA TOUR + Pluto TV Action + Pluto TV Action Sports + Pluto TV Animals + Pluto TV Backcountry + Pluto TV Best Life + Pluto TV Boxing + Pluto TV Cars + Pluto TV Celebrity + Pluto TV Comedy + Pluto TV Courtroom + Pluto TV Crime Drama + Pluto TV Crime Movies + Pluto TV Cult Films + Pluto TV Documentaries + Pluto TV Drama + Pluto TV Drama Life + Pluto TV Fantastic + Pluto TV Gamer + Pluto TV Game Shows + Pluto TV History + Pluto TV Home + Pluto TV Horror + Pluto TV Lives + Pluto TV Love Stories + Pluto TV Military + Pluto TV News + Pluto TV Paranormal + Pluto TV Pranks + Pluto TV Pro Wrestling + Pluto TV Reaction + Pluto TV Reality + Pluto TV Romance + Pluto TV Science + Pluto TV Sci-Fi + Pluto TV Soaps + Pluto TV Sports + Pluto TV Spotlight + Pluto TV Staff Picks + Pluto TV Suspense + Pluto TV Terror + Pluto TV Thrillers + Pluto TV Travel + Pluto TV True Crime + Pluto TV Vs. + Pluto TV Weddings + Pluto TV Westerns + pocket.watch + PokerGo + Rainbow Squad + Realmadrid tv + Rescue 911 + RiffTrax + Ryan and Friends + Sala de parejas + Séptimo arte + Series con Ñ + Shout! Factory TV + Showtime Selects + Skills + Thrills + Sky News + Slightly Off IFC + Slow TV + Smithsonian Channel Selects + Sony Canal Comedias + Sony Canal Escape Perfecto + Spike ¡extremo! + Spike Outdoors + Spike Pluto TV + Stand-Up TV + Star Trek + Naturescape + Stories by AMC + Survivor + TBN + Team Spirit + Teen Mom + Telefe noticias + Telemundo telenovelas clásicas + The Addams Family + The Amazing Race + The Andy Griffith Show + The Asylum + The Bob Ross Channel + The Carol Burnett Show + The Challenge + The Design Network + The First + The Love Boat + The New Detectives + The Pet Collective + The Price Is Right: The Barker Era + The Rifleman + The Walking Dead en español + This Old House + Three's Company + Tiny House Nation + TODAY All Day + TokuSHOUTsu + Top Gear en español + Tosh.0 + TOTALLY TURTLES + TV Land Drama + TV Land Sitcoms + TYT Network + Unsolved Mysteries + Vevo 2K + Vevo '70s + Vevo '80s + Vevo '90s + Vevo Country + Vevo Latino + Vevo Pop + Vevo R&B + Vevo Reggaetón & Trap + Vevo Retro Rock + Vevo True School Hip-Hop + VH1 Hip Hop Family + VH1 I Love Reality + Viaje a las estrellas + Voyager Documentaries + Wanted: Dead or Alive + WeatherNation + Western TV + Wild 'N Out + World Poker Tour + Yahoo Finance + Yo! MTV + Yu-Gi-Oh! + Yu-Gi-Oh! en español + Bebecito Bum y sus amigos + diff --git a/sites/i.mjh.nz/i.mjh.nz_samsung.channels.xml b/sites/i.mjh.nz/i.mjh.nz_samsung.channels.xml index 5b224f10..44daec79 100644 --- a/sites/i.mjh.nz/i.mjh.nz_samsung.channels.xml +++ b/sites/i.mjh.nz/i.mjh.nz_samsung.channels.xml @@ -1,229 +1,227 @@ - - - All Reality WE tv - Always Funny Videos - America's Test Kitchen - Anime All day - Asian Crush - Backstage - Baywatch - BBC Food - BBC Home - beIN SPORTS XTRA - Bloomberg Quicktake - Bounce XL - Brat TV - BUZZR - Cars - CBS News - Chicken Soup for the Soul - CHIVE TV - Cine Romantico - CINEVAULT: 80s - CINEVAULT: Westerns - Circle - Clarity 4K - Comedy Dynamics - Court TV - Crime 360 - Dallas Cowboys Cheer - Danger TV - Deal or No Deal - Degrassi - Dove Channel - Drama Life - Dry Bar Comedy - DUST - EDGEsport - ElectricNOW - Estrella News - FailArmy - Family Ties - Fear Factor - FilmRise Action - FilmRise Free Movies - FilmRise Western - Forensic Files - FOX SOUL - FTF - fubo Sports Network - FUEL TV - Game Show Central - Gravitas Movies - Gusto TV - Hallmark Movies & More - Heartland - Hollywire - HSN - Hungry - IGN - IMPACT Wrestling - Insight TV - InWonder - Journy - Kidoodle.TV - Law & Crime - LiveNOW from FOX - Loupe 4K - Love & Hip Hop - Love Nature 4K - Lucky Dog - Magellan TV Now - Maverick Black Cinema - MAVTV Select - MHz Now - Midnight Pulp - Midsomer Murders - MinecrafTV - MovieSphere - MTV Pluto TV - NBCLX - NBC News NOW - NEW KMOVIES - Newsmax TV - Newsy - Nick Pluto TV - Nosey - Outdoor America - Outside - Pac-12 Insider - Paramount Movie Channel - PBS KIDS - People Are Awesome - People TV - Pluto TV Fantastic - Pluto TV Westerns - pocket.watch - PowerNation - Pursuit UP - QVC - Real America's Voice - Revry - RiffTrax - Samsung Wild Life - Shout! Factory - Skills + Thrills - Sony Canal Comedias - Sony Canal Novelas - SportsGrid - Stadium - Stingray Naturescape - Stories by AMC - SURF NOW TV - Tastemade - Tastemade Travel - TG Junior - The Asylum - The Bob Ross Channel - The Challenge - The Design Network - The New Detectives - The Pet Collective - The Preview Channel - This Old House - Tiny House Nation - TODAY All Day - Toon Goggles - TV Land Drama - TV Land Sitcoms - TYT Network - Unidentified - Unsolved Mysteries - USA Today - Vevo 2K - Vevo Country - Vevo Hip-Hop - Vevo Latino - Vevo Pop - Vevo R&B - VICE - Waypoint TV - WeatherNation - WeatherSpy - Wild 'N Out - Wipeout Xtra - World Poker Tour - Xplore - ZooMoo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + All Reality WE tv + Always Funny Videos + America's Test Kitchen + Anime All day + Asian Crush + Backstage + Baywatch + BBC Food + BBC Home + beIN SPORTS XTRA + Bloomberg Quicktake + Bounce XL + Brat TV + BUZZR + Cars + CBS News + Chicken Soup for the Soul + CHIVE TV + Cine Romantico + CINEVAULT: 80s + CINEVAULT: Westerns + Circle + Clarity 4K + Comedy Dynamics + Court TV + Crime 360 + Dallas Cowboys Cheer + Danger TV + Deal or No Deal + Degrassi + Dove Channel + Drama Life + Dry Bar Comedy + DUST + EDGEsport + ElectricNOW + Estrella News + FailArmy + Family Ties + Fear Factor + FilmRise Action + FilmRise Free Movies + FilmRise Western + Forensic Files + FOX SOUL + FTF + fubo Sports Network + FUEL TV + Game Show Central + Gravitas Movies + Gusto TV + Hallmark Movies & More + Heartland + Hollywire + HSN + Hungry + IGN + IMPACT Wrestling + Insight TV + InWonder + Journy + Kidoodle.TV + Law & Crime + LiveNOW from FOX + Loupe 4K + Love & Hip Hop + Love Nature 4K + Lucky Dog + Magellan TV Now + Maverick Black Cinema + MAVTV Select + MHz Now + Midnight Pulp + Midsomer Murders + MinecrafTV + MovieSphere + MTV Pluto TV + NBCLX + NBC News NOW + NEW KMOVIES + Newsmax TV + Newsy + Nick Pluto TV + Nosey + Outdoor America + Outside + Pac-12 Insider + Paramount Movie Channel + PBS KIDS + People Are Awesome + People TV + Pluto TV Fantastic + Pluto TV Westerns + pocket.watch + PowerNation + Pursuit UP + QVC + Real America's Voice + Revry + RiffTrax + Samsung Wild Life + Shout! Factory + Skills + Thrills + Sony Canal Comedias + Sony Canal Novelas + SportsGrid + Stadium + Stingray Naturescape + Stories by AMC + SURF NOW TV + Tastemade + Tastemade Travel + TG Junior + The Asylum + The Bob Ross Channel + The Challenge + The Design Network + The New Detectives + The Pet Collective + The Preview Channel + This Old House + Tiny House Nation + TODAY All Day + Toon Goggles + TV Land Drama + TV Land Sitcoms + TYT Network + Unidentified + Unsolved Mysteries + USA Today + Vevo 2K + Vevo Country + Vevo Hip-Hop + Vevo Latino + Vevo Pop + Vevo R&B + VICE + Waypoint TV + WeatherNation + WeatherSpy + Wild 'N Out + Wipeout Xtra + World Poker Tour + Xplore + ZooMoo + diff --git a/sites/i.mjh.nz/i.mjh.nz_skygo.channels.xml b/sites/i.mjh.nz/i.mjh.nz_skygo.channels.xml index c99e1ea2..93b473ec 100644 --- a/sites/i.mjh.nz/i.mjh.nz_skygo.channels.xml +++ b/sites/i.mjh.nz/i.mjh.nz_skygo.channels.xml @@ -1,104 +1,102 @@ - - - Al Jazeera - Animal Planet - BBC Earth - BBC UKTV - BBC World News - Bravo - Bravo PLUS 1 - Breeze TV - Cartoon Network - Cbeebies - CGTN - CGTN Documentary - CNBC - CNN - Colors - Comedy Central - Country TV - CI - Discovery - Discovery Turbo - E! - eden - eden +1 - ESPN 2 - ESPN HD - FACE TV - Firstlight - Fox News - HGTV - HISTORY - Hope Channel - ID - JONES! - JONES! too - Living - MTV 80s - MTV Hits - MTV - NAT GEO - Nickelodeon - Nick Jr. - Nick Music - Parliament TV - Prime - Prime PLUS 1 - Rialto - RT - Rush - Shine TV - Sky 5 - SKY Arena - Sky Arts - SKY Box Office - SKY Box Office 041 - SKY Box Office 042 - SKY Box Office 043 - Sky Box Sets - Sky Movies Action - Sky Movies Classics - Sky Movies Collection - Sky Movies Comedy - Sky Movies Family - Sky Movies Greats - Sky Movies Premiere - Sky News - Sky Sport 1 - Sky Sport 2 - Sky Sport 3 - Sky Sport 4 - Sky Sport 5 - Sky Sport 6 - Sky Sport 7 beIN SPORTS - Sky Sport 9 - Sky Sport Premier League - Sky Sport Select - SoHo - Star Gold - TAB Trackside 1 - TAB Trackside 2 - Te Reo - The Edge TV - Shopping Channel - Three - ThreePlusOne - TLC - TVNZ 1 - TVNZ 1+1 - TVNZ 2 - TVNZ 2+1 - TVNZ DUKE - DukePlus1 - Universal TV - Vibe - Whakaata Māori - - - - - - - + + + + + + + Al Jazeera + Animal Planet + BBC Earth + BBC UKTV + BBC World News + Bravo + Bravo PLUS 1 + Breeze TV + Cartoon Network + Cbeebies + CGTN + CGTN Documentary + CNBC + CNN + Colors + Comedy Central + Country TV + CI + Discovery + Discovery Turbo + E! + eden + eden +1 + ESPN 2 + ESPN HD + FACE TV + Firstlight + Fox News + HGTV + HISTORY + Hope Channel + ID + JONES! + JONES! too + Living + MTV 80s + MTV Hits + MTV + NAT GEO + Nickelodeon + Nick Jr. + Nick Music + Parliament TV + Prime + Prime PLUS 1 + Rialto + RT + Rush + Shine TV + Sky 5 + SKY Arena + Sky Arts + SKY Box Office + SKY Box Office 041 + SKY Box Office 042 + SKY Box Office 043 + Sky Box Sets + Sky Movies Action + Sky Movies Classics + Sky Movies Collection + Sky Movies Comedy + Sky Movies Family + Sky Movies Greats + Sky Movies Premiere + Sky News + Sky Sport 1 + Sky Sport 2 + Sky Sport 3 + Sky Sport 4 + Sky Sport 5 + Sky Sport 6 + Sky Sport 7 beIN SPORTS + Sky Sport 9 + Sky Sport Premier League + Sky Sport Select + SoHo + Star Gold + TAB Trackside 1 + TAB Trackside 2 + Te Reo + The Edge TV + Shopping Channel + Three + ThreePlusOne + TLC + TVNZ 1 + TVNZ 1+1 + TVNZ 2 + TVNZ 2+1 + TVNZ DUKE + DukePlus1 + Universal TV + Vibe + Whakaata Māori + diff --git a/sites/i.mjh.nz/i.mjh.nz_stirr.channels.xml b/sites/i.mjh.nz/i.mjh.nz_stirr.channels.xml index e6be0d12..60b7a3f5 100644 --- a/sites/i.mjh.nz/i.mjh.nz_stirr.channels.xml +++ b/sites/i.mjh.nz/i.mjh.nz_stirr.channels.xml @@ -1,111 +1,109 @@ - - - AccuWeather - AFV - American Classics - America vs. Addiction - beIN Sports Xtra - Buzzr - CHARGE - Cheddar - Chicken Soup For The Soul - CineLife - Circle - Classica - Comedy Dynamics - COMET - CONtv - Deal or No Deal - Dick Cavett - Docurama - Dove - DUST - Electric Now - EVRGRN - FailArmy - Filmrise Classic TV - Filmrise Free Movies - FOX Soul - Glewed TV - Gravitas - Horse Shopping Channel - HSN - It's Showtime at the Apollo - Johnny Carson TV - Law & Crime - LiveXLive - MagellanTV - MavTv - Midnight Pulp - Mystery Science Theater 3000 - NASATV - News 12 New York - Nosey - ONTV4U - Outdoor America - People Are Awesome - People TV - Popstar! TV - PursuitUp - Quicktake - QVC - RetroCrush - Revry - Shop LC - Shout Factory - So...Real - SportsGrid - Sportswire - Stadium - Stingray Classic Rock - Stingray Flashback 70s - Stingray Greatest Hits - Stingray Hit List - Stingray Hot Country - Stingray Pop Adult - Stingray Rock Alternative - Stingray Today's Latin Pop - Stingray Urban Beats - STIRR Classic TV - STIRR Horror Movies - STIRR | Movies - STIRR P.D. - STIRR Reality TV - STIRR Westerns - TBD - The Archive - The Bob Ross Channel - The Carol Burnett Show - The Country Network - Film Detective - The First - The Pet Collective - The Tim Conway Show - Unbeaten - USA Today - Waypoint - WeatherSpy - Wipeout Xtra - World Poker Tour - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + AccuWeather + AFV + American Classics + America vs. Addiction + beIN Sports Xtra + Buzzr + CHARGE + Cheddar + Chicken Soup For The Soul + CineLife + Circle + Classica + Comedy Dynamics + COMET + CONtv + Deal or No Deal + Dick Cavett + Docurama + Dove + DUST + Electric Now + EVRGRN + FailArmy + Filmrise Classic TV + Filmrise Free Movies + FOX Soul + Glewed TV + Gravitas + Horse Shopping Channel + HSN + It's Showtime at the Apollo + Johnny Carson TV + Law & Crime + LiveXLive + MagellanTV + MavTv + Midnight Pulp + Mystery Science Theater 3000 + NASATV + News 12 New York + Nosey + ONTV4U + Outdoor America + People Are Awesome + People TV + Popstar! TV + PursuitUp + Quicktake + QVC + RetroCrush + Revry + Shop LC + Shout Factory + So...Real + SportsGrid + Sportswire + Stadium + Stingray Classic Rock + Stingray Flashback 70s + Stingray Greatest Hits + Stingray Hit List + Stingray Hot Country + Stingray Pop Adult + Stingray Rock Alternative + Stingray Today's Latin Pop + Stingray Urban Beats + STIRR Classic TV + STIRR Horror Movies + STIRR | Movies + STIRR P.D. + STIRR Reality TV + STIRR Westerns + TBD + The Archive + The Bob Ross Channel + The Carol Burnett Show + The Country Network + Film Detective + The First + The Pet Collective + The Tim Conway Show + Unbeaten + USA Today + Waypoint + WeatherSpy + Wipeout Xtra + World Poker Tour + diff --git a/sites/i24news.tv/i24news.tv.channels.xml b/sites/i24news.tv/i24news.tv.channels.xml index da14f333..af7d40a6 100644 --- a/sites/i24news.tv/i24news.tv.channels.xml +++ b/sites/i24news.tv/i24news.tv.channels.xml @@ -1,8 +1,6 @@ - - - i24News Arabic - i24News English - i24 News Français - - + + i24News Arabic + i24News English + i24 News Français + diff --git a/sites/i24news.tv/i24news.tv.test.js b/sites/i24news.tv/i24news.tv.test.js index b74452e9..ab96ad07 100644 --- a/sites/i24news.tv/i24news.tv.test.js +++ b/sites/i24news.tv/i24news.tv.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/i24news.tv/i24news.tv.config.js --channels=sites/i24news.tv/i24news.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=i24news.tv const { parser, url } = require('./i24news.tv.config.js') const dayjs = require('dayjs') @@ -18,7 +18,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[{"id":348995,"startHour":"22:30","endHour":"23:00","day":5,"firstDiffusion":false,"override":false,"show":{"parsedBody":[{"type":"text","text":"Special Edition"}],"id":131,"title":"تغطية خاصة","body":"Special Edition","slug":"Special-Edition-تغطية-خاصة","visible":true,"image":{"id":1142467,"credit":"","legend":"","href":"https://cdn.i24news.tv/uploads/a1/be/85/20/69/6f/32/1c/ed/b0/f8/5c/f6/1c/40/f9/a1be8520696f321cedb0f85cf61c40f9.png"}}},{"id":349023,"startHour":"15:00","endHour":"15:28","day":6,"firstDiffusion":false,"override":false,"show":{"parsedBody":[{"type":"text","text":"Special Edition"}],"id":131,"title":"تغطية خاصة","body":"Special Edition","slug":"Special-Edition-تغطية-خاصة","visible":true,"image":{"id":1142467,"credit":"","legend":"","href":"https://cdn.i24news.tv/uploads/a1/be/85/20/69/6f/32/1c/ed/b0/f8/5c/f6/1c/40/f9/a1be8520696f321cedb0f85cf61c40f9.png"}}}]` + const content = + '[{"id":348995,"startHour":"22:30","endHour":"23:00","day":5,"firstDiffusion":false,"override":false,"show":{"parsedBody":[{"type":"text","text":"Special Edition"}],"id":131,"title":"تغطية خاصة","body":"Special Edition","slug":"Special-Edition-تغطية-خاصة","visible":true,"image":{"id":1142467,"credit":"","legend":"","href":"https://cdn.i24news.tv/uploads/a1/be/85/20/69/6f/32/1c/ed/b0/f8/5c/f6/1c/40/f9/a1be8520696f321cedb0f85cf61c40f9.png"}}},{"id":349023,"startHour":"15:00","endHour":"15:28","day":6,"firstDiffusion":false,"override":false,"show":{"parsedBody":[{"type":"text","text":"Special Edition"}],"id":131,"title":"تغطية خاصة","body":"Special Edition","slug":"Special-Edition-تغطية-خاصة","visible":true,"image":{"id":1142467,"credit":"","legend":"","href":"https://cdn.i24news.tv/uploads/a1/be/85/20/69/6f/32/1c/ed/b0/f8/5c/f6/1c/40/f9/a1be8520696f321cedb0f85cf61c40f9.png"}}}]' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -38,7 +39,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[]`, + content: '[]', date }) expect(result).toMatchObject([]) diff --git a/sites/indihometv.com/indihometv.com.channels.xml b/sites/indihometv.com/indihometv.com.channels.xml index d3dada9b..b1b4564a 100644 --- a/sites/indihometv.com/indihometv.com.channels.xml +++ b/sites/indihometv.com/indihometv.com.channels.xml @@ -1,157 +1,150 @@ - - - ABC Australia - Aljazeera - Animax - ANIPlus - ANTV - Arirang - Asian Food Network - ATV - AXN - Baby First - Bali TV - beIN Sports 1 - beIN Sports 3 - Berita Satu - Bioskop Indonesia - Bloomberg - Boomerang - Cartoon Network - CCTV4 - Celestial Movie - CGTN Documentary - Cinema World - Citra Dangdut - Citra Drama - News Asia - CNBC Asia - CNBC Indonesia - CNN Indonesia - CNN International - Crime Investigation - CTI Asia - Daai TV - Discovery Channel - Dreamworks - Dunia anak - Dunia Lain - DW (English) - Eat N Go - EBC Asia - egg network - Euronews - FashionTV - Fight Sport - France 24 - Galaxy - Galaxy Premium - HGTV - History - Horee - Horizon Sports - IDX - IMC - IndiKids - Indosiar - iNews - Panda TV - JakTV - JTV - KBS World - Kix - Kompas TV - Kplus - Lifetime - Lingua - Mentari TV - Metro TV - MNC News - MQTV - M Shop - MTATV - MTV Live - My Cinema - My Cinema Asia - My Family - MyKidz - Nat Geo - Nat Geo Wild - NBA - Net. - NHK World Japan - NHK World Premium - Nickelodeon - Nick Junior - Insert - Nusantara TV - O Channel - SONE - Outdoor Channel - Paramount - Rajawali TV - Rock Entertainment - Rock Extreme - Rodja TV - RRI NET - Ruang Trampil - SCTV - SEA Today - Seru! - SPOTV - SPOTV2 - Star Chinese Channel - Star Chinese Movies - Tawaf TV - Tech Storm - Thrill - TLC - Trans7 - TransTV - TRT World - TV5Monde - TV9 NU - TVBS News - TV Edukasi - MUI TV - TVN - TVN Movies - TV One - TVRI - UChannel - Usee Photo - UseePrime - Warner - ZBioskop - Zhejiang - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + ABC Australia + Aljazeera + Animax + ANIPlus + ANTV + Arirang + Asian Food Network + ATV + AXN + Baby First + Bali TV + beIN Sports 1 + beIN Sports 3 + Berita Satu + Bioskop Indonesia + Bloomberg + Boomerang + Cartoon Network + CCTV4 + Celestial Movie + CGTN Documentary + Cinema World + Citra Dangdut + Citra Drama + News Asia + CNBC Asia + CNBC Indonesia + CNN Indonesia + CNN International + Crime Investigation + CTI Asia + Daai TV + Discovery Channel + Dreamworks + Dunia anak + Dunia Lain + DW (English) + Eat N Go + EBC Asia + egg network + Euronews + FashionTV + Fight Sport + France 24 + Galaxy + Galaxy Premium + HGTV + History + Horee + Horizon Sports + IDX + IMC + IndiKids + Indonesiana TV + Indosiar + iNews + Panda TV + JakTV + JTV + KBS World + Kix + Kompas TV + Kplus + Lifetime + Lingua + Mentari TV + Metro TV + MNC News + MQTV + M Shop + MTATV + MTV Live + My Cinema + My Cinema Asia + My Family + MyKidz + Nat Geo + Nat Geo Wild + NBA + Net. + NHK World Japan + NHK World Premium + Nickelodeon + Nick Junior + Insert + Nusantara TV + O Channel + SONE + Outdoor Channel + Paramount + Rajawali TV + Rock Entertainment + Rock Extreme + Rodja TV + RRI NET + Ruang Trampil + SCTV + SEA Today + Seru! + SPOTV + SPOTV2 + Star Chinese Channel + Star Chinese Movies + Tawaf TV + Tech Storm + Thrill + TLC + Trans7 + TransTV + TRT World + TV5Monde + TV9 NU + TVBS News + TV Edukasi + MUI TV + TVN + TVN Movies + TV One + TVRI + UChannel + Usee Photo + UseePrime + Warner + ZBioskop + Zhejiang + \ No newline at end of file diff --git a/sites/indihometv.com/indihometv.com.config.js b/sites/indihometv.com/indihometv.com.config.js index a33c8bf9..618e909d 100644 --- a/sites/indihometv.com/indihometv.com.config.js +++ b/sites/indihometv.com/indihometv.com.config.js @@ -43,7 +43,7 @@ module.exports = { function parseStart($item, date) { const timeString = $item('p').text() - const [_, start] = timeString.match(/(\d{2}:\d{2}) -/) || [null, null] + const [, start] = timeString.match(/(\d{2}:\d{2}) -/) || [null, null] const dateString = `${date.format('YYYY-MM-DD')} ${start}` return dayjs.tz(dateString, 'YYYY-MM-DD HH:mm', 'Asia/Jakarta') @@ -51,7 +51,7 @@ function parseStart($item, date) { function parseStop($item, date) { const timeString = $item('p').text() - const [_, stop] = timeString.match(/- (\d{2}:\d{2})/) || [null, null] + const [, stop] = timeString.match(/- (\d{2}:\d{2})/) || [null, null] const dateString = `${date.format('YYYY-MM-DD')} ${stop}` return dayjs.tz(dateString, 'YYYY-MM-DD HH:mm', 'Asia/Jakarta') diff --git a/sites/indihometv.com/indihometv.com.test.js b/sites/indihometv.com/indihometv.com.test.js index 5c959f19..7d015d36 100644 --- a/sites/indihometv.com/indihometv.com.test.js +++ b/sites/indihometv.com/indihometv.com.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/indihometv.com/indihometv.com.config.js --channels=sites/indihometv.com/indihometv.com.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=indihometv.com -const { parser, url, request } = require('./indihometv.com.config.js') +const { parser, url } = require('./indihometv.com.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') dayjs.extend(utc) @@ -10,7 +10,8 @@ const channel = { site_id: 'metrotv', xmltv_id: 'MetroTV.id' } -const content = `
    ` +const content = + '
    ' it('can generate valid url', () => { expect(url({ channel })).toBe('https://www.indihometv.com/tvod/metrotv') @@ -51,7 +52,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/ionplustv.com/ionplustv.com.channels.xml b/sites/ionplustv.com/ionplustv.com.channels.xml index 78693bf8..01fabc51 100644 --- a/sites/ionplustv.com/ionplustv.com.channels.xml +++ b/sites/ionplustv.com/ionplustv.com.channels.xml @@ -1,6 +1,4 @@ - - - ION Plus - - + + ION Plus + diff --git a/sites/ionplustv.com/ionplustv.com.config.js b/sites/ionplustv.com/ionplustv.com.config.js index d9c99696..6dab5fe1 100644 --- a/sites/ionplustv.com/ionplustv.com.config.js +++ b/sites/ionplustv.com/ionplustv.com.config.js @@ -1,4 +1,3 @@ -const axios = require('axios') const dayjs = require('dayjs') const cheerio = require('cheerio') const utc = require('dayjs/plugin/utc') @@ -67,7 +66,7 @@ function parseSubTitle($item) { } function parseRating($item) { - const [_, rating] = $item('.tv-rating') + const [, rating] = $item('.tv-rating') .text() .match(/([^(]+)/) || [null, null] @@ -92,7 +91,7 @@ function parseStart($item, date) { } function parseDuration($item) { - const [_, duration] = $item('.tv-rating') + const [, duration] = $item('.tv-rating') .text() .trim() .match(/\((\d+)/) || [null, null] @@ -104,5 +103,5 @@ function parseItems(content) { if (!content) return [] const $ = cheerio.load(content) - return $(`#accordion > div`).toArray() + return $('#accordion > div').toArray() } diff --git a/sites/ionplustv.com/ionplustv.com.test.js b/sites/ionplustv.com/ionplustv.com.test.js index 673373ef..076ca9f6 100644 --- a/sites/ionplustv.com/ionplustv.com.test.js +++ b/sites/ionplustv.com/ionplustv.com.test.js @@ -1,19 +1,16 @@ -// npx epg-grabber --config=sites/ionplustv.com/ionplustv.com.config.js --channels=sites/ionplustv.com/ionplustv.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=ionplustv.com -const { parser, url, request } = require('./ionplustv.com.config.js') +const { parser, url } = require('./ionplustv.com.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') + dayjs.extend(customParseFormat) dayjs.extend(utc) const date = dayjs.utc('2022-11-08', 'YYYY-MM-DD').startOf('d') -const channel = { - site_id: '#', - xmltv_id: 'IONPlus.us' -} it('can generate valid url', () => { expect(url({ date })).toBe('https://ionplustv.com/schedule/2022-11-08') diff --git a/sites/ipko.com/ipko.com.channels.xml b/sites/ipko.com/ipko.com.channels.xml index 4bd7ee89..603827da 100644 --- a/sites/ipko.com/ipko.com.channels.xml +++ b/sites/ipko.com/ipko.com.channels.xml @@ -1,40 +1,38 @@ - - - - 24 Kitchen - ABC News - Baby TV - Bang Bang - BBC World News - Boomerang - CNN - Çufo - Discovery Channel - Discovery Science - Eurosport 1 - Explorer Histori - Explorer Natyra - Explorer Shkencë - Film Aksion - Film Dramë - Film Hits - Film Komedi - Film Thriller - Hayat - Junior TV - Kohavision - MTV Live - My Music - National Geographic - News 24 - Peace TV English - Rai 1 - Rai 2 - Rai 3 - RTK 1 - RTV 21 Sat - Stinët - Arta - - \ No newline at end of file + + + 24 Kitchen + ABC News + Baby TV + Bang Bang + BBC World News + Boomerang + CNN + Çufo + Discovery Channel + Discovery Science + Eurosport 1 + Explorer Histori + Explorer Natyra + Explorer Shkencë + Film Aksion + Film Dramë + Film Hits + Film Komedi + Film Thriller + Hayat + Junior TV + Kohavision + MTV Live + My Music + National Geographic + News 24 + Peace TV English + Rai 1 + Rai 2 + Rai 3 + RTK 1 + RTV 21 Sat + Stinët + Arta + \ No newline at end of file diff --git a/sites/ipko.com/ipko.com.test.js b/sites/ipko.com/ipko.com.test.js index 6235ce13..dc0517a8 100644 --- a/sites/ipko.com/ipko.com.test.js +++ b/sites/ipko.com/ipko.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/ipko.com/ipko.com.config.js --channels=sites/ipko.com/ipko.com.channels.xml --days=2 --output=guide.xml +// npm run grab -- --site=ipko.com const { parser, url } = require('./ipko.com.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '406', xmltv_id: 'RTK1.xk' } -const content = `{"element":{"1":[{"id":6367,"channel_id":406,"program_name":"Beautiful People 13","name_short":"","description":"Lin largohet nga Nju Meksiko për t'u vendosur në Nju Jork e për t'ia nisur nga fillimi: një punë të re, shtëpi të re dhe njohje të reja. Bashkë me të janë vajzat e saj, Sofia, një 16 vjeçare që shkëlqen në shkollë, dhe Kareni, 20 vjeçare, që do të bë","category":"Sezoni I","duration":150,"day":"Sun","left_distanc":165,"date":"00:55:00"}]}}` +const content = + '{"element":{"1":[{"id":6367,"channel_id":406,"program_name":"Beautiful People 13","name_short":"","description":"Lin largohet nga Nju Meksiko për t\'u vendosur në Nju Jork e për t\'ia nisur nga fillimi: një punë të re, shtëpi të re dhe njohje të reja. Bashkë me të janë vajzat e saj, Sofia, një 16 vjeçare që shkëlqen në shkollë, dhe Kareni, 20 vjeçare, që do të bë","category":"Sezoni I","duration":150,"day":"Sun","left_distanc":165,"date":"00:55:00"}]}}' it('can generate valid url', () => { const result = url({ date }) @@ -26,13 +27,14 @@ it('can parse response', () => { start: 'Sun, 24 Oct 2021 00:55:00 GMT', stop: 'Sun, 24 Oct 2021 01:45:00 GMT', title: 'Beautiful People 13', - description: `Lin largohet nga Nju Meksiko për t'u vendosur në Nju Jork e për t'ia nisur nga fillimi: një punë të re, shtëpi të re dhe njohje të reja. Bashkë me të janë vajzat e saj, Sofia, një 16 vjeçare që shkëlqen në shkollë, dhe Kareni, 20 vjeçare, që do të bë`, + description: + "Lin largohet nga Nju Meksiko për t'u vendosur në Nju Jork e për t'ia nisur nga fillimi: një punë të re, shtëpi të re dhe njohje të reja. Bashkë me të janë vajzat e saj, Sofia, një 16 vjeçare që shkëlqen në shkollë, dhe Kareni, 20 vjeçare, që do të bë", category: 'Sezoni I' } ]) }) it('can handle empty guide', () => { - const result = parser({ date, channel, content: `{"element":{"1":[{"no":"no"}]}}` }) + const result = parser({ date, channel, content: '{"element":{"1":[{"no":"no"}]}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/kan.org.il/kan.org.il.channels.xml b/sites/kan.org.il/kan.org.il.channels.xml index d973bf3c..c89752bc 100644 --- a/sites/kan.org.il/kan.org.il.channels.xml +++ b/sites/kan.org.il/kan.org.il.channels.xml @@ -1,8 +1,6 @@ - - - כאן 11 - חינוכית - مكان - - + + مكان + כאן 11 + חינוכית + diff --git a/sites/kan.org.il/kan.org.il.config.js b/sites/kan.org.il/kan.org.il.config.js index cf114879..987b4aa3 100644 --- a/sites/kan.org.il/kan.org.il.config.js +++ b/sites/kan.org.il/kan.org.il.config.js @@ -8,7 +8,6 @@ dayjs.extend(timezone) dayjs.extend(customParseFormat) module.exports = { - skip: true, // INFO: Request failed with status code 403 (Access denied) site: 'kan.org.il', days: 2, url: function ({ channel, date }) { diff --git a/sites/kan.org.il/kan.org.il.test.js b/sites/kan.org.il/kan.org.il.test.js index 42c53a74..c2aa9710 100644 --- a/sites/kan.org.il/kan.org.il.test.js +++ b/sites/kan.org.il/kan.org.il.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/kan.org.il/kan.org.il.config.js --channels=sites/kan.org.il/kan.org.il.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=kan.org.il const { parser, url } = require('./kan.org.il.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[{"title":"ארץ מולדת - בין תורכיה לבריטניה","start_time":"2022-03-06T00:05:37","end_time":"2022-03-06T00:27:12","id":"2598","age_category_desc":"0","epg_name":"ארץ מולדת","title1":"ארץ מולדת - בין תורכיה לבריטניה","chapter_number":"9","live_desc":"קבוצת תלמידים מתארגנת בפרוץ מלחמת העולם הראשונה להגיש עזרה לישוב. באמצעות התלמידים לומד הצופה על בעיותיו של הישוב בתקופת המלחמה, והתלבטותו בין נאמנות לשלטון העות'מאני לבין תקוותיו מהבריטים הכובשים.","Station_Radio":"0","Station_Id":"20","stationUrlScheme":"kan11://plugin/?type=player&plugin_identifier=kan_player&ds=general-provider%3A%2F%2FfetchData%3Ftype%3DFEED_JSON%26url%3DaHR0cHM6Ly93d3cua2FuLm9yZy5pbC9hcHBLYW4vbGl2ZVN0YXRpb25zLmFzaHg%3D&id=4","program_code":"3671","picture_code":"https://kanweb.blob.core.windows.net/download/pictures/2021/1/20/imgid=45847_Z.jpeg","program_image":"","station_image":"Logo_Image_Logo20_img__8.jpg","program_id":"","timezone":"2"}]` + const content = + '[{"title":"ארץ מולדת - בין תורכיה לבריטניה","start_time":"2022-03-06T00:05:37","end_time":"2022-03-06T00:27:12","id":"2598","age_category_desc":"0","epg_name":"ארץ מולדת","title1":"ארץ מולדת - בין תורכיה לבריטניה","chapter_number":"9","live_desc":"קבוצת תלמידים מתארגנת בפרוץ מלחמת העולם הראשונה להגיש עזרה לישוב. באמצעות התלמידים לומד הצופה על בעיותיו של הישוב בתקופת המלחמה, והתלבטותו בין נאמנות לשלטון העות\'מאני לבין תקוותיו מהבריטים הכובשים.","Station_Radio":"0","Station_Id":"20","stationUrlScheme":"kan11://plugin/?type=player&plugin_identifier=kan_player&ds=general-provider%3A%2F%2FfetchData%3Ftype%3DFEED_JSON%26url%3DaHR0cHM6Ly93d3cua2FuLm9yZy5pbC9hcHBLYW4vbGl2ZVN0YXRpb25zLmFzaHg%3D&id=4","program_code":"3671","picture_code":"https://kanweb.blob.core.windows.net/download/pictures/2021/1/20/imgid=45847_Z.jpeg","program_image":"","station_image":"Logo_Image_Logo20_img__8.jpg","program_id":"","timezone":"2"}]' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -41,7 +42,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[]` + content: '[]' }) expect(result).toMatchObject([]) }) diff --git a/sites/knr.gl/knr.gl.channels.xml b/sites/knr.gl/knr.gl.channels.xml index 613fa396..cb03446e 100644 --- a/sites/knr.gl/knr.gl.channels.xml +++ b/sites/knr.gl/knr.gl.channels.xml @@ -1,6 +1,4 @@ - - - KNR TV - - \ No newline at end of file + + KNR TV + \ No newline at end of file diff --git a/sites/knr.gl/knr.gl.config.js b/sites/knr.gl/knr.gl.config.js index c123d78d..c9ca8fe2 100644 --- a/sites/knr.gl/knr.gl.config.js +++ b/sites/knr.gl/knr.gl.config.js @@ -40,7 +40,7 @@ function parseStart(item, date) { return dayjs.tz(time, 'YYYY-MM-DD HH:mm', 'America/Godthab') } -function parseItems(content, date) { +function parseItems(content) { const data = JSON.parse(content) if (!data.program_list) return [] const $ = cheerio.load(data.program_list) diff --git a/sites/knr.gl/knr.gl.test.js b/sites/knr.gl/knr.gl.test.js index 30ddc8dc..a0cb8cd4 100644 --- a/sites/knr.gl/knr.gl.test.js +++ b/sites/knr.gl/knr.gl.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/knr.gl/knr.gl.config.js --channels=sites/knr.gl/knr.gl.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=knr.gl const { parser, url } = require('./knr.gl.config.js') const dayjs = require('dayjs') @@ -18,7 +18,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{\"program_list\":\"\\u003Cdt class=\\u0022program\\u0022\\u003E\\u003Cstrong\\u003E08:00\\u003C\\\/strong\\u003E Meeqqanut - Toqqorsivimmiit\\u003C\\\/dt\\u003E\\u003Cdt class=\\u0022knr-program-pointer knr-program-togle-program\\u0022 data-program-id=\\u0022588574\\u0022 data-module-path=\\u0022sites\\\/knr\\\/modules\\\/custom\\\/knr_site\\u0022\\u003E\\u003Cimg height=\\u00229\\u0022 width=\\u00229\\u0022 id=\\u0022icon_588574\\u0022 alt=\\u0022View description\\u0022 src=\\u0022\\\/sites\\\/knr\\\/modules\\\/custom\\\/knr_site\\\/assets\\\/img\\\/plus.gif\\u0022\\u003E\\u003Cstrong\\u003E08:30\\u003C\\\/strong\\u003E ICC 2018 Piorsarsimassutikkut pisut (1:3)\\u003C\\\/dt\\u003E\\u003Cdd id=\\u0022program_588574\\u0022 style=\\u0022display: none;\\u0022\\u003E\\u003Cdiv class=\\u0022box\\u0022\\u003E2018 ICC ataatsimersuareernerata kingorna unnukkut piorsarsimassutsikkut pisut takutinneqarput. Aammalu illoqarfik Utqiagvik ilisaritinneqarluni. Ove Heilmann, Aannguaq Nielsen, Aannguaq Reimer-Johansen\\r\\nKNR 09.12.2018\\u003C\\\/div\\u003E\\u003C\\\/dd\\u003E\"}` + const content = + '{"program_list":"\\u003Cdt class=\\u0022program\\u0022\\u003E\\u003Cstrong\\u003E08:00\\u003C\\/strong\\u003E Meeqqanut - Toqqorsivimmiit\\u003C\\/dt\\u003E\\u003Cdt class=\\u0022knr-program-pointer knr-program-togle-program\\u0022 data-program-id=\\u0022588574\\u0022 data-module-path=\\u0022sites\\/knr\\/modules\\/custom\\/knr_site\\u0022\\u003E\\u003Cimg height=\\u00229\\u0022 width=\\u00229\\u0022 id=\\u0022icon_588574\\u0022 alt=\\u0022View description\\u0022 src=\\u0022\\/sites\\/knr\\/modules\\/custom\\/knr_site\\/assets\\/img\\/plus.gif\\u0022\\u003E\\u003Cstrong\\u003E08:30\\u003C\\/strong\\u003E ICC 2018 Piorsarsimassutikkut pisut (1:3)\\u003C\\/dt\\u003E\\u003Cdd id=\\u0022program_588574\\u0022 style=\\u0022display: none;\\u0022\\u003E\\u003Cdiv class=\\u0022box\\u0022\\u003E2018 ICC ataatsimersuareernerata kingorna unnukkut piorsarsimassutsikkut pisut takutinneqarput. Aammalu illoqarfik Utqiagvik ilisaritinneqarluni. Ove Heilmann, Aannguaq Nielsen, Aannguaq Reimer-Johansen\\r\\nKNR 09.12.2018\\u003C\\/div\\u003E\\u003C\\/dd\\u003E"}' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -29,12 +30,12 @@ it('can parse response', () => { { start: '2021-11-22T11:00:00.000Z', stop: '2021-11-22T11:30:00.000Z', - title: `Meeqqanut - Toqqorsivimmiit` + title: 'Meeqqanut - Toqqorsivimmiit' }, { start: '2021-11-22T11:30:00.000Z', stop: '2021-11-22T12:30:00.000Z', - title: `ICC 2018 Piorsarsimassutikkut pisut (1:3)`, + title: 'ICC 2018 Piorsarsimassutikkut pisut (1:3)', description: '2018 ICC ataatsimersuareernerata kingorna unnukkut piorsarsimassutsikkut pisut takutinneqarput. Aammalu illoqarfik Utqiagvik ilisaritinneqarluni. Ove Heilmann, Aannguaq Nielsen, Aannguaq Reimer-Johansen KNR 09.12.2018' } @@ -45,7 +46,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"program_list":""}` + content: '{"program_list":""}' }) expect(result).toMatchObject([]) }) diff --git a/sites/kplus.vn/kplus.vn.channels.xml b/sites/kplus.vn/kplus.vn.channels.xml index f2a0882e..3c9b7673 100644 --- a/sites/kplus.vn/kplus.vn.channels.xml +++ b/sites/kplus.vn/kplus.vn.channels.xml @@ -1,31 +1,29 @@ - - - AFC - AXN HD - CARTOON NETWORK - DISCOVERY CHANNEL - VTVCab1-GIAITRITV - HBO HD - HTV7 - HTV9 - KBS WORLD - K+CINE HD - K+LIFE HD - K+PC HD - K+PM HD - NHK WORLD JAPAN - SCTV PHIMTONGHOP - VTC7-TODAY TV - TV5 MONDE - VTC1 - VTV2 - VTV3 HD - VTV4 - VTV6 HD - VTV7 - VTV8 - VTV9 - YOU TV - - + + AFC + AXN HD + CARTOON NETWORK + DISCOVERY CHANNEL + HBO HD + HTV7 + HTV9 + KBS WORLD + K+CINE HD + K+LIFE HD + K+PM HD + K+PC HD + NHK WORLD JAPAN + SCTV PHIMTONGHOP + VTC7-TODAY TV + TV5 MONDE + VTC1 + VTV2 + VTV3 HD + VTV4 + VTV6 HD + VTV7 + VTV8 + VTV9 + VTVCab1-GIAITRITV + YOU TV + diff --git a/sites/kplus.vn/kplus.vn.config.js b/sites/kplus.vn/kplus.vn.config.js index a1bc59e8..a134f1cd 100644 --- a/sites/kplus.vn/kplus.vn.config.js +++ b/sites/kplus.vn/kplus.vn.config.js @@ -6,12 +6,11 @@ const timezone = require('dayjs/plugin/timezone') dayjs.extend(timezone) dayjs.extend(utc) -const API_ENDPOINT = `https://www.kplus.vn/Schedule/getSchedule` +const API_ENDPOINT = 'https://www.kplus.vn/Schedule/getSchedule' module.exports = { site: 'kplus.vn', days: 2, - skip: true, // channel list changes with each request url: API_ENDPOINT, request: { headers: { diff --git a/sites/kplus.vn/kplus.vn.test.js b/sites/kplus.vn/kplus.vn.test.js index 6a855b35..ddadd447 100644 --- a/sites/kplus.vn/kplus.vn.test.js +++ b/sites/kplus.vn/kplus.vn.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=sites/kplus.vn/kplus.vn.config.js --output=sites/kplus.vn/kplus.vn.channels.xml -// npx epg-grabber --config=sites/kplus.vn/kplus.vn.config.js --channels=sites/kplus.vn/kplus.vn.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=kplus.vn const { parser, url, request } = require('./kplus.vn.config.js') const dayjs = require('dayjs') @@ -32,7 +32,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `{"SchedulesCount":1105,"ChannelsCount":28,"Schedules":[{"Id":12195,"ChannelId":7019,"ProgramId":35111026,"EpgProgramId":"1252496\\r","ShowingTime":"2022-03-15T06:15:00","EpgBroadcastId":"HD_ENT_DOC_LNO_21_2649421_2652183_4383385_OnAir","EpgId":"HD_ENT_DOC_LNO_21_2649421_2652183_4383385_OnAir","IsDeleted":false,"CreatedOn":"2022-03-15T06:22:45","UpdatedOn":"0001-01-01T00:00:00","Channel":{"Id":7019,"Name":"K+1 HD","Image":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","LiveUrlSegment":"highlights/broadcast-schedule/K-1-HD","FeatureImage":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","EpgId":null,"IsOTTEnabled":false,"StartOver":0,"DisplayOrder":0},"Program":{"Id":35111026,"Name":"WEEKLY FILMS AND STARS, EP740","BodyContent":"","Cast":"","Director":"","Duration":0,"EpgId":"93701","EpgProgramId":null,"Episode":0,"Genres":"Documentary","Images":"https://img.kplus.vn/images?filename=Media/HDVN/2022_02/ENT_DOC_LNO_21_2649421_2652183_2652183.jpg","IsFeatured":false,"IsOTTEnabled":true,"IsRebroadcast":false,"ShortDescription":"","SubTitle":"","Trailers":"","UrlSegment":"highlights/broadcast-schedule/93701/weekly-films-and-stars-ep740","CreatedOn":"2022-03-16T00:15:45","UpdatedOn":"2022-03-16T00:15:45","ParentalRating":null},"RelatedSchedules":null},{"Id":12196,"ChannelId":7019,"ProgramId":35111279,"EpgProgramId":"798685\\r","ShowingTime":"2022-03-15T07:00:00","EpgBroadcastId":"HD_MOV_COM__2632318_4383386_OnAir","EpgId":"HD_MOV_COM__2632318_4383386_OnAir","IsDeleted":false,"CreatedOn":"2022-03-15T07:02:46","UpdatedOn":"0001-01-01T00:00:00","Channel":{"Id":7019,"Name":"K+1 HD","Image":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","LiveUrlSegment":"highlights/broadcast-schedule/K-1-HD","FeatureImage":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","EpgId":null,"IsOTTEnabled":false,"StartOver":0,"DisplayOrder":0},"Program":{"Id":35111279,"Name":"ST. VINCENT","BodyContent":"","Cast":"Bill Murray, Melissa McCarthy, Naomi Watts","Director":"Theodore Melfi","Duration":0,"EpgId":"93959","EpgProgramId":null,"Episode":0,"Genres":"Comedy","Images":"https://img.kplus.vn/images?filename=Media/HDVN/2020_05/MOV_COM__2632318_2632318.jpg","IsFeatured":false,"IsOTTEnabled":true,"IsRebroadcast":false,"ShortDescription":"","SubTitle":"","Trailers":"","UrlSegment":"highlights/broadcast-schedule/93959/st-vincent","CreatedOn":"2022-03-16T00:15:45","UpdatedOn":"2022-03-16T00:15:45","ParentalRating":null},"RelatedSchedules":null}]}` + const content = + '{"SchedulesCount":1105,"ChannelsCount":28,"Schedules":[{"Id":12195,"ChannelId":7019,"ProgramId":35111026,"EpgProgramId":"1252496\\r","ShowingTime":"2022-03-15T06:15:00","EpgBroadcastId":"HD_ENT_DOC_LNO_21_2649421_2652183_4383385_OnAir","EpgId":"HD_ENT_DOC_LNO_21_2649421_2652183_4383385_OnAir","IsDeleted":false,"CreatedOn":"2022-03-15T06:22:45","UpdatedOn":"0001-01-01T00:00:00","Channel":{"Id":7019,"Name":"K+1 HD","Image":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","LiveUrlSegment":"highlights/broadcast-schedule/K-1-HD","FeatureImage":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","EpgId":null,"IsOTTEnabled":false,"StartOver":0,"DisplayOrder":0},"Program":{"Id":35111026,"Name":"WEEKLY FILMS AND STARS, EP740","BodyContent":"","Cast":"","Director":"","Duration":0,"EpgId":"93701","EpgProgramId":null,"Episode":0,"Genres":"Documentary","Images":"https://img.kplus.vn/images?filename=Media/HDVN/2022_02/ENT_DOC_LNO_21_2649421_2652183_2652183.jpg","IsFeatured":false,"IsOTTEnabled":true,"IsRebroadcast":false,"ShortDescription":"","SubTitle":"","Trailers":"","UrlSegment":"highlights/broadcast-schedule/93701/weekly-films-and-stars-ep740","CreatedOn":"2022-03-16T00:15:45","UpdatedOn":"2022-03-16T00:15:45","ParentalRating":null},"RelatedSchedules":null},{"Id":12196,"ChannelId":7019,"ProgramId":35111279,"EpgProgramId":"798685\\r","ShowingTime":"2022-03-15T07:00:00","EpgBroadcastId":"HD_MOV_COM__2632318_4383386_OnAir","EpgId":"HD_MOV_COM__2632318_4383386_OnAir","IsDeleted":false,"CreatedOn":"2022-03-15T07:02:46","UpdatedOn":"0001-01-01T00:00:00","Channel":{"Id":7019,"Name":"K+1 HD","Image":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","LiveUrlSegment":"highlights/broadcast-schedule/K-1-HD","FeatureImage":"https://kplus-website-production-cdn.azureedge.net/content/upload/7/images-mkt/logo-k-1-hd-new.png","EpgId":null,"IsOTTEnabled":false,"StartOver":0,"DisplayOrder":0},"Program":{"Id":35111279,"Name":"ST. VINCENT","BodyContent":"","Cast":"Bill Murray, Melissa McCarthy, Naomi Watts","Director":"Theodore Melfi","Duration":0,"EpgId":"93959","EpgProgramId":null,"Episode":0,"Genres":"Comedy","Images":"https://img.kplus.vn/images?filename=Media/HDVN/2020_05/MOV_COM__2632318_2632318.jpg","IsFeatured":false,"IsOTTEnabled":true,"IsRebroadcast":false,"ShortDescription":"","SubTitle":"","Trailers":"","UrlSegment":"highlights/broadcast-schedule/93959/st-vincent","CreatedOn":"2022-03-16T00:15:45","UpdatedOn":"2022-03-16T00:15:45","ParentalRating":null},"RelatedSchedules":null}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -59,7 +60,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"SchedulesCount":0,"ChannelsCount":0,"Schedules":[],"Channels":[],"MinDuration":0}`, + content: '{"SchedulesCount":0,"ChannelsCount":0,"Schedules":[],"Channels":[],"MinDuration":0}', channel }) expect(result).toMatchObject([]) diff --git a/sites/kvf.fo/kvf.fo.channels.xml b/sites/kvf.fo/kvf.fo.channels.xml index 50db3342..83f0c57a 100644 --- a/sites/kvf.fo/kvf.fo.channels.xml +++ b/sites/kvf.fo/kvf.fo.channels.xml @@ -1,6 +1,4 @@ - - - KVF Sjónvarp - - \ No newline at end of file + + KVF Sjónvarp + \ No newline at end of file diff --git a/sites/kvf.fo/kvf.fo.test.js b/sites/kvf.fo/kvf.fo.test.js index 21f30534..637ea272 100644 --- a/sites/kvf.fo/kvf.fo.test.js +++ b/sites/kvf.fo/kvf.fo.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/kvf.fo/kvf.fo.config.js --channels=sites/kvf.fo/kvf.fo.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=kvf.fo const { parser, url } = require('./kvf.fo.config.js') const fs = require('fs') @@ -30,7 +30,7 @@ it('can parse response', () => { expect(result[2]).toMatchObject({ start: '2021-11-21T18:05:00.000Z', stop: '2021-11-21T18:30:00.000Z', - title: `Letibygd 13` + title: 'Letibygd 13' }) }) @@ -38,7 +38,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: ` ` + content: ' ' }) expect(result).toMatchObject([]) }) diff --git a/sites/m.tv.sms.cz/m.tv.sms.cz.channels.xml b/sites/m.tv.sms.cz/m.tv.sms.cz.channels.xml index fcff0588..216da1d2 100644 --- a/sites/m.tv.sms.cz/m.tv.sms.cz.channels.xml +++ b/sites/m.tv.sms.cz/m.tv.sms.cz.channels.xml @@ -1,531 +1,529 @@ - - - - BN TV Satelitski - AMC Cesko - Animal Planet - Auto Motor und Sport - AXN Black - AXN - AXN White - Barrandov Krimi - Canal + Domo - Canal + Séries France - Canal+ Sport 1 - Cartoon Network - CBS Reality Europe - CGTN Arabic - CGTN Russkij - Channel 5 - 5 Kanal - 8 Kanal International - Cinemax 2 - Cinemax - CNN Prima News - Cool TV - Credo TV - Crime + Investigation - CS Film - CS History - CS Horror - CS Mystery - CT 1 - CT 2 - CT 24 - CT 3 - CT art - CT :D - CT Sport - Dave UK - Deluxe Lounge - Deluxe Music - Digi Sport 1 Hungary - Digi Sport 2 Hungary - Discovery Channel - Discovery Science - Disney Channel - DM Sat - Doma Hrvatska - Dom Kino - Dom Kino Premium International - DTX - Duck TV SD - Duck TV Plus - Duna TV - Duna World - RTVS 2 - E! Europe - Enter Film - Epic Drama - Eska TV - EuroNews Russkiy - Eurosport 1 - Eurosport 2 - FashionBox HD - Fast & FunBox HD - Fem 3 - FilmBox Action - FilmBox Central Europe - FilmBox Extra HD Czechia - FilmBox Extra HD Polska - FilmBox Family - FilmBox Premium Czechia - FilmBox Stars Czechia - Film Café Hungary - Film Europe - Film Europe + - Film Mánia - Film + Czechia - Film + Hungary - Fokus TV - Folklorika - Fox Crime Hrvatska - Fox Life Hrvatska - Fox Movies Hrvatska - Galaxy 4 - Gold TV - Golf Channel Czechia - HaHa TV - HBO 2 - HBO 3 - HBO - HGTV - Hír TV - History Channel - HNTV - Hobby TV - Home TV - HRT 1 - HRT 2 - HRT 3 - HRT 4 - HRT International - H!t Music Channel Hungary - Inter - Investigation Discovery Europe - Iris - Italia 1 - Italia 2 - Izaura TV - RTVS 1 - JimJam Europe - Joj 24 - Joj Cinema - Joj Family - Jojko - Joj Plus - Joj Šport - Wau TV - Jugoton TV - Jurnal TV - K2 - Kabel Eins Deutschland - Karusel International - KHL - Kino Barrandov - Kino Polska - Kino TV - Lala TV - Leo TV - Leo TV Gold - Love Nature - Luxe TV - M1 - M2 - M4 Sport - M5 - TV Markíza - Dajto - TV Doma - Markíza International - Markíza Krimi - Mediaset Extra - Mezzo Live HD - Minimax Czechia - Minimax Hungary - Mini TV - Mňam TV - Mňau TV - Movistar Acción - Movistar Comedia - Movistar Deportes - Movistar Drama - Movistar Estrenos - Movistar Golf - MTV 00s - MTV Hungary - Music Box Ukraina - Muzika Pervogo - Muzsika TV - Náš REGION TV - National Geographic Hrvatska - National Geographic - National Geographic Wild - Nickelodeon Czechia - Nick Jr Czechia - Nicktoons Czechia - Nova Action - Nova Cinema - Nova Fun - Nova Gold - Nova International - Nova Lady - Nova Sport 1 - Nova Sport 2 - Nova Sport 3 - Nova Sport 4 - Nova TV - Novela TV - N-TV - Nuta TV - Telekanal O! - O2 TV Fotbal - O2 TV Sport - O2 TV Sport 2 - O2 TV Sport 3 - O2 TV Sport 4 - O2 TV Sport 5 - O2 TV Sport 6 - O2 TV Tenis - Óčko - Óčko Black - Óčko Expres - Óčko Star - One - ORF 1 - ORF 2 - ORF III - Paramount Network - Park TV - Pax TV - Poehali! International - Polonia 1 - Polo TV - Polsat - Polsat 2 - Polsat Café - Polsat News - Polsat News 2 - Polsat Play - Polsat Sport - Polsat Sport Extra - Power TV - Premier Sport 1 - Premier Sport 2 - Prima - Prima Cool - Prima Krimi - Prima Love - Prima Max - Prima Plus - Prima Show - Prima Star - Prima Zoom - Private TV - ProSieben Deutschland - Puls 2 - Racing UK SD - Rai 1 - Rai 2 - Rai 3 - Rai 5 - Rai Gulp - Rai Movie - Rai News 24 - Rai Premium - Rai Sport 1 - Rai Sport 2 - Rai Storia - Rai Yoyo - RBB Berlin - Rebel - Red Carpet - Redlight HD - Relax - Rete 4 - Retro Music TV - RT Documentary - RTL 2 Hrvatska - RTL 4 - RTL 5 - RTL Crime Hrvatska - RTL Hrvatska - RTL Gold - RTL HÁROM - RTL - RTL KETTŐ - RTL Kockica - RTL Living Hrvatska - RTL Passion Hrvatska - RTL Zwei Deutschland - RTR Planeta - RTVi Europe - Rossiya 24 - Sat. 1 Deutschland - Sat. 1 Gold Deutschland - Senzi - Sixx Deutschland - Slágr Muzika - Slágr Original - Slágr Premium - Sláger TV - Sony Max Hungary - Sony Movie Channel Hungary - Sorozat + - Spektrum Czech - Spektrum Home Czech - Spektrum Home - Spektrum - RTVS Šport - Sport 1 Czechia - Sport 1 Hungary - Sport 2 Czechia - Sport 2 Hungary - Sport 5 - Stingray IConcerts - Stopklatka TV - Story 4 - Super Polsat - Super RTL Deutschland - Super TV 2 - Superyacht TV - TA 3 - Tagesschau 24 - TBN Polska - Telecafé International - TV Seznam - TF 1 - The Fishing & Hunting Channel - TLC Pan Regional - TMC - Travel Channel Europe - Travelxp HD Europe - RTVS 3 - TTV - Tuki TV - Turbo TV - TV 1000 Balkan - TV 2 - TV 2000 - TV 2 Séf - TV3 - TV3CAT - TV 4 - TV 4 - TV 6 - TV 7 - TV Osem - TV Barrandov - TVC - TV Central - TVCG Sat - Televízia Dolný Kubín - TVE Internacional Europa - TV Joj - TV Lux - TVN - TVN 24 - TVN 7 - TV Natura - TV Noe - TV Nova - TVN Turbo - TVP 1 - TVP 2 - TVP ABC - TV Paprika Czech Republic - TV Paprika - TVP HD - TVP Historia - TVP Info - TVP Kultura - TV Povazie - TVP Polonia - TVP Rozrywka - TVP Seriale - TVP Sport - TV Puls - TV Raj - TV Republika - Rik - TV Romana - TVS - TV Severka - TV Slovenija 1 - TV Slovenija 2 - TV TRWAM - TV Vega - TV Východ - UA TV - Ukraïna 24 - Up Network - Viasat Explore - Viasat History - Viasat Nature - VTV 1 - VTV 2 - VTV 3 - VTV 4 - Water Planet - W Polsce PL - Z1 - Zoom - Zoom TV - 3sat - Anixe HD Serie - ARD Alpha - Das Erste - Disney Channel Deutschland - HR Fernsehen - KIKA - Nitro Deutschland - Phoenix - RTL Deutschland - Welt - ZDF - ZDF Info - ZDF Neo - 360 Tune Box - Aljazeera Channel - Aljazeera English - Animal Planet UK - Arirang World - Babes TV - Baby TV Europe - BBC Entertainment Europe - BBC Four - BBC One - BBC Two - BBC World News Europe - Bloomberg TV Europe - Blue Hustler Europe - Boomerang Central & Eastern Europe - Brazzers TV Europe - CBBC - CCTV 4 Europe - CCTV 9 - Club MTV - CNN International Europe - Crime + Investigation UK - Desire TV - Disney Junior - DocuBox HD - Dorcel TV - Dorcel XXX - Dusk - DW Deutsch - E4 UK - Eden - English Club TV - Erox HD - Eroxxx HD - Eurochannel - EuroNews English - EuroNews Magyar - EWTN Europe - Extasy TV - Extreme Sports Channel - FashionTV Europe - FightBox HD - Film 4 - FilmBox Arthouse Worldwide - Food Network EMEA - France 24 English - Fuel TV - Gametoon - Ginx eSports TV International - Hustler HD Europe - Hustler TV Europe - ITV London - ITV 2 - ITV 3 - ITV 4 - KBS World - Lounge TV - More 4 UK - MTV 80s - MTV 90s - MTV Hits Europe - MTV Live - MTV UK - MyZen TV - MyZen TV 4K - NASA TV Public - NASA TV UHD Public - National Geographic HD UK - Nautical Channel - NBA TV - NHK World Japan - Outdoor Channel - Passion XXX - Pick UK - Playboy TV Europe - Reality Kings TV - RTG TV - Sky Arts UK - Sky Atlantic UK - Sky Cinema Action - Sky Cinema Drama - Sky Cinema Family - Sky Cinema Greats - Sky Cinema Hits - Sky Cinema Premiere - Sky Cinema Sci-fi Horror - Sky Cinema Select - Sky Comedy UK - Sky Crime - Sky History 2 - Sky News UK - Sky News International - Sky One UK - Sky Sci-Fi - Sky Sports Cricket - Sky Sports F1 - Sky Sports Football UK - Sky Sports Golf UK - Sky Sports Main Event UK - Sky Sports News UK - Sky Sports Premier League UK - Sky Witness UK - Stars TV - Stingray Classica - Stingray CMusic - Stingray Djazz - SuperOne HD - Trace Sport Stars - True Amateurs - Wild TV - #0 - Canal 24 Horas - CGTN Español - CGTN Français - France 24 Français - France 3 - Mezzo - TV5Monde Europe - Aljazeera Balkans - ATV - Comedy Central Family Hungary - Comedy Central Hungary - La 5 - BVN Europa - 4 Fun Dance - 4 Fun Kids - 4 Fun TV - Adventure - Belarus 24 - Biznes 24 - Cartoon Network Polska - 7D7 - Bober International - Perviy kanal - RTVS 24 - Arcadia TV - Arena Sport 1 - Arena Sport 2 - Chuck TV - CNL Evropa - Life TV - - + + + BN TV Satelitski + AMC Cesko + Animal Planet + Auto Motor und Sport + AXN Black + AXN + AXN White + Barrandov Krimi + Canal + Domo + Canal + Séries France + Canal+ Sport 1 + Cartoon Network + CBS Reality Europe + CGTN Arabic + CGTN Russkij + Channel 5 + 5 Kanal + 8 Kanal International + Cinemax 2 + Cinemax + CNN Prima News + Cool TV + Credo TV + Crime + Investigation + CS Film + CS History + CS Horror + CS Mystery + CT 1 + CT 2 + CT 24 + CT 3 + CT art + CT :D + CT Sport + Dave UK + Deluxe Lounge + Deluxe Music + Digi Sport 1 Hungary + Digi Sport 2 Hungary + Discovery Channel + Discovery Science + Disney Channel + DM Sat + Doma Hrvatska + Dom Kino + Dom Kino Premium International + DTX + Duck TV SD + Duck TV Plus + Duna TV + Duna World + RTVS 2 + E! Europe + Enter Film + Epic Drama + Eska TV + EuroNews Russkiy + Eurosport 1 + Eurosport 2 + FashionBox HD + Fast & FunBox HD + Fem 3 + FilmBox Action + FilmBox Central Europe + FilmBox Extra HD Czechia + FilmBox Extra HD Polska + FilmBox Family + FilmBox Premium Czechia + FilmBox Stars Czechia + Film Café Hungary + Film Europe + Film Europe + + Film Mánia + Film + Czechia + Film + Hungary + Fokus TV + Folklorika + Fox Crime Hrvatska + Fox Life Hrvatska + Fox Movies Hrvatska + Galaxy 4 + Gold TV + Golf Channel Czechia + HaHa TV + HBO 2 + HBO 3 + HBO + HGTV + Hír TV + History Channel + HNTV + Hobby TV + Home TV + HRT 1 + HRT 2 + HRT 3 + HRT 4 + HRT International + H!t Music Channel Hungary + Inter + Investigation Discovery Europe + Iris + Italia 1 + Italia 2 + Izaura TV + RTVS 1 + JimJam Europe + Joj 24 + Joj Cinema + Joj Family + Jojko + Joj Plus + Joj Šport + Wau TV + Jugoton TV + Jurnal TV + K2 + Kabel Eins Deutschland + Karusel International + KHL + Kino Barrandov + Kino Polska + Kino TV + Lala TV + Leo TV + Leo TV Gold + Love Nature + Luxe TV + M1 + M2 + M4 Sport + M5 + TV Markíza + Dajto + TV Doma + Markíza International + Markíza Krimi + Mediaset Extra + Mezzo Live HD + Minimax Czechia + Minimax Hungary + Mini TV + Mňam TV + Mňau TV + Movistar Acción + Movistar Comedia + Movistar Deportes + Movistar Drama + Movistar Estrenos + Movistar Golf + MTV 00s + MTV Hungary + Music Box Ukraina + Muzika Pervogo + Muzsika TV + Náš REGION TV + National Geographic Hrvatska + National Geographic + National Geographic Wild + Nickelodeon Czechia + Nick Jr Czechia + Nicktoons Czechia + Nova Action + Nova Cinema + Nova Fun + Nova Gold + Nova International + Nova Lady + Nova Sport 1 + Nova Sport 2 + Nova Sport 3 + Nova Sport 4 + Nova TV + Novela TV + N-TV + Nuta TV + Telekanal O! + O2 TV Fotbal + O2 TV Sport + O2 TV Sport 2 + O2 TV Sport 3 + O2 TV Sport 4 + O2 TV Sport 5 + O2 TV Sport 6 + O2 TV Tenis + Óčko + Óčko Black + Óčko Expres + Óčko Star + One + ORF 1 + ORF 2 + ORF III + Paramount Network + Park TV + Pax TV + Poehali! International + Polonia 1 + Polo TV + Polsat + Polsat 2 + Polsat Café + Polsat News + Polsat News 2 + Polsat Play + Polsat Sport + Polsat Sport Extra + Power TV + Premier Sport 1 + Premier Sport 2 + Prima + Prima Cool + Prima Krimi + Prima Love + Prima Max + Prima Plus + Prima Show + Prima Star + Prima Zoom + Private TV + ProSieben Deutschland + Puls 2 + Racing UK SD + Rai 1 + Rai 2 + Rai 3 + Rai 5 + Rai Gulp + Rai Movie + Rai News 24 + Rai Premium + Rai Sport 1 + Rai Sport 2 + Rai Storia + Rai Yoyo + RBB Berlin + Rebel + Red Carpet + Redlight HD + Relax + Rete 4 + Retro Music TV + RT Documentary + RTL 2 Hrvatska + RTL 4 + RTL 5 + RTL Crime Hrvatska + RTL Hrvatska + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + RTL Kockica + RTL Living Hrvatska + RTL Passion Hrvatska + RTL Zwei Deutschland + RTR Planeta + RTVi Europe + Rossiya 24 + Sat. 1 Deutschland + Sat. 1 Gold Deutschland + Senzi + Sixx Deutschland + Slágr Muzika + Slágr Original + Slágr Premium + Sláger TV + Sony Max Hungary + Sony Movie Channel Hungary + Sorozat + + Spektrum Czech + Spektrum Home Czech + Spektrum Home + Spektrum + RTVS Šport + Sport 1 Czechia + Sport 1 Hungary + Sport 2 Czechia + Sport 2 Hungary + Sport 5 + Stingray IConcerts + Stopklatka TV + Story 4 + Super Polsat + Super RTL Deutschland + Super TV 2 + Superyacht TV + TA 3 + Tagesschau 24 + TBN Polska + Telecafé International + TV Seznam + TF 1 + The Fishing & Hunting Channel + TLC Pan Regional + TMC + Travel Channel Europe + Travelxp HD Europe + RTVS 3 + TTV + Tuki TV + Turbo TV + TV 1000 Balkan + TV 2 + TV 2000 + TV 2 Séf + TV3 + TV3CAT + TV 4 + TV 4 + TV 6 + TV 7 + TV Osem + TV Barrandov + TVC + TV Central + TVCG Sat + Televízia Dolný Kubín + TVE Internacional Europa + TV Joj + TV Lux + TVN + TVN 24 + TVN 7 + TV Natura + TV Noe + TV Nova + TVN Turbo + TVP 1 + TVP 2 + TVP ABC + TV Paprika Czech Republic + TV Paprika + TVP HD + TVP Historia + TVP Info + TVP Kultura + TV Povazie + TVP Polonia + TVP Rozrywka + TVP Seriale + TVP Sport + TV Puls + TV Raj + TV Republika + Rik + TV Romana + TVS + TV Severka + TV Slovenija 1 + TV Slovenija 2 + TV TRWAM + TV Vega + TV Východ + UA TV + Ukraïna 24 + Up Network + Viasat Explore + Viasat History + Viasat Nature + VTV 1 + VTV 2 + VTV 3 + VTV 4 + Water Planet + W Polsce PL + Z1 + Zoom + Zoom TV + 3sat + Anixe HD Serie + ARD Alpha + Das Erste + Disney Channel Deutschland + HR Fernsehen + KIKA + Nitro Deutschland + Phoenix + RTL Deutschland + Welt + ZDF + ZDF Info + ZDF Neo + 360 Tune Box + Aljazeera Channel + Aljazeera English + Animal Planet UK + Arirang World + Babes TV + Baby TV Europe + BBC Entertainment Europe + BBC Four + BBC One + BBC Two + BBC World News Europe + Bloomberg TV Europe + Blue Hustler Europe + Boomerang Central & Eastern Europe + Brazzers TV Europe + CBBC + CCTV 4 Europe + CCTV 9 + Club MTV + CNN International Europe + Crime + Investigation UK + Desire TV + Disney Junior + DocuBox HD + Dorcel TV + Dorcel XXX + Dusk + DW Deutsch + E4 UK + Eden + English Club TV + Erox HD + Eroxxx HD + Eurochannel + EuroNews English + EuroNews Magyar + EWTN Europe + Extasy TV + Extreme Sports Channel + FashionTV Europe + FightBox HD + Film 4 + FilmBox Arthouse Worldwide + Food Network EMEA + France 24 English + Fuel TV + Gametoon + Ginx eSports TV International + Hustler HD Europe + Hustler TV Europe + ITV London + ITV 2 + ITV 3 + ITV 4 + KBS World + Lounge TV + More 4 UK + MTV 80s + MTV 90s + MTV Hits Europe + MTV Live + MTV UK + MyZen TV + MyZen TV 4K + NASA TV Public + NASA TV UHD Public + National Geographic HD UK + Nautical Channel + NBA TV + NHK World Japan + Outdoor Channel + Passion XXX + Pick UK + Playboy TV Europe + Reality Kings TV + RTG TV + Sky Arts UK + Sky Atlantic UK + Sky Cinema Action + Sky Cinema Drama + Sky Cinema Family + Sky Cinema Greats + Sky Cinema Hits + Sky Cinema Premiere + Sky Cinema Sci-fi Horror + Sky Cinema Select + Sky Comedy UK + Sky Crime + Sky History 2 + Sky News UK + Sky News International + Sky One UK + Sky Sci-Fi + Sky Sports Cricket + Sky Sports F1 + Sky Sports Football UK + Sky Sports Golf UK + Sky Sports Main Event UK + Sky Sports News UK + Sky Sports Premier League UK + Sky Witness UK + Stars TV + Stingray Classica + Stingray CMusic + Stingray Djazz + SuperOne HD + Trace Sport Stars + True Amateurs + Wild TV + #0 + Canal 24 Horas + CGTN Español + CGTN Français + France 24 Français + France 3 + Mezzo + TV5Monde Europe + Aljazeera Balkans + ATV + Comedy Central Family Hungary + Comedy Central Hungary + La 5 + BVN Europa + 4 Fun Dance + 4 Fun Kids + 4 Fun TV + Adventure + Belarus 24 + Biznes 24 + Cartoon Network Polska + 7D7 + Bober International + Perviy kanal + RTVS 24 + Arcadia TV + Arena Sport 1 + Arena Sport 2 + Chuck TV + CNL Evropa + Life TV + diff --git a/sites/m.tv.sms.cz/m.tv.sms.cz.config.js b/sites/m.tv.sms.cz/m.tv.sms.cz.config.js index 7e01c27a..fadfd686 100644 --- a/sites/m.tv.sms.cz/m.tv.sms.cz.config.js +++ b/sites/m.tv.sms.cz/m.tv.sms.cz.config.js @@ -13,7 +13,7 @@ module.exports = { parser: function ({ buffer, date }) { const programs = [] const items = parseItems(buffer) - items.forEach((item, i) => { + items.forEach(item => { const prev = programs[programs.length - 1] const $item = cheerio.load(item) let start = parseStart($item, date) diff --git a/sites/m.tv.sms.cz/m.tv.sms.cz.test.js b/sites/m.tv.sms.cz/m.tv.sms.cz.test.js index 49426b41..9346a5af 100644 --- a/sites/m.tv.sms.cz/m.tv.sms.cz.test.js +++ b/sites/m.tv.sms.cz/m.tv.sms.cz.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/m.tv.sms.cz/m.tv.sms.cz.config.js --channels=sites/m.tv.sms.cz/m.tv.sms.cz.channels.xml --output=guide.xml +// npm run grab -- --site=m.tv.sms.cz const { parser, url } = require('./m.tv.sms.cz.config.js') const iconv = require('iconv-lite') @@ -34,14 +34,14 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-06-11T03:21:00.000Z', stop: '2023-06-11T04:08:00.000Z', - title: `Conspiraciones al descubierto: La bomba atómica alemana y el hundimiento del Titanic`, + title: 'Conspiraciones al descubierto: La bomba atómica alemana y el hundimiento del Titanic', description: 'Documentales' }) expect(results[25]).toMatchObject({ start: '2023-06-12T02:23:00.000Z', stop: '2023-06-12T03:23:00.000Z', - title: `Rapa I (6)`, + title: 'Rapa I (6)', description: 'Series' }) }) @@ -50,7 +50,7 @@ it('can handle empty guide', () => { const result = parser({ buffer: iconv.encode( Buffer.from( - `` + '' ), 'win1250' ) diff --git a/sites/magentatv.at/magentatv.at.channels.xml b/sites/magentatv.at/magentatv.at.channels.xml index 57afa997..5663918c 100644 --- a/sites/magentatv.at/magentatv.at.channels.xml +++ b/sites/magentatv.at/magentatv.at.channels.xml @@ -1,219 +1,217 @@ - - - 1-2-3.tv - 13th Street HD - 3sat - Al Jazeera - ARD-alpha - ARTE Deutsch - ATV - ATV 2 - Auto Motor und Sport - Baby TV - BBC Entertainment Europe - BBC World News Europe - Bergblick - Bibel TV - Bloomberg - Blue Hustler Europe - Bon Gusto - Boomerang - Cartoon Network - CCTV 4 Europe - CGTN - Club MTV - CNBC - CNN - COMEDY CENTRAL - Crime + Investigation - Das Erste - DELUXE MUSIC - Disney Channel Deutschland - DMAX Austria - Duna TV - E! Europe - eSPORTS1 HD - euronews (D) - Eurosport 1 Germany - - Eurosport Turkey - Evil Angel TV - Extreme Sports Channel - Fashion TV - Film Klub - Fix&Foxi - France 24 (en francais) - GEO TV HD - GoTV - Gute Laune TV - Habertürk - Hayat TV - Heimatkanal - History Germany - HOME & GARDEN TV HD - HR Fernsehen - HRT TV 1 - HSE - HSE Extra - HSE Trend - HT 1 Innviertel - Hustler TV Europe - Kabel Eins Austria - Kabel Eins Classics - Kabel Eins Doku Austria - KIKA - Kinowelt TV HD - Klasik TV - Krone TV - K-TV - Kurier TV - Melodie TV - Motorvision - MTV - MTV 00s - MTV 80s - MTV 90s - MTV Hits Europe - MTV Live HD - N24 Doku - NatGeo HD - National Geographic Wild HD - Nick HD - Nick.Jr. - Nitro Austria - N-TV Austria - Oe24 TV - Okto TV - One - ORF 1 - ORF 2 Burgenland - ORF 2 Europe - ORF 2 Kärnten - ORF 2 NiederÖsterreich - ORF 2 OberÖsterreich - ORF 2 Salzburg - ORF 2 Steiermark - ORF 2 Tirol - ORF 2 Vorarlberg - ORF 2 Wien - ORF III - ORF Sport + - Phoenix - Pink Extra - Pink Film - Pink Music - Pink Plus - ProSieben Austria - ProSieben FUN HD - ProSieben Maxx Austria - Puls 24 - Puls 4 - QVC Deutschland - QVC Style Deutschland - QVC ZWEI - R9 - Rai Due - Rai Tre - Rai Uno - RBB Berlin - RiC - Romance TV - RTL Austria - RTL Crime Deutschland - RTL Living Deutschland - RTL Passion Deutschland - RTL Zwei Austria - RTLup - RTR Planeta - Sat. 1 Gold Österreich - Sat. 1 Österreich - SAT.1 emotions - Servus TV Österreich - Sixx Austria - Sky Atlantic HD - Sky Cinema Action HD - Sky Cinema Best Of HD - Sky Cinema Classics - Sky Cinema Family - Sky Cinema Fun - Sky Cinema Premieren +24 - Sky Cinema Premieren HD - Sky Cinema Special HD - Sky Cinema Thriller HD - Sky Comedy HD - Sky Crime HD - Sky Documentaries HD - Sky Krimi HD - Sky Nature HD - Sky One HD - Sky Replay - Sky Showcase - Sky Sport 1 HD - Sky Sport 10 HD - Sky Sport 11 HD - Sky Sport 12 HD - Sky Sport 13 HD - Sky Sport 14 HD - Sky Sport 2 HD - Sky Sport 3 HD - Sky Sport 4 HD - Sky Sport 5 HD - Sky Sport 6 HD - Sky Sport 7 HD - Sky Sport 8 HD - Sky Sport 9 HD - Sky Sport Austria 1 - Sky Sport Austria 2 - Sky Sport Austria 3 - Sky Sport Austria 4 - Sky Sport Austria 5 - Sky Sport Austria 6 - Sky Sport Austria 7 - Sky Sport Bundesliga 1 HD - Sky Sport Bundesliga 10 HD - Sky Sport Bundesliga 2 HD - Sky Sport Bundesliga 3 HD - Sky Sport Bundesliga 4 HD - Sky Sport Bundesliga 5 HD - Sky Sport Bundesliga 6 HD - Sky Sport Bundesliga 7 HD - Sky Sport Bundesliga 8 HD - Sky Sport Bundesliga 9 HD - Sky Sport F1 HD - Sky Sport Golf - Sky Sport News HD - Sky Sport Premier League - Spiegel Geschichte - Spiegel TV Wissen HD - Sport 1 - Sport 1+ - SPORTDIGITAL FUSSBALL - SR Fernsehen HD - Stingray All Day Party! - Stingray Classic R&B - Stingray Classic Rock - Super RTL Austria - SWR Fernsehen RP - SYFY HD - tagesschau24 HD - Tele 5 - Tirol TV - TLC Austria - Toxic TV - TRT World - TV Polonia - TV5MONDE Europe - Universal TV HD - Vesti - Volksmusik TV - Vox Austria - W24 - Warner TV Comedy HD - Warner TV Serie - WDR Fernsehen Köln - ZDF - ZDF Info - ZDF Neo - - + + + + Film Klub + Hayat TV + 1-2-3.tv + 13th Street HD + 3sat + ARD-alpha + ARTE Deutsch + ATV + ATV 2 + Auto Motor und Sport + Baby TV + Bergblick + Bibel TV + Bon Gusto + Boomerang + Cartoon Network + COMEDY CENTRAL + Crime + Investigation + Das Erste + DELUXE MUSIC + Disney Channel Deutschland + DMAX Austria + E! Europe + eSPORTS1 HD + euronews (D) + Eurosport 1 Germany + Evil Angel TV + Extreme Sports Channel + Fix&Foxi + GEO TV HD + GoTV + Gute Laune TV + Habertürk + Heimatkanal + HOME & GARDEN TV HD + History Germany + HR Fernsehen + HSE + HSE Extra + HSE Trend + HT 1 Innviertel + Kabel Eins Austria + Kabel Eins Doku Austria + Kabel Eins Classics + KIKA + Kinowelt TV HD + Krone TV + K-TV + Kurier TV + Melodie TV + Motorvision + MTV 00s + MTV 80s + MTV + N24 Doku + NatGeo HD + National Geographic Wild HD + Nick.Jr. + Nitro Austria + N-TV Austria + Oe24 TV + Okto TV + One + ORF 1 + ORF 2 Burgenland + ORF 2 Europe + ORF 2 Kärnten + ORF 2 NiederÖsterreich + ORF 2 OberÖsterreich + ORF 2 Salzburg + ORF 2 Steiermark + ORF 2 Tirol + ORF 2 Vorarlberg + ORF 2 Wien + ORF III + ORF Sport + + Phoenix + ProSieben Austria + ProSieben FUN HD + ProSieben Maxx Austria + Puls 24 + Puls 4 + QVC ZWEI + QVC Deutschland + QVC Style Deutschland + R9 + RBB Berlin + RiC + Romance TV + RTL Crime Deutschland + RTL Austria + RTL Living Deutschland + RTL Passion Deutschland + RTLup + RTL Zwei Austria + RTR Planeta + Sat. 1 Österreich + SAT.1 emotions + Sat. 1 Gold Österreich + Servus TV Österreich + Sixx Austria + Sky Atlantic HD + Sky Cinema Action HD + Sky Cinema Best Of HD + Sky Cinema Classics + Sky Cinema Family + Sky Cinema Fun + Sky Cinema Premieren HD + Sky Cinema Premieren +24 + Sky Cinema Special HD + Sky Cinema Thriller HD + Sky Comedy HD + Sky Crime HD + Sky Documentaries HD + Sky Krimi HD + Sky Nature HD + Sky One HD + Sky Replay + Sky Showcase + Sky Sport 10 HD + Sky Sport 11 HD + Sky Sport 12 HD + Sky Sport 13 HD + Sky Sport 14 HD + Sky Sport 1 HD + Sky Sport 2 HD + Sky Sport 3 HD + Sky Sport 4 HD + Sky Sport 5 HD + Sky Sport 6 HD + Sky Sport 7 HD + Sky Sport 8 HD + Sky Sport 9 HD + Sky Sport Austria 1 + Sky Sport Austria 2 + Sky Sport Austria 3 + Sky Sport Austria 4 + Sky Sport Austria 5 + Sky Sport Austria 6 + Sky Sport Austria 7 + Sky Sport Bundesliga 1 HD + Sky Sport Bundesliga 10 HD + Sky Sport Bundesliga 2 HD + Sky Sport Bundesliga 3 HD + Sky Sport Bundesliga 4 HD + Sky Sport Bundesliga 5 HD + Sky Sport Bundesliga 6 HD + Sky Sport Bundesliga 7 HD + Sky Sport Bundesliga 8 HD + Sky Sport Bundesliga 9 HD + Sky Sport F1 HD + Sky Sport Golf + Sky Sport News HD + Sky Sport Premier League + Spiegel Geschichte + Spiegel TV Wissen HD + Sport 1 + Sport 1+ + SPORTDIGITAL FUSSBALL + SR Fernsehen HD + Stingray All Day Party! + Stingray Classic R&B + Stingray Classic Rock + Super RTL Austria + SWR Fernsehen RP + SYFY HD + tagesschau24 HD + Tele 5 + Tirol TV + TLC Austria + Universal TV HD + Volksmusik TV + Vox Austria + W24 + Warner TV Comedy HD + Warner TV Serie + WDR Fernsehen Köln + ZDF + ZDF Info + ZDF Neo + Al Jazeera + BBC Entertainment Europe + BBC World News Europe + Bloomberg + Blue Hustler Europe + CCTV 4 Europe + CGTN + Club MTV + CNBC + CNN + Fashion TV + Hustler TV Europe + MTV 90s + MTV Hits Europe + MTV Live HD + TRT World + France 24 (en francais) + TV5MONDE Europe + HRT TV 1 + Duna TV + Rai Uno + Rai Due + Rai Tre + TV Polonia + Klasik TV + Pink Extra + Pink Film + Pink Music + Pink Plus + Toxic TV + Vesti + Eurosport Turkey + diff --git a/sites/magentatv.at/magentatv.at.config.js b/sites/magentatv.at/magentatv.at.config.js index 6e768fce..71f16b0e 100644 --- a/sites/magentatv.at/magentatv.at.config.js +++ b/sites/magentatv.at/magentatv.at.config.js @@ -21,25 +21,19 @@ module.exports = { if (!items.length) return programs const promises = [ axios.get( - `${API_STATIC_ENDPOINT}/de/events/segments/${date - .add(6, 'h') - .format('YYYYMMDDHHmmss')}`, + `${API_STATIC_ENDPOINT}/de/events/segments/${date.add(6, 'h').format('YYYYMMDDHHmmss')}`, { responseType: 'arraybuffer' } ), axios.get( - `${API_STATIC_ENDPOINT}/de/events/segments/${date - .add(12, 'h') - .format('YYYYMMDDHHmmss')}`, + `${API_STATIC_ENDPOINT}/de/events/segments/${date.add(12, 'h').format('YYYYMMDDHHmmss')}`, { responseType: 'arraybuffer' } ), axios.get( - `${API_STATIC_ENDPOINT}/de/events/segments/${date - .add(18, 'h') - .format('YYYYMMDDHHmmss')}`, + `${API_STATIC_ENDPOINT}/de/events/segments/${date.add(18, 'h').format('YYYYMMDDHHmmss')}`, { responseType: 'arraybuffer' } diff --git a/sites/magentatv.at/magentatv.at.test.js b/sites/magentatv.at/magentatv.at.test.js index 8785663c..de0c538a 100644 --- a/sites/magentatv.at/magentatv.at.test.js +++ b/sites/magentatv.at/magentatv.at.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/magentatv.at/magentatv.at.config.js --output=./sites/magentatv.at/magentatv.at.channels.xml -// npx epg-grabber --config=sites/magentatv.at/magentatv.at.config.js --channels=sites/magentatv.at/magentatv.at.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=magentatv.at const { parser, url } = require('./magentatv.at.config.js') const fs = require('fs') @@ -91,7 +91,7 @@ it('can parse response', async () => { }) it('can handle empty guide', async () => { - let results = await parser({ content: ``, channel, date }) + let results = await parser({ content: '', channel, date }) expect(results).toMatchObject([]) }) diff --git a/sites/magentatv.de/magentatv.de.channels.xml b/sites/magentatv.de/magentatv.de.channels.xml index 1e923afc..17aa69f4 100644 --- a/sites/magentatv.de/magentatv.de.channels.xml +++ b/sites/magentatv.de/magentatv.de.channels.xml @@ -1,263 +1,261 @@ - - - 1-2-3.tv - 13TH STREET - 3sat - ALEX Berlin - allgäu.tv - altenburg.tv - Animal Planet - ANIXE HD Serie - ANIXE+ - ARD-alpha - ARTE - a.tv - auto motor und sport - Baby TV - Baden TV - Baden TV Süd - BBC World - Beate-Uhse.TV (Sky) - beIN iZ - beIN Movies Turk - Bergblick - Bibel TV - BILD - Blue Hustler - BonGusto - Boomerang - BR Fernsehen Nord - BR Fernsehen Süd - Cartoon Network - CEM TV - CHANNEL21 - Chemnitz Fernsehen - Classica (Sky) - CNN International - Comedy Central - Nick/Comedy Central+1 - Crime+Investigation - #dabeiTV - Das Erste - DELUXE MUSIC - Deutsches Musik Fernsehen - Discovery Channel - Disney Channel - DMAX - Dresden Fernsehen - DW - E! Entertainment - ems TV - eSPORTS1 - Euro D - Euronews Deutsch - Euronews Italiano - Euronews Russki - Eurosport 1 - Eurosport 2 - Eurostar TV - Extreme Sports - Fashion TV - FC BAYERN.TV LIVE - France 24 francais - Franken Fernsehen - Friesischer Rundfunk - GEO Television - Habertürk TV - Hamburg 1 - HAUPTSTADT.TV - Heimatkanal - HGTV - The HISTORY Channel - hr-fernsehen - HSE - iTVN - Jukebox - Junior (Sky) - Juwelo - Kabel Eins CLASSICS - Kabel Eins - Kabel Eins Doku - Kanal 7 - KiKA - KinoweltTV - K-TV - LAUSITZWELLE - Leipzig Fernsehen - L-TV - Lust pur - MagentaSport - Marco Polo TV - MDF.1 Fernsehen - MDR-Fernsehen Sachsen - MDR-Fernsehen Sachsen-Anhalt - MDR-Fernsehen Thüringen - More Than Sports TV - MOTORVISION.TV - MTV - münchen.tv - N24 Doku - Kinomir - National Geographic - National Geographic Wild - NDR Fernsehen Hamburg - NDR Fernsehen Mecklenburg-Vorpommern - NDR Fernsehen Niedersachsen - NDR Fernsehen Schleswig-Holstein - Nick Jr. - Nicktoons (Sky) - NIEDERBAYERN TV - DEG - NIEDERBAYERN TV - LA - NIEDERBAYERN TV - PA - NITRO - nrwision - n-tv - Oberpfalz TV - OF-TV - OK4 - OK54 Trier - OK-TV Ludwigshafen - OK:TV Mainz - OK Weinstraße - ONE - OstWest - Penthouse Passion - phoenix - Playboy Europe - ProSieben - ProSieben FUN - ProSieben MAXX - QVC - Radio Bremen TV - Rai 1 - Rai 2 - Rai 3 - rbb fernsehen Berlin - rbb fernsehen Brandenburg - Red Bull TV - Rennsteig.TV - RFH Regionalfernsehen Harz - RFO - Rhein-Main TV - RNF - Romance TV - RTL Crime - RTL - RTL Hessen - RTL Living - RTL HH SH - RTL HB NDS - RTL Passion - RTLup - RTL NRW - RTLZWEI - RTR Planeta - salve.tv - SAT.1 Bayern - SAT.1 - SAT.1 emotions - SAT.1 GOLD - SAT.1 HH SH - SAT.1 NDS Bremen - SAT.1 NRW - SAT.1 RhlPf Hessen - ServusTV - Shop LC - Show Max - Show Turk - sixx - SkyAtlantic - Sky Cinema Action - Sky Cinema Best of - Sky Cinema Classics - Sky Cinema Family - Sky Cinema Fun - Sky Cinema Mittelerde - Sky Cinema Premieren - Sky Cinema Premieren +24 - Sky Cinema Thriller - Sky Comedy - Sky Crime - Sky Documentaries - SkyKrimi - Sky Nature - Sky One - Sky Sport 1 - Sky Sport 10 - Sky Sport 11 - Sky Sport 2 - Sky Sport 3 - Sky Sport 4 - Sky Sport 5 - Sky Sport 6 - Sky Sport 7 - Sky Sport 8 - Sky Sport 9 - Sky Sport Bundesliga 1 - Sky Sport Bundesliga 10 - Sky Sport Bundesliga 2 - Sky Sport Bundesliga 3 - Sky Sport Bundesliga 4 - Sky Sport Bundesliga 5 - Sky Sport Bundesliga 6 - Sky Sport Bundesliga 7 - Sky Sport Bundesliga 8 - Sky Sport Bundesliga 9 - Sky Sport F1 - Sky Sport News - sonnenklar.TV - SONY AXN - SONY CHANNEL - Spiegel Geschichte - Spiegel TV Wissen - SPORT1 - SPORT1+ - SPORTDIGITAL FUSSBALL - SR Fernsehen - Studio 47 - Super RTL - SWR Fernsehen BW - SWR Fernsehen RP - SYFY - tagesschau24 - TELE 5 - TeleBom/TeleDom - TLC - TOGGO plus - TV8 Int - TVA Ostbayern - tv.berlin - tv.ingolstadt - TV Mainfranken - TV Mittelrhein - TV Oberfranken - TV Polonia - TV Westsachsen - ÜLKE TV - Universal TV - VOX - VOXup - Warner TV Comedy - Warner TV Film - Warner TV Serie - WDR Fernsehen Aachen - WDR Fernsehen Bielefeld - WDR Fernsehen Bonn - WDR Fernsehen Dortmund - WDR Fernsehen Duisburg - WDR Fernsehen Düsseldorf - WDR Fernsehen Essen - WDR Fernsehen Köln - WDR Fernsehen Münster - WDR Fernsehen Siegen - WDR Fernsehen Wuppertal - WELT - Welt der Wunder - wetter.com TV - WWTV - ZDF - ZDFinfo - ZDFneo - - + + 1-2-3.tv + 13TH STREET + SAT.1 Bayern + SAT.1 RhlPf Hessen + SAT.1 HH SH + SAT.1 NDS Bremen + 3sat + ALEX Berlin + allgäu.tv + altenburg.tv + Animal Planet + ANIXE HD Serie + ANIXE+ + ARD-alpha + ARTE + a.tv + auto motor und sport + Baby TV + Baden TV + Baden TV Süd + BBC World + Beate-Uhse.TV (Sky) + beIN iZ + beIN Movies Turk + Bergblick + Bibel TV + BILD + Blue Hustler + BonGusto + Boomerang + BR Fernsehen Nord + BR Fernsehen Süd + Cartoon Network + CEM TV + CHANNEL21 + Classica (Sky) + CNN International + Comedy Central + Nick/Comedy Central+1 + Crime+Investigation + #dabeiTV + Das Erste + DELUXE MUSIC + Deutsches Musik Fernsehen + Discovery Channel + Disney Channel + DMAX + DW + E! Entertainment + ems TV + eSPORTS1 + Euro D + Euronews Deutsch + Euronews Italiano + Euronews Russki + Eurosport 1 + Eurosport 2 + Eurostar TV + Extreme Sports + Fashion TV + FC BAYERN.TV LIVE + France 24 francais + Franken Fernsehen + Friesischer Rundfunk + GEO Television + Habertürk TV + Hamburg 1 + HAUPTSTADT.TV + Heimatkanal + HGTV + The HISTORY Channel + hr-fernsehen + HSE + iTVN + Jukebox + Junior (Sky) + Juwelo + Kabel Eins + Kabel Eins CLASSICS + Kabel Eins Doku + Kanal 7 + KiKA + KinoweltTV + K-TV + LAUSITZWELLE + L-TV + Lust pur + MagentaSport + Marco Polo TV + MDF.1 Fernsehen + MDR-Fernsehen Sachsen + MDR-Fernsehen Sachsen-Anhalt + MDR-Fernsehen Thüringen + More Than Sports TV + MOTORVISION.TV + MTV + münchen.tv + N24 Doku + Kinomir + National Geographic + National Geographic Wild + NDR Fernsehen Hamburg + NDR Fernsehen Mecklenburg-Vorpommern + NDR Fernsehen Niedersachsen + NDR Fernsehen Schleswig-Holstein + Nick Jr. + Nicktoons (Sky) + NIEDERBAYERN TV - DEG + NIEDERBAYERN TV - LA + NIEDERBAYERN TV - PA + NITRO + nrwision + n-tv + Oberpfalz TV + OF-TV + OK4 + OK54 Trier + OK-TV Ludwigshafen + OK:TV Mainz + OK Weinstraße + ONE + OstWest + Penthouse Passion + phoenix + Playboy Europe + ProSieben + ProSieben FUN + ProSieben MAXX + QVC + Radio Bremen TV + Rai 1 + Rai 2 + Rai 3 + rbb fernsehen Berlin + rbb fernsehen Brandenburg + Red Bull TV + Rennsteig.TV + RFH Regionalfernsehen Harz + RFO + Rhein-Main TV + RNF + Romance TV + RTL Crime + RTL + RTL Hessen + RTL Living + RTL HH SH + RTL HB NDS + RTL Passion + RTLup + RTL NRW + RTLZWEI + RTR Planeta + Chemnitz Fernsehen + Dresden Fernsehen + Leipzig Fernsehen + salve.tv + SAT.1 + SAT.1 emotions + SAT.1 GOLD + SAT.1 NRW + ServusTV + Shop LC + Show Max + Show Turk + sixx + SkyAtlantic + Sky Cinema Action + Sky Cinema Best of + Sky Cinema Classics + Sky Cinema Family + Sky Cinema Fun + Sky Cinema Mittelerde + Sky Cinema Premieren + Sky Cinema Premieren +24 + Sky Cinema Thriller + Sky Comedy + Sky Crime + Sky Documentaries + SkyKrimi + Sky Nature + Sky One + Sky Sport 10 + Sky Sport 11 + Sky Sport 1 + Sky Sport 2 + Sky Sport 3 + Sky Sport 4 + Sky Sport 5 + Sky Sport 6 + Sky Sport 7 + Sky Sport 8 + Sky Sport 9 + Sky Sport Bundesliga 1 + Sky Sport Bundesliga 10 + Sky Sport Bundesliga 2 + Sky Sport Bundesliga 3 + Sky Sport Bundesliga 4 + Sky Sport Bundesliga 5 + Sky Sport Bundesliga 6 + Sky Sport Bundesliga 7 + Sky Sport Bundesliga 8 + Sky Sport Bundesliga 9 + Sky Sport F1 + Sky Sport News + sonnenklar.TV + SONY AXN + SONY CHANNEL + Spiegel Geschichte + Spiegel TV Wissen + SPORT1 + SPORT1+ + SPORTDIGITAL FUSSBALL + SR Fernsehen + Studio 47 + Super RTL + SWR Fernsehen BW + SWR Fernsehen RP + SYFY + tagesschau24 + TELE 5 + TeleBom/TeleDom + TLC + TOGGO plus + TV8 Int + TVA Ostbayern + tv.berlin + tv.ingolstadt + TV Mainfranken + TV Mittelrhein + TV Oberfranken + TV Polonia + TV Westsachsen + ÜLKE TV + Universal TV + VOX + VOXup + Warner TV Comedy + Warner TV Film + Warner TV Serie + WDR Fernsehen Aachen + WDR Fernsehen Bielefeld + WDR Fernsehen Bonn + WDR Fernsehen Dortmund + WDR Fernsehen Duisburg + WDR Fernsehen Düsseldorf + WDR Fernsehen Essen + WDR Fernsehen Köln + WDR Fernsehen Münster + WDR Fernsehen Siegen + WDR Fernsehen Wuppertal + WELT + Welt der Wunder + wetter.com TV + WWTV + ZDF + ZDFinfo + ZDFneo + diff --git a/sites/magentatv.de/magentatv.de.config.js b/sites/magentatv.de/magentatv.de.config.js index ce6ffab1..4edefacc 100644 --- a/sites/magentatv.de/magentatv.de.config.js +++ b/sites/magentatv.de/magentatv.de.config.js @@ -8,8 +8,7 @@ const COOKIE = module.exports = { site: 'magentatv.de', days: 2, - skip: true, // the site uses a constantly updated session ID - url: `https://api.prod.sngtv.magentatv.de/EPG/JSON/PlayBillList`, + url: 'https://api.prod.sngtv.magentatv.de/EPG/JSON/PlayBillList', request: { method: 'POST', headers: { @@ -54,7 +53,7 @@ module.exports = { async channels() { const data = await axios .post( - `https://api.prod.sngtv.magentatv.de/EPG/JSON/AllChannel`, + 'https://api.prod.sngtv.magentatv.de/EPG/JSON/AllChannel', { channelNamespace: 2, filterlist: [ diff --git a/sites/magentatv.de/magentatv.de.test.js b/sites/magentatv.de/magentatv.de.test.js index 430577a2..42a30a11 100644 --- a/sites/magentatv.de/magentatv.de.test.js +++ b/sites/magentatv.de/magentatv.de.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/magentatv.de/magentatv.de.config.js --output=./sites/magentatv.de/magentatv.de.channels.xml -// npx epg-grabber --config=sites/magentatv.de/magentatv.de.config.js --channels=sites/magentatv.de/magentatv.de.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=magentatv.de const { parser, url, request } = require('./magentatv.de.config.js') const dayjs = require('dayjs') @@ -50,7 +50,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `{"playbilllist":[{"id":"30021745","name":"FBI: Special Crime Unit","introduce":"Nachdem ein Mann von einem Sprengstoffpaket getötet wurde, das zu ihm nach Hause geschickt wurde, versucht das Team, den Absender zu fassen und sein neuestes tödliches Paket abzufangen. Maggie hat Mühe, ihrer jüngeren Schwester zu vertrauen.","channelid":"255","starttime":"2022-03-09 01:00:00 UTC+01:00","endtime":"2022-03-09 01:45:00 UTC+01:00","genres":"Wissen,Natur und Tiere","pictures":[{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/9/p19740197_e_h9_af.jpg","description":"Brother's Keeper","imageType":"1","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1440","1080"]},{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/5/p15528073_i_h9_ae.jpg","description":"FBI","imageType":"13","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1440","1080"]},{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/9/p19740197_e_h8_af.jpg","description":"Brother's Keeper","imageType":"17","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1920","1080"]},{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/5/p15528073_i_h10_af.jpg","description":"FBI","imageType":"18","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1920","1080"]}]}]}` + const content = + '{"playbilllist":[{"id":"30021745","name":"FBI: Special Crime Unit","introduce":"Nachdem ein Mann von einem Sprengstoffpaket getötet wurde, das zu ihm nach Hause geschickt wurde, versucht das Team, den Absender zu fassen und sein neuestes tödliches Paket abzufangen. Maggie hat Mühe, ihrer jüngeren Schwester zu vertrauen.","channelid":"255","starttime":"2022-03-09 01:00:00 UTC+01:00","endtime":"2022-03-09 01:45:00 UTC+01:00","genres":"Wissen,Natur und Tiere","pictures":[{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/9/p19740197_e_h9_af.jpg","description":"Brother\'s Keeper","imageType":"1","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1440","1080"]},{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/5/p15528073_i_h9_ae.jpg","description":"FBI","imageType":"13","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1440","1080"]},{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/9/p19740197_e_h8_af.jpg","description":"Brother\'s Keeper","imageType":"17","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1920","1080"]},{"rel":"image","href":"http://ngiss.t-online.de/sweetprogrammanager/media/gracenote/1/5/p15528073_i_h10_af.jpg","description":"FBI","imageType":"18","copyrightNotice":"(c) ProSiebenSat.1","mimeType":"image/jpeg","resolution":["1920","1080"]}]}]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -72,7 +73,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"counttotal":"0"}` + content: '{"counttotal":"0"}' }) expect(result).toMatchObject([]) }) diff --git a/sites/magticom.ge/magticom.ge.channels.xml b/sites/magticom.ge/magticom.ge.channels.xml index 1cfeb586..56b55df4 100644 --- a/sites/magticom.ge/magticom.ge.channels.xml +++ b/sites/magticom.ge/magticom.ge.channels.xml @@ -1,119 +1,117 @@ - - - 360 Tune Box - BBC World News Europe - CNBC Europe - CNN International Europe - Erox HD - FashionBox HD - France 24 English - MTV 80s - MTV Russia - RT News - 2 TV - Adjarasport 1 - Adjarasport 2 - Ajara TV - Brazzers TV Europe - Chveni Magti - Comedy TV - Dardimandi - Enki Benki - Ertsulovneba - 1 TV - Formula - GDS TV - Gurjaani TV - Imedi TV - Kavkasia TV - Maestro - Magti Hiti - Magti Kino - Marao TV - Mtavari Arkhi - Obieqtivi TV - Palitra News - Pos TV - Qartuli Arkhi - Quality Channel - Redlight HD - Rioni TV - Rugby TV - Rustavi 2 - Saperavi TV HD - Setanta Sports Georgia - Setanta Sports + Georgia - Silk Universal - TV 25 - TV Pirveli - A1 - A2 - Amedia Hit - Amedia Premium - Armenia 1 TV - Avto 24 - Az TV - Bollywood TV Rossiya - Cartoon Network Russia & South East Europe - Cinéma - STS International - Nastoyashcheye Vremya - Da Vinci - Discovery Science Rossiya - DocuBox HD - Domashniy - Dom Kino - Dom Kino Premium - DTX Rossiya - Duck TV SD - EuroNews Russkiy - Evrokino - Fast & FunBox HD - FightBox HD - FilmBox Arthouse Worldwide - FilmBox Russia - Fox Russia - Pyatnitsa! International - Gulli Girl - Hollywood HD - Illusion + - Investigation Discovery Rossiya - Istoriya - Karusel International - Mezzo - Moya Planeta - Mult - National Geographic Russia - National Geographic Wild Russia - Nauka - Nickelodeon CIS - Nick Jr CIS - NST - Telekanal O! - Ohotnik i Rybolov - Paramount Channel Russia - Paramount Comedy Russia - Peretz International - RBK TV - RTR Planeta - RTVi Europe - Rossiya 24 - Rossiya K - Russkiy Illusion - Sarafan - Tiji Russia - TNT Music - TV 1000 Action - TV 1000 East - TV 1000 Russkoe Kino - TV XXI - Viasat Explore East - Viasat History - Viasat Nature East - Viasat Sport East - Zagorodny International - Zhivaya Planeta - - - \ No newline at end of file + + + 360 Tune Box + BBC World News Europe + CNBC Europe + CNN International Europe + Erox HD + FashionBox HD + France 24 English + MTV 80s + MTV Russia + RT News + 1 TV + 2 TV + Adjarasport 1 + Adjarasport 2 + Ajara TV + Brazzers TV Europe + Chveni Magti + Comedy TV + Dardimandi + Enki Benki + Ertsulovneba + Formula + GDS TV + Gurjaani TV + Imedi TV + Kavkasia TV + Maestro + Magti Hiti + Magti Kino + Marao TV + Mtavari Arkhi + Obieqtivi TV + Palitra News + Pos TV + Qartuli Arkhi + Quality Channel + Redlight HD + Rioni TV + Rugby TV + Rustavi 2 + Saperavi TV HD + Setanta Sports Georgia + Setanta Sports + Georgia + Silk Universal + TV 25 + TV Pirveli + A1 + A2 + Amedia Hit + Amedia Premium + Armenia 1 TV + Avto 24 + Az TV + Bollywood TV Rossiya + Cartoon Network Russia & South East Europe + Cinéma + STS International + Nastoyashcheye Vremya + Da Vinci + Discovery Science Rossiya + DocuBox HD + Domashniy + Dom Kino + Dom Kino Premium + DTX Rossiya + Duck TV SD + EuroNews Russkiy + Evrokino + Fast & FunBox HD + FightBox HD + FilmBox Arthouse Worldwide + FilmBox Russia + Fox Russia + Pyatnitsa! International + Gulli Girl + Hollywood HD + Illusion + + Investigation Discovery Rossiya + Istoriya + Karusel International + Mezzo + Moya Planeta + Mult + National Geographic Russia + National Geographic Wild Russia + Nauka + Nickelodeon CIS + Nick Jr CIS + NST + Telekanal O! + Ohotnik i Rybolov + Paramount Channel Russia + Paramount Comedy Russia + Peretz International + RBK TV + RTR Planeta + RTVi Europe + Rossiya 24 + Rossiya K + Russkiy Illusion + Sarafan + Tiji Russia + TNT Music + TV 1000 Action + TV 1000 East + TV 1000 Russkoe Kino + TV XXI + Viasat Explore East + Viasat History + Viasat Nature East + Viasat Sport East + Zagorodny International + Zhivaya Planeta + \ No newline at end of file diff --git a/sites/magticom.ge/magticom.ge.config.js b/sites/magticom.ge/magticom.ge.config.js index 661f54e9..61044471 100644 --- a/sites/magticom.ge/magticom.ge.config.js +++ b/sites/magticom.ge/magticom.ge.config.js @@ -42,9 +42,9 @@ module.exports = { return programs }, - async channels({ country, lang }) { + async channels() { const html = await axios - .get(`https://www.magticom.ge/en/tv/tv-services/tv-guide`) + .get('https://www.magticom.ge/en/tv/tv-services/tv-guide') .then(r => r.data) .catch(console.log) @@ -77,7 +77,9 @@ function parseItems(content) { let data try { data = JSON.parse(content) - } catch (err) {} + } catch (error) { + console.log(error.message) + } if (!data || !Array.isArray(data)) return [] return data diff --git a/sites/magticom.ge/magticom.ge.test.js b/sites/magticom.ge/magticom.ge.test.js index bdcf4a8d..9282ebde 100644 --- a/sites/magticom.ge/magticom.ge.test.js +++ b/sites/magticom.ge/magticom.ge.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/magticom.ge/magticom.ge.config.js --output=./sites/magticom.ge/magticom.ge.channels.xml -// npx epg-grabber --config=sites/magticom.ge/magticom.ge.config.js --channels=sites/magticom.ge/magticom.ge.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/magticom.ge/magticom.ge.config.js --output=./sites/magticom.ge/magticom.ge.channels.xml +// npm run grab -- --site=magticom.ge const { parser, url, request } = require('./magticom.ge.config.js') const dayjs = require('dayjs') @@ -37,7 +37,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `[{\"id\":2313254118,\"channelId\":260,\"startTimestamp\":\"2021-11-22T07:00:00\",\"endTimestamp\":\"2021-11-22T09:00:00\",\"duration\":null,\"title\":\"\\u0425\\\/\\u0444 \\\"\\u041d\\u0435\\u0440\\u0430\\u0432\\u043d\\u044b\\u0439 \\u0431\\u0440\\u0430\\u043a\\\".\",\"subTitle\":\"\\u0425\\\/\\u0444 \\\"\\u041d\\u0435\\u0440\\u0430\\u0432\\u043d\\u044b\\u0439 \\u0431\\u0440\\u0430\\u043a\\\".\",\"info\":\"\\u0413\\u0443\\u0434\\u0436\\u0430\\u0440\\u0430\\u0442\\u0435\\u0446 \\u0425\\u0430\\u0441\\u043c\\u0443\\u043a\\u0445 \\u041f\\u0430\\u0442\\u0435\\u043b \\u043f\\u043e\\u0441\\u0441\\u043e\\u0440\\u0438\\u043b\\u0441\\u044f \\u0441 \\u043d\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0435\\u0434\\u043e\\u043c \\u0413\\u0443\\u0433\\u0433\\u0438 \\u0422\\u0430\\u043d\\u0434\\u043e\\u043d\\u043e\\u043c. \\u041d\\u043e \\u0438\\u043c \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u043f\\u043e\\u043c\\u0438\\u0440\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0438\\u0445 \\u0434\\u0435\\u0442\\u0438 \\u0432\\u043b\\u044e\\u0431\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0440\\u0443\\u0433 \\u0432 \\u0434\\u0440\\u0443\\u0433\\u0430. \\u0420\\u0435\\u0436\\u0438\\u0441\\u0441\\u0435\\u0440: \\u0421\\u0430\\u043d\\u0434\\u0436\\u0430\\u0439 \\u0427\\u0445\\u0435\\u043b. \\u0410\\u043a\\u0442\\u0435\\u0440\\u044b: \\u0420\\u0438\\u0448\\u0438 \\u041a\\u0430\\u043f\\u0443\\u0440, \\u041f\\u0430\\u0440\\u0435\\u0448 \\u0420\\u0430\\u0432\\u0430\\u043b, \\u0412\\u0438\\u0440 \\u0414\\u0430\\u0441. 2017 \\u0433\\u043e\\u0434.\",\"pg\":null,\"year\":null,\"country\":null,\"imageUrl\":null,\"createdBy\":-200,\"creationTimestamp\":\"2021-11-21T18:04:52\",\"epgSourceId\":8,\"startDateStr\":\"20211122070000\",\"genreByGenreId\":null,\"languageByLanguageId\":{\"id\":3,\"name\":\"\\u10e0\\u10e3\\u10e1\\u10e3\\u10da\\u10d8\",\"orderIndex\":3,\"nameShort\":\"ru\"},\"externalId\":\"2021460000084132\",\"programHumanById\":[],\"date\":null,\"time\":null,\"startDate\":null,\"endDate\":null,\"longInfo\":\"\\u0413\\u0443\\u0434\\u0436\\u0430\\u0440\\u0430\\u0442\\u0435\\u0446 \\u0425\\u0430\\u0441\\u043c\\u0443\\u043a\\u0445 \\u041f\\u0430\\u0442\\u0435\\u043b \\u043f\\u043e\\u0441\\u0441\\u043e\\u0440\\u0438\\u043b\\u0441\\u044f \\u0441 \\u043d\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0435\\u0434\\u043e\\u043c \\u0413\\u0443\\u0433\\u0433\\u0438 \\u0422\\u0430\\u043d\\u0434\\u043e\\u043d\\u043e\\u043c. \\u041d\\u043e \\u0438\\u043c \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u043f\\u043e\\u043c\\u0438\\u0440\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0438\\u0445 \\u0434\\u0435\\u0442\\u0438 \\u0432\\u043b\\u044e\\u0431\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0440\\u0443\\u0433 \\u0432 \\u0434\\u0440\\u0443\\u0433\\u0430. \\u0420\\u0435\\u0436\\u0438\\u0441\\u0441\\u0435\\u0440: \\u0421\\u0430\\u043d\\u0434\\u0436\\u0430\\u0439 \\u0427\\u0445\\u0435\\u043b. \\u0410\\u043a\\u0442\\u0435\\u0440\\u044b: \\u0420\\u0438\\u0448\\u0438 \\u041a\\u0430\\u043f\\u0443\\u0440, \\u041f\\u0430\\u0440\\u0435\\u0448 \\u0420\\u0430\\u0432\\u0430\\u043b, \\u0412\\u0438\\u0440 \\u0414\\u0430\\u0441. 2017 \\u0433\\u043e\\u0434.\"}]` + const content = + '[{"id":2313254118,"channelId":260,"startTimestamp":"2021-11-22T07:00:00","endTimestamp":"2021-11-22T09:00:00","duration":null,"title":"\\u0425\\/\\u0444 \\"\\u041d\\u0435\\u0440\\u0430\\u0432\\u043d\\u044b\\u0439 \\u0431\\u0440\\u0430\\u043a\\".","subTitle":"\\u0425\\/\\u0444 \\"\\u041d\\u0435\\u0440\\u0430\\u0432\\u043d\\u044b\\u0439 \\u0431\\u0440\\u0430\\u043a\\".","info":"\\u0413\\u0443\\u0434\\u0436\\u0430\\u0440\\u0430\\u0442\\u0435\\u0446 \\u0425\\u0430\\u0441\\u043c\\u0443\\u043a\\u0445 \\u041f\\u0430\\u0442\\u0435\\u043b \\u043f\\u043e\\u0441\\u0441\\u043e\\u0440\\u0438\\u043b\\u0441\\u044f \\u0441 \\u043d\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0435\\u0434\\u043e\\u043c \\u0413\\u0443\\u0433\\u0433\\u0438 \\u0422\\u0430\\u043d\\u0434\\u043e\\u043d\\u043e\\u043c. \\u041d\\u043e \\u0438\\u043c \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u043f\\u043e\\u043c\\u0438\\u0440\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0438\\u0445 \\u0434\\u0435\\u0442\\u0438 \\u0432\\u043b\\u044e\\u0431\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0440\\u0443\\u0433 \\u0432 \\u0434\\u0440\\u0443\\u0433\\u0430. \\u0420\\u0435\\u0436\\u0438\\u0441\\u0441\\u0435\\u0440: \\u0421\\u0430\\u043d\\u0434\\u0436\\u0430\\u0439 \\u0427\\u0445\\u0435\\u043b. \\u0410\\u043a\\u0442\\u0435\\u0440\\u044b: \\u0420\\u0438\\u0448\\u0438 \\u041a\\u0430\\u043f\\u0443\\u0440, \\u041f\\u0430\\u0440\\u0435\\u0448 \\u0420\\u0430\\u0432\\u0430\\u043b, \\u0412\\u0438\\u0440 \\u0414\\u0430\\u0441. 2017 \\u0433\\u043e\\u0434.","pg":null,"year":null,"country":null,"imageUrl":null,"createdBy":-200,"creationTimestamp":"2021-11-21T18:04:52","epgSourceId":8,"startDateStr":"20211122070000","genreByGenreId":null,"languageByLanguageId":{"id":3,"name":"\\u10e0\\u10e3\\u10e1\\u10e3\\u10da\\u10d8","orderIndex":3,"nameShort":"ru"},"externalId":"2021460000084132","programHumanById":[],"date":null,"time":null,"startDate":null,"endDate":null,"longInfo":"\\u0413\\u0443\\u0434\\u0436\\u0430\\u0440\\u0430\\u0442\\u0435\\u0446 \\u0425\\u0430\\u0441\\u043c\\u0443\\u043a\\u0445 \\u041f\\u0430\\u0442\\u0435\\u043b \\u043f\\u043e\\u0441\\u0441\\u043e\\u0440\\u0438\\u043b\\u0441\\u044f \\u0441 \\u043d\\u043e\\u0432\\u044b\\u043c \\u0441\\u043e\\u0441\\u0435\\u0434\\u043e\\u043c \\u0413\\u0443\\u0433\\u0433\\u0438 \\u0422\\u0430\\u043d\\u0434\\u043e\\u043d\\u043e\\u043c. \\u041d\\u043e \\u0438\\u043c \\u043f\\u0440\\u0438\\u0445\\u043e\\u0434\\u0438\\u0442\\u0441\\u044f \\u043f\\u043e\\u043c\\u0438\\u0440\\u0438\\u0442\\u044c\\u0441\\u044f, \\u043a\\u043e\\u0433\\u0434\\u0430 \\u0438\\u0445 \\u0434\\u0435\\u0442\\u0438 \\u0432\\u043b\\u044e\\u0431\\u043b\\u044f\\u044e\\u0442\\u0441\\u044f \\u0434\\u0440\\u0443\\u0433 \\u0432 \\u0434\\u0440\\u0443\\u0433\\u0430. \\u0420\\u0435\\u0436\\u0438\\u0441\\u0441\\u0435\\u0440: \\u0421\\u0430\\u043d\\u0434\\u0436\\u0430\\u0439 \\u0427\\u0445\\u0435\\u043b. \\u0410\\u043a\\u0442\\u0435\\u0440\\u044b: \\u0420\\u0438\\u0448\\u0438 \\u041a\\u0430\\u043f\\u0443\\u0440, \\u041f\\u0430\\u0440\\u0435\\u0448 \\u0420\\u0430\\u0432\\u0430\\u043b, \\u0412\\u0438\\u0440 \\u0414\\u0430\\u0441. 2017 \\u0433\\u043e\\u0434."}]' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -48,8 +49,9 @@ it('can parse response', () => { { start: '2021-11-22T03:00:00.000Z', stop: '2021-11-22T05:00:00.000Z', - title: `Х/ф "Неравный брак".`, - description: `Гуджаратец Хасмукх Пател поссорился с новым соседом Гугги Тандоном. Но им приходится помириться, когда их дети влюбляются друг в друга. Режиссер: Санджай Чхел. Актеры: Риши Капур, Пареш Равал, Вир Дас. 2017 год.` + title: 'Х/ф "Неравный брак".', + description: + 'Гуджаратец Хасмукх Пател поссорился с новым соседом Гугги Тандоном. Но им приходится помириться, когда их дети влюбляются друг в друга. Режиссер: Санджай Чхел. Актеры: Риши Капур, Пареш Равал, Вир Дас. 2017 год.' } ]) }) @@ -58,7 +60,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `[]` + content: '[]' }) expect(result).toMatchObject([]) }) diff --git a/sites/mako.co.il/mako.co.il.channels.xml b/sites/mako.co.il/mako.co.il.channels.xml index fa1ac649..c64de9ca 100644 --- a/sites/mako.co.il/mako.co.il.channels.xml +++ b/sites/mako.co.il/mako.co.il.channels.xml @@ -1,6 +1,4 @@ - - - Keshet 12 - - + + Keshet 12 + diff --git a/sites/mako.co.il/mako.co.il.config.js b/sites/mako.co.il/mako.co.il.config.js index a0ee67ae..0466dfb6 100644 --- a/sites/mako.co.il/mako.co.il.config.js +++ b/sites/mako.co.il/mako.co.il.config.js @@ -36,12 +36,6 @@ function parseStart(item) { return dayjs(item.StartTimeUTC) } -function parseStop(item) { - if (!item.end_time) return null - - return dayjs.tz(item.end_time, 'YYYY-MM-DDTHH:mm:ss', 'Asia/Jerusalem') -} - function parseItems(content, date) { const data = JSON.parse(content) if (!data || !Array.isArray(data.programs)) return [] diff --git a/sites/mako.co.il/mako.co.il.test.js b/sites/mako.co.il/mako.co.il.test.js index 990cf29b..da82beca 100644 --- a/sites/mako.co.il/mako.co.il.test.js +++ b/sites/mako.co.il/mako.co.il.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mako.co.il/mako.co.il.config.js --channels=sites/mako.co.il/mako.co.il.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mako.co.il const { parser, url } = require('./mako.co.il.config.js') const dayjs = require('dayjs') @@ -8,17 +8,14 @@ dayjs.extend(customParseFormat) dayjs.extend(utc) const date = dayjs.utc('2022-03-07', 'YYYY-MM-DD').startOf('d') -const channel = { - site_id: '#', - xmltv_id: 'Keshet12.il' -} it('can generate valid url', () => { expect(url).toBe('https://www.mako.co.il/AjaxPage?jspName=EPGResponse.jsp') }) it('can parse response', () => { - const content = `{"programs":[{"DisplayEndTime":"06:15","MakoTVURL":"","HouseNumber":"L17165475","StartTimeUTC":1646539200000,"DurationMs":900000,"DisplayStartTime":"06:00","MobilePicture":"https://img.mako.co.il/2017/01/01/placeHolder.jpg","StartTime":"06/03/2022 06:00:00","RerunBroadcast":false,"Duration":"00:15","ProgramName":"כותרות הבוקר","Date":"06/03/2022 06:00:00","MakoProgramsURL":"","LiveBroadcast":true,"ProgramCode":134987,"Episode":"","Picture":"https://img.mako.co.il//2021/08/04/hadshot_haboker_im_niv_raskin.jpg","MakoShortName":"","hebrewDate":"6 במרץ","Season":"","day":"הערב","EventDescription":"","EnglishName":"cotrot,EP 46"},{"DisplayEndTime":"02:39","MakoTVURL":"","HouseNumber":"A168960","StartTimeUTC":1646613480000,"DurationMs":60000,"DisplayStartTime":"02:38","MobilePicture":"https://img.mako.co.il/2017/01/01/placeHolder.jpg","StartTime":"07/03/2022 02:38:00","RerunBroadcast":true,"Duration":"00:01","ProgramName":"רוקדים עם כוכבים - בר זומר","Date":"07/03/2022 02:38:00","MakoProgramsURL":"","LiveBroadcast":false,"ProgramCode":135029,"Episode":"","Picture":"https://img.mako.co.il/2022/02/13/DancingWithStars2022_EPG.jpg","MakoShortName":"","hebrewDate":"7 במרץ","Season":"","day":"מחר","EventDescription":"מהדורת החדשות המרכזית של הבוקר, האנשים הפרשנויות והכותרות שיעשו את היום.","EnglishName":"rokdim,EP 10"}]}` + const content = + '{"programs":[{"DisplayEndTime":"06:15","MakoTVURL":"","HouseNumber":"L17165475","StartTimeUTC":1646539200000,"DurationMs":900000,"DisplayStartTime":"06:00","MobilePicture":"https://img.mako.co.il/2017/01/01/placeHolder.jpg","StartTime":"06/03/2022 06:00:00","RerunBroadcast":false,"Duration":"00:15","ProgramName":"כותרות הבוקר","Date":"06/03/2022 06:00:00","MakoProgramsURL":"","LiveBroadcast":true,"ProgramCode":134987,"Episode":"","Picture":"https://img.mako.co.il//2021/08/04/hadshot_haboker_im_niv_raskin.jpg","MakoShortName":"","hebrewDate":"6 במרץ","Season":"","day":"הערב","EventDescription":"","EnglishName":"cotrot,EP 46"},{"DisplayEndTime":"02:39","MakoTVURL":"","HouseNumber":"A168960","StartTimeUTC":1646613480000,"DurationMs":60000,"DisplayStartTime":"02:38","MobilePicture":"https://img.mako.co.il/2017/01/01/placeHolder.jpg","StartTime":"07/03/2022 02:38:00","RerunBroadcast":true,"Duration":"00:01","ProgramName":"רוקדים עם כוכבים - בר זומר","Date":"07/03/2022 02:38:00","MakoProgramsURL":"","LiveBroadcast":false,"ProgramCode":135029,"Episode":"","Picture":"https://img.mako.co.il/2022/02/13/DancingWithStars2022_EPG.jpg","MakoShortName":"","hebrewDate":"7 במרץ","Season":"","day":"מחר","EventDescription":"מהדורת החדשות המרכזית של הבוקר, האנשים הפרשנויות והכותרות שיעשו את היום.","EnglishName":"rokdim,EP 10"}]}' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -38,7 +35,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[]`, + content: '[]', date }) expect(result).toMatchObject([]) diff --git a/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.channels.xml b/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.channels.xml index 869b0ab3..f1941e2e 100644 --- a/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.channels.xml +++ b/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.channels.xml @@ -1,165 +1,163 @@ - - - 24 Kitchen Hrvatska - 3sat - Aljazeera Balkans - Arena Sport 10 Hrvatska - Arena Sport 1 Hrvatska - Arena Sport 2 Hrvatska - Arena Sport 3 Hrvatska - Arena Sport 4 Hrvatska - Arena Sport 5 Hrvatska - Arena Sport 6 Hrvatska - Arena Sport 7 Hrvatska - Arena Sport 8 Hrvatska - Arena Sport 9 Hrvatska - Aurora TV - Baby TV Europe - Balkanika Music TV - BBC Earth Romania - BHT 1 - Blue Hustler Europe - Boomerang Central & Eastern Europe - Brazzers TV Europe - Cartoon Network Russia & South East Europe - CBS Reality Europe - CGTN - Cinemax 2 - Cinemax - CineStar TV 1 Hrvatska - CineStar TV Action Hrvatska - CineStar TV Fantasy - CineStar TV Premiere 1 - CineStar TV Premiere 2 - Club MTV - CMC TV - CNBC Europe - CNN International Europe - Crime & Investigation UK - Das Erste - Da Vinci - DM Sat - Doma Hrvatska - DW English - E! Europe - Epic Drama - EuroNews English - Extreme Sports Channel - FashionTV Europe - Federalna TV - Fox Crime Hrvatska - Fox Hrvatska - Fox Life Hrvatska - Fox Movies Hrvatska - France 24 English - France 24 Français - Grand - Happy - Hayat - HNTV - HRT 1 - HRT 2 - HRT 3 - HRT 4 - Hustler TV Europe - Jugoton TV - KIKA - Kino TV - Klasik TV - Kreator TV - Laudato TV - Lov i ribolov - Luxe TV - M1 Film - M1 Gold - María+Visión Medjugorje - Mediaset Italia - Mini TV - MTV 00s - MTV 80s - MTV Hits Europe - MyZen TV - N1 Hrvatska - Narodni - National Geographic - National Geographic Wild - Nautical Channel - Nickelodeon - Nick Jr - NickMusic - Nicktoons România - Nova TV - NTV Mir - OTV Valentino - Pickbox TV - Pikaboo - Pink BH - Pink Extra - Pink Fashion - Pink Film - Pink Folk 1 - Pink Koncert - Pink M - Pink Music - Pink Music 2 - Pink Plus - Pink TV - Pink World - Private TV - ProSieben Deutschland - Rai 1 - Rai 2 - Rai 3 - Rai Scuola - RTL 2 Hrvatska - RTL Crime Hrvatska - RTL Deutschland - RTL Hrvatska - RTL Kockica - RTL Living Hrvatska - RTL Passion Hrvatska - RTL Zwei Deutschland - RT News - RTS 1 - RTS 2 - RTS 3 - RTS Svet - Sat. 1 Deutschland - Sky News UK - Sport 1 - Sport Klub 1 Hrvatska - Sport Klub 2 Srbija - - - - - - - - Sportska TV - Stingray Classica - Stingray Djazz - Super RTL Deutschland - TRT World - TV 1000 Balkan - TV5Monde Europe - TVCG Sat - TVE Internacional Europa - TV Koper-Capodistria - TV Slovenija 1 - TV Slovenija 2 - Vavoom - Viasat Explore East - Viasat History - Viasat Nature East - Vivid Red - Vivid Touch - Vivid TV Europe - Vox Deutschland - Woman - Z1 - ZDF - Zdrava TV 7 Hrvatska - - + + + + + + + + + Das Erste + DW English + Sat. 1 Deutschland + Sport 1 + ZDF + Baby TV Europe + Balkanika Music TV + Blue Hustler Europe + Brazzers TV Europe + Cartoon Network Russia & South East Europe + CBS Reality Europe + CGTN + Club MTV + CNBC Europe + CNN International Europe + EuroNews English + Extreme Sports Channel + FashionTV Europe + France 24 English + Grand + Hustler TV Europe + MTV 00s + Nautical Channel + Sky News UK + Stingray Classica + Stingray Djazz + Vivid Red + Vivid Touch + Vivid TV Europe + France 24 Français + TV5Monde Europe + 24 Kitchen Hrvatska + 3sat + Aljazeera Balkans + Arena Sport 10 Hrvatska + Arena Sport 1 Hrvatska + Arena Sport 2 Hrvatska + Arena Sport 3 Hrvatska + Arena Sport 4 Hrvatska + Arena Sport 5 Hrvatska + Arena Sport 6 Hrvatska + Arena Sport 7 Hrvatska + Arena Sport 8 Hrvatska + Arena Sport 9 Hrvatska + Aurora TV + BBC Earth Romania + BHT 1 + Boomerang Central & Eastern Europe + Cinemax 2 + Cinemax + CineStar TV 1 Hrvatska + CineStar TV Action Hrvatska + CineStar TV Fantasy + CineStar TV Premiere 1 + CineStar TV Premiere 2 + CMC TV + Crime & Investigation UK + Da Vinci + DM Sat + Doma Hrvatska + E! Europe + Epic Drama + Federalna TV + Fox Crime Hrvatska + Fox Hrvatska + Fox Life Hrvatska + Fox Movies Hrvatska + Happy + Hayat + HNTV + HRT 1 + HRT 2 + HRT 3 + HRT 4 + Jugoton TV + KIKA + Kino TV + Klasik TV + Kreator TV + Laudato TV + Lov i ribolov + Luxe TV + M1 Film + M1 Gold + María+Visión Medjugorje + Mediaset Italia + Mini TV + MTV 80s + MTV Hits Europe + MyZen TV + N1 Hrvatska + Narodni + National Geographic + National Geographic Wild + Nickelodeon + Nick Jr + NickMusic + Nicktoons România + Nova TV + NTV Mir + OTV Valentino + Pickbox TV + Pikaboo + Pink BH + Pink Extra + Pink Fashion + Pink Film + Pink Folk 1 + Pink Koncert + Pink M + Pink Music + Pink Music 2 + Pink Plus + Pink TV + Pink World + Private TV + ProSieben Deutschland + RT News + RTL 2 Hrvatska + RTL Crime Hrvatska + RTL Hrvatska + RTL Deutschland + RTL Kockica + RTL Living Hrvatska + RTL Passion Hrvatska + RTL Zwei Deutschland + RTS 1 + RTS 2 + RTS 3 + RTS Svet + Sport Klub 1 Hrvatska + Sport Klub 2 Srbija + Sportska TV + Super RTL Deutschland + TRT World + TV 1000 Balkan + TVCG Sat + TVE Internacional Europa + TV Koper-Capodistria + TV Slovenija 1 + TV Slovenija 2 + Vavoom + Viasat Explore East + Viasat History + Viasat Nature East + Vox Deutschland + Woman + Z1 + Zdrava TV 7 Hrvatska + Rai 1 + Rai 2 + Rai 3 + Rai Scuola + diff --git a/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.test.js b/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.test.js index 16402b31..6388c9b7 100644 --- a/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.test.js +++ b/sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.config.js --channels=sites/maxtv.hrvatskitelekom.hr/maxtv.hrvatskitelekom.hr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=maxtv.hrvatskitelekom.hr const { parser, url, request } = require('./maxtv.hrvatskitelekom.hr.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '316', xmltv_id: '24KitchenCroatia.hr' } -const content = `{"status":{"code":200,"message":"OK","authType":"Unauthenticated","ottSessionToken":null},"data":[{"channelId":"316","title":"24Kitchen","logo":"http://ottepg5.nexttv.ht.hr:33200/EPG/jsp/images/universal/film/logo/fileEntity/20161109/000200/XTV100002173/493d03f8-0f08-4932-8371-e5b57d96f17d.png","chanNumber":500,"hasCatchup":false,"ottChannel":true,"userSubscribed":false,"shows":[{"showId":"-1","title":"Nema informacija","startTime":1636952400,"endTime":1636967400,"category":"ostalo","hasReminder":false,"hasRecording":false,"hasSeriesRecording":false,"userOttPlayable":false,"userLocked":false,"isPPV":false,"buyPrice":""},{"showId":"17298142","title":"Najčudniji svjetski restorani","startTime":1636952400,"endTime":1636952700,"category":"Kulinarski","hasReminder":false,"hasRecording":false,"hasSeriesRecording":false,"userOttPlayable":false,"userLocked":false,"isPPV":false,"buyPrice":""}]}]}` +const content = + '{"status":{"code":200,"message":"OK","authType":"Unauthenticated","ottSessionToken":null},"data":[{"channelId":"316","title":"24Kitchen","logo":"http://ottepg5.nexttv.ht.hr:33200/EPG/jsp/images/universal/film/logo/fileEntity/20161109/000200/XTV100002173/493d03f8-0f08-4932-8371-e5b57d96f17d.png","chanNumber":500,"hasCatchup":false,"ottChannel":true,"userSubscribed":false,"shows":[{"showId":"-1","title":"Nema informacija","startTime":1636952400,"endTime":1636967400,"category":"ostalo","hasReminder":false,"hasRecording":false,"hasSeriesRecording":false,"userOttPlayable":false,"userLocked":false,"isPPV":false,"buyPrice":""},{"showId":"17298142","title":"Najčudniji svjetski restorani","startTime":1636952400,"endTime":1636952700,"category":"Kulinarski","hasReminder":false,"hasRecording":false,"hasSeriesRecording":false,"userOttPlayable":false,"userLocked":false,"isPPV":false,"buyPrice":""}]}]}' it('can generate valid url', () => { expect(url).toBe('https://player.maxtvtogo.tportal.hr:8082/OTT4Proxy/proxy/epg/shows') @@ -47,7 +48,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"status":{"code":200,"message":"OK","authType":"Unauthenticated","ottSessionToken":null},"data":[]}` + content: + '{"status":{"code":200,"message":"OK","authType":"Unauthenticated","ottSessionToken":null},"data":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/maxtvgo.mk/maxtvgo.mk.channels.xml b/sites/maxtvgo.mk/maxtvgo.mk.channels.xml index a01ce968..79bd7982 100644 --- a/sites/maxtvgo.mk/maxtvgo.mk.channels.xml +++ b/sites/maxtvgo.mk/maxtvgo.mk.channels.xml @@ -1,56 +1,54 @@ - - - Alfa TV - Aljazeera Balkans - Alsat-M - Arena Fight - Arena Premium 1 - Arena Premium 2 - Arena Premium 3 - Arena Sport 1 - Arena Sport 2 - Arena Sport 3 - Arena Sport 4 - Arena Sport 5 - Balkanika Music TV - Balkan Music TV - Da Vinci - DM Sat - Fox Crime - Fox Life - Fox Movies - Fox - Hayat Folk - Kanal 5 - Klan Macedonia - M1 Film - M1 Gold - Minimax Serbia - MRT 1 - MRT 2 - MRT 3 - MRT 4 - MRT 5 - MRT Sobraniski kanal - MTV 00s - MTV 80s - Nasa TV - National Geographic Channel HD - National Geographic Wild - Sitel TV - Telma - Tera TV - Tring Action - Tring Fantasy - TV 24 - TV 1000 Balkan - TV Edo - TV Iris - TV Shenja - TV Sonce - Viasat Explore - Viasat History HD - Viasat Nature - - \ No newline at end of file + + Alfa TV + Aljazeera Balkans + Alsat-M + Arena Fight + Arena Premium 1 + Arena Sport 1 + Arena Premium 2 + Arena Sport 2 + Arena Premium 3 + Arena Sport 3 + Arena Sport 4 + Arena Sport 5 + Balkanika Music TV + Balkan Music TV + Da Vinci + DM Sat + Fox Crime + Fox Life + Fox Movies + Fox + Hayat Folk + Kanal 5 + Klan Macedonia + M1 Film + M1 Gold + Minimax Serbia + MRT 1 + MRT 2 + MRT 3 + MRT 4 + MRT 5 + MRT Sobraniski kanal + MTV 00s + MTV 80s + Nasa TV + National Geographic Channel HD + National Geographic Wild + Sitel TV + Telma + Tera TV + Tring Action + Tring Fantasy + TV 1000 Balkan + TV 24 + TV Edo + TV Iris + TV Shenja + TV Sonce + Viasat Explore + Viasat History HD + Viasat Nature + \ No newline at end of file diff --git a/sites/maxtvgo.mk/maxtvgo.mk.config.js b/sites/maxtvgo.mk/maxtvgo.mk.config.js index 934d99fa..83991ae0 100644 --- a/sites/maxtvgo.mk/maxtvgo.mk.config.js +++ b/sites/maxtvgo.mk/maxtvgo.mk.config.js @@ -30,10 +30,10 @@ module.exports = { return programs }, - async channels({ country, lang }) { + async channels() { const channels = await axios .get( - `https://prd-static-mkt.spectar.tv/rev-1636968171/client_api.php/channel/all/application_id/deep_blue/device_configuration/2/instance_id/1/language/mk/http_proto/https/format/json` + 'https://prd-static-mkt.spectar.tv/rev-1636968171/client_api.php/channel/all/application_id/deep_blue/device_configuration/2/instance_id/1/language/mk/http_proto/https/format/json' ) .then(r => r.data) .catch(console.log) @@ -64,7 +64,7 @@ function parseIcon(item) { return item.icon['@attributes'].src } -function parseItems(content, channel) { +function parseItems(content) { const data = JSON.parse(content) if (!data || !Array.isArray(data.programme)) return [] diff --git a/sites/maxtvgo.mk/maxtvgo.mk.test.js b/sites/maxtvgo.mk/maxtvgo.mk.test.js index d0e227e7..18c7fa97 100644 --- a/sites/maxtvgo.mk/maxtvgo.mk.test.js +++ b/sites/maxtvgo.mk/maxtvgo.mk.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/maxtvgo.mk/maxtvgo.mk.config.js --output=./sites/maxtvgo.mk/maxtvgo.mk.channels.xml -// npx epg-grabber --config=sites/maxtvgo.mk/maxtvgo.mk.config.js --channels=sites/maxtvgo.mk/maxtvgo.mk.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/maxtvgo.mk/maxtvgo.mk.config.js --output=./sites/maxtvgo.mk/maxtvgo.mk.channels.xml +// npm run grab -- --site=maxtvgo.mk const { parser, url } = require('./maxtvgo.mk.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"programme":[{"@attributes":{"channel":"105","id":"21949063","start":"20211116231000 +0100","stop":"20211117010000 +0100","disable_catchup":"0","is_adult":"0"},"title":"Палмето - игран филм","original-title":{"@attributes":{"lang":""}},"sub-title":{"@attributes":{"lang":""}},"category_id":"11","category":"Останато","desc":"Екстремниот рибар, Џереми Вејд, е во потрага по слатководни риби кои јадат човечко месо. Со форензички методи, Џереми им илустрира на гледачите како овие нови чудовишта се создадени да убиваат.","icon":{"@attributes":{"src":"https:\/\/prd-static-mkt.spectar.tv\/rev-1636968170\/image_transform.php\/transform\/1\/epg_program_id\/21949063\/instance_id\/1"}},"episode_num":{},"date":"0","star-rating":{"value":{}},"rating":{"@attributes":{"system":""},"value":"0+"},"linear_channel_rating":"0+","genres":{},"credits":{}}]}` + const content = + '{"programme":[{"@attributes":{"channel":"105","id":"21949063","start":"20211116231000 +0100","stop":"20211117010000 +0100","disable_catchup":"0","is_adult":"0"},"title":"Палмето - игран филм","original-title":{"@attributes":{"lang":""}},"sub-title":{"@attributes":{"lang":""}},"category_id":"11","category":"Останато","desc":"Екстремниот рибар, Џереми Вејд, е во потрага по слатководни риби кои јадат човечко месо. Со форензички методи, Џереми им илустрира на гледачите како овие нови чудовишта се создадени да убиваат.","icon":{"@attributes":{"src":"https://prd-static-mkt.spectar.tv/rev-1636968170/image_transform.php/transform/1/epg_program_id/21949063/instance_id/1"}},"episode_num":{},"date":"0","star-rating":{"value":{}},"rating":{"@attributes":{"system":""},"value":"0+"},"linear_channel_rating":"0+","genres":{},"credits":{}}]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -42,7 +43,8 @@ it('can parse response', () => { }) it('can parse response with no description', () => { - const content = `{"programme":[{"@attributes":{"channel":"105","id":"21949063","start":"20211116231000 +0100","stop":"20211117010000 +0100","disable_catchup":"0","is_adult":"0"},"title":"Палмето - игран филм","original-title":{"@attributes":{"lang":""}},"sub-title":{"@attributes":{"lang":""}},"category_id":"11","category":"Останато","desc":{},"icon":{"@attributes":{"src":"https:\/\/prd-static-mkt.spectar.tv\/rev-1636968170\/image_transform.php\/transform\/1\/epg_program_id\/21949063\/instance_id\/1"}},"episode_num":{},"date":"0","star-rating":{"value":{}},"rating":{"@attributes":{"system":""},"value":"0+"},"linear_channel_rating":"0+","genres":{},"credits":{}}]}` + const content = + '{"programme":[{"@attributes":{"channel":"105","id":"21949063","start":"20211116231000 +0100","stop":"20211117010000 +0100","disable_catchup":"0","is_adult":"0"},"title":"Палмето - игран филм","original-title":{"@attributes":{"lang":""}},"sub-title":{"@attributes":{"lang":""}},"category_id":"11","category":"Останато","desc":{},"icon":{"@attributes":{"src":"https://prd-static-mkt.spectar.tv/rev-1636968170/image_transform.php/transform/1/epg_program_id/21949063/instance_id/1"}},"episode_num":{},"date":"0","star-rating":{"value":{}},"rating":{"@attributes":{"system":""},"value":"0+"},"linear_channel_rating":"0+","genres":{},"credits":{}}]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -65,7 +67,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"@attributes":{"source-info-name":"maxtvgo.mk","generator-info-name":"spectar_epg"}}` + content: '{"@attributes":{"source-info-name":"maxtvgo.mk","generator-info-name":"spectar_epg"}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/mbc.net/mbc.net.channels.xml b/sites/mbc.net/mbc.net.channels.xml index 3d932ceb..59c83549 100644 --- a/sites/mbc.net/mbc.net.channels.xml +++ b/sites/mbc.net/mbc.net.channels.xml @@ -1,22 +1,20 @@ - - - MBC - MBC 2 - MBC 4 - MBC 5 - MBC Action - MBC Bollywood - MBC Drama - MBC Drama + - MBC Drama USA - MBC Iraq - MBC Maser - MBC Maser 2 - MBC Maser USA - MBC Max - MBC + Power - MBC USA - Wanasah - - \ No newline at end of file + + MBC + MBC USA + MBC 2 + MBC 4 + MBC 5 + MBC Action + MBC Bollywood + MBC Drama + MBC Drama USA + MBC Iraq + MBC Maser + MBC Maser 2 + MBC Maser USA + MBC Max + MBC Drama + + MBC + Power + Wanasah + \ No newline at end of file diff --git a/sites/mbc.net/mbc.net.config.js b/sites/mbc.net/mbc.net.config.js index f94d0e0a..b8ddf0ed 100644 --- a/sites/mbc.net/mbc.net.config.js +++ b/sites/mbc.net/mbc.net.config.js @@ -3,13 +3,12 @@ const dayjs = require('dayjs') module.exports = { site: 'mbc.net', days: 2, - skip: true, // NOTE: there is no program on the site url({ date, channel }) { return `https://www.mbc.net/.rest/api/channel/grids?from=${date.valueOf()}&to=${date .add(1, 'd') .valueOf()}&channel=${channel.site_id}` }, - parser: function ({ content, channel, date }) { + parser: function ({ content }) { let programs = [] const items = parseItems(content) items.forEach(item => { diff --git a/sites/mbc.net/mbc.net.test.js b/sites/mbc.net/mbc.net.test.js index 70b1dd65..554e61c0 100644 --- a/sites/mbc.net/mbc.net.test.js +++ b/sites/mbc.net/mbc.net.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mbc.net/mbc.net.config.js --channels=sites/mbc.net/mbc.net.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mbc.net const { parser, url } = require('./mbc.net.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: 'mbc1', xmltv_id: 'MBC.ae' } -const content = `[{"id":3140240,"channelBCMId":"1","channelLabel":"MBC1","showPageTitle":"اختطاف","showPageGenreInArabic":" دراما","showPageAboutInArabic":".يستضيف برنامج تلفزيوني والدة لينا وشقيقتها، ولدى مشاهدتها الحلقة، تكتشف والدة ماجد الحقيقة، بينما تتعرض العنود لحادث سير مروع","startTime":1636155131000,"endTime":1636157806000,"startTimeInMilliseconds":1636155131000,"endTimeInMilliseconds":1636157806200,"premiereMode":"Fast Repeat","showingNow":false}]` +const content = + '[{"id":3140240,"channelBCMId":"1","channelLabel":"MBC1","showPageTitle":"اختطاف","showPageGenreInArabic":" دراما","showPageAboutInArabic":".يستضيف برنامج تلفزيوني والدة لينا وشقيقتها، ولدى مشاهدتها الحلقة، تكتشف والدة ماجد الحقيقة، بينما تتعرض العنود لحادث سير مروع","startTime":1636155131000,"endTime":1636157806000,"startTimeInMilliseconds":1636155131000,"endTimeInMilliseconds":1636157806200,"premiereMode":"Fast Repeat","showingNow":false}]' it('can generate valid url', () => { const result = url({ date, channel }) @@ -39,7 +40,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `[]` + content: '[]' }) expect(result).toMatchObject([]) }) diff --git a/sites/mediagenie.co.kr/mediagenie.co.kr.channels.xml b/sites/mediagenie.co.kr/mediagenie.co.kr.channels.xml index 8e439f16..8c92688c 100644 --- a/sites/mediagenie.co.kr/mediagenie.co.kr.channels.xml +++ b/sites/mediagenie.co.kr/mediagenie.co.kr.channels.xml @@ -1,10 +1,8 @@ - - - CHING - ENA DRAMA - ENA STORY - Healthmedi - ONT - - + + CHING + ENA DRAMA + ENA STORY + Healthmedi + ONT + diff --git a/sites/mediagenie.co.kr/mediagenie.co.kr.config.js b/sites/mediagenie.co.kr/mediagenie.co.kr.config.js index 9a4d545f..32f85cbe 100644 --- a/sites/mediagenie.co.kr/mediagenie.co.kr.config.js +++ b/sites/mediagenie.co.kr/mediagenie.co.kr.config.js @@ -11,7 +11,6 @@ dayjs.extend(customParseFormat) module.exports = { site: 'mediagenie.co.kr', days: 1, - skip: true, // NOTE: the guide appears on the site after the end of the daily update (https://github.com/iptv-org/epg/actions/workflows/mediagenie.co.kr.yml) url({ channel, date }) { return `https://mediagenie.co.kr/${channel.site_id}/?qd=${date.format('YYYYMMDD')}` }, @@ -22,11 +21,11 @@ module.exports = { }, parser({ content, date }) { const programs = [] - const items = parseItems(content, date) + const items = parseItems(content) items.forEach(item => { const $item = cheerio.load(item) const prev = programs[programs.length - 1] - const start = parseStart($item, date) + let start = parseStart($item, date) if (!start) return if (prev) { if (start.isBefore(prev.start)) { @@ -71,7 +70,7 @@ function parseStart($item, date) { return dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'Asia/Seoul') } -function parseItems(content, channel, date) { +function parseItems(content) { const $ = cheerio.load(content) return $('.tbl > tbody > tr').toArray() diff --git a/sites/mediagenie.co.kr/mediagenie.co.kr.test.js b/sites/mediagenie.co.kr/mediagenie.co.kr.test.js index 595fff26..a50aa036 100644 --- a/sites/mediagenie.co.kr/mediagenie.co.kr.test.js +++ b/sites/mediagenie.co.kr/mediagenie.co.kr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mediagenie.co.kr/mediagenie.co.kr.config.js --channels=sites/mediagenie.co.kr/mediagenie.co.kr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mediagenie.co.kr const { parser, url, request } = require('./mediagenie.co.kr.config.js') const fs = require('fs') @@ -37,7 +37,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-24T15:20:00.000Z', stop: '2023-01-24T16:34:00.000Z', - title: `대행사`, + title: '대행사', rating: { system: 'KMRB', value: '15' @@ -47,7 +47,7 @@ it('can parse response', () => { expect(results[16]).toMatchObject({ start: '2023-01-25T14:27:00.000Z', stop: '2023-01-25T14:57:00.000Z', - title: `법쩐`, + title: '법쩐', rating: { system: 'KMRB', value: '15' diff --git a/sites/mediaklikk.hu/mediaklikk.hu.channels.xml b/sites/mediaklikk.hu/mediaklikk.hu.channels.xml index e45b2162..677d9f4a 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.channels.xml +++ b/sites/mediaklikk.hu/mediaklikk.hu.channels.xml @@ -1,13 +1,11 @@ - - - Duna - Duna World - M1 - M2 - M3 - M4 Sport - M4 Sport + - M5 - - \ No newline at end of file + + Duna + Duna World + M1 + M2 + M3 + M4 Sport + M4 Sport + + M5 + \ No newline at end of file diff --git a/sites/mediaklikk.hu/mediaklikk.hu.config.js b/sites/mediaklikk.hu/mediaklikk.hu.config.js index 7a024c15..c525911a 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.config.js +++ b/sites/mediaklikk.hu/mediaklikk.hu.config.js @@ -72,7 +72,7 @@ function parseDescription($item) { function parseIcon($item) { const backgroundImage = $item('.program_about > .program_photo').css('background-image') if (!backgroundImage) return null - const [_, icon] = backgroundImage.match(/url\(\'(.*)'\)/) || [null, null] + const [, icon] = backgroundImage.match(/url\('(.*)'\)/) || [null, null] if (!icon) return null return `https:${icon}` diff --git a/sites/mediaklikk.hu/mediaklikk.hu.test.js b/sites/mediaklikk.hu/mediaklikk.hu.test.js index ccc351a3..08b76e2c 100644 --- a/sites/mediaklikk.hu/mediaklikk.hu.test.js +++ b/sites/mediaklikk.hu/mediaklikk.hu.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mediaklikk.hu/mediaklikk.hu.config.js --channels=sites/mediaklikk.hu/mediaklikk.hu.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mediaklikk.hu const { parser, url, request } = require('./mediaklikk.hu.config.js') const fs = require('fs') @@ -48,7 +48,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2022-10-27T22:00:46.000Z', stop: '2022-10-27T22:54:00.000Z', - title: `A hegyi doktor - I. évad`, + 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' @@ -57,7 +57,7 @@ it('can parse response', () => { expect(results[56]).toMatchObject({ start: '2022-10-28T20:35:05.000Z', stop: '2022-10-28T21:05:05.000Z', - title: `Szemtől szemben (1967)`, + title: 'Szemtől szemben (1967)', description: 'Brad Fletcher bostoni történelemtanár, aki a délnyugati határvidéken kúrálja tüdőbetegségét, egy véletlen folytán összeakad Beauregard Bennett körözött útonállóval, akit végül maga segít a menekülésben. A tanárt lenyűgözi a törvényen kívüliek világa és felismeri, hogy értelmi felsőbbrendűségével bámulatosan tudja irányítani az embereket. Bennett csakhamar azt veszi észre, hogy a peremre szorult saját bandájában. Eközben a Pinkerton ügynökség beépített embere is csapdába igyekszik csalni mindnyájukat.' }) @@ -67,7 +67,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/mediaset.it/mediaset.it.channels.xml b/sites/mediaset.it/mediaset.it.channels.xml index 0c3fb35d..5a3e9783 100644 --- a/sites/mediaset.it/mediaset.it.channels.xml +++ b/sites/mediaset.it/mediaset.it.channels.xml @@ -1,20 +1,18 @@ - - - 20 Mediaset - Boing Italia - Canale 5 - Cartoonito Italia - Focus - Iris - Italia 1 - Italia 2 - La 5 - Mediaset Extra - Premium Action - Premium Crime - Rete 4 - TGCom 24 - Top Crime - - \ No newline at end of file + + 20 Mediaset + Boing Italia + Canale 5 + Cartoonito Italia + Focus + Iris + Italia 1 + Italia 2 + La 5 + Mediaset Extra + Premium Action + Premium Crime + Rete 4 + TGCom 24 + Top Crime + \ No newline at end of file diff --git a/sites/melita.com/melita.com.channels.xml b/sites/melita.com/melita.com.channels.xml index a99e43c3..d147c8ef 100644 --- a/sites/melita.com/melita.com.channels.xml +++ b/sites/melita.com/melita.com.channels.xml @@ -1,123 +1,121 @@ - - - Al Jazeera Arabic - Al Jazeera English - Animal Planet HD - Baby TV - BBC Earth HD - BBC Entertainment - BBC World News HD - Bloomberg - Boing - Boomerang - Caccia e Pesca - Canale 5 HD - Canale Italia - Cartoonito - Cartoon Network - CBeeBies HD - CBS Reality - CGTN - Channel One Russia - Cielo - TV Moda - Club MTV - C Music TV - CNBC - CNN International - Crime + Investigation - Daystar Network HD - Discovery HD - Discovery Channel - Discovery Science - Disney Channel - Disney Junior - Dubai One - Duck TV - Deutsche Welle HD - E! Entertainment HD - Euronews HD - Eurosport HD - Eurosport 2 - EWTN - Extreme Sports - FTV HD - f Living - Food Network HD - FOX HD - FOX LIFE HD - France 2 HD - France 24 in English - France 24 in French - Ginx TV - GOD TV - GREAT! Movies Action - HGTV HD - HISTORY HD - ID HD - Iris - Italia 1 HD - Italia 2 - ITV Shopping - JimJam - La 5 - LBC Europe - Luxe TV HD - Mediaset Extra - Mediaset Italia - Melita More - Mezzo HD - MTV 00s - MTV 80s - MTV 90s - MTV - MTV Hits - MTV Live HD - National Geographic HD - Nat Geo Wild HD - NET HD - Nickelodeon HD - Nick Junior Global - ONE HD - Parliament Channel - Rai Uno - Rai Due - Rai Tre - Rai News - Rai Scuola - Rai Storia - Rete 4 HD - Russia Today - Radio TV - RTL - RTL II - RTR Planeta - Sky News HD - Smash TV - iConcerts HD - TGCOM 24 - TLC - Top Crime - TRACE Urban HD - Travel HD - TRT Turk - TRT World HD - TSN1 - TSN2 - TSN3 - TSN4 - TSN5 - TSN6 - TSN7 - TSN8 - TV 2000 - TV5 Monde - TVM HD - TVMNEWS+ - Xejk - TVE Internacional - BVN Europa - - - + + + RTL + RTL II + Al Jazeera Arabic + Al Jazeera English + Animal Planet HD + Baby TV + BBC Earth HD + BBC Entertainment + BBC World News HD + Bloomberg + Boomerang + Cartoonito + Cartoon Network + CBeeBies HD + CBS Reality + CGTN + Channel One Russia + Club MTV + C Music TV + CNBC + CNN International + Crime + Investigation + Daystar Network HD + Discovery HD + Discovery Channel + Discovery Science + Disney Channel + Disney Junior + Dubai One + Duck TV + Deutsche Welle HD + E! Entertainment HD + Euronews HD + Eurosport HD + Eurosport 2 + EWTN + Extreme Sports + FTV HD + f Living + Food Network HD + FOX HD + FOX LIFE HD + France 24 in English + Ginx TV + GOD TV + GREAT! Movies Action + HGTV HD + HISTORY HD + ID HD + Iris + ITV Shopping + JimJam + LBC Europe + Luxe TV HD + Melita More + MTV 00s + MTV 80s + MTV 90s + MTV + MTV Hits + MTV Live HD + National Geographic HD + Nat Geo Wild HD + NET HD + Nickelodeon HD + Nick Junior Global + ONE HD + Parliament Channel + Russia Today + RTR Planeta + Sky News HD + Smash TV + iConcerts HD + TLC + TRACE Urban HD + Travel HD + TSN1 + TSN2 + TSN3 + TSN4 + TSN5 + TSN6 + TSN7 + TSN8 + TVE Internacional + France 2 HD + France 24 in French + Mezzo HD + TV5 Monde + Boing + Caccia e Pesca + Canale 5 HD + Canale Italia + Cielo + TV Moda + Italia 1 HD + Italia 2 + La 5 + Mediaset Extra + Mediaset Italia + Rai Uno + Rai Due + Rai Tre + Rai News + Rai Scuola + Rai Storia + Rete 4 HD + Radio TV + TGCOM 24 + Top Crime + TV 2000 + TVM HD + TVMNEWS+ + Xejk + BVN Europa + TRT Turk + TRT World HD + diff --git a/sites/melita.com/melita.com.test.js b/sites/melita.com/melita.com.test.js index db358f97..3fa48f75 100644 --- a/sites/melita.com/melita.com.test.js +++ b/sites/melita.com/melita.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/melita.com/melita.com.config.js --output=./sites/melita.com/melita.com.channels.xml -// npx epg-grabber --config=sites/melita.com/melita.com.config.js --channels=sites/melita.com/melita.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=melita.com const { parser, url } = require('./melita.com.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"schedules":[{"id":"138dabff-131a-42a0-9373-203545933dd0","published":{"start":"2022-04-20T06:25:00Z","end":"2022-04-20T06:45:00Z"},"program":"ae52299a-3c99-4d34-9932-e21d383f9800","live":false,"blackouts":[]}],"programs":[{"id":"ae52299a-3c99-4d34-9932-e21d383f9800","title":"How I Met Your Mother","shortSynopsis":"Symphony of Illumination - Robin gets some bad news and decides to keep it to herself. Marshall decorates the house.","posterImage":"https://androme.melitacable.com/media/images/epg/bc/07/p8953134_e_h10_ad.jpg","episode":12,"episodeTitle":"Symphony of Illumination","season":"fdd6e42c-97f9-4d7a-aaca-78b53378f960","genres":["3.5.7.3"],"tags":["comedy"],"adult":false}],"seasons":[{"id":"fdd6e42c-97f9-4d7a-aaca-78b53378f960","title":"How I Met Your Mother","adult":false,"season":7,"series":"858c535a-abbb-451b-807a-94196997ea2d"}],"series":[{"id":"858c535a-abbb-451b-807a-94196997ea2d","title":"How I Met Your Mother","adult":false}]}` + const content = + '{"schedules":[{"id":"138dabff-131a-42a0-9373-203545933dd0","published":{"start":"2022-04-20T06:25:00Z","end":"2022-04-20T06:45:00Z"},"program":"ae52299a-3c99-4d34-9932-e21d383f9800","live":false,"blackouts":[]}],"programs":[{"id":"ae52299a-3c99-4d34-9932-e21d383f9800","title":"How I Met Your Mother","shortSynopsis":"Symphony of Illumination - Robin gets some bad news and decides to keep it to herself. Marshall decorates the house.","posterImage":"https://androme.melitacable.com/media/images/epg/bc/07/p8953134_e_h10_ad.jpg","episode":12,"episodeTitle":"Symphony of Illumination","season":"fdd6e42c-97f9-4d7a-aaca-78b53378f960","genres":["3.5.7.3"],"tags":["comedy"],"adult":false}],"seasons":[{"id":"fdd6e42c-97f9-4d7a-aaca-78b53378f960","title":"How I Met Your Mother","adult":false,"season":7,"series":"858c535a-abbb-451b-807a-94196997ea2d"}],"series":[{"id":"858c535a-abbb-451b-807a-94196997ea2d","title":"How I Met Your Mother","adult":false}]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -45,7 +46,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{}` + content: '{}' }) expect(result).toMatchObject([]) }) diff --git a/sites/meo.pt/meo.pt.channels.xml b/sites/meo.pt/meo.pt.channels.xml index e469d7c9..56de7099 100644 --- a/sites/meo.pt/meo.pt.channels.xml +++ b/sites/meo.pt/meo.pt.channels.xml @@ -1,206 +1,204 @@ - - - 24 Kitchen - 3sat - A Bola TV - ADVNCE - Afro Music Channel - Aljazeera English - Alma Lusa - AMC - Antena 3 Internacional - ARTE Français - AR TV Canal Parlamento - Atrecine - Atreseries - AXN Movies - AXN - AXN White - Baby TV - BBC Entertainment - Benfica TV - BFM Business - BFM TV - Biggs - Blaze - Bloomberg TV - BNT 4 - Body Sex HD - Bom Som TV - Boomerang - BVN - Caçavision - Canal 11 - Canal 24 Horas - Canal Cocina - Canal Hollywood - Canal Panda - Canal Q - Canal Um Europa - Cartoon Network - Caza y Pesca - CBS Reality - CCTV 4 Europe - CGTN - CGTN Documentary - Perviy kanal - Cine Mundo - Clubbing TV - CM TV - CNBC Europe - CNN - CNN Portugal - Cubavisión Internacional - Das Erste - Decasa - Discovery Channel - Disney Channel - Disney Junior - Dizi - Dog TV - DW Deutsch - DW English - E! - Eleven 1 - Eleven 2 - Eleven 3 - Eleven 4 - Eleven 5 - Eleven 6 - EuroNews English - EuroNews Deutsch - EuroNews - Eurosport 1 - Eurosport 2 - FashionTV - Fight Sports - Fox Comedy - Fox Crime - Fox Life - Fox Movies - Fox - France 2 - France 24 English - France 24 Français - France 3 - France 5 - Fuel TV - Galicia TV - Gametoon - Globo News - História - Hot Man - Hot Taboo - Hot - I24 News English - I24 News Français - Inter + - JimJam - KBS World - KIKA - Kuriakos TV - LocalVisão TV - Lolly Kids - Más Chic - MCM Pop - MCM Top - Mezzo - Mezzo Live HD - MTV 00s - MTV Live HD - MTV - National Geographic - National Geographic Wild - NBA TV - NHK World Japan - Nickelodeon - Odisseia - Panda Kids - Penthouse Gold - PFC - Phoenix CNE - Playboy TV - Porto Canal - Pro TV - Rai 1 - Rai 2 - Rai 3 - Rai News 24 - Rai Scuola - Rai Storia - Record News - Record TV - Rede Globo - RT News - RTP 1 - RTP 2 - RTP 3 - RTP Açores - RTP África - RTP Madeira - RTP Memória - Rybalka Telekanal - Sextreme - SIC - SIC Caras - SIC K - SIC Mulher - SIC Notícias - SIC Radical - Sky News - Sol Música - Somos - SET Asia - Sony Max UK - S+ - Sporting TV - Sport TV 1 - Sport TV 2 - Sport TV 3 - Sport TV 4 - Sport TV 5 - Sport TV 6 - Sport TV + - Star Cinema - Star Family - Stingray Classica - Stingray Djazz - Stingray IConcerts - Stingray Loud - Stingray Retro - Syfy - TCV - Telesur - TLC - Toros TV - TPA - Trace Brazuca - Trace Toca - Trace Urban - TRT World - TV 2 - TV5Monde Europe - TV Canção Nova - TVCine Action - TVCine Edition - TVCine Emotion - TVCine Top - TVE Internacional - TVI - TVI 24 - TVI Ficção - TVI Reality - TV Verdade - Ukraïna 24 - Ukraine 1 - Ukraine 2 - Venus - Vivid Red - X Sport - ZDF - ZDFNEO - Zee Cinema - Zee TV - - + + EuroNews Deutsch + France 24 English + KBS World + MTV 00s + MTV Live HD + NHK World Japan + Sky News + TPA + TRT World + 24 Kitchen + 3sat + A Bola TV + ADVNCE + Afro Music Channel + Aljazeera English + Alma Lusa + AMC + Antena 3 Internacional + ARTE Français + AR TV Canal Parlamento + Atrecine + Atreseries + AXN Movies + AXN + AXN White + Baby TV + BBC Entertainment + Benfica TV + BFM Business + BFM TV + Biggs + Blaze + Bloomberg TV + BNT 4 + Body Sex HD + Bom Som TV + Boomerang + BVN + Caçavision + Canal 11 + Canal 24 Horas + Canal Cocina + Canal Hollywood + Canal Panda + Canal Q + Canal Um Europa + Cartoon Network + Caza y Pesca + CBS Reality + CCTV 4 Europe + CGTN + CGTN Documentary + Perviy kanal + Cine Mundo + Clubbing TV + CM TV + CNBC Europe + CNN + CNN Portugal + Cubavisión Internacional + Das Erste + Decasa + Discovery Channel + Disney Channel + Disney Junior + Dizi + Dog TV + DW Deutsch + DW English + E! + Eleven 1 + Eleven 2 + Eleven 3 + Eleven 4 + Eleven 5 + Eleven 6 + EuroNews English + EuroNews + Eurosport 1 + Eurosport 2 + FashionTV + Fight Sports + Fox Comedy + Fox Crime + Fox Life + Fox Movies + Fox + France 2 + France 24 Français + France 3 + France 5 + Fuel TV + Galicia TV + Gametoon + Globo News + História + Hot Man + Hot Taboo + Hot + I24 News English + I24 News Français + Inter + + JimJam + KIKA + Kuriakos TV + LocalVisão TV + Lolly Kids + Más Chic + MCM Pop + MCM Top + Mezzo + Mezzo Live HD + MTV + National Geographic + National Geographic Wild + NBA TV + Nickelodeon + Odisseia + Panda Kids + Penthouse Gold + PFC + Phoenix CNE + Playboy TV + Porto Canal + Pro TV + Rai 1 + Rai 2 + Rai 3 + Rai News 24 + Rai Scuola + Rai Storia + Record News + Record TV + Rede Globo + RT News + RTP 1 + RTP 2 + RTP 3 + RTP Açores + RTP África + RTP Madeira + RTP Memória + Rybalka Telekanal + Sextreme + SIC + SIC Caras + SIC K + SIC Mulher + SIC Notícias + SIC Radical + Sol Música + Somos + SET Asia + Sony Max UK + S+ + Sporting TV + Sport TV 1 + Sport TV 2 + Sport TV 3 + Sport TV 4 + Sport TV 5 + Sport TV 6 + Sport TV + + Star Cinema + Star Family + Stingray Classica + Stingray Djazz + Stingray IConcerts + Stingray Loud + Stingray Retro + Syfy + TCV + Telesur + TLC + Toros TV + Trace Brazuca + Trace Toca + Trace Urban + TV 2 + TV5Monde Europe + TV Canção Nova + TVCine Action + TVCine Edition + TVCine Emotion + TVCine Top + TVE Internacional + TVI + TVI 24 + TVI Ficção + TVI Reality + TV Verdade + Ukraïna 24 + Ukraine 1 + Ukraine 2 + Venus + Vivid Red + X Sport + ZDF + ZDFNEO + Zee Cinema + Zee TV + diff --git a/sites/meo.pt/meo.pt.config.js b/sites/meo.pt/meo.pt.config.js index c899d3a4..baa87c55 100644 --- a/sites/meo.pt/meo.pt.config.js +++ b/sites/meo.pt/meo.pt.config.js @@ -3,7 +3,7 @@ const { DateTime } = require('luxon') module.exports = { site: 'meo.pt', days: 2, - url: `https://authservice.apps.meo.pt/Services/GridTv/GridTvMng.svc/getProgramsFromChannels`, + url: 'https://authservice.apps.meo.pt/Services/GridTv/GridTvMng.svc/getProgramsFromChannels', request: { method: 'POST', headers: { diff --git a/sites/meo.pt/meo.pt.test.js b/sites/meo.pt/meo.pt.test.js index e80f27ac..e4fe3ccb 100644 --- a/sites/meo.pt/meo.pt.test.js +++ b/sites/meo.pt/meo.pt.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/meo.pt/meo.pt.config.js --channels=sites/meo.pt/meo.pt.channels.xml --output=guide.xml +// npm run grab -- --site=meo.pt const { parser, url, request } = require('./meo.pt.config.js') const fs = require('fs') diff --git a/sites/mewatch.sg/mewatch.sg.channels.xml b/sites/mewatch.sg/mewatch.sg.channels.xml index a2883a8d..0db4e147 100644 --- a/sites/mewatch.sg/mewatch.sg.channels.xml +++ b/sites/mewatch.sg/mewatch.sg.channels.xml @@ -1,22 +1,20 @@ - - - Channel 5 - Channel 8 - Channel U - Suria - Vasantham - CNA - oktolidays - eGG Network - Animax - GEM - HBO - HBO Hits - HBO Family - HBO Signature - Cinemax - LIVE 1 - LIVE 2 - - + + Animax + Channel 5 + Channel 8 + Channel U + Cinemax + CNA + eGG Network + GEM + HBO + HBO Family + HBO Hits + HBO Signature + LIVE 1 + LIVE 2 + oktolidays + Suria + Vasantham + diff --git a/sites/mewatch.sg/mewatch.sg.config.js b/sites/mewatch.sg/mewatch.sg.config.js index a8dc1363..baf58b9a 100644 --- a/sites/mewatch.sg/mewatch.sg.config.js +++ b/sites/mewatch.sg/mewatch.sg.config.js @@ -40,7 +40,7 @@ function parseStop(item) { function parseRating(info) { const classification = info.classification if (classification && classification.code) { - const [_, system, value] = classification.code.match(/^([A-Z]+)\-([A-Z0-9]+)/) || [ + const [, system, value] = classification.code.match(/^([A-Z]+)-([A-Z0-9]+)/) || [ null, null, null diff --git a/sites/mewatch.sg/mewatch.sg.test.js b/sites/mewatch.sg/mewatch.sg.test.js index e7c92a9f..ca944c90 100644 --- a/sites/mewatch.sg/mewatch.sg.test.js +++ b/sites/mewatch.sg/mewatch.sg.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mewatch.sg/mewatch.sg.config.js --channels=sites/mewatch.sg/mewatch.sg.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mewatch.sg const { parser, url } = require('./mewatch.sg.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[{"channelId":"97098","startDate":"2022-06-11T21:00:00.000Z","endDate":"2022-06-12T21:00:00.000Z","schedules":[{"channelId":"97098","customId":"37040748","endDate":"2022-06-11T21:30:00Z","id":"788a7dd","live":false,"startDate":"2022-06-11T21:00:00Z","isGap":false,"InteractiveType":"0","item":{"type":"episode","title":"Open Homes S3 - EP 2","blackoutMessage":"Programme is not available for live streaming.","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.","classification":{"code":"IMDA-G (Violence)","name":"G (Violence)"},"episodeNumber":2,"episodeTitle":"Collaroy, Sydney","seasonNumber":3,"images":{"wallpaper":"https://production.togglestatic.com/shain/v1/dataservice/ResizeImage/$value?Format='jpg'&Quality=85&ImageId='4853691'&EntityType='LinearSchedule'&EntityId='788a7dd9-9b12-446f-91b4-c8ac9fec95e5'&Width=1280&Height=720&device=web_browser&subscriptions=Anonymous&segmentationTags=all","tile":"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"},"enableCatchUp":true,"enableStartOver":false,"enableSeeking":false,"programSource":"ACQUIRED","simulcast":"LOCAL","masterReferenceKey":"0CH50CH5A0105567800020A0000000000P3254400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}]}]` + const content = + '[{"channelId":"97098","startDate":"2022-06-11T21:00:00.000Z","endDate":"2022-06-12T21:00:00.000Z","schedules":[{"channelId":"97098","customId":"37040748","endDate":"2022-06-11T21:30:00Z","id":"788a7dd","live":false,"startDate":"2022-06-11T21:00:00Z","isGap":false,"InteractiveType":"0","item":{"type":"episode","title":"Open Homes S3 - EP 2","blackoutMessage":"Programme is not available for live streaming.","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.","classification":{"code":"IMDA-G (Violence)","name":"G (Violence)"},"episodeNumber":2,"episodeTitle":"Collaroy, Sydney","seasonNumber":3,"images":{"wallpaper":"https://production.togglestatic.com/shain/v1/dataservice/ResizeImage/$value?Format=\'jpg\'&Quality=85&ImageId=\'4853691\'&EntityType=\'LinearSchedule\'&EntityId=\'788a7dd9-9b12-446f-91b4-c8ac9fec95e5\'&Width=1280&Height=720&device=web_browser&subscriptions=Anonymous&segmentationTags=all","tile":"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"},"enableCatchUp":true,"enableStartOver":false,"enableSeeking":false,"programSource":"ACQUIRED","simulcast":"LOCAL","masterReferenceKey":"0CH50CH5A0105567800020A0000000000P3254400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"}}]}]' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -34,7 +35,7 @@ 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`, + 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", episode: 2, season: 3, rating: { @@ -47,7 +48,8 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[{"channelId":"9798","startDate":"2022-06-11T21:00:00.000Z","endDate":"2022-06-12T21:00:00.000Z","schedules":[]}]`, + content: + '[{"channelId":"9798","startDate":"2022-06-11T21:00:00.000Z","endDate":"2022-06-12T21:00:00.000Z","schedules":[]}]', channel }) expect(result).toMatchObject([]) diff --git a/sites/mi.tv/mi.tv.config.js b/sites/mi.tv/mi.tv.config.js index 6de2b808..946d10e1 100644 --- a/sites/mi.tv/mi.tv.config.js +++ b/sites/mi.tv/mi.tv.config.js @@ -66,7 +66,7 @@ function parseDescription($item) { function parseIcon($item) { const backgroundImage = $item('a > div.image-parent > div.image').css('background-image') - const [_, icon] = backgroundImage.match(/url\(\'(.*)'\)/) || [null, null] + const [, icon] = backgroundImage.match(/url\('(.*)'\)/) || [null, null] return icon } diff --git a/sites/mi.tv/mi.tv.test.js b/sites/mi.tv/mi.tv.test.js index bed90649..5a4a1be0 100644 --- a/sites/mi.tv/mi.tv.test.js +++ b/sites/mi.tv/mi.tv.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mi.tv/mi.tv.config.js --channels=sites/mi.tv/mi.tv_ar.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mi.tv const { parser, url } = require('./mi.tv.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: 'ar#24-7-canal-de-noticias', xmltv_id: '247CanaldeNoticias.ar' } -const content = `
    Programación 24/7 Canal de Noticias

    Programación 24/7 Canal de Noticias Miércoles 24 de noviembre

    ` +const content = + '
    Programación 24/7 Canal de Noticias

    Programación 24/7 Canal de Noticias Miércoles 24 de noviembre

    ' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -31,7 +32,7 @@ it('can parse response', () => { { start: '2021-11-24T03:00:00.000Z', stop: '2021-11-24T23:00:00.000Z', - title: `Trasnoche de 24/7`, + 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' @@ -39,17 +40,19 @@ it('can parse response', () => { { start: '2021-11-24T23:00:00.000Z', stop: '2021-11-25T01:00:00.000Z', - title: `Noticiero central - Segunda edición`, + title: 'Noticiero central - Segunda edición', 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.`, + 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' }, { start: '2021-11-25T01:00:00.000Z', stop: '2021-11-25T02:00:00.000Z', - title: `Plus energético`, + title: 'Plus energético', 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.`, + 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' } ]) @@ -59,7 +62,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/mi.tv/mi.tv_ar.channels.xml b/sites/mi.tv/mi.tv_ar.channels.xml index 0f82f6cc..a3a12ac2 100644 --- a/sites/mi.tv/mi.tv_ar.channels.xml +++ b/sites/mi.tv/mi.tv_ar.channels.xml @@ -1,164 +1,162 @@ - - - 24/7 Canal de Noticias - A24 - A&E Mundo - AMC - América Sports - América TV - Animal Planet - Argentinísima Satelital - Atrecine - Atreseries - Az Corazón - Baby TV Latin America - Bloomberg TV - C5N - Canal 10 Córdoba - Canal 20 Villa Maria - Canal 26 - Canal 4 - Canal (á) - Canal de la Ciudad - Canal DHE - Canal Luz - Canal Orbe 21 - Canal Rural - Canal U - Cartoon Network - Cine.ar - Cinecanal - CineLatino - Cinemax - Ciudad Magazine - CM El Canal de la Música - CN23 - CNN Chile - CNN en Español - CNN - Comedy Central - Conexión Educativa - Construir TV - Crónica TV - De Película - DeporTV - Discovery Channel - Discovery World HD - Discovery Home & Health - Discovery Kids - Discovery Science - Discovery Theater HD - Discovery Turbo - Disney Channel - E! - El Gourmet - El Nueve - El Trece - El Trece Internacional - Encuentro - ESPN Premium - Europa Europa - EWTN - Film & Arts - Food Network - Fox Sports 2 - Fox Sports 3 - Fox Sports HD - France 24 Español - FX - FXM - Galicia TV - Garage TV - Glitz - Golden Edge - Golden - Golf Channel - Gol TV - HAPSATV - HBO 2 - HBO Family - HBO Mundi - HBO Plus Panamericano HD - HBO Pop - HBO Signature - HBO Xtreme - HGTV - Hispan TV - H2 - History - Hola! TV - HTV - Investigation Discovery - I-Sat - IVC - Las Estrellas - Lifetime - LN+ - Más Chic - Metro - MTV Hits - MTV - Much - MusicTop - Nat Geo Kids - National Geographic - National Geographic Wild - NBA TV - Net TV - Nickelodeon - Nick Jr - Nicktoons - Pakapaka - Paramount Network - Pasiones - Penthouse Gold - Playboy TV - Quiero Musica en mi Idioma - Rai Italia - RT HD - Smithsonian Channel - Sony Channel - Space - Star Channel - Studio Universal - TBS - TCM - Tec TV - Telediario TV - Telefe - Telefe Córdoba - Telefe Rosario - Telefe Santa Fe - TeleHit - Telemax - Telemundo - Telesur - TLC - Tlnovelas - TN - TNT - TNT Series - TNT Sports - Tooncast - Tru TV - Turismo Visión Argentina - TV5Monde - TV Ciudad - TV Cortos - TVE - TV Globo - TV Nacional Uruguay - TV Pública - TyC Sports - TyC Sports 2 - Universal TV - Uruguay Natural TV - Venus - Viajar - Volver - VTV - Warner Channel - ZooMoo - - + + 24/7 Canal de Noticias + A24 + A&E Mundo + AMC + América Sports + América TV + Animal Planet + Argentinísima Satelital + Atrecine + Atreseries + Az Corazón + Baby TV Latin America + Bloomberg TV + C5N + Canal 10 Córdoba + Canal 20 Villa Maria + Canal 26 + Canal 4 + TV Nacional Uruguay + Canal (á) + Canal de la Ciudad + Canal Luz + Canal Orbe 21 + Canal Rural + Canal U + Cartoon Network + Cine.ar + Cinecanal + CineLatino + Cinemax + Ciudad Magazine + CM El Canal de la Música + CN23 + CNN Chile + CNN en Español + CNN + Comedy Central + Conexión Educativa + Construir TV + Crónica TV + De Película + DeporTV + Canal DHE + Discovery Channel + Discovery Home & Health + Discovery Kids + Discovery Science + Discovery Theater HD + Discovery Turbo + Discovery World HD + Disney Channel + E! + El Gourmet + El Nueve + El Trece + El Trece Internacional + Encuentro + ESPN Premium + Europa Europa + EWTN + Film & Arts + Food Network + Fox Sports 2 + Fox Sports 3 + Fox Sports HD + France 24 Español + FXM + FX + Galicia TV + Garage TV + Glitz + Golden Edge + Golden + Golf Channel + Gol TV + HAPSATV + HBO 2 + HBO Family + HBO Mundi + HBO Plus Panamericano HD + HBO Pop + HBO Signature + HBO Xtreme + HGTV + Hispan TV + H2 + History + Hola! TV + HTV + Investigation Discovery + I-Sat + IVC + LN+ + Las Estrellas + Lifetime + Más Chic + Metro + MTV Hits + MTV + Much + MusicTop + Nat Geo Kids + National Geographic + National Geographic Wild + NBA TV + Net TV + Nickelodeon + Nick Jr + Nicktoons + Pakapaka + Paramount Network + Pasiones + Penthouse Gold + Playboy TV + Quiero Musica en mi Idioma + Rai Italia + RT HD + Smithsonian Channel + Sony Channel + Space + Star Channel + Studio Universal + TBS + TCM + Tec TV + Telediario TV + Telefe + Telefe Córdoba + Telefe Rosario + Telefe Santa Fe + TeleHit + Telemax + Telemundo + Telesur + TLC + Tlnovelas + TN + TNT Series + TNT + TNT Sports + Tooncast + Tru TV + Turismo Visión Argentina + TV5Monde + TV Ciudad + TV Cortos + TVE + TV Globo + TV Pública + TyC Sports + TyC Sports 2 + Universal TV + Uruguay Natural TV + Venus + Viajar + Volver + VTV + Warner Channel + ZooMoo + diff --git a/sites/mi.tv/mi.tv_br.channels.xml b/sites/mi.tv/mi.tv_br.channels.xml index 8035791e..9dbbbb37 100644 --- a/sites/mi.tv/mi.tv_br.channels.xml +++ b/sites/mi.tv/mi.tv_br.channels.xml @@ -1,260 +1,258 @@ - - - A&E - Agro+ HD - Amazon Sat - AMC Brasil - Animal Planet - Arte 1 - AXN - Baby TV - Band Amazonas - Band Bahia - Band Curitiba - Band News - Band São Paulo - Band Sports - BBC World News Americas - Bis - - Boas Novas - Boa Vontade TV - Boomerang - Canal Brasil - Canal do Boi - Canal Futura - Canal Off - Canal Rural - Canal Viva - Cartoon Network Brasil - CGTN - Chef TV - CineBrasil TV - Cinemax Brasil - CNN Brasil - CNN International Asia Pacific - Comedy Central Brasil - Conmebol TV 1 - Conmebol TV 2 - Conmebol TV 3 - Conmebol TV 4 - Curta! - Discovery Channel Brasil - Discovery Home & Health Brasil - Discovery Kids Brasil - Discovery Science Brasil - Discovery Theater - Discovery Turbo Brasil - Discovery World Brasil - Disney Channel Brasil - Dog TV - DW Deutsch - E! Brasil - EPTV Sul de Minas - ESPN - ESPN Brasil - ESPN Extra - Eurochannel - FashionTV Brazil - Film & Arts Brasil - Fish TV - Food Network Brasil - Fox News Channel - Fox Sports 2 Brasil - Fox Sports Brasil - FX Brasil - Globo News - Gloob - Gloobinho - GNT - HBO 2 Brasil - HBO Brasil - HBO Family Brasil - HBO Mundi Brasil - HBO Plus Brasil - HBO Pop Brasil - HBO Signature Brasil - HBO Xtreme Brasil - HGTV Brasil - History 2 Brasil - History Brasil - Ideal TV - Inter TV Alto Litoral - Inter TV Cabugi - Inter TV Grande Minas - Inter TV Serramar - Investigação Discovery - I-Sat - Jovem Pan News - Lifetime Brasil - Loading - Mais na Tela - Megapix - MTV Brasil - MTV Live HD - Multishow - Music Box Brazil - Nat Geo Kids - National Geographic - National Geographic Wild - NHK World Japan - Nickelodeon - Nick Jr - NSC TV Blumenau HD - NSC TV Chapecó - NSC TV Criciúma - NSC TV Florianópolis HD - NSC TV Joinville HD - Paramount Network - Playboy TV Brazil - Premiere Clubes - Prime Box Brazil - Rai - RBA TV HD - RBI TV - RBS TV Porto Alegre HD - RBS TV RS - RBS TV Santa Maria - Record Belém - Record Cabrália - Record Goiás - Record Itapoan - Record Minas HD - Record Nacional - Record News - Record Paulista HD - Record Rio HD - Record Rio Grande do Sul HD - Record São Paulo HD - Rede 21 HD - Rede Amazônica - Rede Amazônica Manaus HD - Rede Brasil - Rede CNT Rio de Janeiro HD - Rede Família - Rede Gênesis - Rede Globo HD - Rede Gospel - Rede Internacional de TV - Rede Massa - Rede Meio Norte - Rede Minas - Rede Século 21 - Rede Super - Rede TV! - Rede TV! Rondônia - Rede Vida - RPC TV Curitiba - RPC TV Foz do Iguaçu - RPC TV Maringá - RPC TV Paranavaí - RPC TV Ponta Grossa - RTPi Brasil - SBN International - SBT MS - SBT Nacional - SBT Pará - SBT Rio - SESC TV - Sextreme - Sexy Hot - SIC Internacional - SIC TV - Smithsonian Channel HD Brasil - Sony Channel - Space - SporTV - SporTV 2 - SporTV 3 - Star Channel - Star Hits - Star Life - Studio Universal - Syfy - TBS - TCM - Telecine Action - Telecine Cult - Telecine Fun - Telecine Pipoca - Telecine Premium - Telecine Touch - Telefe Internacional - Terra Viva - TLC - TNT - TNT Series - Tooncast - Trace Brazuca - Travel Box Brazil - Tru TV - TV A Crítica - TV ALESP - TV Amapá - TV Anhanguera HD - TV Antena 10 - TV Aparecida - TV Aratu - TV Assembléia Ceará HD - TV Assembléia Minas Gerais - TV Atalaia - TV Bahia - TV Brasil - TV Cabo Branco - TV Câmara - TV Canção Nova - TV Capixaba - TV Ceará - TV Centro América Cuiabá - TV Cidade São Luíz HD - TV Cidade Verde Cuiabá HD - TV Clube - TV Correio - TV Cultura - TV Diário - TV Difusora São Luís - TVE - TVE Bahia - TVE - TV Em Tempo HD - TV Escola - TV Gazeta - TV Globo Brasília - TV Globo Nordeste HD - TV Globo Rio de Janeiro - TV Globo São Paulo - TV Goiânia Band - TV Guará HD - TV Horizonte - TV Iguaçu HD - TV Jangadeiro - TV Jornal Caruaru - TV Justiça - TV Liberal - TV Novo Tempo - TV Pajuçara - TV Pampa HD - TV Paranaíba HD - TV Paraná Turismo HD - TV Ponta Negra - TV Rá Tim Bum - TV Rio Sul HD - TV Rondônia - TV Santa Cruz HD - TV Senado - TV Sergipe HD - TV Serra Dourada HD - TVT - TV Tribuna - TV Tropical - TV União Fortaleza - TV Verdes Mares - Universal TV - Univesp TV - VH1 - Warner Channel - WooHoo - ZooMoo - - + + + A&E + Agro+ HD + Amazon Sat + AMC Brasil + Animal Planet + Arte 1 + AXN + Baby TV + Band Amazonas + Band Bahia + Band Curitiba + Band News + Band São Paulo + Band Sports + BBC World News Americas + Bis + Boas Novas + Boa Vontade TV + Boomerang + Canal Brasil + Canal do Boi + Canal Futura + Canal Off + Canal Rural + Canal Viva + Cartoon Network Brasil + CGTN + Chef TV + CineBrasil TV + Cinemax Brasil + CNN Brasil + CNN International Asia Pacific + Comedy Central Brasil + Conmebol TV 1 + Conmebol TV 2 + Conmebol TV 3 + Conmebol TV 4 + Curta! + Discovery Channel Brasil + Discovery Home & Health Brasil + Discovery Kids Brasil + Discovery Science Brasil + Discovery Theater + Discovery Turbo Brasil + Discovery World Brasil + Disney Channel Brasil + Dog TV + DW Deutsch + E! Brasil + EPTV Sul de Minas + ESPN + ESPN Brasil + ESPN Extra + Eurochannel + FashionTV Brazil + Film & Arts Brasil + Fish TV + Food Network Brasil + Fox News Channel + Fox Sports 2 Brasil + Fox Sports Brasil + FX Brasil + Globo News + Gloob + Gloobinho + GNT + HBO 2 Brasil + HBO Brasil + HBO Family Brasil + HBO Mundi Brasil + HBO Plus Brasil + HBO Pop Brasil + HBO Signature Brasil + HBO Xtreme Brasil + HGTV Brasil + History 2 Brasil + History Brasil + Ideal TV + Inter TV Alto Litoral + Inter TV Cabugi + Inter TV Grande Minas + Inter TV Serramar + Investigação Discovery + I-Sat + Jovem Pan News + Lifetime Brasil + Loading + Mais na Tela + Megapix + MTV Brasil + MTV Live HD + Multishow + Music Box Brazil + Nat Geo Kids + National Geographic + National Geographic Wild + NHK World Japan + Nickelodeon + Nick Jr + NSC TV Blumenau HD + NSC TV Chapecó + NSC TV Criciúma + NSC TV Florianópolis HD + NSC TV Joinville HD + Paramount Network + Playboy TV Brazil + Premiere Clubes + Prime Box Brazil + Rai + RBA TV HD + RBI TV + RBS TV Porto Alegre HD + RBS TV RS + RBS TV Santa Maria + Record News + Record Nacional + Record Belém + Record Cabrália + Record Goiás + Record Itapoan + Record Minas HD + Record Paulista HD + Record Rio HD + Record Rio Grande do Sul HD + Record São Paulo HD + Rede 21 HD + Rede Amazônica + Rede Amazônica Manaus HD + Rede Brasil + Rede CNT Rio de Janeiro HD + Rede Família + Rede Gênesis + Rede Globo HD + Rede Gospel + Rede Internacional de TV + Rede Massa + Rede Meio Norte + Rede Minas + Rede Século 21 + Rede Super + Rede TV! + Rede TV! Rondônia + Rede Vida + RPC TV Curitiba + RPC TV Foz do Iguaçu + RPC TV Maringá + RPC TV Paranavaí + RPC TV Ponta Grossa + RTPi Brasil + SBN International + SBT MS + SBT Nacional + SBT Pará + SBT Rio + SESC TV + Sextreme + Sexy Hot + SIC Internacional + SIC TV + Smithsonian Channel HD Brasil + Sony Channel + Space + SporTV + SporTV 2 + SporTV 3 + Star Channel + Star Hits + Star Life + Studio Universal + Syfy + TBS + TCM + Telecine Action + Telecine Cult + Telecine Fun + Telecine Pipoca + Telecine Premium + Telecine Touch + Telefe Internacional + Terra Viva + TLC + TNT + TNT Series + Tooncast + Trace Brazuca + Travel Box Brazil + Tru TV + TV A Crítica + TV ALESP + TV Amapá + TV Anhanguera HD + TV Antena 10 + TV Aparecida + TV Aratu + TV Assembléia Ceará HD + TV Assembléia Minas Gerais + TV Atalaia + TV Bahia + TV Brasil + TV Cabo Branco + TV Câmara + TV Canção Nova + TV Capixaba + TV Ceará + TV Centro América Cuiabá + TV Cidade São Luíz HD + TV Cidade Verde Cuiabá HD + TV Clube + TV Correio + TV Cultura + TV Diário + TV Difusora São Luís + TVE Bahia + TVE + TV Em Tempo HD + TVE + TV Escola + TV Gazeta + TV Globo Brasília + TV Globo Nordeste HD + TV Globo Rio de Janeiro + TV Globo São Paulo + TV Goiânia Band + TV Guará HD + TV Horizonte + TV Iguaçu HD + TV Jangadeiro + TV Jornal Caruaru + TV Justiça + TV Liberal + TV Novo Tempo + TV Pajuçara + TV Pampa HD + TV Paranaíba HD + TV Paraná Turismo HD + TV Ponta Negra + TV Rá Tim Bum + TV Rio Sul HD + TV Rondônia + TV Santa Cruz HD + TV Senado + TV Sergipe HD + TV Serra Dourada HD + TVT + TV Tribuna + TV Tropical + TV União Fortaleza + TV Verdes Mares + Universal TV + Univesp TV + VH1 + Warner Channel + WooHoo + ZooMoo + diff --git a/sites/mi.tv/mi.tv_cl.channels.xml b/sites/mi.tv/mi.tv_cl.channels.xml index 93f565c0..e825e0e0 100644 --- a/sites/mi.tv/mi.tv_cl.channels.xml +++ b/sites/mi.tv/mi.tv_cl.channels.xml @@ -1,84 +1,82 @@ - - - 13C - 24 Horas - AMC - America Sports - ARTV - Az Cinema - Azteca Uno - Boomerang - Canal 13 - Canal 24 Horas - Canal 7 Jujuy - Canal 9 Bío-Bío Televisión - Canal del Sur - Canal Ecool - Canal ISB - Canal Vasco - Caracol TV Internacional - Cartoon Network - CCTV 4 - CDF Básico - CDF HD - CDF Premium - CDO Básico - CDO HD - CDO Premium - ChileVisión - Concert Channel - Diputados TV - Discovery Channel - Discovery Kids - El Gourmet - Enlace - ESPN 2 - ESPN 3 - ESPN 4 - ETC TV - EuroNews - Fox Sports 1 HD - Fox Sports 2 - Fox Sports - France 24 English - FunBox - FX - FXM - HBO - La Red - María+Visión - Mega - National Geographic - NHK World Premium - Rec TV - RMS - Space - Star Action +3 - Star Channel - Star Cinema - Star Classics - Star Comedy - Star Fun +3 - Star Hits - Star Life - Star Series +3 - Studio Universal - TBS - TCM - Teletrak - TNT - TVN - TV Nuevo Tiempo - TV Senado - TVU - TyC Sports - UCV TV - Ufrovisión - Unicable - Universal TV - Vía X - Warner Channel - Zona Latina - - + + 13C + 24 Horas + AMC + America Sports + ARTV + Az Cinema + Azteca Uno + Boomerang + Canal 13 + Canal 24 Horas + Canal 7 Jujuy + Canal 9 Bío-Bío Televisión + Canal del Sur + Canal Ecool + Canal ISB + Canal Vasco + Caracol TV Internacional + Cartoon Network + CCTV 4 + CDF Básico + CDF HD + CDF Premium + CDO Básico + CDO HD + CDO Premium + ChileVisión + Concert Channel + Diputados TV + Discovery Channel + Discovery Kids + El Gourmet + Enlace + ESPN 2 + ESPN 3 + ESPN 4 + ETC TV + EuroNews + Fox Sports 1 HD + Fox Sports 2 + Fox Sports + France 24 English + FunBox + FX + FXM + HBO + La Red + María+Visión + Mega + National Geographic + NHK World Premium + TV Nuevo Tiempo + Rec TV + RMS + Space + Star Action +3 + Star Channel + Star Cinema + Star Classics + Star Comedy + Star Fun +3 + Star Hits + Star Life + Star Series +3 + Studio Universal + TBS + TCM + Teletrak + TNT + TVN + TV Senado + TVU + TyC Sports + UCV TV + Ufrovisión + Unicable + Universal TV + Vía X + Warner Channel + Zona Latina + diff --git a/sites/mi.tv/mi.tv_co.channels.xml b/sites/mi.tv/mi.tv_co.channels.xml index 0081b927..baa2c78c 100644 --- a/sites/mi.tv/mi.tv_co.channels.xml +++ b/sites/mi.tv/mi.tv_co.channels.xml @@ -1,46 +1,44 @@ - - - Aliento Vision - AXN - Az Mundo HD - Canal 1 - Canal C - Canal CaliTV - Canal Capital - Canal Cartagena - Canal TRO - Canal U - Caracol TV - Comedy Central HD - Cosmovisión - Cristovisión - Discovery Kids - Enlace Juvenil - Fashion One HD - Fox Sports 2 HD - FX HD - Golden Premier HD - HBO HD Este - Investigation Discovery HD - MTV Live HD - RCN TV HD - - Star Action - Star Channel - Star Fun - Star Life - Star Series - Sun Channel - Teleantioquia HD - Telemedellín HD - Tele Nostalgia - Tele Vid HD - TLC - TNT Series - Trace Sport Stars - Trece - Ve Plus - Win Sports HD - - + + + Aliento Vision + AXN + Az Mundo HD + Canal CaliTV + Canal 1 + Canal C + Canal Capital + Canal Cartagena + RCN TV HD + Canal TRO + Canal U + Caracol TV + Comedy Central HD + Cosmovisión + Cristovisión + Discovery Kids + Enlace Juvenil + Fashion One HD + Fox Sports 2 HD + FX HD + Golden Premier HD + HBO HD Este + Investigation Discovery HD + MTV Live HD + Star Action + Star Channel + Star Fun + Star Life + Star Series + Sun Channel + Teleantioquia HD + Telemedellín HD + Tele Nostalgia + Tele Vid HD + TLC + TNT Series + Trace Sport Stars + Trece + Ve Plus + Win Sports HD + diff --git a/sites/mi.tv/mi.tv_gt.channels.xml b/sites/mi.tv/mi.tv_gt.channels.xml index 11708283..8332c413 100644 --- a/sites/mi.tv/mi.tv_gt.channels.xml +++ b/sites/mi.tv/mi.tv_gt.channels.xml @@ -1,23 +1,21 @@ - - - Cablenoticias - Canal Antigua - Cartoon Network - Cinecanal - Discovery Home & Health - Distrito Comedia - Guatevisión - MTV Latino - MultiPremier - National Geographic - - Star Life - TDN - Telemicro Internacional - Televen - TNT - TV Agro - XTime Channel - - + + + Cablenoticias + Canal Antigua + Cartoon Network + Cinecanal + Discovery Home & Health + Distrito Comedia + Guatevisión + MTV Latino + MultiPremier + National Geographic + Star Life + TDN + Telemicro Internacional + Televen + TNT + TV Agro + XTime Channel + diff --git a/sites/mi.tv/mi.tv_hn.channels.xml b/sites/mi.tv/mi.tv_hn.channels.xml index cb77ccbb..acc8ea78 100644 --- a/sites/mi.tv/mi.tv_hn.channels.xml +++ b/sites/mi.tv/mi.tv_hn.channels.xml @@ -1,27 +1,25 @@ - - - 3ABN Latino - Alfa & Omega Vision - Azteca 7 - Bandamax - Bethel TV - Canal 11 - CCI Channel - CDM - Cinecanal - Cubavisión - Disney Channel - DTV - Fox Sports - Gol TV - HCH - Studio Universal - Telecadena 7 y 4 - Teleceiba - Telesistema 3 y 7 - Televicentro - Universal TV - VTV - - + + 3ABN Latino + Alfa & Omega Vision + Azteca 7 + Bandamax + Bethel TV + Canal 11 + CCI Channel + CDM + Cinecanal + Cubavisión + Disney Channel + DTV + Fox Sports + Gol TV + HCH + Studio Universal + Telecadena 7 y 4 + Teleceiba + Telesistema 3 y 7 + Televicentro + Universal TV + VTV + diff --git a/sites/mi.tv/mi.tv_mx.channels.xml b/sites/mi.tv/mi.tv_mx.channels.xml index a37881a7..b7db8741 100644 --- a/sites/mi.tv/mi.tv_mx.channels.xml +++ b/sites/mi.tv/mi.tv_mx.channels.xml @@ -1,31 +1,29 @@ - - - AMC - Azteca 7 - Boomerang - Canal 22 Metropolitana y Nacional - El Nu9ve - Las Estrellas - Canal 5 - Cartoon Network - Cine Mexicano - De Pelicula HD - Discovery Channel - Disney Channel - El Financiero Bloomberg - Foro TV - Milenio TV - Nu Music - Once México - Space - Star Channel - Star Life - Studio Universal - Tlnovelas - TNT - Universal TV - Warner Channel - WOBI TV - - + + AMC + Azteca 7 + Boomerang + Canal 22 Metropolitana y Nacional + Canal 5 + Cartoon Network + Cine Mexicano + De Pelicula HD + Discovery Channel + Disney Channel + El Financiero Bloomberg + El Nu9ve + Foro TV + Las Estrellas + Milenio TV + Nu Music + Space + Star Channel + Star Life + Studio Universal + Tlnovelas + TNT + Universal TV + Warner Channel + WOBI TV + Once México + diff --git a/sites/mi.tv/mi.tv_pe.channels.xml b/sites/mi.tv/mi.tv_pe.channels.xml index 850fc648..40fcb0d5 100644 --- a/sites/mi.tv/mi.tv_pe.channels.xml +++ b/sites/mi.tv/mi.tv_pe.channels.xml @@ -1,24 +1,22 @@ - - - - ATV - ATV+ - ATV Sur - BYU TV - City TV - DW Deutsch+ - Global TV - Latele - Latina - Más Chic - Mi Gente TV - Nickelodeon - Panamericana TV - Rumba TV - Telefuturo - TV Perú - Unitel - Willax TV - - + + + ATV + ATV+ + ATV Sur + BYU TV + City TV + DW Deutsch+ + Global TV + Latele + Latina + Más Chic + Mi Gente TV + Nickelodeon + Panamericana TV + Rumba TV + Telefuturo + TV Perú + Unitel + Willax TV + diff --git a/sites/mi.tv/mi.tv_sv.channels.xml b/sites/mi.tv/mi.tv_sv.channels.xml index 92cb7fa2..8a9e0ca4 100644 --- a/sites/mi.tv/mi.tv_sv.channels.xml +++ b/sites/mi.tv/mi.tv_sv.channels.xml @@ -1,17 +1,15 @@ - - - Canal 2 - Canal 4 - Canal 6 - Canal 10 - Canal 12 - Canal Claro - Gentevé - Megavisión Canal 19 - Megavisión Canal 21 - TVO Canal 23 - TVX - VTV Canal 35 - - + + Canal 10 + Canal 12 + Canal 2 + Canal 4 + Canal 6 + Canal Claro + Gentevé + Megavisión Canal 19 + Megavisión Canal 21 + TVO Canal 23 + TVX + VTV Canal 35 + diff --git a/sites/mncvision.id/mncvision.id.channels.xml b/sites/mncvision.id/mncvision.id.channels.xml index c01defef..fe2fbb6b 100644 --- a/sites/mncvision.id/mncvision.id.channels.xml +++ b/sites/mncvision.id/mncvision.id.channels.xml @@ -1,199 +1,197 @@ - - - ABC Australia - Aljazeera - Animal Planet - Animax Asia - ANTV - Arirang - Asian Food Network - AXN - Baby TV - BBC Earth - BBC World News - BeIn Sports 1 - BeIn Sports 3 - BTV - Besmart - Bloomberg TV - Boomerang - Cartoon - CBeebies - Celestial Classic Movies - Celestial Movies - CGTN - CGTN Documentary - Cinemax - CNA - CNBC - CNN International - Crime + Investigation - Discovery Channel - DW English - Ent - Fight Sports - FMN - Fox News Channel - France 24 - Galaxy - Galaxy Premium - GTV - HBO Asia - HBO Family Asia - HBO Hits - HBO Signature Asia - HGTV Asia - History - Hits - Hits Movies - IDX Channel - Ie - IMC - Indosiar - INews - Jak TV - Kids TV - Kix - Kompas TV - Life - Lifestyle & Fashion - Lifetime Asia - Metro TV - Miao Mi - MNC News - MNC Sports - MNC Sports 2 - MNC Sports 3 - MNC TV - M Shop Signature - M Shop Super Sale! - Music TV - Muslim TV - National Geographic - National Geographic Wild - NET - NHK World Japan - NHK World Premium - Nickelodeon - Nick Jr Asia - OK TV - One - Quran TV - RCTI - SCTV - SEA Today - Soccer Channel - SPOTV - SPOTV 2 - Tawaf TV - Thrill - TLC - Trans 7 - Trans TV - tvN - tvN Movies - TVOne - TVRI Nasional - Vision Prime - Warner TV - Zee Bioskop - ABC Australia - Aljazeera - Animal Planet - Animax - ANTV - Arirang World - Asian Food Network - AXN - Baby TV - BBC Earth - BBC World News - BeIn Sports 1 - BeIn Sports 3 - BTV - Besmart - Bloomberg TV - Boomerang - Cartoon Network - CBeebies Asia - Celestial Classic Movies - Celestial Movies - CGTN - CGTN Documentary - Cinemax Asia - CNA - CNBC - CNN International - Crime + Investigation - Discovery Channel - DW English - Ent - Fight Sports - FMN - Fox News Channel - France 24 - Galaxy - Galaxy Premium - GTV - HBO - HBO Family - HBO Hits - HBO Signature - HGTV - History - Hits - Hits Movies - IDX Channel - Ie - IMC - Indosiar - INews - Jak TV - Kids TV - Kix - Kompas TV - Life - Lifestyle & Fashion - Lifetime - Metro TV - Miao Mi - MNC News - MNC Sports - MNC Sports 2 - MNC Sports 3 - MNC TV - M Shop Signature - M Shop Super Sale! - Music TV - Muslim TV - National Geographic - National Geographic Wild - NET - NHK World Japan - NHK World Premium - Nickelodeon - Nick Jr - OK TV - One - Quran TV - RCTI - SCTV - SEA Today - Soccer Channel - SPOTV - SPOTV 2 - Tawaf TV - Thrill - TLC - Trans 7 - Trans TV - tvN - tvN Movies - TVOne - TVRI Nasional - Vision Prime - Warner TV - Zee Bioskop - - + + ABC Australia + Aljazeera + Animal Planet + Animax Asia + ANTV + Arirang + Asian Food Network + AXN + Baby TV + BBC Earth + BBC World News + BeIn Sports 1 + BeIn Sports 3 + BTV + Besmart + Bloomberg TV + Boomerang + Cartoon + CBeebies + Celestial Classic Movies + Celestial Movies + CGTN + CGTN Documentary + Cinemax + CNA + CNBC + CNN International + Crime + Investigation + Discovery Channel + DW English + Ent + Fight Sports + FMN + Fox News Channel + France 24 + Galaxy + Galaxy Premium + GTV + HBO Asia + HBO Family Asia + HBO Hits + HBO Signature Asia + HGTV Asia + History + Hits + Hits Movies + IDX Channel + Ie + IMC + Indosiar + INews + Jak TV + Kids TV + Kix + Kompas TV + Life + Lifestyle & Fashion + Lifetime Asia + Metro TV + Miao Mi + MNC News + MNC Sports + MNC Sports 2 + MNC Sports 3 + MNC TV + M Shop Signature + M Shop Super Sale! + Music TV + Muslim TV + National Geographic + National Geographic Wild + NET + NHK World Japan + NHK World Premium + Nickelodeon + Nick Jr Asia + OK TV + One + Quran TV + RCTI + SCTV + SEA Today + Soccer Channel + SPOTV + SPOTV 2 + Tawaf TV + Thrill + TLC + Trans 7 + Trans TV + tvN + tvN Movies + TVOne + TVRI Nasional + Vision Prime + Warner TV + Zee Bioskop + ABC Australia + Aljazeera + Animal Planet + Animax + ANTV + Arirang World + Asian Food Network + AXN + Baby TV + BBC Earth + BBC World News + BeIn Sports 1 + BeIn Sports 3 + BTV + Besmart + Bloomberg TV + Boomerang + Cartoon Network + CBeebies Asia + Celestial Classic Movies + Celestial Movies + CGTN + CGTN Documentary + Cinemax Asia + CNA + CNBC + CNN International + Crime + Investigation + Discovery Channel + DW English + Ent + Fight Sports + FMN + Fox News Channel + France 24 + Galaxy + Galaxy Premium + GTV + HBO + HBO Family + HBO Hits + HBO Signature + HGTV + History + Hits + Hits Movies + IDX Channel + Ie + IMC + Indosiar + INews + Jak TV + Kids TV + Kix + Kompas TV + Life + Lifestyle & Fashion + Lifetime + Metro TV + Miao Mi + MNC News + MNC Sports + MNC Sports 2 + MNC Sports 3 + MNC TV + M Shop Signature + M Shop Super Sale! + Music TV + Muslim TV + National Geographic + National Geographic Wild + NET + NHK World Japan + NHK World Premium + Nickelodeon + Nick Jr + OK TV + One + Quran TV + RCTI + SCTV + SEA Today + Soccer Channel + SPOTV + SPOTV 2 + Tawaf TV + Thrill + TLC + Trans 7 + Trans TV + tvN + tvN Movies + TVOne + TVRI Nasional + Vision Prime + Warner TV + Zee Bioskop + diff --git a/sites/mncvision.id/mncvision.id.config.js b/sites/mncvision.id/mncvision.id.config.js index 012dad43..1b5949f4 100644 --- a/sites/mncvision.id/mncvision.id.config.js +++ b/sites/mncvision.id/mncvision.id.config.js @@ -88,14 +88,14 @@ module.exports = { function parseSeason($item) { const title = parseTitle($item) - const [_, season] = title.match(/ S(\d+)/) || [null, null] + const [, season] = title.match(/ S(\d+)/) || [null, null] return season ? parseInt(season) : null } function parseEpisode($item) { const title = parseTitle($item) - const [_, episode] = title.match(/ Ep (\d+)/) || [null, null] + const [, episode] = title.match(/ Ep (\d+)/) || [null, null] return episode ? parseInt(episode) : null } @@ -158,7 +158,7 @@ function loadLangCookies(channel) { return axios .get(url, { timeout: 30000 }) .then(r => parseCookies(r.headers)) - .catch(err => null) + .catch(error => console.log(error.message)) } async function loadDescription($item, cookies) { @@ -170,7 +170,7 @@ async function loadDescription($item, cookies) { timeout: 30000 }) .then(r => r.data) - .catch(err => null) + .catch(error => console.log(error.message)) if (!content) return null const $page = cheerio.load(content) diff --git a/sites/mncvision.id/mncvision.id.test.js b/sites/mncvision.id/mncvision.id.test.js index f2638a59..81995497 100644 --- a/sites/mncvision.id/mncvision.id.test.js +++ b/sites/mncvision.id/mncvision.id.test.js @@ -1,5 +1,5 @@ -// npm run channels:parse --config=./sites/mncvision.id/mncvision.id.config.js --output=./sites/mncvision.id/mncvision.id.channels.xml -// npx epg-grabber --config=sites/mncvision.id/mncvision.id.config.js --channels=sites/mncvision.id/mncvision.id.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run channels:parse -- --config=./sites/mncvision.id/mncvision.id.config.js --output=./sites/mncvision.id/mncvision.id.channels.xml +// npm run grab -- --site=mncvision.id const { parser, url, request } = require('./mncvision.id.config.js') const fs = require('fs') diff --git a/sites/moji.id/moji.id.channels.xml b/sites/moji.id/moji.id.channels.xml index 5157482b..61747315 100644 --- a/sites/moji.id/moji.id.channels.xml +++ b/sites/moji.id/moji.id.channels.xml @@ -1,7 +1,4 @@ - - - Moji - - \ No newline at end of file + + Moji + \ No newline at end of file diff --git a/sites/moji.id/moji.id.config.js b/sites/moji.id/moji.id.config.js index b9c4ffe3..d5656ce1 100644 --- a/sites/moji.id/moji.id.config.js +++ b/sites/moji.id/moji.id.config.js @@ -11,94 +11,112 @@ dayjs.extend(customParseFormat) const currentYear = new Date().getFullYear() module.exports = { - site: 'moji.id', - days: 4, - output: 'moji.id.guide.xml', - channels: 'moji.id.channels.xml', - lang: 'en', - delay: 5000, + site: 'moji.id', + days: 4, + output: 'moji.id.guide.xml', + channels: 'moji.id.channels.xml', + lang: 'en', + delay: 5000, - url: function () { - return 'https://moji.id/schedule' - }, + url: function () { + return 'https://moji.id/schedule' + }, - request: { - method: 'GET', - timeout: 5000, - cache: { ttl: 60 * 60 * 1000 }, - headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } - }, - - logo: function (context) { - return context.channel.logo - }, - - parser: function (context) { - const programs = [] - const items = parseItems(context) - - items.forEach(function(item, i) { - programs.push({ - title: item.progTitle, - description: item.progDesc, - start: item.progStart, - stop: item.progStop - }) - }) - - return programs + request: { + method: 'GET', + timeout: 5000, + cache: { ttl: 60 * 60 * 1000 }, + headers: { + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } + }, + + logo: function (context) { + return context.channel.logo + }, + + parser: function (context) { + const programs = [] + const items = parseItems(context) + + items.forEach(item => { + programs.push({ + title: item.progTitle, + description: item.progDesc, + start: item.progStart, + stop: item.progStop + }) + }) + + return programs + } } function parseItems(context) { - const $ = cheerio.load(context.content) - const schDayMonths = $('.date-slider .month').toArray() - const schPrograms = $('.desc-slider .list-slider').toArray() - const monthDate = dayjs(context.date).format('MMM DD') - const items = []; + const $ = cheerio.load(context.content) + const schDayMonths = $('.date-slider .month').toArray() + const schPrograms = $('.desc-slider .list-slider').toArray() + const monthDate = dayjs(context.date).format('MMM DD') + const items = [] - schDayMonths.forEach(function(schDayMonth, i) { - if (monthDate == $(schDayMonth).text()) { - let schDayPrograms = $(schPrograms[i]).find('.accordion').toArray() - schDayPrograms.forEach(function(program, i) { - let itemDay = { - progStart: parseStart(schDayMonth, program), - progStop: parseStop(schDayMonth, program, schDayPrograms[i+1]), - progTitle: parseTitle(program), - progDesc: parseDescription(program) - }; - items.push(itemDay) - }) + schDayMonths.forEach(function (schDayMonth, i) { + if (monthDate == $(schDayMonth).text()) { + let schDayPrograms = $(schPrograms[i]).find('.accordion').toArray() + schDayPrograms.forEach(function (program, i) { + let itemDay = { + progStart: parseStart(schDayMonth, program), + progStop: parseStop(schDayMonth, program, schDayPrograms[i + 1]), + progTitle: parseTitle(program), + progDesc: parseDescription(program) } - }) + items.push(itemDay) + }) + } + }) - return items + return items } function parseTitle(item) { - return cheerio.load(item)('.name-prog').text() + return cheerio.load(item)('.name-prog').text() } function parseDescription(item) { - return cheerio.load(item)('.content-acc span').text() + return cheerio.load(item)('.content-acc span').text() } function parseStart(schDayMonth, item) { - let monthDate = cheerio.load(schDayMonth).text().split(' ') - let startTime = cheerio.load(item)('.pkl').text() - let progStart = dayjs.tz(currentYear + ' ' + monthDate[0] + ' ' + monthDate[1] + ' ' + startTime, 'YYYY MMM DD HH:mm', 'Asia/Jakarta') - return progStart + let monthDate = cheerio.load(schDayMonth).text().split(' ') + let startTime = cheerio.load(item)('.pkl').text() + let progStart = dayjs.tz( + currentYear + ' ' + monthDate[0] + ' ' + monthDate[1] + ' ' + startTime, + 'YYYY MMM DD HH:mm', + 'Asia/Jakarta' + ) + return progStart } function parseStop(schDayMonth, itemCurrent, itemNext) { - let monthDate = cheerio.load(schDayMonth).text().split(' ') - - if (itemNext) { - let stopTime = cheerio.load(itemNext)('.pkl').text() - return dayjs.tz(currentYear + ' ' + monthDate[0] + ' ' + monthDate[1] + ' ' + stopTime, 'YYYY MMM DD HH:mm', 'Asia/Jakarta') - } - else - { - return dayjs.tz(currentYear + ' ' + monthDate[0] + ' ' + (parseInt(monthDate[1]) + 1).toString().padStart(2, '0') + ' 00:00', 'YYYY MMM DD HH:mm', 'Asia/Jakarta') - } -} \ No newline at end of file + let monthDate = cheerio.load(schDayMonth).text().split(' ') + + if (itemNext) { + let stopTime = cheerio.load(itemNext)('.pkl').text() + return dayjs.tz( + currentYear + ' ' + monthDate[0] + ' ' + monthDate[1] + ' ' + stopTime, + 'YYYY MMM DD HH:mm', + 'Asia/Jakarta' + ) + } else { + return dayjs.tz( + currentYear + + ' ' + + monthDate[0] + + ' ' + + (parseInt(monthDate[1]) + 1).toString().padStart(2, '0') + + ' 00:00', + 'YYYY MMM DD HH:mm', + 'Asia/Jakarta' + ) + } +} diff --git a/sites/moji.id/moji.id.test.js b/sites/moji.id/moji.id.test.js index b579aa37..51182732 100644 --- a/sites/moji.id/moji.id.test.js +++ b/sites/moji.id/moji.id.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/moji.id/moji.id.config.js --channels=sites/moji.id/moji.id.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=moji.id // npx jest moji.id.test.js const { url, parser } = require('./moji.id.config.js') @@ -7,33 +7,32 @@ const utc = require('dayjs/plugin/utc') dayjs.extend(utc) const date = dayjs.utc('2023-08-18', 'YYYY-MM-DD').startOf('d') -const channel = { site_id: '0', xmltv_id: 'moji.id', lang: 'en', logo: 'https://moji.id/site/uploads/logo/62f9387ce00a2-224-x-71.png' } - -const content = `

    schedule

    FriAug 18
    SatAug 19
    SunAug 20
    Jam TayangProgram
    00:00TRUST
    Informasi seputar menjaga vitalitas pria
    00:302023 AVC CHALLENGE CUP FOR WOMEN (RECORDED)
    India Vs. Vietnam
    02:30ONE CHAMPIONSHIP 2021
    Siaran laga-laga pertandingan tinju gaya bebas internasional. Meyuguhkan pertarungan sengit dari para petarung profeisional kelas dunia.
    03:30VOLLEYBALL NATION'S LEAGUE 2023 (RECORDED)
    TURKI vs BRAZIL
    05:00MOJI SPORT
    MOJI SPORT
    06:15LIPUTAN 6 PAGI MOJI
    Kompilasi ragam berita hard news dan soft news baik dari dalam negeri maupun internasional juga info prediksi cuaca di wilayah Indonesia
    07:00UNGKAP
    Liputan investigasi seputar berbagai topik dan peristiwa hangat serta kontroversial yang terjadi di Indonesia
    08:00PIALA KAPOLRI 2023 PUTRI (LIVE)
    PIALA KAPOLRI 2023 PUTRI (LIVE)
    10:30SERIES PAGI
    GANTENG GANTENG SERIGALA
    12:30DIAM-DIAM SUKA
    DIAM-DIAM SUKA
    13:30PIALA KAPOLRI 2023 PUTRA (LIVE)
    PIALA KAPOLRI 2023 PUTRA (LIVE)
    16:00PIALA KAPOLRI 2023 PUTRI (LIVE)
    PIALA KAPOLRI 2023 PUTRI (LIVE)
    18:00PIALA KAPOLRI 2023 PUTRA (LIVE)
    PIALA KAPOLRI 2023 PUTRA (LIVE)
    20:00MOJI DRAMA (CHHOTI SARDARNI)
    CHHOTI SARDARNI
    21:30SINEMA MALAM (BIDADARI CANTIK DI RUMAH KOST)
    (BIDADARI CANTIK DI RUMAH KOST
    23:00TRUST
    Informasi seputar menjaga vitalitas pria
    23:30TRUST
    Informasi seputar menjaga vitalitas pria
    ` - -const context = { - 'content': content, - 'date': date +const channel = { + site_id: '0', + xmltv_id: 'moji.id', + lang: 'en', + logo: 'https://moji.id/site/uploads/logo/62f9387ce00a2-224-x-71.png' } +const content = + '

    schedule

    FriAug 18
    SatAug 19
    SunAug 20
    Jam TayangProgram
    00:00TRUST
    Informasi seputar menjaga vitalitas pria
    00:302023 AVC CHALLENGE CUP FOR WOMEN (RECORDED)
    India Vs. Vietnam
    02:30ONE CHAMPIONSHIP 2021
    Siaran laga-laga pertandingan tinju gaya bebas internasional. Meyuguhkan pertarungan sengit dari para petarung profeisional kelas dunia.
    03:30VOLLEYBALL NATION\'S LEAGUE 2023 (RECORDED)
    TURKI vs BRAZIL
    05:00MOJI SPORT
    MOJI SPORT
    06:15LIPUTAN 6 PAGI MOJI
    Kompilasi ragam berita hard news dan soft news baik dari dalam negeri maupun internasional juga info prediksi cuaca di wilayah Indonesia
    07:00UNGKAP
    Liputan investigasi seputar berbagai topik dan peristiwa hangat serta kontroversial yang terjadi di Indonesia
    08:00PIALA KAPOLRI 2023 PUTRI (LIVE)
    PIALA KAPOLRI 2023 PUTRI (LIVE)
    10:30SERIES PAGI
    GANTENG GANTENG SERIGALA
    12:30DIAM-DIAM SUKA
    DIAM-DIAM SUKA
    13:30PIALA KAPOLRI 2023 PUTRA (LIVE)
    PIALA KAPOLRI 2023 PUTRA (LIVE)
    16:00PIALA KAPOLRI 2023 PUTRI (LIVE)
    PIALA KAPOLRI 2023 PUTRI (LIVE)
    18:00PIALA KAPOLRI 2023 PUTRA (LIVE)
    PIALA KAPOLRI 2023 PUTRA (LIVE)
    20:00MOJI DRAMA (CHHOTI SARDARNI)
    CHHOTI SARDARNI
    21:30SINEMA MALAM (BIDADARI CANTIK DI RUMAH KOST)
    (BIDADARI CANTIK DI RUMAH KOST
    23:00TRUST
    Informasi seputar menjaga vitalitas pria
    23:30TRUST
    Informasi seputar menjaga vitalitas pria
    ' + it('can generate valid url', () => { - expect(url({ channel, date })).toBe('https://moji.id/schedule') + expect(url({ channel, date })).toBe('https://moji.id/schedule') }) it('can handle empty guide', () => { - const results = parser({ content: '' }) - expect(results).toMatchObject([]) + const results = parser({ content: '' }) + expect(results).toMatchObject([]) }) it('can parse response', () => { - const results = parser({ content: content, date: date }) + const results = parser({ content: content, date: date }) - expect(results[0]).toMatchObject( - { - title: 'TRUST', - start: dayjs.tz('2023 Aug 18 00:00', 'YYYY MMM DD HH:mm', 'Asia/Jakarta'), - stop: dayjs.tz('2023 Aug 18 00:30', 'YYYY MMM DD HH:mm', 'Asia/Jakarta'), - description: 'Informasi seputar menjaga vitalitas pria' - } - ) -}) \ No newline at end of file + expect(results[0]).toMatchObject({ + title: 'TRUST', + start: dayjs.tz('2023 Aug 18 00:00', 'YYYY MMM DD HH:mm', 'Asia/Jakarta'), + stop: dayjs.tz('2023 Aug 18 00:30', 'YYYY MMM DD HH:mm', 'Asia/Jakarta'), + description: 'Informasi seputar menjaga vitalitas pria' + }) +}) diff --git a/sites/mon-programme-tv.be/mon-programme-tv.be.channels.xml b/sites/mon-programme-tv.be/mon-programme-tv.be.channels.xml index 4b688005..3a7d1f6e 100644 --- a/sites/mon-programme-tv.be/mon-programme-tv.be.channels.xml +++ b/sites/mon-programme-tv.be/mon-programme-tv.be.channels.xml @@ -1,116 +1,114 @@ - - - - - - - - - - - - 13EME RUE - AB3 - ABXPLORE - ACTION - ALTICE STUDIO - ANIMAUX - ARTE - AUTOMOTO - BBC ENTERTAINMENT - BE 1 - BE CINE - BE SERIES - BFM TV - BOING - BOOMERANG - C8 - CANAL J - CANVAS - CARTOON NETWORK - CHASSE & PECHE - CINE + CLASSIC BE - CINE + FRISSON BE - CINE + PREMIER BE - CLUB RTL - CNEWS - COMEDIE + - CSTAR - DISCOVERY CHANNEL - DISNEY CHANNEL - DISNEY JUNIOR - EEN - E! ENTERTAINMENT - EQUIDIA - EUROSPORT - EUROSPORT NL - EUROSPORT 2 - FRANCE 2 - FRANCE 24 - FRANCE 3 - FRANCE 4 - FRANCE 5 - GAME ONE - GULLI - HISTOIRE - KETNET - KTO - LA TROIS - LA UNE (RTBF) - LCI - LN24 - M6 - M6 MUSIC - MANGAS - MELODY - MEZZO - MTV - NATIONAL GEOGRAPHIC CHANNEL - NATIONAL GEOGRAPHIC WILD - NAUTICAL CHANNEL - NICKELODEON - NJAM ! - NPO1 - NPO2 - NPO3 - PARAMOUNT CHANNEL - PIWI + - PLANETE + - PLANETE+ AE - PLANETE+ CI - VIER - VIJF - PLAYBOY TV - PLUG RTL - RAI 1 - RMC SPORT 2 - RTL TVI - RTS UN - RTS DEUX - SCIENCE & VIE TV - STUDIO100tv - SYFY - TCM CINEMA - TELETOON + - TF1 - TF1 Séries Films - TIJI - TIPIK - TMC - TOUTE L'HISTOIRE - TRACE URBAN - TV5 MONDE - TV BREIZH - USHUAIA TV - VOO Sport World 1 - VOO Sport World 2 - VOO Sport World 3 - VTM - VTM2 - VTM3 - VTM4 - VTM KIDS - Warner TV - - + + + + + + + + + + + 13EME RUE + AB3 + ABXPLORE + ACTION + ALTICE STUDIO + ANIMAUX + ARTE + AUTOMOTO + BBC ENTERTAINMENT + BE 1 + BE CINE + BE SERIES + BFM TV + BOING + BOOMERANG + C8 + CANAL J + CANVAS + CARTOON NETWORK + CHASSE & PECHE + CINE + CLASSIC BE + CINE + FRISSON BE + CINE + PREMIER BE + CLUB RTL + CNEWS + COMEDIE + + CSTAR + DISCOVERY CHANNEL + DISNEY CHANNEL + DISNEY JUNIOR + EEN + E! ENTERTAINMENT + EQUIDIA + EUROSPORT + EUROSPORT NL + EUROSPORT 2 + FRANCE 2 + FRANCE 24 + FRANCE 3 + FRANCE 4 + FRANCE 5 + GAME ONE + GULLI + HISTOIRE + KETNET + KTO + LA TROIS + LA UNE (RTBF) + LCI + LN24 + M6 + M6 MUSIC + MANGAS + MELODY + MEZZO + MTV + NATIONAL GEOGRAPHIC CHANNEL + NATIONAL GEOGRAPHIC WILD + NAUTICAL CHANNEL + NICKELODEON + NJAM ! + NPO1 + NPO2 + NPO3 + PARAMOUNT CHANNEL + PIWI + + PLANETE + + PLANETE+ AE + PLANETE+ CI + VIER + VIJF + PLAYBOY TV + PLUG RTL + RAI 1 + RMC SPORT 2 + RTL TVI + RTS UN + RTS DEUX + SCIENCE & VIE TV + STUDIO100tv + SYFY + TCM CINEMA + TELETOON + + TF1 + TF1 Séries Films + TIJI + TIPIK + TMC + TOUTE L'HISTOIRE + TRACE URBAN + TV5 MONDE + TV BREIZH + USHUAIA TV + VOO Sport World 1 + VOO Sport World 2 + VOO Sport World 3 + VTM + VTM2 + VTM3 + VTM4 + VTM KIDS + Warner TV + 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 f1e7d856..72c8f6b3 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 @@ -44,7 +44,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.mon-programme-tv.be/chaine/toutes-les-chaines-television.html`) + .get('https://www.mon-programme-tv.be/chaine/toutes-les-chaines-television.html') .then(r => r.data) .catch(console.log) const $ = cheerio.load(data) 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 b4a07f3d..c9f56deb 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 @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/mon-programme-tv.be/mon-programme-tv.be.config.js --output=./sites/mon-programme-tv.be/mon-programme-tv.be.channels.xml -// npx epg-grabber --config=sites/mon-programme-tv.be/mon-programme-tv.be.config.js --channels=sites/mon-programme-tv.be/mon-programme-tv.be.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mon-programme-tv.be const { parser, url } = require('./mon-programme-tv.be.config.js') const fs = require('fs') diff --git a/sites/movistarplus.es/movistarplus.es.channels.xml b/sites/movistarplus.es/movistarplus.es.channels.xml index dddfa6f6..d3716a77 100644 --- a/sites/movistarplus.es/movistarplus.es.channels.xml +++ b/sites/movistarplus.es/movistarplus.es.channels.xml @@ -1,187 +1,185 @@ - - - #0 - 3/24 - 7 Televisión Región de Murcia - 8 TV Cádiz - Aljazeera English - Alquiler 1 - Alquiler HD - AMC España - Antena 3 - À Punt - Aragón TV - Aragón TV Internacional - Atreseries - AXN España - AXN White España - Baby TV Latin America - Barça TV - BBC World News Europe - Be Mad - betevé - Blaze España - Bloomberg TV Europe - Boing España - Bom Cine - Calle 13 - Canal 24 Horas - Canal Cocina - Canal Extremadura - Canal Extremadura Satélite - Canal Hollywood España - Canal Panda España - Canal Sur - Canal Sur Andalucía - Caza y Pesca - CGTN Español - Clan TVE - TV Castilla-La Mancha - CNBC Europe - CNC World English - CNN International Europe - Comedy Central España - Cosmopolitan TV España - Cuatro - Cubavisión Internacional - Dark - DAZN 1 España - DAZN 2 España - DAZN 3 España - DAZN 4 España - DAZN F1 - Decasa - Discovery Channel Iberia - Disney Channel España - Disney Junior España - Divinity - DKiss - DMAX España - DreamWorks TV - EITB Basque - El33/SX3 - El Garage TV - El Toro TV - Energy - Esport3 - ETB 1 - ETB 2 - ETB 3 - EuroNews Español - Eurosport 1 - Eurosport 2 - EWTN España - Latinoamérica - Factoria de Ficción - Fox News Channel - Fox España - France 24 Español - Canal Fútbol Replay - Galicia TV Europa - Gol - Historia España - Horse TV - IB3 Global - Iberalia TV - La 1 - La 2 - La 7 - La Ocho TV - LaOtra - La Resistencia - Las Estrellas Europa - La Sexta - Movistar Liga de Campeones 10 - Movistar Liga de Campeones 11 - Movistar Liga de Campeones 12 - Movistar Liga de Campeones 9 - Mega - Mezzo - Mezzo Live HD - Movistar Acción - Movistar Cine Español - Movistar Clásicos - Movistar Comedia - Movistar Deportes - Movistar Deportes 1 - Movistar Deportes 2 - Movistar Deportes 3 - Movistar Deportes 4 - Movistar Deportes 5 - Movistar Deportes 6 - Movistar Deportes 7 - Movistar Drama - Movistar Estrenos - Movistar Estrenos 2 - Movistar Fest - Movistar Golf - Movistar LaLiga - Movistar LaLiga 1 - Movistar LaLiga 10 - Movistar LaLiga 2 - Movistar LaLiga 3 - Movistar LaLiga 4 - Movistar LaLiga 5 - Movistar LaLiga 6 - Movistar LaLiga 7 - Movistar LaLiga 8 - Movistar LaLiga 9 - Movistar LaLiga UHD - Movistar Liga de Campeones - Movistar Liga de Campeones 1 - Movistar Liga de Campeones 2 - Movistar Liga de Campeones 3 - Movistar Liga de Campeones 4 - Movistar Liga de Campeones 5 - Movistar Liga de Campeones 6 - Movistar Liga de Campeones 7 - Movistar Liga de Campeones 8 - Movistar Liga de Campeones UHD - Movistar Series - Movistar Series 2 - MTV 00s - MTV España - National Geographic España - National Geographic Wild España - Nautical Channel - Negocios TV - Neox - NHK World Japan - Nickelodeon Iberia - Nick Jr España - Nova - Odisea - Movistar Los Oscar - Paramount Channel España - Playboy TV Iberia - RCN Nuestra Tele Internacional - Real Madrid TV Español - Sky News International - Sol Música - Somos - Stingray Classica - Sundance TV España - Syfy España - TCM España - Telecinco - Teledeporte - Telefe Internacional - Telemadrid - Telesur - Ten - TNT España - Toros TV - TPA 7 - Trece TV - TV3 - TV3CAT - TV5Monde Europe - TV Canaria - TV Chile - tvG2 - TVG Europa - U-Beat - #Vamos - Xtrm - - + + #0 + 3/24 + 7 Televisión Región de Murcia + 8 TV Cádiz + Aljazeera English + Alquiler 1 + Alquiler HD + AMC España + Antena 3 + À Punt + Aragón TV + Aragón TV Internacional + Atreseries + AXN España + AXN White España + Baby TV Latin America + Barça TV + BBC World News Europe + Be Mad + betevé + Blaze España + Bloomberg TV Europe + Boing España + Bom Cine + Calle 13 + Canal 24 Horas + Canal Cocina + Canal Extremadura + Canal Extremadura Satélite + Canal Hollywood España + Canal Panda España + Canal Sur + Canal Sur Andalucía + Caza y Pesca + CGTN Español + Clan TVE + TV Castilla-La Mancha + CNBC Europe + CNC World English + CNN International Europe + Comedy Central España + Cosmopolitan TV España + Cuatro + Cubavisión Internacional + Dark + DAZN 1 España + DAZN 2 España + DAZN 3 España + DAZN 4 España + DAZN F1 + Decasa + Discovery Channel Iberia + Disney Channel España + Disney Junior España + Divinity + DKiss + DMAX España + DreamWorks TV + EITB Basque + El33/SX3 + El Garage TV + El Toro TV + Energy + Esport3 + ETB 1 + ETB 2 + ETB 3 + EuroNews Español + Eurosport 1 + Eurosport 2 + EWTN España - Latinoamérica + Factoria de Ficción + Fox News Channel + Fox España + France 24 Español + Canal Fútbol Replay + Galicia TV Europa + Gol + Historia España + Horse TV + IB3 Global + Iberalia TV + La 1 + La 2 + La 7 + La Ocho TV + LaOtra + La Resistencia + Las Estrellas Europa + La Sexta + Movistar Liga de Campeones 10 + Movistar Liga de Campeones 11 + Movistar Liga de Campeones 12 + Movistar Liga de Campeones 9 + Mega + Mezzo + Mezzo Live HD + Movistar Acción + Movistar Cine Español + Movistar Clásicos + Movistar Comedia + Movistar Deportes + Movistar Deportes 1 + Movistar Deportes 2 + Movistar Deportes 3 + Movistar Deportes 4 + Movistar Deportes 5 + Movistar Deportes 6 + Movistar Deportes 7 + Movistar Drama + Movistar Estrenos + Movistar Estrenos 2 + Movistar Fest + Movistar Golf + Movistar LaLiga + Movistar LaLiga 1 + Movistar LaLiga 10 + Movistar LaLiga 2 + Movistar LaLiga 3 + Movistar LaLiga 4 + Movistar LaLiga 5 + Movistar LaLiga 6 + Movistar LaLiga 7 + Movistar LaLiga 8 + Movistar LaLiga 9 + Movistar LaLiga UHD + Movistar Liga de Campeones + Movistar Liga de Campeones 1 + Movistar Liga de Campeones 2 + Movistar Liga de Campeones 3 + Movistar Liga de Campeones 4 + Movistar Liga de Campeones 5 + Movistar Liga de Campeones 6 + Movistar Liga de Campeones 7 + Movistar Liga de Campeones 8 + Movistar Liga de Campeones UHD + Movistar Series + Movistar Series 2 + MTV 00s + MTV España + National Geographic España + National Geographic Wild España + Nautical Channel + Negocios TV + Neox + NHK World Japan + Nickelodeon Iberia + Nick Jr España + Nova + Odisea + Movistar Los Oscar + Paramount Channel España + Playboy TV Iberia + RCN Nuestra Tele Internacional + Real Madrid TV Español + Sky News International + Sol Música + Somos + Stingray Classica + Sundance TV España + Syfy España + TCM España + Telecinco + Teledeporte + Telefe Internacional + Telemadrid + Telesur + Ten + TNT España + Toros TV + TPA 7 + Trece TV + TV3 + TV3CAT + TV5Monde Europe + TV Canaria + TV Chile + tvG2 + TVG Europa + U-Beat + #Vamos + Xtrm + diff --git a/sites/movistarplus.es/movistarplus.es.config.js b/sites/movistarplus.es/movistarplus.es.config.js index fa341c73..d0c1f9ac 100644 --- a/sites/movistarplus.es/movistarplus.es.config.js +++ b/sites/movistarplus.es/movistarplus.es.config.js @@ -15,12 +15,16 @@ module.exports = { let startTime = DateTime.fromFormat( `${guideDate.format('YYYY-MM-DD')} ${item.HORA_INICIO}`, 'yyyy-MM-dd HH:mm', - { zone: 'Europe/Madrid' } + { + zone: 'Europe/Madrid' + } ).toUTC() let stopTime = DateTime.fromFormat( `${guideDate.format('YYYY-MM-DD')} ${item.HORA_FIN}`, 'yyyy-MM-dd HH:mm', - { zone: 'Europe/Madrid' } + { + zone: 'Europe/Madrid' + } ).toUTC() if (stopTime < startTime) { guideDate = guideDate.add(1, 'd') diff --git a/sites/movistarplus.es/movistarplus.es.test.js b/sites/movistarplus.es/movistarplus.es.test.js index 5d6915f8..88f665b2 100644 --- a/sites/movistarplus.es/movistarplus.es.test.js +++ b/sites/movistarplus.es/movistarplus.es.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/movistarplus.es/movistarplus.es.config.js --channels=sites/movistarplus.es/movistarplus.es.channels.xml --output=guide.xml +// npm run grab -- --site=movistarplus.es -const { parser, url, request } = require('./movistarplus.es.config.js') +const { parser, url } = require('./movistarplus.es.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -18,7 +18,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"success":"true","msg":"","data":{"TVE-CODE":{"DATOS_CADENA":{"CODIGO":"TVE","MARCA":"TVE","NOMBRE":"LA 1","URL":"https://www.movistarplus.es/canal?nombre=LA%2B1&id=TVE","DIAL_PRINCIPAL":["01"],"DIALES":[1],"UID":null,"CASID":null,"SERVICEUID":null,"SERVICEUID2":null,"SERVICEID":null,"ESVIRTUAL":null,"ESSATELITE":null,"UPSELLING":null,"puntoReproduccion":null},"PROGRAMAS":[{"DIRECTO":false,"TEMPORADA":"","TITULO":"Telediario Matinal","GENERO":"Información","CODIGO_GENERO":"IF","DURACION":150,"DURACION_VISUAL":150,"HORA_INICIO":"06:00","HORA_FIN":"08:30","ELEMENTO":"1709045","EVENTO":"99422566","ShowId":null,"x1":0,"x2":0,"Disponible":null,"URL":"https://www.movistarplus.es/ficha/telediario-matinal?tipo=R&id=99422566"},{"DIRECTO":false,"TEMPORADA":"","TITULO":"Las Claves del Siglo XXI: Episodio 8","GENERO":"Información","CODIGO_GENERO":"IF","DURACION":135,"DURACION_VISUAL":135,"HORA_INICIO":"22:15","HORA_FIN":"00:30","ELEMENTO":"2051356","EVENTO":"99422634","ShowId":null,"x1":0,"x2":0,"Disponible":null,"URL":"https://www.movistarplus.es/ficha/las-claves-del-siglo-xxi-t1/episodio-8?tipo=R&id=99422634"},{"DIRECTO":false,"TEMPORADA":"","TITULO":"Noticias 24H","GENERO":"Información","CODIGO_GENERO":"IF","DURACION":170,"DURACION_VISUAL":170,"HORA_INICIO":"03:10","HORA_FIN":"06:00","ELEMENTO":"518403","EVENTO":"99422646","ShowId":null,"x1":0,"x2":0,"Disponible":null,"URL":"https://www.movistarplus.es/ficha/noticias-24h?tipo=R&id=99422646"}]}}}` + const content = + '{"success":"true","msg":"","data":{"TVE-CODE":{"DATOS_CADENA":{"CODIGO":"TVE","MARCA":"TVE","NOMBRE":"LA 1","URL":"https://www.movistarplus.es/canal?nombre=LA%2B1&id=TVE","DIAL_PRINCIPAL":["01"],"DIALES":[1],"UID":null,"CASID":null,"SERVICEUID":null,"SERVICEUID2":null,"SERVICEID":null,"ESVIRTUAL":null,"ESSATELITE":null,"UPSELLING":null,"puntoReproduccion":null},"PROGRAMAS":[{"DIRECTO":false,"TEMPORADA":"","TITULO":"Telediario Matinal","GENERO":"Información","CODIGO_GENERO":"IF","DURACION":150,"DURACION_VISUAL":150,"HORA_INICIO":"06:00","HORA_FIN":"08:30","ELEMENTO":"1709045","EVENTO":"99422566","ShowId":null,"x1":0,"x2":0,"Disponible":null,"URL":"https://www.movistarplus.es/ficha/telediario-matinal?tipo=R&id=99422566"},{"DIRECTO":false,"TEMPORADA":"","TITULO":"Las Claves del Siglo XXI: Episodio 8","GENERO":"Información","CODIGO_GENERO":"IF","DURACION":135,"DURACION_VISUAL":135,"HORA_INICIO":"22:15","HORA_FIN":"00:30","ELEMENTO":"2051356","EVENTO":"99422634","ShowId":null,"x1":0,"x2":0,"Disponible":null,"URL":"https://www.movistarplus.es/ficha/las-claves-del-siglo-xxi-t1/episodio-8?tipo=R&id=99422634"},{"DIRECTO":false,"TEMPORADA":"","TITULO":"Noticias 24H","GENERO":"Información","CODIGO_GENERO":"IF","DURACION":170,"DURACION_VISUAL":170,"HORA_INICIO":"03:10","HORA_FIN":"06:00","ELEMENTO":"518403","EVENTO":"99422646","ShowId":null,"x1":0,"x2":0,"Disponible":null,"URL":"https://www.movistarplus.es/ficha/noticias-24h?tipo=R&id=99422646"}]}}}' const result = parser({ content, channel, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -29,19 +30,19 @@ it('can parse response', () => { start: '2022-03-11T05:00:00.000Z', stop: '2022-03-11T07:30:00.000Z', category: 'Información', - title: `Telediario Matinal` + title: 'Telediario Matinal' }, { start: '2022-03-11T21:15:00.000Z', stop: '2022-03-11T23:30:00.000Z', category: 'Información', - title: `Las Claves del Siglo XXI: Episodio 8` + title: 'Las Claves del Siglo XXI: Episodio 8' }, { start: '2022-03-12T02:10:00.000Z', stop: '2022-03-12T05:00:00.000Z', category: 'Información', - title: `Noticias 24H` + title: 'Noticias 24H' } ]) }) @@ -50,7 +51,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"success":"true","msg":"","data":{}}` + content: '{"success":"true","msg":"","data":{}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/mtel.ba/mtel.ba.channels.xml b/sites/mtel.ba/mtel.ba.channels.xml index 64c35954..d7dfbf91 100644 --- a/sites/mtel.ba/mtel.ba.channels.xml +++ b/sites/mtel.ba/mtel.ba.channels.xml @@ -1,173 +1,171 @@ - - - - - 101 TV - 24 Kitchen - Agro TV - Aljazeera Balkans - Amari TV - Animal Planet - Arena Esport - Arena Fight - Arena Sport 1 - Arena Sport 1x2 - Arena Sport 2 - Arena Sport 3 - Arena Sport 4 - B92 - Balkan Trip - BHT 1 - BN Music - BN - Boomerang Central & Eastern Europe - Cafe & Club - CBS Reality Europe - CineStar TV 1 Srbija - CineStar TV Action Srbija - CineStar TV Comedy - CineStar TV Fantasy - Decija TV - Dexy TV - Discovery Channel Srbija - Discovery Science - Dizi - DM Sat - Dox TV - EG Melody - EX YU Melody - FashionTV Europe - FilmBox Arthouse Worldwide - FilmBox Extra HD Adria - FilmBox Stars Adria - Film Klub - Folk Melody - Food Network EMEA - Fox Srbija - France 24 Français - Happy Reality 1 - Happy Reality 2 - Hayatovci - Hayat Plus - Hits Melody - HRT 1 - HRT 2 - Hype TV - Investigation Discovery Europe - Jeka - K3 - K CN 3 - Kitchen TV - Klasik TV - Kurir TV - Kuvo TV - Melos TV - Muzzik - National Geographic - National Geographic Wild - Nicktoons Adria - OTV Valentino - Pink Action - Pink BH - Pink Classic - Pink Comedy - Pink Crime & Mystery - Pink Extra - Pink Family - Pink Film - Pink Horror - Pink Koncert - Pink Kuvar - Pink Movies - Pink Pedia - Pink Reality - Pink Sci-Fi & Fantasy - Pink Srbija - Pink Serije - Pink Show - Pink Soap - Pink Style - Pink Thriller - Pink Western - Pink World - Pink Zabava - Pop Melody - Prva Files - Prva Kick - Prva Life - Prva Max - Prva Srpska TV - Prva World - Red TV - Rock & Roll - RTL Hrvatska - RTL KETTŐ - RTL Kockica - RTL Living Hrvatska - RTR Planeta - RTRS TV - RTS 2 - RTS Klasika - RTS Kolo - RTS Nauka - RTS Poletarac - RTS Svet - RTV 2 - Rossiya 24 - Sat. 1 Deutschland - SOS Kanal Plus - Super Sat - Superstar - Tanjug TV - Tb1 - TLC Balkan - Toxic Folk - Toxic TV - Travel Channel Europe - Tropik TV - TV Arena - TV Niksic - TV One - TV Partizan - TV Simić - Viasat Explore East - Viasat History - Viasat Nature East - World Wild Muzzik - Zdravlje TV - Zvezda TV - 360 Tune Box - Adult Channel 1 - Adult Channel 2 - Adult Channel 3 - Adult Channel 4 - Adult Channel 5 - Adult Channel 6 - Adult Channel 7 - Babes TV - Baby TV Europe - Bang U - CGTN - CNN International Europe - DocuBox HD - English Club TV - Erotic - Erotic 2 - Erotic 3 - Erotic 4 - Erotic 7 - Erotic 8 - Erox HD - Eroxxx HD - Extreme Sports Channel - JimJam Europe - LFC TV - MTV 00s - MTV 80s - MTV Global - MTV Hits Europe - Reality Kings TV - RT News - - \ No newline at end of file + + + + 101 TV + 24 Kitchen + Agro TV + Aljazeera Balkans + Amari TV + Animal Planet + Arena Esport + Arena Fight + Arena Sport 1 + Arena Sport 1x2 + Arena Sport 2 + Arena Sport 3 + Arena Sport 4 + B92 + Balkan Trip + BHT 1 + BN Music + BN + Boomerang Central & Eastern Europe + Cafe & Club + CBS Reality Europe + CineStar TV 1 Srbija + CineStar TV Action Srbija + CineStar TV Comedy + CineStar TV Fantasy + Decija TV + Dexy TV + Discovery Channel Srbija + Discovery Science + Dizi + DM Sat + Dox TV + EG Melody + EX YU Melody + FashionTV Europe + FilmBox Arthouse Worldwide + FilmBox Extra HD Adria + FilmBox Stars Adria + Film Klub + Folk Melody + Food Network EMEA + Fox Srbija + France 24 Français + Happy Reality 1 + Happy Reality 2 + Hayatovci + Hayat Plus + Hits Melody + HRT 1 + HRT 2 + Hype TV + Investigation Discovery Europe + Jeka + K3 + K CN 3 + Kitchen TV + Klasik TV + Kurir TV + Kuvo TV + Melos TV + Muzzik + National Geographic + National Geographic Wild + Nicktoons Adria + OTV Valentino + Pink Action + Pink BH + Pink Classic + Pink Comedy + Pink Crime & Mystery + Pink Extra + Pink Family + Pink Film + Pink Horror + Pink Koncert + Pink Kuvar + Pink Movies + Pink Pedia + Pink Reality + Pink Sci-Fi & Fantasy + Pink Srbija + Pink Serije + Pink Show + Pink Soap + Pink Style + Pink Thriller + Pink Western + Pink World + Pink Zabava + Pop Melody + Prva Files + Prva Kick + Prva Life + Prva Max + Prva Srpska TV + Prva World + Red TV + Rock & Roll + RTL Hrvatska + RTL KETTŐ + RTL Kockica + RTL Living Hrvatska + RTR Planeta + RTRS TV + RTS 2 + RTS Klasika + RTS Kolo + RTS Nauka + RTS Poletarac + RTS Svet + RTV 2 + Rossiya 24 + Sat. 1 Deutschland + SOS Kanal Plus + Super Sat + Superstar + Tanjug TV + Tb1 + TLC Balkan + Toxic Folk + Toxic TV + Travel Channel Europe + Tropik TV + TV Arena + TV Niksic + TV One + TV Partizan + TV Simić + Viasat Explore East + Viasat History + Viasat Nature East + World Wild Muzzik + Zdravlje TV + Zvezda TV + 360 Tune Box + Adult Channel 1 + Adult Channel 2 + Adult Channel 3 + Adult Channel 4 + Adult Channel 5 + Adult Channel 6 + Adult Channel 7 + Babes TV + Baby TV Europe + Bang U + CGTN + CNN International Europe + DocuBox HD + English Club TV + Erotic + Erotic 2 + Erotic 3 + Erotic 4 + Erotic 7 + Erotic 8 + Erox HD + Eroxxx HD + Extreme Sports Channel + JimJam Europe + LFC TV + MTV 00s + MTV 80s + MTV Global + MTV Hits Europe + Reality Kings TV + RT News + \ No newline at end of file diff --git a/sites/mtel.ba/mtel.ba.config.js b/sites/mtel.ba/mtel.ba.config.js index 7c50b8a2..33f13ab4 100644 --- a/sites/mtel.ba/mtel.ba.config.js +++ b/sites/mtel.ba/mtel.ba.config.js @@ -44,7 +44,7 @@ function parseStop(item) { } function parseContent(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const data = JSON.parse(content) if (!data || !Array.isArray(data.channels)) return null diff --git a/sites/mtel.ba/mtel.ba.test.js b/sites/mtel.ba/mtel.ba.test.js index f6f7cf74..765979ee 100644 --- a/sites/mtel.ba/mtel.ba.test.js +++ b/sites/mtel.ba/mtel.ba.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mtel.ba/mtel.ba.config.js --channels=sites/mtel.ba/mtel.ba.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mtel.ba const { parser, url, request } = require('./mtel.ba.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '001#11', xmltv_id: 'RTRSTV.ba' } -const content = `{"page":0,"total_pages":1,"date":"2021-11-10","channels":[{"id":"11","name":"RTRS","description":null,"link":null,"image":"https:\/\/mtel.ba\/oec\/images\/tv_channels\/c3556aa629b00325aaaea622abfb1070.png","position":"001","items":[{"id_channel":"11","title":"\u0160uma","description":"Krajem decembra 1947. godine jugoslovenski predsjednik Josip Broz Tito prvi put je posjetio Rumuniju. Da bi u\u010dvrstili novo socijalisti\u010dko prijateljstvo, rumunski zvani\u010dnici su poklonili Titu sliku velikog rumunskog umjetnika Jona Andreskua pod nazivom \u0160uma. Mnogo godina kasnije ta slika je umje\u0161ana u napetu \u0161pijunsku pri\u010du i otkriva tajnu koja \u0107e uzdrmati temelje i Jugoslavije i Rumunije. Film je svjedok kompleksnosti i raznovrsnosti glasova koji \u010dine ono \u0161to zovemo stvarno\u0161\u0107u.","start":"00:00:00","duration":"46.00","full_start":"2021-11-09 23:29:00","full_end":"2021-11-10 00:46:00","image":"https:\/\/mtel.ba\/oec\/images\/epg\/60881491.jpg","category":"Televizijski film","subcategory":"Dokumentarna drama"},{"id_channel":"11","title":"Nema informacija o programu","description":"","start":"07:32:00","duration":"988.00","full_start":"2021-11-10 07:32:00","full_end":"2021-11-10 24:00:00","image":"","category":"","subcategory":""}]}]}` +const content = + '{"page":0,"total_pages":1,"date":"2021-11-10","channels":[{"id":"11","name":"RTRS","description":null,"link":null,"image":"https://mtel.ba/oec/images/tv_channels/c3556aa629b00325aaaea622abfb1070.png","position":"001","items":[{"id_channel":"11","title":"\u0160uma","description":"Krajem decembra 1947. godine jugoslovenski predsjednik Josip Broz Tito prvi put je posjetio Rumuniju. Da bi u\u010dvrstili novo socijalisti\u010dko prijateljstvo, rumunski zvani\u010dnici su poklonili Titu sliku velikog rumunskog umjetnika Jona Andreskua pod nazivom \u0160uma. Mnogo godina kasnije ta slika je umje\u0161ana u napetu \u0161pijunsku pri\u010du i otkriva tajnu koja \u0107e uzdrmati temelje i Jugoslavije i Rumunije. Film je svjedok kompleksnosti i raznovrsnosti glasova koji \u010dine ono \u0161to zovemo stvarno\u0161\u0107u.","start":"00:00:00","duration":"46.00","full_start":"2021-11-09 23:29:00","full_end":"2021-11-10 00:46:00","image":"https://mtel.ba/oec/images/epg/60881491.jpg","category":"Televizijski film","subcategory":"Dokumentarna drama"},{"id_channel":"11","title":"Nema informacija o programu","description":"","start":"07:32:00","duration":"988.00","full_start":"2021-11-10 07:32:00","full_end":"2021-11-10 24:00:00","image":"","category":"","subcategory":""}]}]}' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -34,7 +35,8 @@ it('can parse response', () => { stop: '2021-11-09T23:46:00.000Z', title: 'Šuma', icon: '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.`, + 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' } ]) @@ -44,7 +46,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"message":"Tra\u017eeni termin nije prona\u0111en.\u003Cbr\u003E\u003Cbr\u003EProverite da li ste upisali pravilno ili poku\u0161ajte sa nekim drugim terminom."}` + content: + '{"message":"Tra\u017eeni termin nije prona\u0111en.\u003Cbr\u003E\u003Cbr\u003EProverite da li ste upisali pravilno ili poku\u0161ajte sa nekim drugim terminom."}' }) expect(result).toMatchObject([]) }) diff --git a/sites/mts.rs/mts.rs.channels.xml b/sites/mts.rs/mts.rs.channels.xml index bf89733c..4545b823 100644 --- a/sites/mts.rs/mts.rs.channels.xml +++ b/sites/mts.rs/mts.rs.channels.xml @@ -1,353 +1,351 @@ - - - - - 101 TV - 24 Kitchen - 360 Tune Box - Agro TV - Aljazeera Balkans - Alternativna TV - Animal Planet - Arena Esport - Arena Fight - Arena Premium 1 - Arena Sport 1 - Arena Sport 1x2 - Arena Premium 2 - Arena Sport 2 - Arena Premium 3 - Arena Sport 3 - Arena Sport 4 - Arena Sport 5 - Arena Sport 6 - Arena Sport 7 - Arena Sport 8 - AXN - AXN Spin - B92 - Baby TV Europe - Balkan Trip - Balkan TV - BBC Earth - Bloomberg TV - BN Music - BN - Boomerang - Bravo Music - B TV - Cafe & Club - CBS Reality - CCTV 4 Europe - CGTN - CineStar TV 1 Srbija - CineStar TV Action Srbija - CineStar TV Comedy - CineStar TV Fantasy - Club MTV - CNBC Europe - CNN International Europe - Cool TV - Crime + Investigation UK - Da Vinci - Decija TV - Dexy TV - Discovery Channel Srbija - Discovery Science - Disney Channel Polska - Dizi - DM Sat - DocuBox HD - Dox TV - Duck TV SD - Duna TV - Dunav TV - Duna World - eduTV - E! Europe - Epic Drama - EuroNews English - EuroNews Serbia - Eurosport 1 - Eurosport 2 - Extreme Sports Channel - Face TV - FashionBox HD - Fashion TV Europe - Fast & FunBox HD - Federalna TV - FightBox HD - Fight Network - Film 4 - FilmBox Arthouse Worldwide - FilmBox Extra HD Adria - FilmBox Stars Adria - Film Klub - Film Klub Extra - Film + Hungary - Food Network EMEA - Fox Crime Srbija - Fox Life Srbija - Fox Movies Srbija - Fox News Channel - Fox Srbija - France 24 English - Gametoon - Gradska M TV - Ha Ha - Happy - Happy Reality 1 - Happy Reality 2 - Hayat - Hayat Folk - Hayat Music - Hayatovci - Hayat Plus - HGTV Pan Regional - History 2 Polska - Humana TV Plus - Hype TV - Investigation Discovery Europe - Jeka - JimJam Europe - K1 - K23 TV - K3 - KA TV - Kazbuka - K CN 1 - K CN 2 - K CN 3 - K CN Istok - K CN K - K CN Raška - K CN Zapad - Kitchen TV - Klasik TV - Kurir TV - Kuvo TV - LFC TV - Lol - M1 - M2 - M4 Sport - M5 - Minimax Romania - Mostnet - Motorvision TV - MTV 00s - MTV 80s - MTV 90s - MTV Global - MTV Hits Europe - Muzsika TV - Muzzik - National Geographic - Nat Geo Wild - NBA TV - Nickelodeon - Nick Jr - Nicktoons Adria - TV Nova - Novosadska TV - NTV - OBN - OKK - Pannon TV - Pink Action - Pink Classic - Pink Comedy - Pink Crime & Mystery - Pink Extra - Pink Family - Pink Fashion - Pink Film - Pink Folk 1 - Pink Folk 2 - Pink Hits - Pink Hits 2 - Pink Horror - Pink Kids - Pink Koncert - Pink Kuvar - Pink M - Pink Movies - Pink Music - Pink Music 2 - Pink n Roll - Pink Pedia - Pink Plus - Pink Premium - Pink Reality - Pink Romance - Pink Sci-Fi & Fantasy - Pink Srbija - Pink Serije - Pink Show - Pink Soap - Pink Style - Pink Super Kids - Pink Thriller - Pink Western - Pink World - Pink Zabava - Prva Files - Prva Kick - Prva Life - Prva Max - Prva Srpska TV - Prva TV Crna Gora - Prva World - Red TV - Rock & Roll - RT News - RT Documentary - RTL Hrvatska - RTL Croatia World - RTL Deutschland - RTL Gold - RTL HÁROM - RTL - RTL KETTŐ - RTL Kockica - RTP - RTR Planeta - RTRS TV - RTS 1 - RTS 2 - RTS 3 - RTS Drama - RTS Klasika - RTS Kolo - RTS Muzika - RTS Nauka - RTS Poletarac - RTS Trezor - RTS Zivot - RTV 1 - RTV 2 - RTV Bap - RTV Bosphorus - RTV Melos - RTV SP - RTV Sreće - RTV Subotica - RTV Šumadija - Rossiya 24 - Sandžačka TV Mreža - Sandžak TV - SAT TV - Scifi Srbija - Sorozat + - SOS Kanal Plus - Sremska TV - Story 4 - Studio B - Super D+ - Super Sat - Superstar 2 - Superstar - Super TV 2 - T1 - Tanjug TV - Telebet - Televizija Fokus - Televizija Plus - TLC Balkan - TMS Televizija Telemark - Toxic Folk - Toxic Rap - Toxic TV - Travel Channel Europe - Turizam TV - TV 1000 Balkan - TV 2 - TV 4S - TV5Monde Europe - TV 5 Uzice - TV Apatin - TV AS - TV Bačka - TV Banat - TV Bečej - TV Belle Amie - TV Bor - TV Bujanovac - TV Caribrod - TVCG Sat - TV Cink - TV City - TV Delta - TV Diskos - TV DR - TV Duga + - TV Fruška Gora - TV Galaksija 32 - TV Gem - TV GM Plus - TV Hit Plus Batočina - TV Hram - TV Info 24 Plus - TV Istok - TV Jasenica - TV K-1 - TV K9 - TV Kanal 25 - TV Kanal M - TV Kikinda - TV Kladovo - TV Koreni - TV Kragujevac - TV Kraljevo - TV Kruševac - TV Lav - TV Lav Plus - TV Leskovac - TV Lotel Plus - TV Mag - TV Marš - TV Mix - TV Most - TV Novi Bečej - TV Novi Pazar - TV Palma Plus - TV Pančevo - TV Partizan - TV P Canal - TV Petrovec - TV Pirot - TV Podrinje - TV Požega - TV Priboj - TV Q - TV Rača - TV Ras - TV Ritam - TV Šabac - TV Santos - TV Skay - TV Sunce - TV Trans - TV Trstenik - VA Plus - TV Vranje - TV Vrnjačka Banja - TV Vujic - TV YU Eco - TV Zlatar - TV Zona Plus - Vesti - Viasat Explore East - Viasat History - Viasat Nature East - Vranjska Plus - World Wild Muzzik - Zadruga 1 - Zadruga 2 - Zadruga 3 - Zadruga 4 - Zdravlje TV - Zvezda TV - - \ No newline at end of file + + + + 101 TV + 24 Kitchen + 360 Tune Box + Agro TV + Aljazeera Balkans + Alternativna TV + Animal Planet + Arena Esport + Arena Fight + Arena Premium 1 + Arena Sport 1 + Arena Sport 1x2 + Arena Premium 2 + Arena Sport 2 + Arena Premium 3 + Arena Sport 3 + Arena Sport 4 + Arena Sport 5 + Arena Sport 6 + Arena Sport 7 + Arena Sport 8 + AXN + AXN Spin + B92 + Baby TV Europe + Balkan Trip + Balkan TV + BBC Earth + Bloomberg TV + BN Music + BN + Boomerang + Bravo Music + B TV + Cafe & Club + CBS Reality + CCTV 4 Europe + CGTN + CineStar TV 1 Srbija + CineStar TV Action Srbija + CineStar TV Comedy + CineStar TV Fantasy + Club MTV + CNBC Europe + CNN International Europe + Cool TV + Crime + Investigation UK + Da Vinci + Decija TV + Dexy TV + Discovery Channel Srbija + Discovery Science + Disney Channel Polska + Dizi + DM Sat + DocuBox HD + Dox TV + Duck TV SD + Duna TV + Dunav TV + Duna World + eduTV + E! Europe + Epic Drama + EuroNews English + EuroNews Serbia + Eurosport 1 + Eurosport 2 + Extreme Sports Channel + Face TV + FashionBox HD + Fashion TV Europe + Fast & FunBox HD + Federalna TV + FightBox HD + Fight Network + Film 4 + FilmBox Arthouse Worldwide + FilmBox Extra HD Adria + FilmBox Stars Adria + Film Klub + Film Klub Extra + Film + Hungary + Food Network EMEA + Fox Crime Srbija + Fox Life Srbija + Fox Movies Srbija + Fox News Channel + Fox Srbija + France 24 English + Gametoon + Gradska M TV + Ha Ha + Happy + Happy Reality 1 + Happy Reality 2 + Hayat + Hayat Folk + Hayat Music + Hayatovci + Hayat Plus + HGTV Pan Regional + History 2 Polska + Humana TV Plus + Hype TV + Investigation Discovery Europe + Jeka + JimJam Europe + K1 + K23 TV + K3 + KA TV + Kazbuka + K CN 1 + K CN 2 + K CN 3 + K CN Istok + K CN K + K CN Raška + K CN Zapad + Kitchen TV + Klasik TV + Kurir TV + Kuvo TV + LFC TV + Lol + M1 + M2 + M4 Sport + M5 + Minimax Romania + Mostnet + Motorvision TV + MTV 00s + MTV 80s + MTV 90s + MTV Global + MTV Hits Europe + Muzsika TV + Muzzik + National Geographic + Nat Geo Wild + NBA TV + Nickelodeon + Nick Jr + Nicktoons Adria + TV Nova + Novosadska TV + NTV + OBN + OKK + Pannon TV + Pink Action + Pink Classic + Pink Comedy + Pink Crime & Mystery + Pink Extra + Pink Family + Pink Fashion + Pink Film + Pink Folk 1 + Pink Folk 2 + Pink Hits + Pink Hits 2 + Pink Horror + Pink Kids + Pink Koncert + Pink Kuvar + Pink M + Pink Movies + Pink Music + Pink Music 2 + Pink n Roll + Pink Pedia + Pink Plus + Pink Premium + Pink Reality + Pink Romance + Pink Sci-Fi & Fantasy + Pink Srbija + Pink Serije + Pink Show + Pink Soap + Pink Style + Pink Super Kids + Pink Thriller + Pink Western + Pink World + Pink Zabava + Prva Files + Prva Kick + Prva Life + Prva Max + Prva Srpska TV + Prva TV Crna Gora + Prva World + Red TV + Rock & Roll + RT News + RT Documentary + RTL Hrvatska + RTL Croatia World + RTL Deutschland + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + RTL Kockica + RTP + RTR Planeta + RTRS TV + RTS 1 + RTS 2 + RTS 3 + RTS Drama + RTS Klasika + RTS Kolo + RTS Muzika + RTS Nauka + RTS Poletarac + RTS Trezor + RTS Zivot + RTV 1 + RTV 2 + RTV Bap + RTV Bosphorus + RTV Melos + RTV SP + RTV Sreće + RTV Subotica + RTV Šumadija + Rossiya 24 + Sandžačka TV Mreža + Sandžak TV + SAT TV + Scifi Srbija + Sorozat + + SOS Kanal Plus + Sremska TV + Story 4 + Studio B + Super D+ + Super Sat + Superstar 2 + Superstar + Super TV 2 + T1 + Tanjug TV + Telebet + Televizija Fokus + Televizija Plus + TLC Balkan + TMS Televizija Telemark + Toxic Folk + Toxic Rap + Toxic TV + Travel Channel Europe + Turizam TV + TV 1000 Balkan + TV 2 + TV 4S + TV5Monde Europe + TV 5 Uzice + TV Apatin + TV AS + TV Bačka + TV Banat + TV Bečej + TV Belle Amie + TV Bor + TV Bujanovac + TV Caribrod + TVCG Sat + TV Cink + TV City + TV Delta + TV Diskos + TV DR + TV Duga + + TV Fruška Gora + TV Galaksija 32 + TV Gem + TV GM Plus + TV Hit Plus Batočina + TV Hram + TV Info 24 Plus + TV Istok + TV Jasenica + TV K-1 + TV K9 + TV Kanal 25 + TV Kanal M + TV Kikinda + TV Kladovo + TV Koreni + TV Kragujevac + TV Kraljevo + TV Kruševac + TV Lav + TV Lav Plus + TV Leskovac + TV Lotel Plus + TV Mag + TV Marš + TV Mix + TV Most + TV Novi Bečej + TV Novi Pazar + TV Palma Plus + TV Pančevo + TV Partizan + TV P Canal + TV Petrovec + TV Pirot + TV Podrinje + TV Požega + TV Priboj + TV Q + TV Rača + TV Ras + TV Ritam + TV Šabac + TV Santos + TV Skay + TV Sunce + TV Trans + TV Trstenik + VA Plus + TV Vranje + TV Vrnjačka Banja + TV Vujic + TV YU Eco + TV Zlatar + TV Zona Plus + Vesti + Viasat Explore East + Viasat History + Viasat Nature East + Vranjska Plus + World Wild Muzzik + Zadruga 1 + Zadruga 2 + Zadruga 3 + Zadruga 4 + Zdravlje TV + Zvezda TV + \ No newline at end of file diff --git a/sites/mts.rs/mts.rs.config.js b/sites/mts.rs/mts.rs.config.js index 89e488f4..00d3b552 100644 --- a/sites/mts.rs/mts.rs.config.js +++ b/sites/mts.rs/mts.rs.config.js @@ -18,7 +18,7 @@ module.exports = { 'X-Requested-With': 'XMLHttpRequest' } }, - parser: function ({ content, channel, date }) { + parser: function ({ content, channel }) { let programs = [] const data = parseContent(content, channel) const items = parseItems(data) @@ -38,21 +38,23 @@ module.exports = { } function parseContent(content, channel) { - const [_, site_id] = channel.site_id.split('#') + const [, site_id] = channel.site_id.split('#') let data try { data = JSON.parse(content) - } catch (e) {} + } catch (error) { + console.log(error) + } if (!data || !data.channels || !data.channels.length) return null return data.channels.find(c => c.id === site_id) || null } -function parseStart(item, date) { +function parseStart(item) { return dayjs.tz(item.full_start, 'Europe/Belgrade') } -function parseStop(item, date) { +function parseStop(item) { return dayjs.tz(item.full_end, 'Europe/Belgrade') } diff --git a/sites/mts.rs/mts.rs.test.js b/sites/mts.rs/mts.rs.test.js index e3f62c5b..87ff70cc 100644 --- a/sites/mts.rs/mts.rs.test.js +++ b/sites/mts.rs/mts.rs.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mts.rs/mts.rs.config.js --channels=sites/mts.rs/mts.rs.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mts.rs const { parser, url, request } = require('./mts.rs.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '101#597', xmltv_id: 'RTS1.rs' } -const content = `{"page":0,"total_pages":1,"date":"2021-11-07","channels":[{"id":"597","name":"RTS 1","description":null,"link":null,"image":"https:\/\/mts.rs\/oec\/images\/tv_channels\/904ddd8cd6720a4a1c23eae513b5b957.jpg","position":"101","positions":"101","items":[{"id_channel":"597","title":"Zaboravljeni zlo\u010din","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.","start":"00:00:00","duration":"103.00","full_start":"2021-11-06 23:44:00","full_end":"2021-11-07 01:43:00","image":"https:\/\/mts.rs\/oec\/images\/epg\/2_abb81cc24d8ce957eece50f991a31e59780e4e53_E7D8ECDE568E84E3C86CCDBDB647355E.jpg","category":"Bioskopski film","subcategory":""}]}]}` +const content = + '{"page":0,"total_pages":1,"date":"2021-11-07","channels":[{"id":"597","name":"RTS 1","description":null,"link":null,"image":"https://mts.rs/oec/images/tv_channels/904ddd8cd6720a4a1c23eae513b5b957.jpg","position":"101","positions":"101","items":[{"id_channel":"597","title":"Zaboravljeni zlo\u010din","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.","start":"00:00:00","duration":"103.00","full_start":"2021-11-06 23:44:00","full_end":"2021-11-07 01:43:00","image":"https://mts.rs/oec/images/epg/2_abb81cc24d8ce957eece50f991a31e59780e4e53_E7D8ECDE568E84E3C86CCDBDB647355E.jpg","category":"Bioskopski film","subcategory":""}]}]}' it('can generate valid url', () => { const result = url({ date, channel }) @@ -38,7 +39,8 @@ it('can parse response', () => { title: 'Zaboravljeni zlo\u010din', category: 'Bioskopski film', icon: '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.` + 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.' } ]) }) @@ -47,7 +49,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"message":"Nema rezultata."}` + content: '{"message":"Nema rezultata."}' }) expect(result).toMatchObject([]) }) diff --git a/sites/mujtvprogram.cz/mujtvprogram.cz.channels.xml b/sites/mujtvprogram.cz/mujtvprogram.cz.channels.xml index 21bf6f62..ab8bef3f 100644 --- a/sites/mujtvprogram.cz/mujtvprogram.cz.channels.xml +++ b/sites/mujtvprogram.cz/mujtvprogram.cz.channels.xml @@ -1,274 +1,272 @@ - - - 360TuneBox - 3SAT - Adult Channel - Al Jazeera - AMC - - Animal Planet - - ARD - Das Erste - Arena Sport 1 HD - Arena Sport 2 - ARTE - Auto Motor Sport HD - AXN - - AXN Black - - AXN White - BabyTV - Barrandov Krimi - BBC World News HD - Bloomberg Europe - Blue Hustler - Boomerang - BoomerangEMEA.us - - Brazzers TV Europe - Canal 24 Horas - CANAL+ Domo - Cartoon Network - CBS Reality - - Cinemax - - Cinemax2 - Club MTV Europe - CNBC Europe - CNN International Europe - CNN Prima NEWS HD - Cool TV - Crime & Investigation - CS Film - - CS History - CS Horror - CS Mystery - ČT :D HD - ČT art HD - ČT Sport HD - - ČT1 HD - - ČT2 HD - ČT24 HD - ČT3 HD - Deutsche Welle English - Deluxe Music - Discovery Channel - - Discovery Science - Disney Channel - Disney Channel - Disney Junior - DMAX - DocuBox - Dorcel TV - Dorcel XXX - Duck TV - Duck TV - Duna - Duna SK - Dvojka HD - E! Europe - English Club TV - Epic Drama HD - Erox - Eroxxx - EuroNews - Eurosport 1 - - Eurosport 2 - - Extreme Sports Channel - Fashion TV Europe - FashionBox.nl - Fast&FunBox - FightBox - Film Europe HD - - Film Europe+ HD - Film+ - - FilmBox - - FilmBox Extra HD - - FilmBox Family - - - FilmBox Premium HD - FilmBox Premium - FilmBox Stars - - Fishing and Hunting - - Food Network - France 24 HD - France 24 - Ginx eSports TV - Golf Channel - HBO - - HBO2 - - HBO3 - HBO3 - History HD - - HTV1 - HTV2 - Hustler - Hustler HD - Investigation Discovery - Jednotka HD - JimJam - JOJ Cinema HD - JOJ Family HD - JOJCinema.sk - Jojko.sk - JOJ Plus - JOJSport.sk - JOJWAU.sk - Kabel1 - KiKA - Kino Barrandov - LALA TV - LEO TV - Love Nature HD - M1 - M2 - Markiza Dajto - Markíza International - Markíza - Markíza Doma - MDR - Mezzo HD - Mezzo Live HD - Minimax - Mňam TV - MnauTV.cz - - MTV 00s - MTV 80s - MTV 90s - MTV - MTVHitsEurope.uk - MTV Live - Music Box - Náš region TV - National Geographic - - - National Geographic Wild - - - Nick Jr Czech - Nickelodeon - Nicktoons - Nova Action HD - Nova Cinema HD - Nova Fun HD - Nova Gold - Nova HD - Nova International - Nova Lady - Nova Sport 1 HD - Nova Sport 2 HD - Nova Sport 3 - Nova Sport 4 - ÓČKO - ÓČKO BLACK HD - ÓČKO EXPRES HD - ÓČKO STAR - ORF1 - - ORF2 - - Paramount Network - Playboy TV Europe - Polsat - - Power TV - Praha TV - Premier Sport 1 - Premier Sport 2 - Prima COOL HD - Prima HD - Prima KRIMI HD - Prima LOVE HD - Prima MAX HD - Prima Show - Prima STAR - Prima ZOOM HD - PrimaPlus.cz - Private TV - PRO7 - - Rebel - RELAX - Retro - Russia Today - RT Doc - RTL - RTL Hungary - RTL Hungary - RTL2 - SAT.1 - - SAT.1 Gold - Senzi - Sky News International - Skylink 7 - Šláger Originál - Šlágr Premium HD - Spektrum HD - Spektrum Home - Spektrum - - Sport1 - - Sport 1 - - Sport 2 - - Sport.sk - SPORT5 - Stingray Classica HD - Stingray CMusic - Stingray iConcerts HD - TA3 HD - Televize Seznam - TLC - Travel Channel - Travelxp HD - TV5 Monde - TV Barrandov HD - JOJ - TV Central - - TV Lux HD - TV Noe HD - - TVP 1 - TVP 2 - TV Paprika - - TV8 HD - UP NETWORK - - Viasat Explore - - Viasat History - - Viasat Nature - - VIXEN HD - VOX - ZDF - ZDF NEO - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3SAT + AMC + Animal Planet + ARTE + Auto Motor Sport HD + AXN Black + AXN + AXN White + Barrandov Krimi + Canal 24 Horas + CANAL+ Domo + Cartoon Network + CBS Reality + Cinemax2 + Cinemax + CNBC Europe + CNN Prima NEWS HD + Crime & Investigation + CS Film + CS History + CS Horror + CS Mystery + ČT1 HD + ČT2 HD + ČT24 HD + ČT3 HD + ČT art HD + ČT :D HD + ČT Sport HD + ARD - Das Erste + Discovery Channel + Discovery Science + Disney Channel + Duck TV + Duna SK + E! Europe + Epic Drama HD + Eurosport 1 + Eurosport 2 + FashionBox.nl + FilmBox + FilmBox Extra HD + FilmBox Family + FilmBox Premium HD + FilmBox Stars + Film Europe HD + Film Europe+ HD + Film+ + Food Network + Golf Channel + HBO2 + HBO3 + HBO + History HD + HTV1 + HTV2 + Investigation Discovery + JimJam + JOJ Cinema HD + Kabel1 + KiKA + Kino Barrandov + LALA TV + LEO TV + M1 + M2 + Markíza International + MDR + Minimax + Mňam TV + MnauTV.cz + MTV + MTV Live + Náš region TV + National Geographic + National Geographic Wild + Nickelodeon + Nick Jr Czech + Nicktoons + Nova Action HD + Nova Cinema HD + Nova Fun HD + Nova Gold + Nova International + Nova Lady + Nova Sport 1 HD + Nova Sport 2 HD + Nova Sport 3 + Nova Sport 4 + ÓČKO + ÓČKO BLACK HD + ÓČKO EXPRES HD + ÓČKO STAR + ORF1 + ORF2 + Paramount Network + Polsat + Power TV + Praha TV + Premier Sport 1 + Premier Sport 2 + Prima HD + Prima COOL HD + Prima KRIMI HD + Prima LOVE HD + Prima MAX HD + PrimaPlus.cz + Prima Show + Prima STAR + Prima ZOOM HD + PRO7 + Rebel + RELAX + Retro + RTL + RTL Hungary + RTL2 + SAT.1 + SAT.1 Gold + Skylink 7 + Šláger Originál + Šlágr Premium HD + Spektrum HD + Spektrum Home + Sport 1 + Sport1 + Sport 2 + SPORT5 + Televize Seznam + Fishing and Hunting + TLC + Travel Channel + Travelxp HD + TV Barrandov HD + TV Central + TV Noe HD + Nova HD + TVP 1 + TVP 2 + TV Paprika + UP NETWORK + Viasat Explore + Viasat History + Viasat Nature + VOX + ZDF + BoomerangEMEA.us + DMAX + ZDF NEO + 360TuneBox + Adult Channel + Al Jazeera + BabyTV + BBC World News HD + Bloomberg Europe + Blue Hustler + Boomerang + Brazzers TV Europe + Club MTV Europe + CNN International Europe + Deluxe Music + Disney Channel + Disney Junior + DocuBox + Dorcel TV + Dorcel XXX + Deutsche Welle English + English Club TV + Erox + Eroxxx + EuroNews + Extreme Sports Channel + Fashion TV Europe + Fast&FunBox + FightBox + France 24 HD + Ginx eSports TV + Hustler HD + Hustler + Love Nature HD + MTV 00s + MTV 80s + MTV 90s + MTVHitsEurope.uk + Music Box + Playboy TV Europe + Private TV + Russia Today + RT Doc + Sky News International + Stingray Classica HD + Stingray CMusic + Stingray iConcerts HD + VIXEN HD + France 24 + Mezzo HD + Mezzo Live HD + TV5 Monde + Cool TV + Duna + RTL Hungary + Arena Sport 1 HD + Arena Sport 2 + Duck TV + Dvojka HD + FilmBox Premium + HBO3 + Jednotka HD + JOJCinema.sk + JOJ Family HD + Jojko.sk + JOJ Plus + JOJSport.sk + JOJWAU.sk + Markíza + Markiza Dajto + Markíza Doma + Senzi + Spektrum + Sport.sk + TA3 HD + TV8 HD + JOJ + TV Lux HD + \ No newline at end of file diff --git a/sites/mujtvprogram.cz/mujtvprogram.cz.test.js b/sites/mujtvprogram.cz/mujtvprogram.cz.test.js index d0a45073..c15d2329 100644 --- a/sites/mujtvprogram.cz/mujtvprogram.cz.test.js +++ b/sites/mujtvprogram.cz/mujtvprogram.cz.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mujtvprogram.cz/mujtvprogram.cz.config.js --channels=sites/mujtvprogram.cz/mujtvprogram.cz.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mujtvprogram.cz const { parser, url } = require('./mujtvprogram.cz.config.js') const fs = require('fs') @@ -37,8 +37,9 @@ it('can parse response', () => { return p }) expect(results[3]).toMatchObject({ - title: `Čepice`, - description: `Jarka (J. Bohdalová) vyčítá manželovi Jiřímu (F. Řehák), že jí nepomáhá při předvánočním úklidu. Vzápětí ale náhodou najde ve skříni ukrytou dámskou čepici a napadne ji, že jde o Jiřího dárek pro ni pod stromeček. Její chování se ihned změní. Jen muži naznačí, že by chtěla čepici jiné barvy. Manžel jí ovšem řekne, že čepici si u něj schoval kamarád Venca (M. Šulc). Zklamaná žena to prozradí Vencově manželce Božce (A. Tománková). Na Štědrý den však Božka najde pod stromečkem jen rtěnku...`, + title: 'Čepice', + description: + 'Jarka (J. Bohdalová) vyčítá manželovi Jiřímu (F. Řehák), že jí nepomáhá při předvánočním úklidu. Vzápětí ale náhodou najde ve skříni ukrytou dámskou čepici a napadne ji, že jde o Jiřího dárek pro ni pod stromeček. Její chování se ihned změní. Jen muži naznačí, že by chtěla čepici jiné barvy. Manžel jí ovšem řekne, že čepici si u něj schoval kamarád Venca (M. Šulc). Zklamaná žena to prozradí Vencově manželce Božce (A. Tománková). Na Štědrý den však Božka najde pod stromečkem jen rtěnku...', category: 'film', date: '1983', director: ['Mudra F.'], diff --git a/sites/musor.tv/musor.tv.channels.xml b/sites/musor.tv/musor.tv.channels.xml index c723bd4e..49d7201f 100644 --- a/sites/musor.tv/musor.tv.channels.xml +++ b/sites/musor.tv/musor.tv.channels.xml @@ -1,174 +1,172 @@ - - - club MTV - E! Entertainment - English Club TV - Extreme Sports Channel - Fightbox - Filmbox Arthouse - MTV 00s - MTV 90s - MTV European - MTV Hits - MTV Live - Sky News - Stingray Classica - Stingray C Music - Total Dance TV - Trace Sports - Trace Urban - Travel XP - 7.TV - AMC - Animal Planet - Apostol TV - Arena4 - ATV - ATV Spirit - Auto Motor Sport - AXN - Baby TV - Balaton TV - BBC Earth - BBC World News - Boomerang - Cartoon Network - CBS Reality - Cinemax 2 - Cinemax - CNBC - CNN - Comedy Central Family - Comedy Central - Cool - d1 TV - Da Vinci - DIGI Animal World - DIGI Life - DIGI Sport 1 - DIGI Sport 2 - DIGI Sport 3 - DIGI World - Dikh TV - Direct One TV - Discovery Channel - Discovery Science - Disney Channel - Docubox - Duck TV - Duna TV - Duna World - Epic Drama - Erdély TV - Euronews - Eurosport 1 - Eurosport 2 - Eurosport 4K - EWTN / Bonum TV - Fashion TV - Fehérvár TV - FEM3 - Film4 - Filmbox Extra - Filmbox Family - Filmbox Premium - Filmbox Stars - Film Café - Film Mánia - Film Now - film+ - Fit HD - FIX TV - Food Network - Funbox UltraHD 4K - Galaxy4 - Gametoon - Hatoscsatorna - HBO 2 - HBO 3 - HBO - Hegyvidék TV - Heti TV - HGTV - Hír TV - History - H!T Music - ID - Izaura TV - JimJam - Jocky TV - Kapos TV - Kölcsey TV - Life TV - Love Nature - M1 - M2 / Petőfi - M4 Sport - M4 Sport+ - M5 - Match4 - Magyar Mozi TV - MAX4 - Mezzo - Mezzo Live - Minimax - Mozi+ - Moziverzum - MTV 80s - 1 Music Channel - Muzsika TV - National Geographic - National Geographic Wild - Nautical Channel - Nickelodeon - Nick Jr - Nicktoons - Ozone TV - Pannon TV (Vajdaság) - Paramount Network - PAX TV - Pesti TV - Prime - RTL Gold - RTL KETTŐ - RTL HÁROM - RTL - Sláger TV - Sorozat+ - Spektrum Home - Spektrum - Spíler1 TV - Spíler2 TV - Sport1 - Sport2 - Stingray iConcerts - Story4 - Super TV2 - Szeged TV - TeenNick - Fishing & Hunting Channel - TLC - Travel Channel - TV2 - TV21 Ungvár (Kárpátalja) - TV2 Comedy - TV2 Kids - TV2 Séf - TV4 - TV Eger - TV Paprika - Újbuda TV - Viasat2 - Viasat3 - Viasat6 - Viasat Explore - Viasat Film - Viasat History - Viasat Nature - Zalaegerszegi TV - Zenebutik TV - - - - + + + + club MTV + E! Entertainment + English Club TV + Extreme Sports Channel + Fightbox + Filmbox Arthouse + MTV 00s + MTV 90s + MTV European + MTV Hits + MTV Live + Sky News + Stingray Classica + Stingray C Music + Total Dance TV + Trace Sports + Trace Urban + Travel XP + 7.TV + AMC + Animal Planet + Apostol TV + Arena4 + ATV + ATV Spirit + Auto Motor Sport + AXN + Baby TV + Balaton TV + BBC Earth + BBC World News + Boomerang + Cartoon Network + CBS Reality + Cinemax 2 + Cinemax + CNBC + CNN + Comedy Central Family + Comedy Central + Cool + d1 TV + Da Vinci + DIGI Animal World + DIGI Life + DIGI Sport 1 + DIGI Sport 2 + DIGI Sport 3 + DIGI World + Dikh TV + Direct One TV + Discovery Channel + Discovery Science + Disney Channel + Docubox + Duck TV + Duna TV + Duna World + Epic Drama + Erdély TV + Euronews + Eurosport 1 + Eurosport 2 + Eurosport 4K + EWTN / Bonum TV + Fashion TV + Fehérvár TV + FEM3 + Film4 + Filmbox Extra + Filmbox Family + Filmbox Premium + Filmbox Stars + Film Café + Film Mánia + Film Now + film+ + Fit HD + FIX TV + Food Network + Funbox UltraHD 4K + Galaxy4 + Gametoon + Hatoscsatorna + HBO 2 + HBO 3 + HBO + Hegyvidék TV + Heti TV + HGTV + Hír TV + History + H!T Music + ID + Izaura TV + JimJam + Jocky TV + Kapos TV + Kölcsey TV + Life TV + Love Nature + M1 + M2 / Petőfi + M4 Sport + M4 Sport+ + M5 + Magyar Mozi TV + Match4 + MAX4 + Mezzo + Mezzo Live + Minimax + Mozi+ + Moziverzum + MTV 80s + 1 Music Channel + Muzsika TV + National Geographic + National Geographic Wild + Nautical Channel + Nickelodeon + Nick Jr + Nicktoons + Ozone TV + Pannon TV (Vajdaság) + Paramount Network + PAX TV + Pesti TV + Prime + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + Sláger TV + Sorozat+ + Spektrum Home + Spektrum + Spíler1 TV + Spíler2 TV + Sport1 + Sport2 + Stingray iConcerts + Story4 + Super TV2 + Szeged TV + TeenNick + Fishing & Hunting Channel + TLC + Travel Channel + TV2 + TV21 Ungvár (Kárpátalja) + TV2 Comedy + TV2 Kids + TV2 Séf + TV4 + TV Eger + TV Paprika + Újbuda TV + Viasat2 + Viasat3 + Viasat6 + Viasat Explore + Viasat Film + Viasat History + Viasat Nature + Zalaegerszegi TV + Zenebutik TV + diff --git a/sites/musor.tv/musor.tv.config.js b/sites/musor.tv/musor.tv.config.js index a436b8af..85568d9f 100644 --- a/sites/musor.tv/musor.tv.config.js +++ b/sites/musor.tv/musor.tv.config.js @@ -37,7 +37,7 @@ module.exports = { }, async channels() { const html = await axios - .get(`https://musor.tv/`) + .get('https://musor.tv/') .then(r => r.data) .catch(console.log) diff --git a/sites/musor.tv/musor.tv.test.js b/sites/musor.tv/musor.tv.test.js index 351c5cd6..6caa143a 100644 --- a/sites/musor.tv/musor.tv.test.js +++ b/sites/musor.tv/musor.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/musor.tv/musor.tv.config.js --output=./sites/musor.tv/musor.tv.channels.xml -// npx epg-grabber --config=sites/musor.tv/musor.tv.config.js --channels=sites/musor.tv/musor.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=musor.tv const { parser, url } = require('./musor.tv.config.js') const fs = require('fs') @@ -38,7 +38,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2022-11-19T23:00:00.000Z', stop: '2022-11-19T23:30:00.000Z', - title: `Egészségtér`, + title: 'Egészségtér', description: 'Egészségtér címmel új természetgyógyászattal foglalkozó magazinműsor indult hetente fél órás időtartamban a hatoscsatornán. A műsor derűs, objektív hangvételével és szakmailag magas színvonalú ismeretterjesztő jellegével az e' }) @@ -46,7 +46,7 @@ it('can parse response', () => { expect(results[1]).toMatchObject({ start: '2022-11-19T23:30:00.000Z', stop: '2022-11-20T00:00:00.000Z', - title: `Tradíció Klipek`, + title: 'Tradíció Klipek', description: 'Tradíció Klipek Birinyi József néprajzi, vallási, népzenei, népszokás filmjeiből.' }) }) @@ -54,7 +54,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ date, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.channels.xml b/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.channels.xml index ac6e5e1b..080afd42 100644 --- a/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.channels.xml +++ b/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.channels.xml @@ -1,13 +1,11 @@ - - - AFN|prime Atlantic - AFN|news - AFN|sports - AFN|prime Pacific - AFN|spectrum - AFN|sports2 - AFN|family,AFN|pulse - AFN|movie - - + + AFN|family,AFN|pulse + AFN|movie + AFN|news + AFN|prime Atlantic + AFN|prime Pacific + AFN|spectrum + AFN|sports + AFN|sports2 + diff --git a/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.config.js b/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.config.js index 024fc0c7..0969598d 100644 --- a/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.config.js +++ b/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.config.js @@ -40,7 +40,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://v3.myafn.dodmedia.osd.mil/api/json/32/channels.json`) + .get('https://v3.myafn.dodmedia.osd.mil/api/json/32/channels.json') .then(r => r.data) .catch(console.log) @@ -51,7 +51,7 @@ module.exports = { } } -function parseStart(item, date) { +function parseStart(item) { return dayjs.utc(item.e, 'YYYY,M,D,H,m,s,0').add(1, 'month') } diff --git a/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.test.js b/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.test.js index 91f27eb6..1fefb07c 100644 --- a/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.test.js +++ b/sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.config.js --channels=sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=myafn.dodmedia.osd.mil // npm run channels:parse -- --config=./sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.config.js --output=./sites/myafn.dodmedia.osd.mil/myafn.dodmedia.osd.mil.channels.xml const { parser, url } = require('./myafn.dodmedia.osd.mil.config.js') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[{"a":566,"b":2,"c":"2022,9,3,3,0,0,0","d":"2022,9,3,4,0,0,0","e":"2022,9,3,3,0,0,0","f":"2022,9,3,4,0,0,0","g":60,"h":"This Week with George Stephanopoulos (ABC)","i":"Episode Title","j":"TV-14","k":false,"l":"Former Clinton White House staffer and current co-anchor of ABC's weekday morning news show \\"\\"Good Morning America,\\"\\" George Stephanopoulos and co-anchors Martha Raddatz and Jonathan Karl offer a look at current events with a focus on the politics of the day. Each week's show includes interviews with top newsmakers (including some of the nation's top political leaders) as well as a roundtable discussion, usually featuring journalists from ABC and other news organizations, of the week's happenings. Since 2008, the program has broadcast from a studio at the Newseum in Washington, D.C.","m":"News,Politics,Public affairs,Talk","n":694284445,"o":60,"p":20,"q":true,"r":694285705,"s":null}]` + const content = + '[{"a":566,"b":2,"c":"2022,9,3,3,0,0,0","d":"2022,9,3,4,0,0,0","e":"2022,9,3,3,0,0,0","f":"2022,9,3,4,0,0,0","g":60,"h":"This Week with George Stephanopoulos (ABC)","i":"Episode Title","j":"TV-14","k":false,"l":"Former Clinton White House staffer and current co-anchor of ABC\'s weekday morning news show \\"\\"Good Morning America,\\"\\" George Stephanopoulos and co-anchors Martha Raddatz and Jonathan Karl offer a look at current events with a focus on the politics of the day. Each week\'s show includes interviews with top newsmakers (including some of the nation\'s top political leaders) as well as a roundtable discussion, usually featuring journalists from ABC and other news organizations, of the week\'s happenings. Since 2008, the program has broadcast from a studio at the Newseum in Washington, D.C.","m":"News,Politics,Public affairs,Talk","n":694284445,"o":60,"p":20,"q":true,"r":694285705,"s":null}]' const result = parser({ content, date, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() diff --git a/sites/mysky.com.ph/mysky.com.ph.channels.xml b/sites/mysky.com.ph/mysky.com.ph.channels.xml index b45ab088..ee75ab84 100644 --- a/sites/mysky.com.ph/mysky.com.ph.channels.xml +++ b/sites/mysky.com.ph/mysky.com.ph.channels.xml @@ -1,125 +1,123 @@ - - - A2Z - ANC - ASIAN FOOD NETWORK - BABY TV - CARTOON NETWORK - CELESTIAL CLASSIC MOVIES - CINEMA ONE - CINEMO! - DA VINCI KIDS - GLOBAL TREKKER HD - JEEPNEY TV - KAPAMILYA CHANNEL - KBS WORLD - KIX - KNOWLEDGE CHANNEL - K-PLUS - LOVE NATURE HD - METRO CHANNEL SD - MEZZO LIVE HD - MTV 90s - MYX - NHK WORLD JAPAN - ONE SPORTS - PBO - PREMIER FOOTBALL HD - PREMIER SPORTS - PREMIER SPORTS 2 HD - ROCK ENTERTAINMENT - ROCK EXTREME - SOLAR SPORTS - SPOTV - SPOTV 2 - STAR BHARAT - TMC (TAGALIZED MOVIE CHANNEL) - TapAction Flix - TAP EDGE - TAP MOVIES - TAP SPORTS HD - TAP TV - TECH STORM - THRILL - TLC - TV5 - TVBS ASIA - TVBS NEWS - ZOO MOO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A2Z + ANC + ASIAN FOOD NETWORK + BABY TV + CARTOON NETWORK + CELESTIAL CLASSIC MOVIES + CINEMA ONE + CINEMO! + DA VINCI KIDS + GLOBAL TREKKER HD + JEEPNEY TV + KAPAMILYA CHANNEL + KBS WORLD + KIX + KNOWLEDGE CHANNEL + K-PLUS + LOVE NATURE HD + METRO CHANNEL SD + MEZZO LIVE HD + MTV 90s + MYX + NHK WORLD JAPAN + ONE SPORTS + PBO + PREMIER FOOTBALL HD + PREMIER SPORTS + PREMIER SPORTS 2 HD + ROCK ENTERTAINMENT + ROCK EXTREME + SOLAR SPORTS + SPOTV + SPOTV 2 + STAR BHARAT + TMC (TAGALIZED MOVIE CHANNEL) + TapAction Flix + TAP EDGE + TAP MOVIES + TAP SPORTS HD + TAP TV + TECH STORM + THRILL + TLC + TV5 + TVBS ASIA + TVBS NEWS + ZOO MOO + diff --git a/sites/mysky.com.ph/mysky.com.ph.config.js b/sites/mysky.com.ph/mysky.com.ph.config.js index 3735b0e0..af604cb2 100644 --- a/sites/mysky.com.ph/mysky.com.ph.config.js +++ b/sites/mysky.com.ph/mysky.com.ph.config.js @@ -33,7 +33,7 @@ module.exports = { }, async channels() { const items = await axios - .get(`https://skyepg.mysky.com.ph/Main/getEventsbyType`) + .get('https://skyepg.mysky.com.ph/Main/getEventsbyType') .then(r => r.data.location) .catch(console.log) diff --git a/sites/mysky.com.ph/mysky.com.ph.test.js b/sites/mysky.com.ph/mysky.com.ph.test.js index 40f46c19..b53c25ae 100644 --- a/sites/mysky.com.ph/mysky.com.ph.test.js +++ b/sites/mysky.com.ph/mysky.com.ph.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/mysky.com.ph/mysky.com.ph.config.js --channels=sites/mysky.com.ph/mysky.com.ph.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mysky.com.ph // npm run channels:parse -- --config=./sites/mysky.com.ph/mysky.com.ph.config.js --output=./sites/mysky.com.ph/mysky.com.ph.channels.xml const { parser, url } = require('./mysky.com.ph.config.js') @@ -19,7 +19,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"events":[{"name":"TV PATROL","location":"8","start":"2022/10/04 19:00","end":"2022/10/04 20:00","userData":{"description":"Description example"}},{"name":"DARNA","location":"8","start":"2022/10/05 20:00","end":"2022/10/05 20:45","userData":{"description":""}},{"name":"Zoe Bakes S1","location":"22","start":"2022/10/04 20:30","end":"2022/10/04 21:00","userData":{"description":"Zo Franois Dad is a beekeeper. So for his birthday, she bakes him a special beehiveshaped cake."}}]}` + const content = + '{"events":[{"name":"TV PATROL","location":"8","start":"2022/10/04 19:00","end":"2022/10/04 20:00","userData":{"description":"Description example"}},{"name":"DARNA","location":"8","start":"2022/10/05 20:00","end":"2022/10/05 20:45","userData":{"description":""}},{"name":"Zoe Bakes S1","location":"22","start":"2022/10/04 20:30","end":"2022/10/04 21:00","userData":{"description":"Zo Franois Dad is a beekeeper. So for his birthday, she bakes him a special beehiveshaped cake."}}]}' const result = parser({ content, channel, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -38,7 +39,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: ``, + content: '', channel, date }) diff --git a/sites/mytvsuper.com/mytvsuper.com.channels.xml b/sites/mytvsuper.com/mytvsuper.com.channels.xml index 3befb083..14b11e0c 100644 --- a/sites/mytvsuper.com/mytvsuper.com.channels.xml +++ b/sites/mytvsuper.com/mytvsuper.com.channels.xml @@ -1,109 +1,107 @@ - - - Al Jazeera English - Animal Planet - Animax - Arirang TV - Asian Drama - Asian Variety - AXN - BBC Earth - BBC Lifestyle - BBC World News - CBeebies - CCM - China Movie Channel - Chinese Drama - Chinese Opera Channel - Classic Movies - Channel NewsAsia - Creation TV - Discovery Channel - Discovery Science - DW - Entertainment News - Eurosport - Fashion One - France 24 - GEM - Global Trekker - Golden Jade - Hands Up Channel - J2 - Jade - KIX - Love Nature HD - Love Nature 4K - Mainland News - Mei Ah Movie Channel - Mezzo Live HD - myTV SUPER 18 - myTV SUPER Live Soccer 1 - myTV SUPER Live Soccer 2 - myTV SUPER Live Soccer 3 - myTV SUPER Live Soccer 4 - myTV SUPER Live Soccer 5 - NHK World-Japan - Nickelodeon - Nick Jr - Paramount Network - Pearl - ROCK Entertainment - ROCK Extreme - Thrill - TVB Classic - TVB Finance, Sports & Information Channel - TVB News Channel - TVBS Asia - TVBS News - tvN - 半島電視台英語頻道 - 動物星球頻道 - Animax - 亞洲劇台 - 亞洲綜藝台 - AXN - BBC Earth - BBC Lifestyle - 天映經典頻道 - 中國電影頻道 - 華語劇台 - 戲曲台 - 粵語片台 - 創世電視 - Discovery頻道 - Discovery科學頻道 - 娛樂新聞台 - France 24 - GEM - Global Trekker - 黃金翡翠台 - Hands Up Channel - J2 - 翡翠台 - KIX - Love Nature HD - Love Nature 4K - 神州新聞台 - 美亞電影台 - myTV SUPER 18台 - myTV SUPER直播足球1台 - myTV SUPER直播足球2台 - myTV SUPER直播足球3台 - myTV SUPER直播足球4台 - myTV SUPER直播足球5台 - Nickelodeon - Paramount Network - 明珠台 - ROCK綜藝娛樂 - ROCK超極娛樂 - Thrill - 千禧經典台 - 無綫財經 體育 資訊台 - 無綫新聞台 - 無線衛星亞洲台 - 無線衛星新聞台 - tvN - - + + Al Jazeera English + Animal Planet + Animax + Arirang TV + Asian Drama + Asian Variety + AXN + BBC Earth + BBC Lifestyle + BBC World News + CBeebies + CCM + China Movie Channel + Chinese Drama + Chinese Opera Channel + Classic Movies + Channel NewsAsia + Creation TV + Discovery Channel + Discovery Science + DW + Entertainment News + Eurosport + Fashion One + France 24 + GEM + Global Trekker + Golden Jade + Hands Up Channel + J2 + Jade + KIX + Love Nature HD + Love Nature 4K + Mainland News + Mei Ah Movie Channel + Mezzo Live HD + myTV SUPER 18 + myTV SUPER Live Soccer 1 + myTV SUPER Live Soccer 2 + myTV SUPER Live Soccer 3 + myTV SUPER Live Soccer 4 + myTV SUPER Live Soccer 5 + NHK World-Japan + Nickelodeon + Nick Jr + Paramount Network + Pearl + ROCK Entertainment + ROCK Extreme + Thrill + TVB Classic + TVB Finance, Sports & Information Channel + TVB News Channel + TVBS Asia + TVBS News + tvN + 半島電視台英語頻道 + 動物星球頻道 + Animax + 亞洲劇台 + 亞洲綜藝台 + AXN + BBC Earth + BBC Lifestyle + 天映經典頻道 + 中國電影頻道 + 華語劇台 + 戲曲台 + 粵語片台 + 創世電視 + Discovery頻道 + Discovery科學頻道 + 娛樂新聞台 + France 24 + GEM + Global Trekker + 黃金翡翠台 + Hands Up Channel + J2 + 翡翠台 + KIX + Love Nature HD + Love Nature 4K + 神州新聞台 + 美亞電影台 + myTV SUPER 18台 + myTV SUPER直播足球1台 + myTV SUPER直播足球2台 + myTV SUPER直播足球3台 + myTV SUPER直播足球4台 + myTV SUPER直播足球5台 + Nickelodeon + Paramount Network + 明珠台 + ROCK綜藝娛樂 + ROCK超極娛樂 + Thrill + 千禧經典台 + 無綫財經 體育 資訊台 + 無綫新聞台 + 無線衛星亞洲台 + 無線衛星新聞台 + tvN + diff --git a/sites/mytvsuper.com/mytvsuper.com.test.js b/sites/mytvsuper.com/mytvsuper.com.test.js index fba9505d..6025d492 100644 --- a/sites/mytvsuper.com/mytvsuper.com.test.js +++ b/sites/mytvsuper.com/mytvsuper.com.test.js @@ -1,10 +1,9 @@ // npm run channels:parse -- --config=./sites/mytvsuper.com/mytvsuper.com.config.js --output=./sites/mytvsuper.com/mytvsuper.com.channels.xml --set=lang:zh -// npx epg-grabber --config=sites/mytvsuper.com/mytvsuper.com.config.js --channels=sites/mytvsuper.com/mytvsuper.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=mytvsuper.com const { parser, url } = require('./mytvsuper.com.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') diff --git a/sites/nhk.or.jp/nhk.or.jp.channels.xml b/sites/nhk.or.jp/nhk.or.jp.channels.xml index 5242039b..1fcd6def 100644 --- a/sites/nhk.or.jp/nhk.or.jp.channels.xml +++ b/sites/nhk.or.jp/nhk.or.jp.channels.xml @@ -1,8 +1,4 @@ - - - NHK - World-Japan - - \ No newline at end of file + + NHK World-Japan + \ No newline at end of file diff --git a/sites/nhk.or.jp/nhk.or.jp.config.js b/sites/nhk.or.jp/nhk.or.jp.config.js index f51fe044..b43bf6a4 100644 --- a/sites/nhk.or.jp/nhk.or.jp.config.js +++ b/sites/nhk.or.jp/nhk.or.jp.config.js @@ -1,65 +1,70 @@ const dayjs = require('dayjs') module.exports = { - site: 'nhk.or.jp', - days: 5, - output: 'nhk.or.jp.guide.xml', - channels: 'nhk.or.jp.channels.xml', - lang: 'en', - delay: 5000, + site: 'nhk.or.jp', + days: 5, + output: 'nhk.or.jp.guide.xml', + channels: 'nhk.or.jp.channels.xml', + lang: 'en', + delay: 5000, - url: function ({ date }) { - return `https://nwapi.nhk.jp/nhkworld/epg/v7b/world/s${date.unix() * 1000}-e${date.add(1, 'd').unix() * 1000}.json` - }, + url: function ({ date }) { + return `https://nwapi.nhk.jp/nhkworld/epg/v7b/world/s${date.unix() * 1000}-e${ + date.add(1, 'd').unix() * 1000 + }.json` + }, - request: { - method: 'GET', - timeout: 5000, - cache: { ttl: 60 * 1000 }, - headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } - }, - - logo: function (context) { - return context.channel.logo - }, - - parser: function (context) { - const programs = [] - - const items = parseItems(context.content) - - items.forEach(item => { - programs.push({ - title: item.title, - start: parseStart(item), - stop: parseStop(item), - description: item.description, - icon: parseIcon(item), - sub_title: item.subtitle - }) - }) - - return programs + request: { + method: 'GET', + timeout: 5000, + cache: { ttl: 60 * 1000 }, + headers: { + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } + }, + + logo: function (context) { + return context.channel.logo + }, + + parser: function (context) { + const programs = [] + + const items = parseItems(context.content) + + items.forEach(item => { + programs.push({ + title: item.title, + start: parseStart(item), + stop: parseStop(item), + description: item.description, + icon: parseIcon(item), + sub_title: item.subtitle + }) + }) + + return programs + } } function parseItems(content) { - if (content != '') { - const data = JSON.parse(content) - return (!data || !data.channel || !Array.isArray(data.channel.item)) ? [] : data.channel.item - } else { - return [] - } + if (content != '') { + const data = JSON.parse(content) + return !data || !data.channel || !Array.isArray(data.channel.item) ? [] : data.channel.item + } else { + return [] + } } function parseStart(item) { - return dayjs.unix(parseInt(item.pubDate) / 1000) + return dayjs.unix(parseInt(item.pubDate) / 1000) } function parseStop(item) { - return dayjs.unix(parseInt(item.endDate) / 1000) + return dayjs.unix(parseInt(item.endDate) / 1000) } function parseIcon(item) { - return 'https://www.nhk.or.jp' + item.thumbnail -} \ No newline at end of file + return 'https://www.nhk.or.jp' + item.thumbnail +} diff --git a/sites/nhk.or.jp/nhk.or.jp.test.js b/sites/nhk.or.jp/nhk.or.jp.test.js index 6defd9f8..66d35b0c 100644 --- a/sites/nhk.or.jp/nhk.or.jp.test.js +++ b/sites/nhk.or.jp/nhk.or.jp.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/nhk.or.jp/nhk.or.jp.config.js --channels=sites/nhk.or.jp/nhk.or.jp.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=nhk.or.jp // npx jest nhk.or.jp.test.js const { url, parser } = require('./nhk.or.jp.config.js') @@ -7,30 +7,39 @@ const utc = require('dayjs/plugin/utc') dayjs.extend(utc) const date = dayjs.utc('2023-04-29', 'YYYY-MM-DD').startOf('d') -const channel = { site_id: '0', xmltv_id: 'NHKWorldJapan.jp', lang: 'en', logo: 'https://www3.nhk.or.jp/nhkworld/common/site_images/nw_webapp_1024x1024.png' } +const channel = { + site_id: '0', + xmltv_id: 'NHKWorldJapan.jp', + lang: 'en', + logo: 'https://www3.nhk.or.jp/nhkworld/common/site_images/nw_webapp_1024x1024.png' +} it('can generate valid url', () => { - expect(url({ channel, date })).toBe('https://nwapi.nhk.jp/nhkworld/epg/v7b/world/s1682726400000-e1682812800000.json') + expect(url({ channel, date })).toBe( + 'https://nwapi.nhk.jp/nhkworld/epg/v7b/world/s1682726400000-e1682812800000.json' + ) }) it('can parse response', () => { - const content = `{"channel":{"item":[{"seriesId":"1007","airingId":"000","title":"NHK NEWSLINE","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.","link":"/nhkworld/en/news/","pubDate":"1682726400000","endDate":"1682727000000","vodReserved":false,"jstrm":"1","wstrm":"1","subtitle":"","content":"","content_clean":"","pgm_gr_id":"","thumbnail":"/nhkworld/upld/thumbnails/en/tv/regular_program/340aed63308aafd1178172abf6325231_large.jpg","thumbnail_s":"/nhkworld/upld/thumbnails/en/tv/regular_program/340aed63308aafd1178172abf6325231_small.jpg","showlist":"0","internal":"0","genre":{"TV":"11","Top":"","LC":""},"vod_id":"","vod_url":"","analytics":"[nhkworld]simul;NHK NEWSLINE;w02,001;1007-000-2023;2023-04-29T09:00:00+09:00"}]}}` - const results = parser({ content }) + const content = + '{"channel":{"item":[{"seriesId":"1007","airingId":"000","title":"NHK NEWSLINE","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.","link":"/nhkworld/en/news/","pubDate":"1682726400000","endDate":"1682727000000","vodReserved":false,"jstrm":"1","wstrm":"1","subtitle":"","content":"","content_clean":"","pgm_gr_id":"","thumbnail":"/nhkworld/upld/thumbnails/en/tv/regular_program/340aed63308aafd1178172abf6325231_large.jpg","thumbnail_s":"/nhkworld/upld/thumbnails/en/tv/regular_program/340aed63308aafd1178172abf6325231_small.jpg","showlist":"0","internal":"0","genre":{"TV":"11","Top":"","LC":""},"vod_id":"","vod_url":"","analytics":"[nhkworld]simul;NHK NEWSLINE;w02,001;1007-000-2023;2023-04-29T09:00:00+09:00"}]}}' + const results = parser({ content }) - expect(results).toMatchObject([ - { - title: 'NHK NEWSLINE', - start: dayjs(1682726400000), - 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', - sub_title: '' - } - ]) + expect(results).toMatchObject([ + { + title: 'NHK NEWSLINE', + start: dayjs(1682726400000), + 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', + sub_title: '' + } + ]) }) it('can handle empty guide', () => { - const results = parser({ content: '' }) + const results = parser({ content: '' }) - expect(results).toMatchObject([]) + expect(results).toMatchObject([]) }) diff --git a/sites/nhkworldpremium.com/nhkworldpremium.com.test.js b/sites/nhkworldpremium.com/nhkworldpremium.com.test.js index db012b05..9b097800 100644 --- a/sites/nhkworldpremium.com/nhkworldpremium.com.test.js +++ b/sites/nhkworldpremium.com/nhkworldpremium.com.test.js @@ -1,10 +1,9 @@ -// npx epg-grabber --config=sites/nhkworldpremium.com/nhkworldpremium.com.config.js --channels=sites/nhkworldpremium.com/nhkworldpremium.com_en.channels.xml --output=guide.xml -// npx epg-grabber --config=sites/nhkworldpremium.com/nhkworldpremium.com.config.js --channels=sites/nhkworldpremium.com/nhkworldpremium.com_ja.channels.xml --output=guide.xml +// npm run grab -- --site=nhkworldpremium.com +// npm run grab -- --site=nhkworldpremium.com -const { parser, url, request } = require('./nhkworldpremium.com.config.js') +const { parser, url } = require('./nhkworldpremium.com.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') diff --git a/sites/nhkworldpremium.com/nhkworldpremium.com_en.channels.xml b/sites/nhkworldpremium.com/nhkworldpremium.com_en.channels.xml index 49ea7c11..aee9444a 100644 --- a/sites/nhkworldpremium.com/nhkworldpremium.com_en.channels.xml +++ b/sites/nhkworldpremium.com/nhkworldpremium.com_en.channels.xml @@ -1,6 +1,4 @@ - - - NHK World Premium - - \ No newline at end of file + + NHK World Premium + \ No newline at end of file diff --git a/sites/nhkworldpremium.com/nhkworldpremium.com_ja.channels.xml b/sites/nhkworldpremium.com/nhkworldpremium.com_ja.channels.xml index d37c6402..3e7b1cc4 100644 --- a/sites/nhkworldpremium.com/nhkworldpremium.com_ja.channels.xml +++ b/sites/nhkworldpremium.com/nhkworldpremium.com_ja.channels.xml @@ -1,6 +1,4 @@ - - - NHK World Premium - - \ No newline at end of file + + NHK World Premium + \ No newline at end of file diff --git a/sites/nos.pt/nos.pt.channels.xml b/sites/nos.pt/nos.pt.channels.xml index 201fbffa..9317ffe4 100644 --- a/sites/nos.pt/nos.pt.channels.xml +++ b/sites/nos.pt/nos.pt.channels.xml @@ -1,209 +1,207 @@ - - - 1+1 - 24Kitchen HD - 3SAT - Afro Music Channel - AMC Crime - AMC - ARTV - AXN Movies - AXN - Baby TV - Biggs - Bloomberg - BVN - Canal 11 HD - Canal Hollywood - Canal NOS HD - Canal Panda - Canal Q - Cartoon Network HD - Casa e Cozinha HD - CCTV 4 - CGTN - CMTV - CNBC - CNN Portugal - Cubavisión Internacional - Discovery Channel - Disney Channel HD - Disney Junior - DOGTV - DW (Alemão) - DW - Eleven 1 - Eleven 2 - Eleven 3 - Eleven 4 - Eleven 5 - Eleven 6 - Euronews - Fight Network HD - Food Network HD - FOX Comedy - FOX Crime - FOX Life - FOX Movies - FOX - France 24 (I) - France 24 (F) - Fuel TV - TV Galicia - Globo Now HD - Globo - Canal História - Horse TV - HOT Man - HOT Taboo - HOT - ID Investigation Discovery - KBS World HD - KiKa - Kuriakos TV - Localvisão TV HD - M6 - MCM Pop - MCM Top - Mezzo - Mezzo Live HD - Motorvision HD - MTV 00s - MTV Live - MTV Portugal - MyZen TV - National Geographic - National Geographic WILD - Nautical Channel - NHK World TV - Nickelodeon - Nick Jr. - Nickelodeon Ukraine Pluto TV - NOS Studios - Odisseia - Panda KIDS - Phoenix CNE - Phoenix Infonews - Porto Canal - ProSieben - Record News - Russia Today - RTP 1 - RTP 2 - RTP 3 - RTP Madeira - RTP Memória - RTR Planeta - SAT 1 - Sextreme - SIC - SIC Caras - SIC K - SIC Mulher - SIC Notícias - SIC Radical - S+ HD - Sporting TV - SPORT TV1 - SPORT TV2 - SPORT TV3 - SPORT TV4 - SPORT TV5 - Sport TV 6 HD - SPORT TV+ - Stingray iConcerts HD - Super RTL - SYFY - TCV Internacional - TPA Internacional - Trace Toca - Trace Urban HD - Travel Channel - TV5 Monde - TVCine ACTION - TVCine EDITION - TVCine EMOTION - TVCine TOP - TVEi - TVI - TVI Ficção HD - TVI Reality - TVR Internacional - Venus - ZAP Viva HD - ZDF - ZDF Neo - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1+1 + 24Kitchen HD + 3SAT + Afro Music Channel + AMC Crime + AMC + ARTV + AXN Movies + AXN + Baby TV + Biggs + Bloomberg + BVN + Canal 11 HD + Canal Hollywood + Canal NOS HD + Canal Panda + Canal Q + Cartoon Network HD + Casa e Cozinha HD + CCTV 4 + CGTN + CMTV + CNBC + CNN Portugal + Cubavisión Internacional + Discovery Channel + Disney Channel HD + Disney Junior + DOGTV + DW (Alemão) + DW + Eleven 1 + Eleven 2 + Eleven 3 + Eleven 4 + Eleven 5 + Eleven 6 + Euronews + Fight Network HD + Food Network HD + FOX Comedy + FOX Crime + FOX Life + FOX Movies + FOX + France 24 (I) + France 24 (F) + Fuel TV + TV Galicia + Globo Now HD + Globo + Canal História + Horse TV + HOT Man + HOT Taboo + HOT + ID Investigation Discovery + KBS World HD + KiKa + Kuriakos TV + Localvisão TV HD + M6 + MCM Pop + MCM Top + Mezzo + Mezzo Live HD + Motorvision HD + MTV 00s + MTV Live + MTV Portugal + MyZen TV + National Geographic + National Geographic WILD + Nautical Channel + NHK World TV + Nickelodeon + Nickelodeon Ukraine Pluto TV + Nick Jr. + NOS Studios + Odisseia + Panda KIDS + Phoenix CNE + Phoenix Infonews + Porto Canal + ProSieben + Record News + Russia Today + RTP 1 + RTP 2 + RTP 3 + RTP Madeira + RTP Memória + RTR Planeta + SAT 1 + Sextreme + SIC + SIC Caras + SIC K + SIC Mulher + SIC Notícias + SIC Radical + S+ HD + Sporting TV + SPORT TV1 + SPORT TV2 + SPORT TV3 + SPORT TV4 + SPORT TV5 + Sport TV 6 HD + SPORT TV+ + Stingray iConcerts HD + Super RTL + SYFY + TCV Internacional + TPA Internacional + Trace Toca + Trace Urban HD + Travel Channel + TV5 Monde + TVCine ACTION + TVCine EDITION + TVCine EMOTION + TVCine TOP + TVEi + TVI + TVI Ficção HD + TVI Reality + TVR Internacional + Venus + ZAP Viva HD + ZDF + ZDF Neo + diff --git a/sites/nos.pt/nos.pt.config.js b/sites/nos.pt/nos.pt.config.js index a32dc382..86c2fc38 100644 --- a/sites/nos.pt/nos.pt.config.js +++ b/sites/nos.pt/nos.pt.config.js @@ -20,7 +20,6 @@ module.exports = { const items = parseItems(content, date) date = date.subtract(1, 'd') for (let item of items) { - const prev = programs[programs.length - 1] const $item = cheerio.load(item) const channelAcronym = parseChannelAcronym(content) @@ -38,9 +37,9 @@ module.exports = { return programs }, - async channels({ country }) { + async channels() { const html = await axios - .get(`https://www.nos.pt/particulares/televisao/guia-tv/Pages/default.aspx`) + .get('https://www.nos.pt/particulares/televisao/guia-tv/Pages/default.aspx') .then(r => r.data) .catch(console.log) @@ -63,7 +62,7 @@ async function loadProgramDetails(channelAcronym, programId) { if (!channelAcronym || !programId) return {} const data = await axios .post( - `https://www.nos.pt/_layouts/15/Armstrong/ApplicationPages/EPGGetProgramsAndDetails.aspx/GetProgramDetails`, + 'https://www.nos.pt/_layouts/15/Armstrong/ApplicationPages/EPGGetProgramsAndDetails.aspx/GetProgramDetails', { programId, channelAcronym, diff --git a/sites/nos.pt/nos.pt.test.js b/sites/nos.pt/nos.pt.test.js index 5e7083ee..7ff15af1 100644 --- a/sites/nos.pt/nos.pt.test.js +++ b/sites/nos.pt/nos.pt.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/nos.pt/nos.pt.config.js --output=./sites/nos.pt/nos.pt.channels.xml -// npx epg-grabber --config=sites/nos.pt/nos.pt.config.js --channels=sites/nos.pt/nos.pt.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=nos.pt const { parser, url } = require('./nos.pt.config.js') const fs = require('fs') @@ -74,7 +74,7 @@ it('can parse response', async () => { expect(results[0]).toMatchObject({ start: '2023-01-27T23:50:00.000Z', stop: '2023-01-28T00:36:00.000Z', - title: `Anatomia de Grey T.17 Ep.3`, + title: 'Anatomia de Grey T.17 Ep.3', description: 'Os médicos do Grey Sloan continuam a enfrentar a nova realidade do COVID-19 e lidam com um paciente conhecido e teimoso. Koracick fica encarregue dos internos e Link opera um terapeuta sexual.', icon: 'https://images.nos.pt/b6fd27f4bd0b404abd4c3fc4faa79024_resized_352x198.jpg' @@ -83,7 +83,7 @@ it('can parse response', async () => { expect(results[21]).toMatchObject({ start: '2023-01-28T21:38:00.000Z', stop: '2023-01-29T00:05:00.000Z', - title: `MasterChef Portugal T.1 Ep.10`, + title: 'MasterChef Portugal T.1 Ep.10', description: 'A maior competição de cozinha do mundo arranca ao comando de três dos mais conceituados chefs portugueses: Pedro Pena Bastos, Noélia Jerónimo e Ricardo Costa, que nos vão transmitir os seus conhecimentos e a sua paixão pela cozinha.', icon: 'https://images.nos.pt/8aa511d697f0401a88a0cb1ec2718cc3_resized_352x198.jpg' diff --git a/sites/novacyprus.com/novacyprus.com.channels.xml b/sites/novacyprus.com/novacyprus.com.channels.xml index 87d9322d..b06f7f31 100644 --- a/sites/novacyprus.com/novacyprus.com.channels.xml +++ b/sites/novacyprus.com/novacyprus.com.channels.xml @@ -1,34 +1,32 @@ - - - Animal Planet Africa - Boomerang Central & Eastern Europe - Disney Channel Middle East - EuroNews Ellinika - Eurosport 1 - Eurosport 2 - Fox Greece - Fox Life Greece - Vouli TV - Insight HD - Mad Greekz - Mad TV - MTV Live - MyZen TV - National Geographic Ellada - Nickelodeon Greece - Nova Cinema 1 - Nova Cinema 2 - Nova Cinema 3 - Nova Cinema 4 - Nova Life - Nova Sports 2 - Nova Sports 3 - Nova Sports 4 - Nova Sports 5 - Number 1 TV - One Channel - Smile TV - Viasat History HD - - \ No newline at end of file + + Animal Planet Africa + Boomerang Central & Eastern Europe + Disney Channel Middle East + EuroNews Ellinika + Eurosport 1 + Eurosport 2 + Fox Greece + Fox Life Greece + Vouli TV + Insight HD + Mad Greekz + Mad TV + MTV Live + MyZen TV + National Geographic Ellada + Nickelodeon Greece + Nova Cinema 1 + Nova Cinema 2 + Nova Cinema 3 + Nova Cinema 4 + Nova Life + Nova Sports 2 + Nova Sports 3 + Nova Sports 4 + Nova Sports 5 + Number 1 TV + One Channel + Smile TV + Viasat History HD + \ No newline at end of file diff --git a/sites/novacyprus.com/novacyprus.com.config.js b/sites/novacyprus.com/novacyprus.com.config.js index 60bf8ac4..5096014d 100644 --- a/sites/novacyprus.com/novacyprus.com.config.js +++ b/sites/novacyprus.com/novacyprus.com.config.js @@ -13,7 +13,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'novacyprus.com', days: 2, - url({ channel, date }) { + url({ date }) { return `https://www.novacyprus.com/api/v1/tvprogram/from/${date.format('YYYYMMDD')}/to/${date .add(1, 'd') .format('YYYYMMDD')}` @@ -35,9 +35,9 @@ module.exports = { return programs }, - async channels({ country, lang }) { + async channels() { const channels = await axios - .get(`https://www.novacyprus.com/api/v1/guide/dailychannels`) + .get('https://www.novacyprus.com/api/v1/guide/dailychannels') .then(r => r.data) .catch(console.log) diff --git a/sites/novacyprus.com/novacyprus.com.test.js b/sites/novacyprus.com/novacyprus.com.test.js index 51e79d05..282ce1e3 100644 --- a/sites/novacyprus.com/novacyprus.com.test.js +++ b/sites/novacyprus.com/novacyprus.com.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/novacyprus.com/novacyprus.com.config.js --output=./sites/novacyprus.com/novacyprus.com.channels.xml -// npx epg-grabber --config=sites/novacyprus.com/novacyprus.com.config.js --channels=sites/novacyprus.com/novacyprus.com.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/novacyprus.com/novacyprus.com.config.js --output=./sites/novacyprus.com/novacyprus.com.channels.xml +// npm run grab -- --site=novacyprus.com const { parser, url } = require('./novacyprus.com.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"nodes":[{"datetime":"2021-11-17 06:20:00","day":"Wednesday","numDay":17,"numMonth":11,"month":"November","channelName":"Cyprus Novacinema1HD","channelLog":"https:\/\/ssl2.novago.gr\/EPG\/jsp\/images\/universal\/film\/logo\/20200210\/000100\/XTV100000762\/d6a2f5e0-dbc0-49c7-9843-e3161ca5ae5d.png","cid":"42","ChannelId":"614","startingTime":"06:20","endTime":"08:10","title":"Δεσμοί Αίματος","description":"Θρίλερ Μυστηρίου","duration":"109","slotDuration":"110","bref":"COMMOBLOOX","mediaItems":[{"MediaListTypeId":"6","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/0\/305608_COMMOBLOOX_GUIDE_STILL.jpg"},{"MediaListTypeId":"7","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/0\/305608_COMMOBLOOX_POSTER_CROSS.jpg"},{"MediaListTypeId":"8","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/0\/305608_COMMOBLOOX_ICON_CYP.jpg"},{"MediaListTypeId":"9","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/0\/305608_COMMOBLOOX_POSTER_CYP.jpg"},{"MediaListTypeId":"10","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/0\/305608_COMMOBLOOX_BACKGROUND_CYP.jpg"}]},{"datetime":"2021-11-17 06:00:00","day":"Wednesday","numDay":17,"numMonth":11,"month":"November","channelName":"Cyprus Novacinema2HD","channelLog":"https:\/\/ssl2.novago.gr\/EPG\/jsp\/images\/universal\/film\/logo\/20200210\/000100\/XTV100000763\/24e05354-d6ad-4949-bcb3-a81d1c1d2cba.png","cid":"62","ChannelId":"653","startingTime":"06:00","endTime":"07:40","title":"Ανυπόφοροι Γείτονες","description":"Κωμωδία","duration":"93","slotDuration":"100","bref":"NEIGHBORSX","mediaItems":[{"MediaListTypeId":"7","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/1\/312582_NEIGHBORSX_POSTER_CROSS.jpg"},{"MediaListTypeId":"8","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/1\/312582_NEIGHBORSX_ICON_CYP.jpg"},{"MediaListTypeId":"9","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/1\/312582_NEIGHBORSX_POSTER_CYP.jpg"},{"MediaListTypeId":"10","CdnUrl":"http:\/\/cache-forthnet.secure.footprint.net\/linear\/3\/1\/312582_NEIGHBORSX_BACKGROUND_CYP.jpg"}]}]}` + const content = + '{"nodes":[{"datetime":"2021-11-17 06:20:00","day":"Wednesday","numDay":17,"numMonth":11,"month":"November","channelName":"Cyprus Novacinema1HD","channelLog":"https://ssl2.novago.gr/EPG/jsp/images/universal/film/logo/20200210/000100/XTV100000762/d6a2f5e0-dbc0-49c7-9843-e3161ca5ae5d.png","cid":"42","ChannelId":"614","startingTime":"06:20","endTime":"08:10","title":"Δεσμοί Αίματος","description":"Θρίλερ Μυστηρίου","duration":"109","slotDuration":"110","bref":"COMMOBLOOX","mediaItems":[{"MediaListTypeId":"6","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_GUIDE_STILL.jpg"},{"MediaListTypeId":"7","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_POSTER_CROSS.jpg"},{"MediaListTypeId":"8","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_ICON_CYP.jpg"},{"MediaListTypeId":"9","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_POSTER_CYP.jpg"},{"MediaListTypeId":"10","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/0/305608_COMMOBLOOX_BACKGROUND_CYP.jpg"}]},{"datetime":"2021-11-17 06:00:00","day":"Wednesday","numDay":17,"numMonth":11,"month":"November","channelName":"Cyprus Novacinema2HD","channelLog":"https://ssl2.novago.gr/EPG/jsp/images/universal/film/logo/20200210/000100/XTV100000763/24e05354-d6ad-4949-bcb3-a81d1c1d2cba.png","cid":"62","ChannelId":"653","startingTime":"06:00","endTime":"07:40","title":"Ανυπόφοροι Γείτονες","description":"Κωμωδία","duration":"93","slotDuration":"100","bref":"NEIGHBORSX","mediaItems":[{"MediaListTypeId":"7","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/1/312582_NEIGHBORSX_POSTER_CROSS.jpg"},{"MediaListTypeId":"8","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/1/312582_NEIGHBORSX_ICON_CYP.jpg"},{"MediaListTypeId":"9","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/1/312582_NEIGHBORSX_POSTER_CYP.jpg"},{"MediaListTypeId":"10","CdnUrl":"http://cache-forthnet.secure.footprint.net/linear/3/1/312582_NEIGHBORSX_BACKGROUND_CYP.jpg"}]}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -43,7 +44,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"nodes":[],"total":0,"pages":0}` + content: '{"nodes":[],"total":0,"pages":0}' }) expect(result).toMatchObject([]) }) diff --git a/sites/novasports.gr/novasports.gr.channels.xml b/sites/novasports.gr/novasports.gr.channels.xml index 10ff7321..f28227f8 100644 --- a/sites/novasports.gr/novasports.gr.channels.xml +++ b/sites/novasports.gr/novasports.gr.channels.xml @@ -1,21 +1,19 @@ - - - Eurosport 1 HD - Eurosport 2 HD - Novasports1HD - Novasports2HD - Novasports3HD - Novasports4HD - Novasports5HD - Novasports6HD - Novasports Εxtra1 - Novasports Extra2 - Novasports Extra3 - Novasports Extra4 - ΝovasportsNews - Novasports Premier League - Novasports Prime - ΝovasportsStart - - + + Eurosport 1 HD + Eurosport 2 HD + Novasports1HD + Novasports2HD + Novasports3HD + Novasports4HD + Novasports5HD + Novasports6HD + Novasports Εxtra1 + Novasports Extra2 + Novasports Extra3 + Novasports Extra4 + ΝovasportsNews + Novasports Premier League + Novasports Prime + ΝovasportsStart + diff --git a/sites/novasports.gr/novasports.gr.config.js b/sites/novasports.gr/novasports.gr.config.js index 9fba886a..0721f670 100644 --- a/sites/novasports.gr/novasports.gr.config.js +++ b/sites/novasports.gr/novasports.gr.config.js @@ -10,7 +10,7 @@ dayjs.extend(timezone) module.exports = { site: 'novasports.gr', days: 2, - url: function ({ date, channel }) { + url: function ({ date }) { return `https://www.novasports.gr/wp-admin/admin-ajax.php?action=nova_get_template&template=tv-program/broadcast&dt=${date.format( 'YYYY-MM-DD' )}` @@ -43,13 +43,13 @@ module.exports = { async channels() { const html = await axios .get( - `https://www.novasports.gr/wp-admin/admin-ajax.php?action=nova_get_template&template=tv-program/broadcast&dt=2022-10-29` + 'https://www.novasports.gr/wp-admin/admin-ajax.php?action=nova_get_template&template=tv-program/broadcast&dt=2022-10-29' ) .then(r => r.data) .catch(console.log) const $ = cheerio.load(html) const items = $( - `#mc-broadcast-content:nth-child(2) > div > #channelist-slider > div.channelist-wrapper.slider-wrapper.content > div > div` + '#mc-broadcast-content:nth-child(2) > div > #channelist-slider > div.channelist-wrapper.slider-wrapper.content > div > div' ).toArray() return items.map(item => { const name = $(item).find('.channel').text().trim() diff --git a/sites/novasports.gr/novasports.gr.test.js b/sites/novasports.gr/novasports.gr.test.js index 97d4078b..45f71cc8 100644 --- a/sites/novasports.gr/novasports.gr.test.js +++ b/sites/novasports.gr/novasports.gr.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/novasports.gr/novasports.gr.config.js --output=./sites/novasports.gr/novasports.gr.channels.xml -// npx epg-grabber --config=sites/novasports.gr/novasports.gr.config.js --channels=sites/novasports.gr/novasports.gr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=novasports.gr const { parser, url } = require('./novasports.gr.config.js') const fs = require('fs') diff --git a/sites/nowplayer.now.com/nowplayer.now.com.channels.xml b/sites/nowplayer.now.com/nowplayer.now.com.channels.xml index 78e48579..ec3d6ee8 100644 --- a/sites/nowplayer.now.com/nowplayer.now.com.channels.xml +++ b/sites/nowplayer.now.com/nowplayer.now.com.channels.xml @@ -1,248 +1,246 @@ - - - ABC Australia Asia - Aljazeera English - Animal Planet - Animax Asia - Asian Food Network - Astro Cricket - AXN East Asia - BBC Earth Asia - BBC Lifestyle Asia - BBC World News - BeIn Sports 1 Hong Kong - BeIn Sports 2 Hong Kong - BeIn Sports Max 1 - BeIn Sports Max 2 - BeIn Sports Max 3 - Bloomberg TV - Boomerang - Cartoon Network - CBeebies Asia - CCTV 1 - CCTV 4 Asia - Channel Adult - Cinemax - CNA - CNBC - CNN - Colors - CTI TV Asia - Da Vinci - Discovery Asia - Discovery Channel - Discovery Science - DMAX Southeast Asia - DreamWorks TV - DW Deutsch - DW English - EBC News Asia - ETTV Asia News - EuroNews English - Fight Sports - Food Network - France 24 English - France 24 Français - GMA Life TV - GMA News TV International - GMA Pinoy TV Asia-Pacific - HBO - HBO Family - HBO Hits - HBO Signature - HGTV - History - HKS TV - Ice Fire - KBS World - Lifetime - Movie Movie - MTV India - MUTV - National Geographic - National Geographic Wild - NHK World Japan - NHK World Premium - Nickelodeon - Nick Jr - Now 668 - Now Baogu Movies - Now Baogu Superstars - Now Business News Channel - Now Chinese Drama Channel - Now Data Channel - Now Direct - Now Golf 2 - Now Golf 3 - Now Jelli - Now News - Now Sports 1 - Now Sports 2 - Now Sports 3 - Now Sports 4 - Now Sports 4K - Now Sports 5 - Now Sports 6 - Now Sports 7 - Now Sports Plus - Now Sports Premier League 1 - Now Sports Premier League 2 - Now Sports Premier League 3 - Now Sports Premier League 4 - Now Sports Premier League 5 - Now Sports Premier League 6 - Now Sports Premier League TV - Now Sports Prime - Now Video Express - Outdoor Channel International - Phoenix Chinese Channel - Phoenix Hong Kong - Phoenix InfoNews Channel - Rock Entertainment - RT News - RugbyPass TV - Sansha TV - Shenzhen Satellite TV - Sky News UK - SET India - Sony SAB TV Asia - Star Bharat India - Star Chinese Movies South East Asia - Star Gold - Star Plus Southeast Asia - Macau Asia Satellite TV - TFC Asia-Pacific - Thrill - TLC Southeast Asia - Travel Channel Asia - TV5Monde Asie - TV5Monde Style HD - TVBS Asia - TVN Asia - TVS 2 Southern TV - ViuTV - ViuTVsix - Warner TV Southeast Asia - Yicai TV - Zee Cinema Asia - Zee News - Zee TV Asia Pacific - Zhejiang Satellite TV - ABC Australia Asia - Aljazeera English - Animal Planet - Animax Asia - Asian Food Network - Astro Cricket - AXN - BBC Earth - BBC Lifestyle - BeIn Sports 1 - BeIn Sports 2 - BeIn Sports Max 1 - BeIn Sports Max 2 - BeIn Sports Max 3 - Bloomberg TV Asia - Boomerang South East Asia - Cartoon Network Asia - CBeebies Asia - CCTV 1 - CCTV 4 Asia - Channel Adult - Cinemax Asia - CNA - CNBC Asia-Pacific - Colors Asia Pacific - CTI TV Asia - Da Vinci Asia - Discovery Asia - Discovery Channel - Discovery Science - DMAX Southeast Asia - DreamWorks TV Asia - EBC News Asia - ETTV Asia News - Fight Sports - Food Network Asia - France 24 Français - GMA Pinoy TV Asia-Pacific - HBO Asia - HBO Family Asia - HBO Hits - HBO Signature Asia - HGTV Asia - History Asia - HKS TV - Ice Fire - KBS World - Lifetime Asia - Movie Movie - MTV India - MUTV - National Geographic Asia - National Geographic Wild Asia - Nickelodeon South East Asia - Nick Jr Asia - Now 668 - Now Baogu Movies - Now Baogu Superstars - Now Business News Channel - Now Chinese Drama Channel - Now Data Channel - Now Direct - Now Golf 2 - Now Golf 3 - Now Jelli - Now News - Now Sports 1 - Now Sports 2 - Now Sports 3 - Now Sports 4 - Now Sports 4K - Now Sports 5 - Now Sports 6 - Now Sports 7 - Now Sports Plus - Now Sports Premier League 1 - Now Sports Premier League 2 - Now Sports Premier League 3 - Now Sports Premier League 4 - Now Sports Premier League 5 - Now Sports Premier League 6 - Now Sports Premier League TV - Now Sports Prime - Now Video Express - Outdoor Channel International - Phoenix Chinese Channel - Phoenix Hong Kong - Phoenix InfoNews Channel - Rock Entertainment - RugbyPass TV - Sansha TV - Shenzhen Satellite TV - SET India - Sony SAB TV Asia - Star Bharat India - Star Chinese Movies South East Asia - Star Gold - Star Plus Southeast Asia - Macau Asia Satellite TV - TFC Asia-Pacific - Thrill - TLC Southeast Asia - Travel Channel Asia - TV5Monde Asie - TV5Monde Style HD - TVBS Asia - TVN Asia - TVS 2 Southern TV - ViuTV - ViuTVsix - Warner TV Southeast Asia - Yicai TV - Zee Cinema Asia - Zee TV Asia Pacific - Zhejiang Satellite TV - - \ No newline at end of file + + DW Deutsch + ABC Australia Asia + Aljazeera English + Animal Planet + Animax Asia + Asian Food Network + Astro Cricket + AXN East Asia + BBC Earth Asia + BBC Lifestyle Asia + BBC World News + BeIn Sports 1 Hong Kong + BeIn Sports 2 Hong Kong + BeIn Sports Max 1 + BeIn Sports Max 2 + BeIn Sports Max 3 + Bloomberg TV + Boomerang + Cartoon Network + CBeebies Asia + CCTV 1 + CCTV 4 Asia + Channel Adult + Cinemax + CNA + CNBC + CNN + Colors + CTI TV Asia + Da Vinci + Discovery Asia + Discovery Channel + Discovery Science + DMAX Southeast Asia + DreamWorks TV + DW English + EBC News Asia + ETTV Asia News + EuroNews English + Fight Sports + Food Network + France 24 English + France 24 Français + GMA Life TV + GMA News TV International + GMA Pinoy TV Asia-Pacific + HBO + HBO Family + HBO Hits + HBO Signature + HGTV + History + HKS TV + Ice Fire + KBS World + Lifetime + Movie Movie + MTV India + MUTV + National Geographic + National Geographic Wild + NHK World Japan + NHK World Premium + Nickelodeon + Nick Jr + Now 668 + Now Baogu Movies + Now Baogu Superstars + Now Business News Channel + Now Chinese Drama Channel + Now Data Channel + Now Direct + Now Golf 2 + Now Golf 3 + Now Jelli + Now News + Now Sports 1 + Now Sports 2 + Now Sports 3 + Now Sports 4 + Now Sports 4K + Now Sports 5 + Now Sports 6 + Now Sports 7 + Now Sports Plus + Now Sports Premier League 1 + Now Sports Premier League 2 + Now Sports Premier League 3 + Now Sports Premier League 4 + Now Sports Premier League 5 + Now Sports Premier League 6 + Now Sports Premier League TV + Now Sports Prime + Now Video Express + Outdoor Channel International + Phoenix Chinese Channel + Phoenix Hong Kong + Phoenix InfoNews Channel + Rock Entertainment + RT News + RugbyPass TV + Sansha TV + Shenzhen Satellite TV + Sky News UK + SET India + Sony SAB TV Asia + Star Bharat India + Star Chinese Movies South East Asia + Star Gold + Star Plus Southeast Asia + Macau Asia Satellite TV + TFC Asia-Pacific + Thrill + TLC Southeast Asia + Travel Channel Asia + TV5Monde Asie + TV5Monde Style HD + TVBS Asia + TVN Asia + TVS 2 Southern TV + ViuTV + ViuTVsix + Warner TV Southeast Asia + Yicai TV + Zee Cinema Asia + Zee News + Zee TV Asia Pacific + Zhejiang Satellite TV + ABC Australia Asia + Aljazeera English + Animal Planet + Animax Asia + Asian Food Network + Astro Cricket + AXN + BBC Earth + BBC Lifestyle + BeIn Sports 1 + BeIn Sports 2 + BeIn Sports Max 1 + BeIn Sports Max 2 + BeIn Sports Max 3 + Bloomberg TV Asia + Boomerang South East Asia + Cartoon Network Asia + CBeebies Asia + CCTV 1 + CCTV 4 Asia + Channel Adult + Cinemax Asia + CNA + CNBC Asia-Pacific + Colors Asia Pacific + CTI TV Asia + Da Vinci Asia + Discovery Asia + Discovery Channel + Discovery Science + DMAX Southeast Asia + DreamWorks TV Asia + EBC News Asia + ETTV Asia News + Fight Sports + Food Network Asia + France 24 Français + GMA Pinoy TV Asia-Pacific + HBO Asia + HBO Family Asia + HBO Hits + HBO Signature Asia + HGTV Asia + History Asia + HKS TV + Ice Fire + KBS World + Lifetime Asia + Movie Movie + MTV India + MUTV + National Geographic Asia + National Geographic Wild Asia + Nickelodeon South East Asia + Nick Jr Asia + Now 668 + Now Baogu Movies + Now Baogu Superstars + Now Business News Channel + Now Chinese Drama Channel + Now Data Channel + Now Direct + Now Golf 2 + Now Golf 3 + Now Jelli + Now News + Now Sports 1 + Now Sports 2 + Now Sports 3 + Now Sports 4 + Now Sports 4K + Now Sports 5 + Now Sports 6 + Now Sports 7 + Now Sports Plus + Now Sports Premier League 1 + Now Sports Premier League 2 + Now Sports Premier League 3 + Now Sports Premier League 4 + Now Sports Premier League 5 + Now Sports Premier League 6 + Now Sports Premier League TV + Now Sports Prime + Now Video Express + Outdoor Channel International + Phoenix Chinese Channel + Phoenix Hong Kong + Phoenix InfoNews Channel + Rock Entertainment + RugbyPass TV + Sansha TV + Shenzhen Satellite TV + SET India + Sony SAB TV Asia + Star Bharat India + Star Chinese Movies South East Asia + Star Gold + Star Plus Southeast Asia + Macau Asia Satellite TV + TFC Asia-Pacific + Thrill + TLC Southeast Asia + Travel Channel Asia + TV5Monde Asie + TV5Monde Style HD + TVBS Asia + TVN Asia + TVS 2 Southern TV + ViuTV + ViuTVsix + Warner TV Southeast Asia + Yicai TV + Zee Cinema Asia + Zee TV Asia Pacific + Zhejiang Satellite TV + \ No newline at end of file diff --git a/sites/nowplayer.now.com/nowplayer.now.com.config.js b/sites/nowplayer.now.com/nowplayer.now.com.config.js index 0b63e9b2..9cf554ed 100644 --- a/sites/nowplayer.now.com/nowplayer.now.com.config.js +++ b/sites/nowplayer.now.com/nowplayer.now.com.config.js @@ -35,7 +35,7 @@ module.exports = { }, async channels({ lang }) { const html = await axios - .get(`https://nowplayer.now.com/channels`, { headers: { Accept: 'text/html' } }) + .get('https://nowplayer.now.com/channels', { headers: { Accept: 'text/html' } }) .then(r => r.data) .catch(console.log) diff --git a/sites/nowplayer.now.com/nowplayer.now.com.test.js b/sites/nowplayer.now.com/nowplayer.now.com.test.js index f9bea918..da866de9 100644 --- a/sites/nowplayer.now.com/nowplayer.now.com.test.js +++ b/sites/nowplayer.now.com/nowplayer.now.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/nowplayer.now.com/nowplayer.now.com.config.js --output=./sites/nowplayer.now.com/nowplayer.now.com.channels.xml --set=lang:zh -// npx epg-grabber --config=sites/nowplayer.now.com/nowplayer.now.com.config.js --channels=sites/nowplayer.now.com/nowplayer.now.com.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=nowplayer.now.com const { parser, url, request } = require('./nowplayer.now.com.config.js') const dayjs = require('dayjs') @@ -30,12 +30,13 @@ it('can generate valid url for tomorrow', () => { it('can generate valid request headers', () => { expect(request.headers({ channel })).toMatchObject({ - Cookie: `LANG=zh; Expires=null; Path=/; Domain=nowplayer.now.com` + Cookie: 'LANG=zh; Expires=null; Path=/; Domain=nowplayer.now.com' }) }) it('can parse response', () => { - const content = `[[{"key":"key_202111174524739","vimProgramId":"202111174524739","name":"ViuTVsix Station Closing","start":1637690400000,"end":1637715600000,"date":"20211124","startTime":"02:00AM","endTime":"09:00AM","duration":420,"recordable":false,"restartTv":false,"npvrProg":false,"npvrStartTime":0,"npvrEndTime":0,"cid":"viutvsix station closing","cc":"","isInWatchlist":false}]]` + const content = + '[[{"key":"key_202111174524739","vimProgramId":"202111174524739","name":"ViuTVsix Station Closing","start":1637690400000,"end":1637715600000,"date":"20211124","startTime":"02:00AM","endTime":"09:00AM","duration":420,"recordable":false,"restartTv":false,"npvrProg":false,"npvrStartTime":0,"npvrEndTime":0,"cid":"viutvsix station closing","cc":"","isInWatchlist":false}]]' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -53,7 +54,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[[]]` + content: '[[]]' }) expect(result).toMatchObject([]) }) diff --git a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.channels.xml b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.channels.xml index 64854368..8e7d492d 100644 --- a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.channels.xml +++ b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.channels.xml @@ -1,179 +1,177 @@ - - - A24 - BBC WORLD - BLOOMBERG - C5N - SAETA - 26 TV HD - CANAL 4 MONTECARLO - CANAL 5 - CARTOONITO - CIUDAD MAGAZINE - CNN EN ESPAÑOL - CRONICA TV - CANAL VASCO - EUROCHANNEL - EUROPA EUROPA - EWTN - FOX NEWS - GALICIA TV - GOLDEN PLUS - GOLDEN PREMIER HD - GOL TV - HBO FAMILY HD - HBO - HBO MUNDI HD - HBO SIGNATURE HD - HBO XTREME HD - HOLA TV - KANAL D DRAMA - LN+ - LAS ESTRELLAS HD - NS EVENTOS 1 - NS EVENTOS 2 - NS EVENTOS 3 - NUEVO SIGLO TV - PASIONES - PLAYBOY - SEXTREME - TELEDOCE - TELEFE INTER - TN - TOONCAST - TRU TV - TVN CHILE - TEVECIUDAD - VENUS - VTV - VTV PLUS - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A24 + BBC WORLD + BLOOMBERG + C5N + SAETA + 26 TV HD + CANAL 4 MONTECARLO + CANAL 5 + CARTOONITO + CIUDAD MAGAZINE + CNN EN ESPAÑOL + CRONICA TV + CANAL VASCO + EUROCHANNEL + EUROPA EUROPA + EWTN + FOX NEWS + GALICIA TV + GOLDEN PLUS + GOLDEN PREMIER HD + GOL TV + HBO FAMILY HD + HBO + HBO MUNDI HD + HBO SIGNATURE HD + HBO XTREME HD + HOLA TV + KANAL D DRAMA + LN+ + LAS ESTRELLAS HD + NS EVENTOS 1 + NS EVENTOS 2 + NS EVENTOS 3 + NUEVO SIGLO TV + PASIONES + PLAYBOY + SEXTREME + TELEDOCE + TELEFE INTER + TN + TOONCAST + TRU TV + TVN CHILE + TEVECIUDAD + VENUS + VTV + VTV PLUS + diff --git a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js index 7863522f..c337095d 100644 --- a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js +++ b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js @@ -30,8 +30,6 @@ module.exports = { const programId = parseProgramId($item) const details = await loadProgramDetails(programId) if (!details) continue - const start = parseStart(details) - const stop = parseStop(details) programs.push({ title: details.main_title, description: details.short_argument, diff --git a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js index 443ffd68..580326bb 100644 --- a/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js +++ b/sites/nuevosiglo.com.uy/nuevosiglo.com.uy.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js --output=./sites/nuevosiglo.com.uy/nuevosiglo.com.uy.channels.xml -// npx epg-grabber --config=sites/nuevosiglo.com.uy/nuevosiglo.com.uy.config.js --channels=sites/nuevosiglo.com.uy/nuevosiglo.com.uy.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=nuevosiglo.com.uy const { parser, url } = require('./nuevosiglo.com.uy.config.js') const fs = require('fs') @@ -51,7 +51,7 @@ it('can parse response', async () => { expect(results[0]).toMatchObject({ start: '2023-02-10T01:11:00.000Z', stop: '2023-02-10T03:46:00.000Z', - title: `Jurassic World: Dominion`, + 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', @@ -66,7 +66,7 @@ it('can parse response', async () => { expect(results[1]).toMatchObject({ start: '2023-02-11T02:06:00.000Z', stop: '2023-02-11T04:16:00.000Z', - title: `Black Adam`, + 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', @@ -93,7 +93,7 @@ it('can parse response', async () => { it('can handle empty guide', async () => { const results = await parser({ channel, - content: `` + content: '' }) expect(results).toMatchObject([]) diff --git a/sites/ontvtonight.com/ontvtonight.com.config.js b/sites/ontvtonight.com/ontvtonight.com.config.js index 3c8c06fb..673be064 100644 --- a/sites/ontvtonight.com/ontvtonight.com.config.js +++ b/sites/ontvtonight.com/ontvtonight.com.config.js @@ -20,7 +20,7 @@ module.exports = { days: 2, url: function ({ date, channel }) { const [region, id] = channel.site_id.split('#') - let url = `https://www.ontvtonight.com` + let url = 'https://www.ontvtonight.com' if (region) url += `/${region}` url += `/guide/listings/channel/${id}.html?dt=${date.format('YYYY-MM-DD')}` @@ -32,7 +32,7 @@ module.exports = { items.forEach(item => { const prev = programs[programs.length - 1] const $item = cheerio.load(item) - const start = parseStart($item, date, channel) + let start = parseStart($item, date, channel) if (prev) { if (start.isBefore(prev.start)) { start = start.add(1, 'd') @@ -54,7 +54,7 @@ module.exports = { } function parseStart($item, date, channel) { - const [region, id] = channel.site_id.split('#') + const [region] = channel.site_id.split('#') const timezone = region ? tz[region] : tz['uk'] const timeString = $item('td:nth-child(1) > h5').text().trim() const dateString = `${date.format('YYYY-MM-DD')} ${timeString}` diff --git a/sites/ontvtonight.com/ontvtonight.com.test.js b/sites/ontvtonight.com/ontvtonight.com.test.js index 54dbf8a9..70b85b91 100644 --- a/sites/ontvtonight.com/ontvtonight.com.test.js +++ b/sites/ontvtonight.com/ontvtonight.com.test.js @@ -1,5 +1,5 @@ -// npx epg-grabber --config=sites/ontvtonight.com/ontvtonight.com.config.js --channels=sites/ontvtonight.com/ontvtonight.com_au.channels.xml --output=guide.xml --days=2 -// npx epg-grabber --config=sites/ontvtonight.com/ontvtonight.com.config.js --channels=sites/ontvtonight.com/ontvtonight.com_us.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=ontvtonight.com +// npm run grab -- --site=ontvtonight.com const { parser, url } = require('./ontvtonight.com.config.js') const dayjs = require('dayjs') @@ -13,7 +13,8 @@ const channel = { site_id: 'au#1692/7two', xmltv_id: '7two.au' } -const content = `
    7TWO
    12:10 am
    What A Carry On
    12:50 am
    Bones
    The Devil In The Details
    10:50 pm
    Inspector Morse: The Remorseful Day
    ` +const content = + '
    7TWO
    12:10 am
    What A Carry On
    12:50 am
    Bones
    The Devil In The Details
    10:50 pm
    Inspector Morse: The Remorseful Day
    ' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -32,18 +33,18 @@ it('can parse response', () => { { start: '2021-11-24T13:10:00.000Z', stop: '2021-11-24T13:50:00.000Z', - title: `What A Carry On` + title: 'What A Carry On' }, { start: '2021-11-24T13:50:00.000Z', stop: '2021-11-25T11:50:00.000Z', - title: `Bones`, + title: 'Bones', description: 'The Devil In The Details' }, { start: '2021-11-25T11:50:00.000Z', stop: '2021-11-25T12:50:00.000Z', - title: `Inspector Morse: The Remorseful Day` + title: 'Inspector Morse: The Remorseful Day' } ]) }) @@ -52,7 +53,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/ontvtonight.com/ontvtonight.com_au.channels.xml b/sites/ontvtonight.com/ontvtonight.com_au.channels.xml index 2f69c243..60c6b551 100644 --- a/sites/ontvtonight.com/ontvtonight.com_au.channels.xml +++ b/sites/ontvtonight.com/ontvtonight.com_au.channels.xml @@ -1,55 +1,53 @@ - - - 10 Bold - 10 Peach - 10 Shake - 7 flix - 7 mate - 7 Two - 9 Gem - 9 Go! - 9 Life - 9 Rush - ABC Kids / ABC TV Plus - ABC ME - ABC News - ABC TV - A&E Australia - Ten - Seven - Nine - ESPN Australia - Fox 8 - Fox Arena - Fox Classics - Fox Comedy - Fox Crime - Fox Docos - Fox Funny - Fox News - Fox One - Fox SciFi - Fox Showcase - Fox Sleuth - Foxtel Movies Ultra HD - Foxtel Movies Action - Foxtel Movies Comedy - Foxtel Movies Drama - Foxtel Movies Family - Foxtel Movies Greats - Foxtel Movies Kids - Foxtel Movies Premiere - Foxtel Movies Romance - Foxtel Movies Thriller - NITV - PBS Kids - Racing.com - SBS Food - SBS One - SBS World Movies - SBS WorldWatch - Sky News Regional - SpreeTV - - + + 10 Bold + 10 Peach + 10 Shake + 7 flix + 7 mate + 7 Two + 9 Gem + 9 Go! + 9 Life + 9 Rush + ABC Kids / ABC TV Plus + ABC ME + ABC News + ABC TV + A&E Australia + Ten + Seven + Nine + ESPN Australia + Fox 8 + Fox Arena + Fox Classics + Fox Comedy + Fox Crime + Fox Docos + Fox Funny + Fox News + Fox One + Fox SciFi + Fox Showcase + Fox Sleuth + Foxtel Movies Action + Foxtel Movies Comedy + Foxtel Movies Drama + Foxtel Movies Family + Foxtel Movies Greats + Foxtel Movies Kids + Foxtel Movies Premiere + Foxtel Movies Romance + Foxtel Movies Thriller + Foxtel Movies Ultra HD + NITV + PBS Kids + Racing.com + SBS One + SBS Food + SBS World Movies + SBS WorldWatch + Sky News Regional + SpreeTV + diff --git a/sites/ontvtonight.com/ontvtonight.com_ie.channels.xml b/sites/ontvtonight.com/ontvtonight.com_ie.channels.xml index 050b17b1..10b695ea 100644 --- a/sites/ontvtonight.com/ontvtonight.com_ie.channels.xml +++ b/sites/ontvtonight.com/ontvtonight.com_ie.channels.xml @@ -1,8 +1,6 @@ - - - Oireachtas TV - RTÉ News - TG 4 - - \ No newline at end of file + + Oireachtas TV + RTÉ News + TG 4 + \ No newline at end of file diff --git a/sites/ontvtonight.com/ontvtonight.com_uk.channels.xml b/sites/ontvtonight.com/ontvtonight.com_uk.channels.xml index c325c20c..0126862f 100644 --- a/sites/ontvtonight.com/ontvtonight.com_uk.channels.xml +++ b/sites/ontvtonight.com/ontvtonight.com_uk.channels.xml @@ -1,103 +1,101 @@ - - - E4 Extra - 4Seven - 5 Action - 5 Select - 5 Star - 5 USA - 92 News - Ahlulbayt TV - Akaal Channel UK - Aljazeera English - BBC Four - BBC News - BBC One - BBC One London - BBC One Scotland - BBC Parliament - BBC Red Button 1 - BBC Two - Blaze UK - Box Hits - Brit Asia TV - CBBC - CBeebies UK - CBS Drama UK - CBS Justice UK - CBS Reality UK - Challenge UK - Challenge +1 UK - Channel 5 - Channel 5 +1 - CITV - Create and Craft - Cruise 1st TV - Dave ja vu - Dave UK - DMAX UK - Drama UK - Drama UK +1 - E4 UK - E4 UK +1 - Eman Channel - Film 4 UK - Film 4 UK +1 - Food Network UK - ViaplayXtra - Gems TV - Great! Movies - Great! Movies Action - Great! Movies Classic - Great! Movies Classic +1 - Great! TV - Great! TV +1 - HGTV UK - Horror Channel UK - - Ideal World - ITV 2 - ITV 2 +1 - ITV 3 - ITV 3 +1 - ITV 4 - ITV 4 +1 - ITV Be - ITV London - Jewellery Maker - Kanshi TV - KTO - London Live - More 4 UK - Now 80's - PBS America - Pick UK - Pop - Quest Red UK - Quest Red UK +1 - Quest UK - Quest UK +1 - QVC Beauty - QVC Style UK - QVC UK - Racing TV - Really UK - RT News - RT UK - Sangat TV - SBN International - Sky Arts UK - Sky Max UK - Smithsonian Channel UK - Spotlight TV - Talking Pictures TV - TBN UK - The Box UK - Tiny Pop - TJC - Together TV - Yesterday - Yesterday +1 - - + + + 4Seven + 5 Action + 5 Select + 5 Star + 5 USA + 92 News + Ahlulbayt TV + Akaal Channel UK + Aljazeera English + BBC Four + BBC News + BBC One + BBC One London + BBC One Scotland + BBC Parliament + BBC Red Button 1 + BBC Two + Blaze UK + Box Hits + Brit Asia TV + CBBC + CBeebies UK + CBS Drama UK + CBS Justice UK + CBS Reality UK + Challenge UK + Challenge +1 UK + Channel 5 + Channel 5 +1 + CITV + Create and Craft + Cruise 1st TV + Dave UK + Dave ja vu + DMAX UK + Drama UK + Drama UK +1 + E4 UK + E4 Extra + E4 UK +1 + Eman Channel + Film 4 UK + Film 4 UK +1 + Food Network UK + Gems TV + Great! Movies + Great! Movies Action + Great! Movies Classic + Great! Movies Classic +1 + Great! TV + Great! TV +1 + HGTV UK + Ideal World + ITV London + ITV 2 + ITV 2 +1 + ITV 3 + ITV 3 +1 + ITV 4 + ITV 4 +1 + ITV Be + Jewellery Maker + Kanshi TV + KTO + Horror Channel UK + London Live + More 4 UK + Now 80's + PBS America + Pick UK + Pop + Quest Red UK + Quest Red UK +1 + Quest UK + Quest UK +1 + QVC Beauty + QVC Style UK + QVC UK + Racing TV + Really UK + RT News + RT UK + Sangat TV + SBN International + Sky Arts UK + Sky Max UK + Smithsonian Channel UK + Spotlight TV + Talking Pictures TV + TBN UK + The Box UK + Tiny Pop + TJC + Together TV + ViaplayXtra + Yesterday + Yesterday +1 + diff --git a/sites/ontvtonight.com/ontvtonight.com_us.channels.xml b/sites/ontvtonight.com/ontvtonight.com_us.channels.xml index aee570e4..f8e656e9 100644 --- a/sites/ontvtonight.com/ontvtonight.com_us.channels.xml +++ b/sites/ontvtonight.com/ontvtonight.com_us.channels.xml @@ -1,41 +1,39 @@ - - - ABC East - ACC Network - ActionMAX (East) - AMC (East) - Animal Planet (East) - BBC America (East) - beIN Sports (English) - BET Her West - BET Jams - BET Soul - Big Ten Network (National) - Cheddar News - De Película Clásico - De Película - De Película EUA (USA) - Investigation Discovery West - K16IW CMC-USA - K16IW CMC-TV - Sports News Highlights (KDNU-LD5) Las Vegas, NV - MeTV (KITV-DT2) Honolulu, HI - Hawaii TV (KITV-DT3) Honolulu, HI - MeTV (KREG-TV) Glenwood Springs, CO - KYAZ MeTV+ - MSG WNY - News12 Bronx - News12 Brooklyn - News12 New Jersey - News 12 Hudson Valley - News12 Westchester - Lifetime Movies West - Lifetime West - TBS Superstation (East) - truTV HDTV (West) - CBS (WCBS) - XEWT 12 BC - XHBC Tu Canal HDTV - - + + ABC East + ACC Network + ActionMAX (East) + AMC (East) + Animal Planet (East) + BBC America (East) + beIN Sports (English) + BET Her West + BET Jams + BET Soul + Big Ten Network (National) + Cheddar News + Investigation Discovery West + K16IW CMC-USA + K16IW CMC-TV + Sports News Highlights (KDNU-LD5) Las Vegas, NV + MeTV (KITV-DT2) Honolulu, HI + Hawaii TV (KITV-DT3) Honolulu, HI + MeTV (KREG-TV) Glenwood Springs, CO + KYAZ MeTV+ + Lifetime Movies West + Lifetime West + MSG WNY + News12 Bronx + News12 Brooklyn + News 12 Hudson Valley + News12 New Jersey + News12 Westchester + TBS Superstation (East) + truTV HDTV (West) + CBS (WCBS) + De Película Clásico + De Película + De Película EUA (USA) + XEWT 12 BC + XHBC Tu Canal HDTV + diff --git a/sites/osn.com/osn.com.channels.xml b/sites/osn.com/osn.com.channels.xml deleted file mode 100644 index c46b56a8..00000000 --- a/sites/osn.com/osn.com.channels.xml +++ /dev/null @@ -1,213 +0,0 @@ - - - - - - - - - - Kapatid TV5 - Al Aan TV - Al Dafrah TV - Alfa Series +2 - Alfa Series Channel - AL Hurra HD - AlMamlaka TV - Al Safwa - Al Wosta from Al Dhaid - Al Yawm - ANC - Arirang TV - ART Aflam 1 - ART Aflam 2 - ART Cinema - Hekayat - Hekayat 2 - B4U Aflam - B4U Plus - BabyTV Europe - Bahrain TV - BBC Arabic - BBC World - Bloomberg - CGTN - CGTN Arabic - Cinema 1 - Cinema 2 - Cinema One Global - Cine Mo - CNBC Arabia - CNBC - Crime + Investigation Network - Discovery HD - Discovery Science HD - Disney HD - Disney Junior - Dubai Racing 1 HD - Dubai Racing 3 - E! Entertainment HD - Fann - France 24 - France 24 English - GMA Life TV - GMA News TV - GMA Pinoy TV - H2 HD - History HD - Discovery ID - KTV1 HD - KTV2 HD - KTV Majlis HD - Al Qurain HD - KTV Arabe HD - KTV Ethraa HD - KTV Sport HD - KTV Sport Plus HD - Madani TV - Marina TV - Moonbug Kids - MTV 00s - MTV Live HD - Music Now - Myx - Nat Geo HD - Nat Geo Wild HD - NHK World TV - Nickelodeon HD - Nick Jr - NickToons HD - OSN Comedy - OSN Family - OSN Kids - OSN Kidzone - OSN Living - OSN Mezze - OSN Movies Action - OSN Movies Hollywood - OSN Movies Premiere - OSN Movies Premiere +2 - OSN News - OSN Popup - OSN Series Prime - OSN Showcase - OSN W - OSN Yahala - OSN Yahala Aflam - OSN Yahala Bil Arabi - PBA Rush - Al Roya TV - Rusiya Al Yawm - Sharjah Sport HD - Sharjah TV - Sharqiya from Kalba - Sky News Arabia - Sky News HD - Star Movies HD - Star World HD - DZMM Teleradyo - TFC - TLC HD - Kapatid TV5 - Al Aan TV - Al Dafrah TV - Alfa Series +2 - Alfa Series Channel - AL Hurra HD - AlMamlaka TV - Al Safwa - Al Wosta from Al Dhaid - Al Yawm - ANC - Arirang TV - ART Aflam 1 - ART Aflam 2 - ART Cinema - Hekayat - Hekayat 2 - B4U Aflam - B4U Plus - BabyTV Europe - Bahrain TV - BBC Arabic - BBC World - Bloomberg - CGTN - CGTN Arabic - Cinema 1 - Cinema 2 - Cinema One Global - Cine Mo - CNBC Arabia - CNBC - Crime + Investigation Network - Discovery HD - Discovery Science HD - Disney HD - Disney Junior - Dubai Racing 1 HD - Dubai Racing 3 - E! Entertainment HD - Fann - France 24 - France 24 English - GMA Life TV - GMA News TV - GMA Pinoy TV - H2 HD - History HD - Discovery ID - KTV1 HD - KTV2 HD - KTV Majlis HD - Al Qurain HD - KTV Arabe HD - KTV Ethraa HD - KTV Sport HD - KTV Sport Plus HD - Madani TV - Marina TV - Moonbug Kids - MTV 00s - MTV Live HD - Music Now - Myx - Nat Geo HD - Nat Geo Wild HD - NHK World TV - Nickelodeon HD - Nick Jr - NickToons HD - OSN Comedy - OSN Family - OSN Kids - OSN Kidzone - OSN Living - OSN Mezze - OSN Movies Action - OSN Movies Hollywood - OSN Movies Premiere - OSN Movies Premiere +2 - OSN News - OSN Popup - OSN Series Prime - OSN Showcase - OSN W - OSN Yahala - OSN Yahala Aflam - OSN Yahala Bil Arabi - PBA Rush - Al Roya TV - Rusiya Al Yawm - Sharjah Sport HD - Sharjah TV - Sharqiya from Kalba - Sky News Arabia - Sky News HD - Star Movies HD - Star World HD - DZMM Teleradyo - TFC - TLC HD - - \ No newline at end of file diff --git a/sites/osn.com/osn.com.config.js b/sites/osn.com/osn.com.config.js index cceabbfc..955b0756 100644 --- a/sites/osn.com/osn.com.config.js +++ b/sites/osn.com/osn.com.config.js @@ -6,10 +6,9 @@ dayjs.extend(utc) dayjs.extend(timezone) module.exports = { - skip: true, // NOTE: return an HTTP error 302 on requests from GitHub server (https://github.com/iptv-org/epg/issues/1654#issuecomment-1382915005) site: 'osn.com', days: 2, - url: `https://www.osn.com/CMSPages/TVScheduleWebService.asmx/GetTVChannelsProgramTimeTable`, + url: 'https://www.osn.com/CMSPages/TVScheduleWebService.asmx/GetTVChannelsProgramTimeTable', request: { method: 'POST', headers: { @@ -58,7 +57,7 @@ function parseDuration(item) { return parseInt(item.TotalDivWidth / 4.8) } -function parseStart(item, channel) { +function parseStart(item) { const time = item.StartDateTime return dayjs.tz(time, 'DD MMM YYYY, HH:mm', 'Asia/Dubai') diff --git a/sites/osn.com/osn.com_ar.channels.xml b/sites/osn.com/osn.com_ar.channels.xml new file mode 100644 index 00000000..4c123011 --- /dev/null +++ b/sites/osn.com/osn.com_ar.channels.xml @@ -0,0 +1,104 @@ + + + Kapatid TV5 + Al Aan TV + Al Dafrah TV + Alfa Series +2 + Alfa Series Channel + AL Hurra HD + AlMamlaka TV + Al Safwa + Al Wosta from Al Dhaid + Al Yawm + ANC + Arirang TV + ART Aflam 1 + ART Aflam 2 + ART Cinema + Hekayat + Hekayat 2 + B4U Aflam + B4U Plus + BabyTV Europe + Bahrain TV + BBC Arabic + BBC World + Bloomberg + CGTN + CGTN Arabic + Cinema 1 + Cinema 2 + Cinema One Global + Cine Mo + CNBC Arabia + CNBC + Crime + Investigation Network + Discovery HD + Discovery Science HD + Disney HD + Disney Junior + Dubai Racing 1 HD + Dubai Racing 3 + E! Entertainment HD + Fann + France 24 + France 24 English + GMA Life TV + GMA News TV + GMA Pinoy TV + H2 HD + History HD + Discovery ID + KTV1 HD + KTV2 HD + KTV Majlis HD + Al Qurain HD + KTV Arabe HD + KTV Ethraa HD + KTV Sport HD + KTV Sport Plus HD + Madani TV + Marina TV + Moonbug Kids + MTV 00s + MTV Live HD + Music Now + Myx + Nat Geo HD + Nat Geo Wild HD + NHK World TV + Nickelodeon HD + Nick Jr + NickToons HD + OSN Comedy + OSN Family + OSN Kids + OSN Kidzone + OSN Living + OSN Mezze + OSN Movies Action + OSN Movies Hollywood + OSN Movies Premiere + OSN Movies Premiere +2 + OSN News + OSN Popup + OSN Series Prime + OSN Showcase + OSN W + OSN Yahala + OSN Yahala Aflam + OSN Yahala Bil Arabi + PBA Rush + Al Roya TV + Rusiya Al Yawm + Sharjah Sport HD + Sharjah TV + Sharqiya from Kalba + Sky News Arabia + Sky News HD + Star Movies HD + Star World HD + DZMM Teleradyo + TFC + TLC HD + \ No newline at end of file diff --git a/sites/osn.com/osn.com_en.channels.xml b/sites/osn.com/osn.com_en.channels.xml new file mode 100644 index 00000000..d69387d3 --- /dev/null +++ b/sites/osn.com/osn.com_en.channels.xml @@ -0,0 +1,104 @@ + + + Kapatid TV5 + Al Aan TV + Al Dafrah TV + Alfa Series +2 + Alfa Series Channel + AL Hurra HD + AlMamlaka TV + Al Safwa + Al Wosta from Al Dhaid + Al Yawm + ANC + Arirang TV + ART Aflam 1 + ART Aflam 2 + ART Cinema + Hekayat + Hekayat 2 + B4U Aflam + B4U Plus + BabyTV Europe + Bahrain TV + BBC Arabic + BBC World + Bloomberg + CGTN + CGTN Arabic + Cinema 1 + Cinema 2 + Cinema One Global + Cine Mo + CNBC Arabia + CNBC + Crime + Investigation Network + Discovery HD + Discovery Science HD + Disney HD + Disney Junior + Dubai Racing 1 HD + Dubai Racing 3 + E! Entertainment HD + Fann + France 24 + France 24 English + GMA Life TV + GMA News TV + GMA Pinoy TV + H2 HD + History HD + Discovery ID + KTV1 HD + KTV2 HD + KTV Majlis HD + Al Qurain HD + KTV Arabe HD + KTV Ethraa HD + KTV Sport HD + KTV Sport Plus HD + Madani TV + Marina TV + Moonbug Kids + MTV 00s + MTV Live HD + Music Now + Myx + Nat Geo HD + Nat Geo Wild HD + NHK World TV + Nickelodeon HD + Nick Jr + NickToons HD + OSN Comedy + OSN Family + OSN Kids + OSN Kidzone + OSN Living + OSN Mezze + OSN Movies Action + OSN Movies Hollywood + OSN Movies Premiere + OSN Movies Premiere +2 + OSN News + OSN Popup + OSN Series Prime + OSN Showcase + OSN W + OSN Yahala + OSN Yahala Aflam + OSN Yahala Bil Arabi + PBA Rush + Al Roya TV + Rusiya Al Yawm + Sharjah Sport HD + Sharjah TV + Sharqiya from Kalba + Sky News Arabia + Sky News HD + Star Movies HD + Star World HD + DZMM Teleradyo + TFC + TLC HD + \ No newline at end of file diff --git a/sites/pbsguam.org/pbsguam.org.channels.xml b/sites/pbsguam.org/pbsguam.org.channels.xml index 39d07196..52a795ba 100644 --- a/sites/pbsguam.org/pbsguam.org.channels.xml +++ b/sites/pbsguam.org/pbsguam.org.channels.xml @@ -1,6 +1,4 @@ - - - PBS Guam (KGTF) Hagåtña, Guam - - \ No newline at end of file + + PBS Guam (KGTF) Hagåtña, Guam + \ No newline at end of file diff --git a/sites/pbsguam.org/pbsguam.org.config.js b/sites/pbsguam.org/pbsguam.org.config.js index e4392f0d..5f0ce258 100644 --- a/sites/pbsguam.org/pbsguam.org.config.js +++ b/sites/pbsguam.org/pbsguam.org.config.js @@ -23,9 +23,14 @@ module.exports = { } function parseItems(content, date) { - const [_, json] = content.match(/EventsSchedule_1 = (.*);/i) || [null, null] - if (!json) return [] - const data = JSON.parse(json) + const [, json] = content.match(/EventsSchedule_1 = (.*);/i) || [null, ''] + let data + try { + data = JSON.parse(json) + } catch (error) { + return [] + } + if (!data || !Array.isArray(data.feed)) return [] return data.feed.filter( diff --git a/sites/pbsguam.org/pbsguam.org.test.js b/sites/pbsguam.org/pbsguam.org.test.js index b491246e..732b4f06 100644 --- a/sites/pbsguam.org/pbsguam.org.test.js +++ b/sites/pbsguam.org/pbsguam.org.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/pbsguam.org/pbsguam.org.config.js --channels=sites/pbsguam.org/pbsguam.org.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=pbsguam.org const { parser, url } = require('./pbsguam.org.config.js') const dayjs = require('dayjs') @@ -20,7 +20,7 @@ it('can generate valid url', () => { it('can parse response', () => { const content = ` ` const result = parser({ date, content }).map(p => { @@ -42,7 +42,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: ` ` + content: ' ' }) expect(result).toMatchObject([]) }) diff --git a/sites/plex.tv/plex.tv.channels.xml b/sites/plex.tv/plex.tv.channels.xml index 98add2a0..6d19c7ca 100644 --- a/sites/plex.tv/plex.tv.channels.xml +++ b/sites/plex.tv/plex.tv.channels.xml @@ -1,345 +1,343 @@ - - - - 24 Hour Free Movies - ACCDN - AccuWeather NOW - ACL Cornhole TV - ACTION!!! - Action News Jax - AfroLandTV - AFV Family - ALF - ALLBLK Gems - All Reality WE tv - All Weddings WE tv - ALTRD.TV - AMC Thrillers - Anger Management - Antiques Roadshow UK - Antiques Road Trip - Are We There Yet? - ARTFLIX - Movie Classics - ARTS TWG+ - AsianCrush - At Home with Family Handyman - AXS TV NOW - BABY SHARK TV - BACKSTAGE - BBC Food - BBC Home & Garden - Beautiful Planet - beIN SPORTS XTRA - Best TV Ever - Billiard TV - BITE - Bjgtjme - Free Movies - BlackPix - Bloomberg Quicktake - Bloomberg TV - Boonie Cubs TV - Boston 25 News - CampusLore Sports - Caught in Providence - Cheddar News - Chicken Soup for the Soul - ChiveTV - Choppertown - CineLife - Cinema Libre Channel - CINEPRIDE - Cine Sureño - Cineverse Selects - Classic Doctor Who - Classic Rock Network - ClixTV - Comedy Dynamics - COMMUNE - CONtv - CONtv Anime - Cooking Panda - Cowboy Way - Crackle - Crime 360 - Dark Matter TV - Discover Film - Doctors - Documentary+ - Docurama - Don't Tell The Bride - Dove - Dungeon TV - Edge Sport - Electric Now - EL REY - Entrepreneur TV - ESTV - Euronews - Euronews Français - Euronews Deutsch - Euronews Italiano - FailArmy - FamilyTime - Farscape - Fight Network - Filmstream - Fite 24/7 - Flash - FLOU Cine - FOX13 Memphis - FOX23 Tulsa - Freebie TV - Freebie TV - Los Pitufos - FrightFlix - FTF Sports - Fubo Sports Network - FUEL TV - GAGO TV - Galxy TV - Game Show Central - GFN TV - Glewed TV - GoTraveler - GoUSA TV - Go Wild - Gravitas Adrenaline - Gravitas Documentaries - Gravitas Movies - Grjngo - Western Movies - GUSTOTV - Hallmark Movies & More - Hannibal - HappiTV - Hard Knocks - HBCU-GO Sports - History Hit - Hi-YAH! - Home.Made.Nation - Humor Mill - i24NEWS Updates - IFC Films Picks - IGN1 - IMPACT Wrestling - Impossible - Quiz Show - INFAST - Johnny Carson TV - Journy - JOURNY Presents: America the Beautiful - Judge Faith - Julia Child - LOL! Network - Kidoodle TV - KidsFlix - Kids Pang TV - Kin - Kino Cult - KIRO 7 Seattle - KMTV - La Bocina Latina - La Corriente - Law & Crime - Local Now Bergen County - Local Now Long Island - Local Now Manhattan - Local Now Newburgh - Local Now New York City - Local Now White Plains - LOL! Stand Up - Lone Star Network - Love Destination - Love Nature - Made In Hollywood - MagellanTV NOW - Maverick Black Cinema - MAVTV Select - MBC - MegaNoticias - MHz Now - Midnight Pulp - MMA TV - MOB TV - Moconomy - Economy & Finance Infotainment - More U - Motorvision TV - MOVIESPHERE - MST3K - Mystery Alley - NBC News NOW - NEW K.MOVIES - NEW K-POP - News 12 New York - Newsmax TV - Newsy - NHRA TV - Ninja Kidz TV - Nosey - OnDemandChina - Outdoor America - Outside - Overtime - Party Poker TV - Pattrn - PBS Antiques Roadshow - PBS Nature - People are Awesome - PeopleTV - PlayWorks - pocket.watch - Poker Night TV - Popcornflix - Popstar! TV - POPSUGAR Fitness - Portlandia - Pro Wrestling TV - PW Kids - Qello Concerts by Stingray - QwestTV Classical - QwestTV Jazz & Beyond - QwestTV Mix - Racing America - Rakuten Viki - RCN Más - Real Life - Real Nosey - Real Stories - Real Wild - RetroCrush - Reuters TV - Revry - RevryNews - Runtime - Ryan and Friends - Samuel Goldwyn Channel - Samuel Goldwyn Classics - Samuel Goldwyn International - Scream Factory TV - Shemaroo Bollywood - Shorts - Shout! Cult - Shout! Factory TV Stream - Skills + Thrills - SKWAD - Slightly Off IFC - SLOPES - Sonic TV - Sony KAL - So...Real - So Yummy - Space Channel - Space Science Now - Spark TV Light & Love - SPEEDVISION - SportsGrid - Stadium - Stingray Classica Stream - Classic Rock - Stingray CMusic - Stingray DJAZZ - Easy Listening - Euro Hits - Everything ‘80s - Éxitos del Momento - Flashback 70s - Greatest Holiday Hits - Hip-Hop/R&B - Hit List - Hot Country - Stingray Karaoke - Stingray Naturescape - Nothin' But 90s - Pop Adult - Alternative - Smooth Jazz - Soul Storm - The Spa - Today's K-Pop - Y2K - Stories by AMC - Surf Now TV - Swerve Sports - Tastemade - TED - TG Junior - The Archive - The Boat Show - The Bob Ross Channel - The Carol Burnett Show - The Design Network - The Elvis Presley Channel - The Film Detective - The Grid - The Hill TV - The Pet Collective - The Preview Channel - The Walking Dead Universe - Weather Channel Español - This Old House - Times Now Navbharat - TODAY All Day - TokuSHOUTsu - Toon Goggles - Top Gear - Trailer Park Boys: The SwearNet Show - Trailers From Hell - Tribeca Channel - True Crime Now - True History - TV Asia Comedy Powered by Shemaroo - Unbeaten - Unexplained - Unidentified - USA TODAY - USA TODAY SPORTS - Us Weekly TV - Vice News - VICE - Vivaldi - Wanted: Dead or Alive - War & Military Now - Watch it Kid - Watch it SCREAM - Waypoint TV - WeatherSpy - WFTV 9 Orlando - WHIO Dayton - Whistle TV - WildEarth - Wired2Fish - Women's Sports Network - Wonder - WPXI Now Pittsburgh - WSB Now Atlanta - WSOC Channel 9 - Wu Tang Collection - XFC TV - Yahoo Finance - YG TV - AFV Español - AMC en Español - Canela TV - Chiquilines - Cine Real - El Conflicto TV - Estrella News - Estrella TV - Euronews Español - Horrorfy - Juntos TV - LevelUp - Love Nature en Español - MMC - Nosey Casos - Nosey Escándalos - Party Tyme Karaoke - Runtime Español - Saber Mas - Sony Canal Competencias - Sony Canal Novelas - The Bob Ross Channel en Español - Top Cine - Tu Cine - Cortos - Euronews Portuguese - - + + + 24 Hour Free Movies + ACCDN + AccuWeather NOW + ACL Cornhole TV + ACTION!!! + Action News Jax + AfroLandTV + AFV Family + ALF + ALLBLK Gems + All Reality WE tv + All Weddings WE tv + ALTRD.TV + AMC Thrillers + Anger Management + Antiques Roadshow UK + Antiques Road Trip + Are We There Yet? + ARTFLIX - Movie Classics + ARTS TWG+ + AsianCrush + At Home with Family Handyman + AXS TV NOW + BABY SHARK TV + BACKSTAGE + BBC Food + BBC Home & Garden + Beautiful Planet + beIN SPORTS XTRA + Best TV Ever + Billiard TV + BITE + Bjgtjme - Free Movies + BlackPix + Bloomberg Quicktake + Bloomberg TV + Boonie Cubs TV + Boston 25 News + CampusLore Sports + Caught in Providence + Cheddar News + Chicken Soup for the Soul + ChiveTV + Choppertown + CineLife + Cinema Libre Channel + CINEPRIDE + Cine Sureño + Cineverse Selects + Classic Doctor Who + Classic Rock Network + ClixTV + Comedy Dynamics + COMMUNE + CONtv + CONtv Anime + Cooking Panda + Cowboy Way + Crackle + Crime 360 + Dark Matter TV + Discover Film + Doctors + Documentary+ + Docurama + Don't Tell The Bride + Dove + Dungeon TV + Edge Sport + Electric Now + EL REY + Entrepreneur TV + ESTV + Euronews + Euronews Français + Euronews Deutsch + Euronews Italiano + FailArmy + FamilyTime + Farscape + Fight Network + Filmstream + Fite 24/7 + Flash + FLOU Cine + FOX13 Memphis + FOX23 Tulsa + Freebie TV + Freebie TV - Los Pitufos + FrightFlix + FTF Sports + Fubo Sports Network + FUEL TV + GAGO TV + Galxy TV + Game Show Central + GFN TV + Glewed TV + GoTraveler + GoUSA TV + Go Wild + Gravitas Adrenaline + Gravitas Documentaries + Gravitas Movies + Grjngo - Western Movies + GUSTOTV + Hallmark Movies & More + Hannibal + HappiTV + Hard Knocks + HBCU-GO Sports + History Hit + Hi-YAH! + Home.Made.Nation + Humor Mill + i24NEWS Updates + IFC Films Picks + IGN1 + IMPACT Wrestling + Impossible - Quiz Show + INFAST + Johnny Carson TV + Journy + JOURNY Presents: America the Beautiful + Judge Faith + Julia Child + LOL! Network + Kidoodle TV + KidsFlix + Kids Pang TV + Kin + Kino Cult + KIRO 7 Seattle + KMTV + La Bocina Latina + La Corriente + Law & Crime + Local Now Bergen County + Local Now Long Island + Local Now Manhattan + Local Now Newburgh + Local Now New York City + Local Now White Plains + LOL! Stand Up + Lone Star Network + Love Destination + Love Nature + Made In Hollywood + MagellanTV NOW + Maverick Black Cinema + MAVTV Select + MBC + MegaNoticias + MHz Now + Midnight Pulp + MMA TV + MOB TV + Moconomy - Economy & Finance Infotainment + More U + Motorvision TV + MOVIESPHERE + MST3K + Mystery Alley + NBC News NOW + NEW K.MOVIES + NEW K-POP + News 12 New York + Newsmax TV + Newsy + NHRA TV + Ninja Kidz TV + Nosey + OnDemandChina + Outdoor America + Outside + Overtime + Party Poker TV + Pattrn + PBS Antiques Roadshow + PBS Nature + People are Awesome + PeopleTV + PlayWorks + pocket.watch + Poker Night TV + Popcornflix + Popstar! TV + POPSUGAR Fitness + Portlandia + Pro Wrestling TV + PW Kids + Qello Concerts by Stingray + QwestTV Classical + QwestTV Jazz & Beyond + QwestTV Mix + Racing America + Rakuten Viki + RCN Más + Real Life + Real Nosey + Real Stories + Real Wild + RetroCrush + Reuters TV + Revry + RevryNews + Runtime + Ryan and Friends + Samuel Goldwyn Channel + Samuel Goldwyn Classics + Samuel Goldwyn International + Scream Factory TV + Shemaroo Bollywood + Shorts + Shout! Cult + Shout! Factory TV Stream + Skills + Thrills + SKWAD + Slightly Off IFC + SLOPES + Sonic TV + Sony KAL + So...Real + So Yummy + Space Channel + Space Science Now + Spark TV Light & Love + SPEEDVISION + SportsGrid + Stadium + Stingray Classica Stream + Classic Rock + Stingray CMusic + Stingray DJAZZ + Easy Listening + Euro Hits + Everything ‘80s + Éxitos del Momento + Flashback 70s + Greatest Holiday Hits + Hip-Hop/R&B + Hit List + Hot Country + Stingray Karaoke + Stingray Naturescape + Nothin' But 90s + Pop Adult + Alternative + Smooth Jazz + Soul Storm + The Spa + Today's K-Pop + Y2K + Stories by AMC + Surf Now TV + Swerve Sports + Tastemade + TED + TG Junior + The Archive + The Boat Show + The Bob Ross Channel + The Carol Burnett Show + The Design Network + The Elvis Presley Channel + The Film Detective + The Grid + The Hill TV + The Pet Collective + The Preview Channel + The Walking Dead Universe + Weather Channel Español + This Old House + Times Now Navbharat + TODAY All Day + TokuSHOUTsu + Toon Goggles + Top Gear + Trailer Park Boys: The SwearNet Show + Trailers From Hell + Tribeca Channel + True Crime Now + True History + TV Asia Comedy Powered by Shemaroo + Unbeaten + Unexplained + Unidentified + USA TODAY + USA TODAY SPORTS + Us Weekly TV + Vice News + VICE + Vivaldi + Wanted: Dead or Alive + War & Military Now + Watch it Kid + Watch it SCREAM + Waypoint TV + WeatherSpy + WFTV 9 Orlando + WHIO Dayton + Whistle TV + WildEarth + Wired2Fish + Women's Sports Network + Wonder + WPXI Now Pittsburgh + WSB Now Atlanta + WSOC Channel 9 + Wu Tang Collection + XFC TV + Yahoo Finance + YG TV + AFV Español + AMC en Español + Canela TV + Chiquilines + Cine Real + El Conflicto TV + Estrella News + Estrella TV + Euronews Español + Horrorfy + Juntos TV + LevelUp + Love Nature en Español + MMC + Nosey Casos + Nosey Escándalos + Party Tyme Karaoke + Runtime Español + Saber Mas + Sony Canal Competencias + Sony Canal Novelas + The Bob Ross Channel en Español + Top Cine + Tu Cine + Cortos + Euronews Portuguese + diff --git a/sites/plex.tv/plex.tv.config.js b/sites/plex.tv/plex.tv.config.js index f9b654d2..ac4bd781 100644 --- a/sites/plex.tv/plex.tv.config.js +++ b/sites/plex.tv/plex.tv.config.js @@ -12,7 +12,7 @@ module.exports = { } }, url: function ({ channel, date }) { - const [_, channelGridKey] = channel.site_id.split('-') + const [, channelGridKey] = channel.site_id.split('-') return `${API_ENDPOINT}/grid?channelGridKey=${channelGridKey}&date=${date.format('YYYY-MM-DD')}` }, @@ -32,7 +32,7 @@ module.exports = { return programs }, - async channels({ lang }) { + async channels() { const data = await axios .get(`${API_ENDPOINT}/lineups/plex/channels?X-Plex-Token=zb85PfdNQLmsry9kQLBR`) .then(r => r.data) @@ -66,7 +66,7 @@ function parseItems(content) { const items = [] metadata.forEach(item => { let segments = [] - item.Media.sort(byTime).forEach((media, i) => { + item.Media.sort(byTime).forEach(media => { let prevSegment = segments[segments.length - 1] if (prevSegment && prevSegment.endsAt === media.beginsAt) { prevSegment.endsAt = media.endsAt diff --git a/sites/plex.tv/plex.tv.test.js b/sites/plex.tv/plex.tv.test.js index a6b4280f..6f137e09 100644 --- a/sites/plex.tv/plex.tv.test.js +++ b/sites/plex.tv/plex.tv.test.js @@ -1,10 +1,9 @@ // npm run channels:parse -- --config=./sites/plex.tv/plex.tv.config.js --output=./sites/plex.tv/plex.tv.channels.xml -// npx epg-grabber --config=sites/plex.tv/plex.tv.config.js --channels=sites/plex.tv/plex.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=plex.tv const { parser, url, request } = require('./plex.tv.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') diff --git a/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.channels.xml b/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.channels.xml index 94a204e0..cd405e79 100644 --- a/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.channels.xml +++ b/sites/programacion-tv.elpais.com/programacion-tv.elpais.com.channels.xml @@ -1,203 +1,201 @@ - - - 3/24 - 7 Región de Murcia - Al Jazeera English - AMC - Antena 3 - Aragón TV - Atreseries - AXN - AXN White - Baby TV - Barça TV - BBC World - BeIN Sports - Be Mad - Boing - Calle 13 - Canal 24 h - Canal Cocina - Canal Extremadura TV - Hollywood - Canal Panda - Canal Parlamento - Canal Sur - Canal Sur Andalucía - Caracol TV - Caza y Pesca - Clan TVE - CNBC - CNN International - CMM TV - Comedy Central - Cosmopolitan - Cuatro - Cubavisión Internacional - Dark - Decasa - Discovery Channel - Disney Channel - Disney Junior - Divinity - DMAX - Deutsche Welle - Energy - El Toro TV - ETB 1 - ETB 3 - EuroNews - Eurosport - Eurosport 2 - EWTN - Extreme Sports - FDF Telecinco - Fox Life - FOX - France 24 - Galicia TV - Gol TV - Historia - i24 News - Iberalia - La 1 - La 2 - laSexta - Mega - Mezzo - Movistar Acción - Movistar Cine Español - Movistar Comedia - Movistar Deportes - Movistar Estrenos - Movistar Series - MTV 90s - MTV Hits - MTV Live - MTV España - National Geographic - Neox - Nickelodeon - Nick Junior - Nova - La 8 Burgos - Odisea - Pro TV International - Real Madrid TV - Record TV - RT Español - Sol Música - Somos - Sundance Channel - Syfy - Taroteame - TCM - Telecinco - Teledeporte - teleSUR - TNT - TV3 - TV3CAT - TV5 Monde - TV Canaria - TV Chile - TVE Internacional Asia - TVE Internacional - VE PLUS TV - Viajar - XTRM - - - - - - - - - - - - - - - - - - - - - - - - - - - - Super 3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Navarra Televisión - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 3/24 + 7 Región de Murcia + Al Jazeera English + AMC + Antena 3 + Aragón TV + Atreseries + AXN + AXN White + Baby TV + Barça TV + BBC World + BeIN Sports + Be Mad + Boing + Calle 13 + Canal 24 h + Canal Cocina + Canal Extremadura TV + Hollywood + Canal Panda + Canal Parlamento + Canal Sur + Canal Sur Andalucía + Caracol TV + Caza y Pesca + Clan TVE + CMM TV + CNBC + CNN International + Comedy Central + Cosmopolitan + Cuatro + Cubavisión Internacional + Dark + Decasa + Discovery Channel + Disney Channel + Disney Junior + Divinity + DMAX + Deutsche Welle + El Toro TV + Energy + ETB 1 + ETB 3 + EuroNews + Eurosport + Eurosport 2 + EWTN + Extreme Sports + FDF Telecinco + Fox Life + FOX + France 24 + Galicia TV + Gol TV + Historia + i24 News + Iberalia + La 1 + La 2 + La 8 Burgos + laSexta + Mega + Mezzo + Movistar Acción + Movistar Cine Español + Movistar Comedia + Movistar Deportes + Movistar Estrenos + Movistar Series + MTV 90s + MTV Hits + MTV Live + MTV España + National Geographic + Navarra Televisión + Neox + Nickelodeon + Nick Junior + Nova + Odisea + Pro TV International + Real Madrid TV + Record TV + RT Español + Sol Música + Somos + Sundance Channel + Super 3 + Syfy + Taroteame + TCM + Telecinco + Teledeporte + teleSUR + TNT + TV3 + TV3CAT + TV5 Monde + TV Canaria + TV Chile + TVE Internacional Asia + TVE Internacional + VE PLUS TV + Viajar + XTRM + 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 8aadfb62..be1be74a 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 @@ -50,7 +50,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://programacion-tv.elpais.com/data/canales.json`) + .get('https://programacion-tv.elpais.com/data/canales.json') .then(r => r.data) .catch(console.log) 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 6a58da87..c600e327 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 @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/programacion-tv.elpais.com/programacion-tv.elpais.com.config.js --channels=sites/programacion-tv.elpais.com/programacion-tv.elpais.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=programacion-tv.elpais.com // npm run channels:parse -- --config=./sites/programacion-tv.elpais.com/programacion-tv.elpais.com.config.js --output=./sites/programacion-tv.elpais.com/programacion-tv.elpais.com.channels.xml const { parser, url } = require('./programacion-tv.elpais.com.config.js') @@ -67,7 +67,7 @@ it('can parse response', async () => { it('can handle empty guide', async () => { const result = await parser({ - content: ``, + content: '', channel }) expect(result).toMatchObject([]) diff --git a/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.channels.xml b/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.channels.xml index aa853cf7..23fb833d 100644 --- a/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.channels.xml +++ b/sites/programacion.tcc.com.uy/programacion.tcc.com.uy.channels.xml @@ -1,154 +1,152 @@ - - - 1000xHora - America 24 - Adrenalina Sports HD - Antena 3 - A+V - Asuntos Publicos HD - Band Internacional - Band news - BBC World - bitMe HD - C5N - Canal 10 HD - Canal 26 - Canal 4 HD - Canal 5 HD - Canal a - Cartoonito HD - CGTN Español HD - Claro Sports HD - CNN Español - CNN Internacional - Cronica TV - Deutsche Welle Español HD - Canal 9 - Encuentro - Europa Europa HD - Fox News - France 24 HD - Golden Premier HD - Golden Premier 2 HD - GOL TV VO HD - HBO Family - HBO Mundi HD - HBO Signature HD - HBO Xtreme HD - La Nacion - Las Estrellas HD - Multipremier SD - Pasiones - Playboy - RAI Italia HD - RT HD - PPV 14 Sextreme - Sony Movies - Sun Channel HD - TCC 1 - TCC 2 - TCC 3 - La Tele HD - Telefe HD - Tooncast - TV5 - TV Chile - TV Ciudad HD - TVE - Venus - VTV VO HD - VTV Plus VO HD - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1000xHora + America 24 + Adrenalina Sports HD + Antena 3 + A+V + Asuntos Publicos HD + Band Internacional + Band news + BBC World + bitMe HD + C5N + Canal 10 HD + Canal 26 + Canal 4 HD + Canal 5 HD + Canal a + Cartoonito HD + CGTN Español HD + Claro Sports HD + CNN Español + CNN Internacional + Cronica TV + Deutsche Welle Español HD + Canal 9 + Encuentro + Europa Europa HD + Fox News + France 24 HD + Golden Premier HD + Golden Premier 2 HD + GOL TV VO HD + HBO Family + HBO Mundi HD + HBO Signature HD + HBO Xtreme HD + La Nacion + Las Estrellas HD + Multipremier SD + Pasiones + Playboy + RAI Italia HD + RT HD + PPV 14 Sextreme + Sony Movies + Sun Channel HD + TCC 1 + TCC 2 + TCC 3 + La Tele HD + Telefe HD + Tooncast + TV5 + TV Chile + TV Ciudad HD + TVE + Venus + VTV VO HD + VTV Plus VO HD + 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 949b8d80..cd79c822 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 @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/programacion.tcc.com.uy/programacion.tcc.com.uy.config.js --output=./sites/programacion.tcc.com.uy/programacion.tcc.com.uy.channels.xml -// npx epg-grabber --config=sites/programacion.tcc.com.uy/programacion.tcc.com.uy.config.js --channels=sites/programacion.tcc.com.uy/programacion.tcc.com.uy.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run grab -- --site=programacion.tcc.com.uy const { parser, url } = require('./programacion.tcc.com.uy.config.js') const fs = require('fs') @@ -18,7 +18,7 @@ const channel = { it('can generate valid url', () => { expect(url({ date })).toBe( - `https://www.tccvivo.com.uy/api/v1/navigation_filter/1575/filter/?cable_operator=1&emission_start=2023-02-11T00:00:00Z&emission_end=2023-02-12T00:00:00Z&format=json` + 'https://www.tccvivo.com.uy/api/v1/navigation_filter/1575/filter/?cable_operator=1&emission_start=2023-02-11T00:00:00Z&emission_end=2023-02-12T00:00:00Z&format=json' ) }) diff --git a/sites/programetv.ro/programetv.ro.channels.xml b/sites/programetv.ro/programetv.ro.channels.xml index 59aef3ab..d01a06d6 100644 --- a/sites/programetv.ro/programetv.ro.channels.xml +++ b/sites/programetv.ro/programetv.ro.channels.xml @@ -1,233 +1,231 @@ - - - 3sat - A7TV - Acasa - Acasa Gold - Agro TV - Aleph News - Alfa Omega TV - Aljazeera - AMC - Animal Planet - Antena 1 - Antena 3 - Antena International - Antena Stars - Auto Motor und Sport - Arcadia TV - AXN Black - AXN - AXN Spin - AXN White - B1 - Baby TV - Balkanika Music TV - BBC Earth - BBC World News - Bloomberg TV - Blue Hustler - Bollywood HD - Bollywood Classic - Bollywood Film - Bollywood TV - Boomerang - Brazzers TV Europe - Cartoon Network - CBS Reality - CGTN - Cinemax 2 - Cinemax - Club MTV - CNN - Comedy Central - Cool TV - Credo TV - Crime + Investigation - Das Erste - Da Vinci - Digi 24 - Digi Animal World - Digi Life - Digi Sport 1 - Digi Sport 2 - Digi Sport 3 - Digi Sport 4 - Digi World - Discovery Channel - Discovery Science - Disney Channel - Diva Romania - Dizi - DocuBox HD - Dorcel TV - - Duck TV - Duna TV - Duna World - DW - E! - Epic Drama - Erdély TV - Erox HD - Eroxxx HD - Etno TV - EuroNews - Eurosport 1 - Eurosport 2 - Eurosport 4K - Extreme Sports Channel - FashionBox HD - FashionTV - Favorit TV - FightBox HD - Film 4 UK - FilmBox Arthouse Worldwide - FilmBox Family - FilmBox Premium - Film Café - Film Now - Food Network - France 2 - France 24 English - France 24 - France 3 - France 5 - Fuel TV - FunBox UHD - Galaxy 4 - Ginx eSports TV - Happy Channel - HBO 2 - HBO 3 - HBO Romania - History România - H!t Music Channel - Hustler HD - Hustler TV - Inedit TV - Investigation Discovery - JimJam - Kabel Eins - Kanal D - KIKA - Kiss TV - Love Nature - Luxe TV - M1 - M2 - M4 Sport - M5 - Magic TV - Mediaset Italia - Mezzo - Mezzo Live HD - Minimax - Mooz Dance - Mooz Hits - Mooz Ro! - Motorvision HD - MTV 80s - MTV 90s - MTV Hits - MTV Live HD - Museum HD - Music Channel - Muzsika TV - MyZen HD - Nasul TV - National 24 Plus - National Geographic - National Geographic Wild - National TV - Nautical Channel - Nickelodeon - Nick Jr - Nicktoons - Nitro - N-TV - Orange Sport 1 - Orange Sport 2 - Orange Sport 3 - Orange Sport 4 - Phoenix - Playboy TV - Prima 4K - Prima Sport 1 - Prima Sport 2 - Prima Sport 3 - Prima Sport 4 - Prima TV - Private TV - Pro Arena - Pro Cinema - Profit TV - ProSieben - Pro TV - Pro TV International - Publika TV - Rai 1 - Rai 2 - Rai 3 - Realitatea Plus - Redlight HD - Rock TV - România TV - RTL - RTL Gold - RTL KETTŐ - RTL HÁROM - RTL Klub - RTL Zwei - RT HD - Sat. 1 - Sixx - Sorozat + - Speranta TV - Sport Extra - Stingray Classica - Stingray Djazz - Stingray IConcerts HD - Story 4 - Super RTL - Taraf TV - TeenNick - The Fishing & Hunting Channel - TLC - Trace Caribbean - Trace Sport Stars - Trace Urban HD - Travel Channel - Travel Mix - Trinitas TV - TV 1000 - TV 1000 Russkoe Kino - TV 4 - TV5Monde Europe - TVE - TV Paprika - TVR 1 - TVR 2 - TVR 3 - TVR Cluj - TVR Craiova - TVR Iasi - TVR International - TVR Moldova - TVR Targu-Mures - TVR Timisoara - U TV - Viasat Explore - Viasat History - Viasat Nature - Vox - VTV - Warner TV - Welt - ZDF - ZDF Info - ZDF Neo - Zu TV - - + + + 3sat + A7TV + Acasa + Acasa Gold + Agro TV + Aleph News + Alfa Omega TV + Aljazeera + AMC + Animal Planet + Antena 1 + Antena 3 + Antena International + Antena Stars + Arcadia TV + Auto Motor und Sport + AXN Black + AXN + AXN Spin + AXN White + B1 + Baby TV + Balkanika Music TV + BBC Earth + BBC World News + Bloomberg TV + Blue Hustler + Bollywood Classic + Bollywood Film + Bollywood HD + Bollywood TV + Boomerang + Brazzers TV Europe + Cartoon Network + CBS Reality + CGTN + Cinemax 2 + Cinemax + Club MTV + CNN + Comedy Central + Cool TV + Credo TV + Crime + Investigation + Das Erste + Da Vinci + Digi 24 + Digi Animal World + Digi Life + Digi Sport 1 + Digi Sport 2 + Digi Sport 3 + Digi Sport 4 + Digi World + Discovery Channel + Discovery Science + Disney Channel + Diva Romania + Dizi + DocuBox HD + Dorcel TV + Duck TV + Duna TV + Duna World + DW + E! + Epic Drama + Erdély TV + Erox HD + Eroxxx HD + Etno TV + EuroNews + Eurosport 1 + Eurosport 2 + Eurosport 4K + Extreme Sports Channel + FashionBox HD + FashionTV + Favorit TV + FightBox HD + Film 4 UK + FilmBox Arthouse Worldwide + FilmBox Family + FilmBox Premium + Film Café + Film Now + Food Network + France 2 + France 24 English + France 24 + France 3 + France 5 + Fuel TV + FunBox UHD + Galaxy 4 + Ginx eSports TV + Happy Channel + HBO 2 + HBO 3 + HBO Romania + History România + H!t Music Channel + Hustler HD + Hustler TV + Inedit TV + Investigation Discovery + JimJam + Kabel Eins + Kanal D + KIKA + Kiss TV + Love Nature + Luxe TV + M1 + M2 + M4 Sport + M5 + Magic TV + Mediaset Italia + Mezzo + Mezzo Live HD + Minimax + Mooz Dance + Mooz Hits + Mooz Ro! + Motorvision HD + MTV 80s + MTV 90s + MTV Hits + MTV Live HD + Museum HD + Music Channel + Muzsika TV + MyZen HD + Nasul TV + National 24 Plus + National Geographic + National Geographic Wild + National TV + Nautical Channel + Nickelodeon + Nick Jr + Nicktoons + Nitro + N-TV + Orange Sport 1 + Orange Sport 2 + Orange Sport 3 + Orange Sport 4 + Phoenix + Playboy TV + Prima 4K + Prima Sport 1 + Prima Sport 2 + Prima Sport 3 + Prima Sport 4 + Prima TV + Private TV + Pro Arena + Pro Cinema + Profit TV + ProSieben + Pro TV + Pro TV International + Publika TV + Rai 1 + Rai 2 + Rai 3 + Realitatea Plus + Redlight HD + Rock TV + România TV + RT HD + RTL + RTL Gold + RTL HÁROM + RTL Klub + RTL KETTŐ + RTL Zwei + Sat. 1 + Sixx + Sorozat + + Speranta TV + Sport Extra + Stingray Classica + Stingray Djazz + Stingray IConcerts HD + Story 4 + Super RTL + Taraf TV + TeenNick + The Fishing & Hunting Channel + TLC + Trace Caribbean + Trace Sport Stars + Trace Urban HD + Travel Channel + Travel Mix + Trinitas TV + TV 1000 + TV 1000 Russkoe Kino + TV 4 + TV5Monde Europe + TVE + TV Paprika + TVR 1 + TVR 2 + TVR 3 + TVR Cluj + TVR Craiova + TVR Iasi + TVR International + TVR Moldova + TVR Targu-Mures + TVR Timisoara + U TV + Viasat Explore + Viasat History + Viasat Nature + Vox + VTV + Warner TV + Welt + ZDF + ZDF Info + ZDF Neo + Zu TV + diff --git a/sites/programetv.ro/programetv.ro.config.js b/sites/programetv.ro/programetv.ro.config.js index b93cbc80..64f73227 100644 --- a/sites/programetv.ro/programetv.ro.config.js +++ b/sites/programetv.ro/programetv.ro.config.js @@ -20,7 +20,7 @@ module.exports = { return `https://www.programetv.ro/post/${channel.site_id}/${daysOfWeek[day]}/` }, - parser: function ({ content, channel }) { + parser: function ({ content }) { let programs = [] const data = parseContent(content) if (!data || !data.shows) return programs @@ -57,7 +57,7 @@ function parseStop(item) { } function parseContent(content) { - const [_, data] = content.match(/var pageData = ((.|[\r\n])+);\n/) || [null, null] + const [, data] = content.match(/var pageData = ((.|[\r\n])+);\n/) || [null, null] return data ? JSON.parse(data) : {} } diff --git a/sites/programetv.ro/programetv.ro.test.js b/sites/programetv.ro/programetv.ro.test.js index 60a68d92..c4e9690e 100644 --- a/sites/programetv.ro/programetv.ro.test.js +++ b/sites/programetv.ro/programetv.ro.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/programetv.ro/programetv.ro.config.js --channels=sites/programetv.ro/programetv.ro.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=programetv.ro const { parser, url } = require('./programetv.ro.config.js') const dayjs = require('dayjs') @@ -19,7 +19,7 @@ const content = ` j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WPX9FM9'); -var cfg = {"homeUrl":"https:\/\/www.programetv.ro\/","loginUrl":"https:\/\/www.programetv.ro\/auth\/login","logoutUrl":"https:\/\/www.programetv.ro\/auth\/logout","nowOnTvUrl":"https:\/\/www.programetv.ro\/acum-la-tv\/","favoriteStationsUrl":"https:\/\/www.programetv.ro\/posturi-tv\/favorite\/","saveFavoritesUrl":"https:\/\/www.programetv.ro\/save-favorites\/","popularStationsUrl":"https:\/\/www.programetv.ro\/posturi-tv\/populare\/","stationListUrl":"https:\/\/www.programetv.ro\/posturi-tv\/","privacyPolicyUrl":"https:\/\/www.programetv.ro\/privacy-policy\/","user":false,"showMovieDetails":true,"banners":{"inlist":{"enabled":true,"code":"9647692440"},"footer":{"enabled":true,"code":"9608163999"},"modal":{"enabled":true,"code":"3427954368"}}}; +var cfg = {"homeUrl":"https://www.programetv.ro/","loginUrl":"https://www.programetv.ro/auth/login","logoutUrl":"https://www.programetv.ro/auth/logout","nowOnTvUrl":"https://www.programetv.ro/acum-la-tv/","favoriteStationsUrl":"https://www.programetv.ro/posturi-tv/favorite/","saveFavoritesUrl":"https://www.programetv.ro/save-favorites/","popularStationsUrl":"https://www.programetv.ro/posturi-tv/populare/","stationListUrl":"https://www.programetv.ro/posturi-tv/","privacyPolicyUrl":"https://www.programetv.ro/privacy-policy/","user":false,"showMovieDetails":true,"banners":{"inlist":{"enabled":true,"code":"9647692440"},"footer":{"enabled":true,"code":"9608163999"},"modal":{"enabled":true,"code":"3427954368"}}}; var __stations = []; var pageData = {"station":{"id":"1","displayName":"PRO TV","domain":"Românești","icon":"https://static.cinemagia.ro/img/tv_station/pro-tv.jpg","tvProvider":[{"tvPId":"2","tvPPos":["113"]},{"tvPId":"3","tvPPos":["113"]},{"tvPId":"4","tvPPos":["113"]},{"tvPId":"5","tvPPos":["3"]},{"tvPId":"6","tvPPos":["3"]},{"tvPId":"8","tvPPos":["4"]},{"tvPId":"11","tvPPos":["111"]}]},"shows":[{"id":"690127679","start":"2021-11-07T07:00:00+02:00","stop":"2021-11-07T09:59:59+02:00","stationId":"1","replay":false,"live":true,"online":true,"OTTRights":true,"categories":["Ştiri"],"title":"Ştirile Pro Tv","tvShowId":"5","desc":"În fiecare zi, cele mai importante evenimente, transmisiuni LIVE, analize, anchete şi reportaje sunt la Ştirile ProTV.","obs":"În fiecare zi, cele mai importante evenimente, transmisiuni LIVE, analize, anchete şi reportaje sunt la Ştirile ProTV.","icon":"https://www.programetv.ro/img/shows/84/54/stirile-pro-tv.png?key=Z2lfZnVial90cmFyZXZwLzAwLzAwLzA1LzE4MzgxMnktMTIwazE3MC1hLW40NTk4MW9zLmNhdA==","templating":[]}],"date":"2021-11-07","controls ":[{"date":"2021-11-03","slug":"ieri","label":"Ieri","name":"Ieri","url":"https://www.programetv.ro/post/pro-tv/ieri/"},{"date":"2021-11-04","slug":"azi","label":"Azi","name":"Azi","url":"https://www.programetv.ro/post/pro-tv/"},{"date":"2021-11-05","slug":"vineri","label":"Vi","name":"Vineri","url":"https://www.programetv.ro/post/pro-tv/vineri/"},{"date":"2021-11-06","slug":"sambata","label":"Sb","name":"Sâmbătă","url":"https://www.programetv.ro/post/pro-tv/sambata/"},{"date":"2021-11-07","slug":"duminica","label":"Du","name":"Duminică","url":"https://www.programetv.ro/post/pro-tv/duminica/"},{"date":"2021-11-08","slug":"luni","label":"Lu","name":"Luni","url":"https://www.programetv.ro/post/pro-tv/luni/"},{"date":"2021-11-09","slug":"marti","label":"Ma","name":"Marți","url":"https://www.programetv.ro/post/pro-tv/marti/"}],"todayDate":"2021-11-04","adsenabled":true}; var __controls = [{"date":"2021-11-03","slug":"ieri","label":"Ieri","name":"Ieri","url":"https://www.programetv.ro/post/pro-tv/ieri/"},{"date":"2021-11-04","slug":"azi","label":"Azi","name":"Azi","url":"https://www.programetv.ro/post/pro-tv/"},{"date":"2021-11-05","slug":"vineri","label":"Vi","name":"Vineri","url":"https://www.programetv.ro/post/pro-tv/vineri/"},{"date":"2021-11-06","slug":"sambata","label":"Sb","name":"Sâmbătă","url":"https://www.programetv.ro/post/pro-tv/sambata/"},{"date":"2021-11-07","slug":"duminica","label":"Du","name":"Duminică","url":"https://www.programetv.ro/post/pro-tv/duminica/"},{"date":"2021-11-08","slug":"luni","label":"Lu","name":"Luni","url":"https://www.programetv.ro/post/pro-tv/luni/"},{"date":"2021-11-09","slug":"marti","label":"Ma","name":"Marți","url":"https://www.programetv.ro/post/pro-tv/marti/"}]; @@ -38,7 +38,8 @@ it('can parse response', () => { start: '2021-11-07T05:00:00.000Z', stop: '2021-11-07T07:59:59.000Z', title: 'Ştirile Pro Tv', - description: `În fiecare zi, cele mai importante evenimente, transmisiuni LIVE, analize, anchete şi reportaje sunt la Ştirile ProTV.`, + description: + 'În fiecare zi, cele mai importante evenimente, transmisiuni LIVE, analize, anchete şi reportaje sunt la Ştirile ProTV.', category: ['Ştiri'], icon: 'https://www.programetv.ro/img/shows/84/54/stirile-pro-tv.png?key=Z2lfZnVial90cmFyZXZwLzAwLzAwLzA1LzE4MzgxMnktMTIwazE3MC1hLW40NTk4MW9zLmNhdA==' } @@ -59,7 +60,7 @@ it('can handle empty guide', () => { j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-WPX9FM9'); -var cfg = {"homeUrl":"https:\/\/www.programetv.ro\/","loginUrl":"https:\/\/www.programetv.ro\/auth\/login","logoutUrl":"https:\/\/www.programetv.ro\/auth\/logout","nowOnTvUrl":"https:\/\/www.programetv.ro\/acum-la-tv\/","favoriteStationsUrl":"https:\/\/www.programetv.ro\/posturi-tv\/favorite\/","saveFavoritesUrl":"https:\/\/www.programetv.ro\/save-favorites\/","popularStationsUrl":"https:\/\/www.programetv.ro\/posturi-tv\/populare\/","stationListUrl":"https:\/\/www.programetv.ro\/posturi-tv\/","privacyPolicyUrl":"https:\/\/www.programetv.ro\/privacy-policy\/","user":false,"showMovieDetails":true,"banners":{"inlist":{"enabled":true,"code":"9647692440"},"footer":{"enabled":true,"code":"9608163999"},"modal":{"enabled":true,"code":"3427954368"}}}; +var cfg = {"homeUrl":"https://www.programetv.ro/","loginUrl":"https://www.programetv.ro/auth/login","logoutUrl":"https://www.programetv.ro/auth/logout","nowOnTvUrl":"https://www.programetv.ro/acum-la-tv/","favoriteStationsUrl":"https://www.programetv.ro/posturi-tv/favorite/","saveFavoritesUrl":"https://www.programetv.ro/save-favorites/","popularStationsUrl":"https://www.programetv.ro/posturi-tv/populare/","stationListUrl":"https://www.programetv.ro/posturi-tv/","privacyPolicyUrl":"https://www.programetv.ro/privacy-policy/","user":false,"showMovieDetails":true,"banners":{"inlist":{"enabled":true,"code":"9647692440"},"footer":{"enabled":true,"code":"9608163999"},"modal":{"enabled":true,"code":"3427954368"}}}; var __stations = []; diff --git a/sites/programme-tv.net/programme-tv.net.channels.xml b/sites/programme-tv.net/programme-tv.net.channels.xml index 27007d0f..b05cfc29 100644 --- a/sites/programme-tv.net/programme-tv.net.channels.xml +++ b/sites/programme-tv.net/programme-tv.net.channels.xml @@ -1,216 +1,214 @@ - - - 13ème Rue - 6ter - AB 1 - AB 3 - Action - Aljazeera English - Altice Studio - Animaux - A+ - ARTE Français - Automoto la chaîne - Baby TV Europe - BBC Entertainment Europe - BBC Four - BBC One - BBC Two - BeIn Sports 1 France - BeIn Sports 2 France - BeIn Sports 3 France - BeIn Sports Max 10 France - BeIn Sports Max 4 France - BeIn Sports Max 5 France - BeIn Sports Max 6 France - BeIn Sports Max 7 France - BeIn Sports Max 8 France - BeIn Sports Max 9 France - BET France - BFM Business - BFM Lyon - BFM Paris - BFM TV - Boing France - B-One TV - Boomerang France - C8 - Canal J - Canal + Cinéma France - Canal + Décalé - Canal + Docs - Canal + Grand Ecran France - Canal + Kids - Canal + Formula 1 - Canal + France - Canal + Moto GP - Canal + Premier League - Canal + Séries France - Canal + Sport France - Canal + Top 14 - Canvas - Cartoon Network France - Chasse & Pêche - Chérie 25 - Cine + Classic - Cine + Club - Cine + Émotion - Cine + Famiz - Cine + Frisson - Cine + Premier - Club RTL - C News - CNN International Europe - Comédie + - Comedy Central France - Crime District - C Star - Das Erste - Discovery Channel France - Discovery Family - Discovery Science France - Disney Channel France - Disney Junior France - Één - E! France - Equidia - Eurochannel - EuroNews Français - Eurosport 1 France - Eurosport 2 France - FashionTV Europe - France 2 - France 24 Français - France 3 - France 3 Alpes - France 3 Alsace - France 3 Aquitaine - France 3 Auvergne - France 3 Basse-Normandie - France 3 Bourgogne - France 3 Bretagne - France 3 Centre-Val de Loire - France 3 Champagne-Ardenne - France 3 Corse Via Stella - France 3 Côte d'Azur - France 3 Franche-Comté - France 3 Haute-Normandie - France 3 Languedoc-Roussillon - France 3 Limousin - France 3 Lorraine - France 3 Midi-Pyrénées - France 3 Nord Pas-de-Calais - France 3 Paris Ile-de-France - France 3 Pays de la Loire - France 3 Picardie - France 3 Poitou-Charentes - France 3 Provence-Alpes - France 3 Rhône-Alpes - France 4 - France 5 - Game One - Ginx eSports TV International - Golf Channel France - Golf + - Gulli - Histoire TV - I24 News Français - InfoSport + - J-One - Ketnet - KTO - La Chaîne Météo - LCI - LCP Assemblée Nationale - L'Équipe - M6 - M6 Music - Mangas - MCM France - MCM Top - Melody - Mezzo - Mezzo Live HD - MTV France - MTV Hits Europe - MTV Hits France - MyZen TV - National Geographic France - National Geographic Wild France - Nautical Channel - Nickelodeon France - Nickelodeon Junior France - Nickelodeon Teen - Nollywood TV - Non Stop People France - Novelas TV - NPO 1 - NPO 2 - NRJ 12 - NRJ Hits - OCS choc - OCS City - OCS geants - OCS max - OLTV - Paramount Channel France - Paris Première - Pink TV - Piwi + - Planète + - Planète + CI - Play 4 - Play 5 - Plug RTL - Polar + - Rai 1 - RFM TV - RMC Découverte - RMC Sport 1 - RMC Sport 2 - RMC Sport UHD - RMC Story - RTBF La Une - RT France - RTL - RTL 9 - RTL TVI - RTP Internacional Europa - RTS 1 - RTS 2 - Science & Vie TV - Seasons - Série Club - Stingray Djazz - Stingray IConcerts - Syfy France - TCM Cinéma - TéléToon + - Téva - TF 1 - TF 1 Séries Films - TFX - Tiji - Tipik - TMC - Toonami France - Toute l'Histoire - Trace Africa Français - Trace Sport Stars - Trace Urban - Trek - TV5Monde France Belgique Suisse - TV Breizh - TVE Internacional Europa - Ushuaïa TV - VH1 Europe - VTM - VTM 2 - VTM 3 - W9 - Warner TV France - XXL - ZDF - - + + RTL + 13ème Rue + 6ter + AB 1 + AB 3 + Action + Aljazeera English + Altice Studio + Animaux + A+ + ARTE Français + Automoto la chaîne + Baby TV Europe + BBC Entertainment Europe + BBC Four + BBC One + BBC Two + BeIn Sports 1 France + BeIn Sports 2 France + BeIn Sports 3 France + BeIn Sports Max 10 France + BeIn Sports Max 4 France + BeIn Sports Max 5 France + BeIn Sports Max 6 France + BeIn Sports Max 7 France + BeIn Sports Max 8 France + BeIn Sports Max 9 France + BET France + BFM Business + BFM Lyon + BFM Paris + BFM TV + Boing France + B-One TV + Boomerang France + C8 + Canal J + Canal + Cinéma France + Canal + Décalé + Canal + Docs + Canal + Formula 1 + Canal + France + Canal + Grand Ecran France + Canal + Kids + Canal + Moto GP + Canal + Premier League + Canal + Séries France + Canal + Sport France + Canal + Top 14 + Canvas + Cartoon Network France + Chasse & Pêche + Chérie 25 + Cine + Classic + Cine + Club + Cine + Émotion + Cine + Famiz + Cine + Frisson + Cine + Premier + Club RTL + C News + CNN International Europe + Comédie + + Comedy Central France + Crime District + C Star + Das Erste + Discovery Channel France + Discovery Family + Discovery Science France + Disney Channel France + Disney Junior France + Één + E! France + Equidia + Eurochannel + EuroNews Français + Eurosport 1 France + Eurosport 2 France + FashionTV Europe + France 2 + France 24 Français + France 3 + France 3 Alpes + France 3 Alsace + France 3 Aquitaine + France 3 Auvergne + France 3 Basse-Normandie + France 3 Bourgogne + France 3 Bretagne + France 3 Centre-Val de Loire + France 3 Champagne-Ardenne + France 3 Corse Via Stella + France 3 Côte d'Azur + France 3 Franche-Comté + France 3 Haute-Normandie + France 3 Languedoc-Roussillon + France 3 Limousin + France 3 Lorraine + France 3 Midi-Pyrénées + France 3 Nord Pas-de-Calais + France 3 Paris Ile-de-France + France 3 Pays de la Loire + France 3 Picardie + France 3 Poitou-Charentes + France 3 Provence-Alpes + France 3 Rhône-Alpes + France 4 + France 5 + Game One + Ginx eSports TV International + Golf Channel France + Golf + + Gulli + Histoire TV + I24 News Français + InfoSport + + J-One + Ketnet + KTO + La Chaîne Météo + RTBF La Une + LCI + LCP Assemblée Nationale + L'Équipe + M6 + M6 Music + Mangas + MCM France + MCM Top + Melody + Mezzo + Mezzo Live HD + MTV France + MTV Hits Europe + MTV Hits France + MyZen TV + National Geographic France + National Geographic Wild France + Nautical Channel + Nickelodeon France + Nickelodeon Junior France + Nickelodeon Teen + Nollywood TV + Non Stop People France + Novelas TV + NPO 1 + NPO 2 + NRJ 12 + NRJ Hits + OCS choc + OCS City + OCS geants + OCS max + OLTV + Paramount Channel France + Paris Première + Pink TV + Piwi + + Planète + + Planète + CI + Play 4 + Play 5 + Plug RTL + Polar + + Rai 1 + RFM TV + RMC Découverte + RMC Sport 1 + RMC Sport UHD + RMC Sport 2 + RMC Story + RT France + RTL 9 + RTL TVI + RTP Internacional Europa + RTS 1 + RTS 2 + Science & Vie TV + Seasons + Série Club + Stingray Djazz + Stingray IConcerts + Syfy France + TCM Cinéma + TéléToon + + Téva + TF 1 + TF 1 Séries Films + TFX + Tiji + Tipik + TMC + Toonami France + Toute l'Histoire + Trace Africa Français + Trace Sport Stars + Trace Urban + Trek + TV5Monde France Belgique Suisse + TV Breizh + TVE Internacional Europa + Ushuaïa TV + VH1 Europe + VTM + VTM 2 + VTM 3 + W9 + Warner TV France + XXL + ZDF + diff --git a/sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml b/sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml index 565353c4..cab11eb5 100644 --- a/sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml +++ b/sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml @@ -1,7 +1,5 @@ - - - Polynésie 1ère - Tahiti Nui TV - - + + Polynésie 1ère + Tahiti Nui TV + 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 606a9bea..c3a9c458 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 @@ -1,7 +1,7 @@ const dayjs = require('dayjs') const axios = require('axios') -const apiUrl = `https://programme-tv.vini.pf/programmesJSON` +const apiUrl = 'https://programme-tv.vini.pf/programmesJSON' module.exports = { site: 'programme-tv.vini.pf', @@ -9,7 +9,6 @@ module.exports = { url: apiUrl, request: { method: 'POST', - timeout: 30000, data({ date }) { return { dateDebut: `${date.subtract(10, 'h').format('YYYY-MM-DDTHH:mm:ss')}-10:00` @@ -44,9 +43,9 @@ module.exports = { return programs }, - async channels({ country, lang }) { + async channels() { const data = await axios - .post(`https://programme-tv.vini.pf/programmesJSON`) + .post('https://programme-tv.vini.pf/programmesJSON') .then(r => r.data) .catch(console.log) 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 4e59edd4..453fbe6b 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 @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js --output=./sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml -// npx epg-grabber --config=sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js --channels=sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/programme-tv.vini.pf/programme-tv.vini.pf.config.js --output=./sites/programme-tv.vini.pf/programme-tv.vini.pf.channels.xml +// npm run grab -- --site=programme-tv.vini.pf const { parser, url, request } = require('./programme-tv.vini.pf.config.js') const axios = require('axios') @@ -35,19 +35,20 @@ it('can parse response', done => { if (data.dateDebut === '2021-11-20T16:00:00-10:00') { return Promise.resolve({ data: Buffer.from( - `{"programmes":[{"nid":"8857261","src":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/192.png","alt":"","title":"","url":"\/tf1","programmes":[{"nidP":"24162437","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"Les docs du week-end","heureP":"15:10","timestampDeb":1637457000,"timestampFin":1637461800,"altP":"","titleP":"","legendeP":"Que sont-ils devenus ? L'incroyable destin des stars des émissions de télécrochet","desc":"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 ?","srcP":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/6e64cfbc55c1f4cbd11e3011401403d4dc08c6d2.jpg","urlP":"\/les-docs-du-week-end-20112021-1510","width":25,"active":false,"progression":0,"test":0,"nowphp":1637509998},{"nidP":"24162438","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"50mn Inside","heureP":"16:30","timestampDeb":1637461800,"timestampFin":1637466300,"altP":"","titleP":"","legendeP":"L'actu","desc":"50'INSIDE, c'est toute l'actualité des stars résumée, chaque samedi, Le rendez-vous glamour pour retrouver toujours,,","srcP":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/3d7e252312dacb5fb7a1a786fa0022ca1be15499.jpg","urlP":"\/50mn-inside-20112021-1630","width":62.5,"active":false,"progression":0,"test":0,"nowphp":1637509998}]}]}` + '{"programmes":[{"nid":"8857261","src":"https://programme-tv.vini.pf/sites/default/files/img-icones/192.png","alt":"","title":"","url":"/tf1","programmes":[{"nidP":"24162437","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"Les docs du week-end","heureP":"15:10","timestampDeb":1637457000,"timestampFin":1637461800,"altP":"","titleP":"","legendeP":"Que sont-ils devenus ? L\'incroyable destin des stars des émissions de télécrochet","desc":"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 ?","srcP":"https://programme-tv.vini.pf/sites/default/files/img-icones/6e64cfbc55c1f4cbd11e3011401403d4dc08c6d2.jpg","urlP":"/les-docs-du-week-end-20112021-1510","width":25,"active":false,"progression":0,"test":0,"nowphp":1637509998},{"nidP":"24162438","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"50mn Inside","heureP":"16:30","timestampDeb":1637461800,"timestampFin":1637466300,"altP":"","titleP":"","legendeP":"L\'actu","desc":"50\'INSIDE, c\'est toute l\'actualité des stars résumée, chaque samedi, Le rendez-vous glamour pour retrouver toujours,,","srcP":"https://programme-tv.vini.pf/sites/default/files/img-icones/3d7e252312dacb5fb7a1a786fa0022ca1be15499.jpg","urlP":"/50mn-inside-20112021-1630","width":62.5,"active":false,"progression":0,"test":0,"nowphp":1637509998}]}]}' ) }) } else { return Promise.resolve({ data: Buffer.from( - `{"programmes":[{"nid":"8857261","src":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/192.png","alt":"","title":"","url":"\/tf1","programmes":[]}]}` + '{"programmes":[{"nid":"8857261","src":"https://programme-tv.vini.pf/sites/default/files/img-icones/192.png","alt":"","title":"","url":"/tf1","programmes":[]}]}' ) }) } }) - const content = `{"programmes":[{"nid":"8857261","src":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/192.png","alt":"","title":"","url":"\/tf1","programmes":[{"nidP":"24162436","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"Reportages découverte","heureP":"13:50","timestampDeb":1637452200,"timestampFin":1637457000,"altP":"","titleP":"","legendeP":"La coloc ne connaît pas la crise","desc":"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.","srcP":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/52ada51ed86b7e7bc11eaee83ff2192785989d77.jpg","urlP":"\/reportages-decouverte-20112021-1350","width":58.333333333333,"active":false,"progression":0,"test":0,"nowphp":1637509179},{"nidP":"24162437","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"Les docs du week-end","heureP":"15:10","timestampDeb":1637457000,"timestampFin":1637461800,"altP":"","titleP":"","legendeP":"Que sont-ils devenus ? L'incroyable destin des stars des émissions de télécrochet","desc":"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 ?","srcP":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/6e64cfbc55c1f4cbd11e3011401403d4dc08c6d2.jpg","urlP":"\/les-docs-du-week-end-20112021-1510","width":41.666666666667,"active":false,"progression":0,"test":0,"nowphp":1637509179}]}]}` + const content = + '{"programmes":[{"nid":"8857261","src":"https://programme-tv.vini.pf/sites/default/files/img-icones/192.png","alt":"","title":"","url":"/tf1","programmes":[{"nidP":"24162436","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"Reportages découverte","heureP":"13:50","timestampDeb":1637452200,"timestampFin":1637457000,"altP":"","titleP":"","legendeP":"La coloc ne connaît pas la crise","desc":"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.","srcP":"https://programme-tv.vini.pf/sites/default/files/img-icones/52ada51ed86b7e7bc11eaee83ff2192785989d77.jpg","urlP":"/reportages-decouverte-20112021-1350","width":58.333333333333,"active":false,"progression":0,"test":0,"nowphp":1637509179},{"nidP":"24162437","categorieP":"Magazine","categorieTIDP":"1033","episodeP":"-1","titreP":"Les docs du week-end","heureP":"15:10","timestampDeb":1637457000,"timestampFin":1637461800,"altP":"","titleP":"","legendeP":"Que sont-ils devenus ? L\'incroyable destin des stars des émissions de télécrochet","desc":"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 ?","srcP":"https://programme-tv.vini.pf/sites/default/files/img-icones/6e64cfbc55c1f4cbd11e3011401403d4dc08c6d2.jpg","urlP":"/les-docs-du-week-end-20112021-1510","width":41.666666666667,"active":false,"progression":0,"test":0,"nowphp":1637509179}]}]}' parser({ content, channel, date }) .then(result => { @@ -60,25 +61,28 @@ it('can parse response', done => { { start: '2021-11-20T23:50:00.000Z', stop: '2021-11-21T01:10:00.000Z', - title: `Reportages découverte`, + title: 'Reportages découverte', 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.`, + 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' }, { start: '2021-11-21T01:10:00.000Z', stop: '2021-11-21T02:30:00.000Z', - title: `Les docs du week-end`, + title: 'Les docs du week-end', 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 ?`, + 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' }, { start: '2021-11-21T02:30:00.000Z', stop: '2021-11-21T03:45:00.000Z', - title: `50mn Inside`, + title: '50mn Inside', category: 'Magazine', - description: `50'INSIDE, c'est toute l'actualité des stars résumée, chaque samedi, Le rendez-vous glamour pour retrouver toujours,,`, + 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' } ]) @@ -93,7 +97,8 @@ it('can handle empty guide', done => { parser({ date, channel, - content: `{"programmes":[{"nid":"8857261","src":"https:\/\/programme-tv.vini.pf\/sites\/default\/files\/img-icones\/192.png","alt":"","title":"","url":"\/tf1","programmes":[]}]}` + content: + '{"programmes":[{"nid":"8857261","src":"https://programme-tv.vini.pf/sites/default/files/img-icones/192.png","alt":"","title":"","url":"/tf1","programmes":[]}]}' }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/programme.tvb.com/programme.tvb.com.channels.xml b/sites/programme.tvb.com/programme.tvb.com.channels.xml index dac963bb..e613b067 100644 --- a/sites/programme.tvb.com/programme.tvb.com.channels.xml +++ b/sites/programme.tvb.com/programme.tvb.com.channels.xml @@ -1,14 +1,12 @@ - - - J2 - 華語劇台 - TVB經典台 - 粵語片台 - 無綫財經體育資訊台 - 翡翠台 - 無綫新聞台 - Pearl - TVB星河頻道 - - + + J2 + 翡翠台 + Pearl + 華語劇台 + TVB經典台 + 粵語片台 + 無綫財經體育資訊台 + 無綫新聞台 + TVB星河頻道 + diff --git a/sites/programme.tvb.com/programme.tvb.com.test.js b/sites/programme.tvb.com/programme.tvb.com.test.js index 83f8e773..a17a7b29 100644 --- a/sites/programme.tvb.com/programme.tvb.com.test.js +++ b/sites/programme.tvb.com/programme.tvb.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/programme.tvb.com/programme.tvb.com.config.js --channels=sites/programme.tvb.com/programme.tvb.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=programme.tvb.com const { parser, url } = require('./programme.tvb.com.config.js') const fs = require('fs') diff --git a/sites/programtv.onet.pl/programtv.onet.pl.channels.xml b/sites/programtv.onet.pl/programtv.onet.pl.channels.xml index d70f3723..be80826c 100644 --- a/sites/programtv.onet.pl/programtv.onet.pl.channels.xml +++ b/sites/programtv.onet.pl/programtv.onet.pl.channels.xml @@ -1,343 +1,341 @@ - - - 13th Street Deutschland - 13 Ulica - 360 Tune Box - 3sat - 4 Fun Dance - 4 Fun TV - Active Family - Adult Channel - Adventure - Ale Kino + - Aljazeera English - AMC Polska - Animal Planet Polska - ARD Alpha - Arirang World - ARTE Deutsch - ATV - Automoto la chaîne - AXN Black - AXN - AXN Spin - AXN White - BabyFirst TV - Baby TV Europe - BBC Brit Polska - BBC Earth Polska - BBC First Polska - BBC Lifestyle Polska - BBC World News Europe - Beate Uhse TV - Belarus 24 - Belsat TV - Bibel TV - Bloomberg TV Europe - Blue Hustler Europe - Bollywood HD - Boomerang Polska - Brazzers TV Europe - Canal + »1 - Canal + 4K Ultra HD - Canal + Dokument - Canal + Domo - Canal + Family Polska - Canal + Film - Canal + Kuchnia - Canal + Premium - Canal + Seriale - Canal + Sport 2 Polska - Canal + Sport 3 Polska - Canal + Sport 4 Polska - Canal + Sport Polska - Cartoon Network Polska - CBeebies Polska - CBS Europa - CBS Reality Polska - CGTN - Perviy kanal Europa - Cinemax 2 Central Europe - Cinemax Central Europe - Club MTV - CNBC Europe - CNN International Europe - Comedy Central Polska - Crime + Investigation Polsat - CT 1 - CT 2 - Das Erste - Da Vinci Polska - Deutsches Musik Fernsehen - Disco Polo Music - Discovery Channel Deutschland - Discovery Channel Polska - Discovery Historia - Discovery Life Polska - Discovery Science Polska - Disney Channel Polska - Disney Junior Türkiye & Polska - Disney XD Polska - DMAX Deutschland - DocuBox HD - Dorcel TV - Dorcel XXX - DTX Polska - Duck TV SD - DW Deutsch - Één - E! Europe - Eleven Sports 1 Polska - Eleven Sports 2 Polska - Eleven Sports 3 Polska - Eleven Sports 4 Polska - English Club TV - Epic Drama - Erox HD - Eroxxx HD - Eska Rock TV - Eska TV - Eska TV Extra - Eurochannel - EuroNews English - EuroNews Français - Eurosport 1 Germany - Eurosport 1 Polska - Eurosport 2 Polska - EWTN Europe - Extreme Sports Channel Polska - FashionBox HD - FashionTV Europe - Fast & FunBox HD - FightBox HD - Fight Klub - FilmBox Action - FilmBox Arthouse Worldwide - FilmBox Extra HD Polska - FilmBox Family - Fokus TV - Folx - Food Network Polska - Fox Comedy Polska - Fox Polska - France 2 - France 24 English - France 24 Français - Franken Fernsehen - FunBox UHD - Gametoon - Ginx eSports TV International - God TV UK - Gold TV - Golf Channel Polska - GoTV - HBO 2 Polska - HBO 3 Polska - HBO Polska - Heimatkanal - HGTV Polska - History 2 Polska - History HD Deutschland - History Polska - Home TV - HR Fernsehen - Hustler HD Europe - Hustler TV Europe - Insight UHD - Inspiration TV - Investigation Discovery Polska - Junior - Kabel Eins Deutschland - KIKA - Kino Polska - Kino Polska Muzyka - Kino TV - Lifetime Polska - Lubimoe Kino - M6 - MCM Top - Metro - Mezzo - Mezzo Live HD - MiniMini + - Motorvision TV - Motowizja - MTV 80s - MTV 90s - MTV Germany - MTV Hits Europe - MTV Live HD - MTV Polska - München TV - Music Box Ukraina - MyZen TV - Nat Geo People - National Geographic Polska - National Geographic Wild Polska - Nautical Channel - NHK World Japan - Nickelodeon Polska - Nickelodeon Deutschland - Nick Jr - NickMusic - Nicktoons Polska - Nitro Deutschland - Novela TV - Nowa TV - NPO 1 - NPO 2 - NPO 3 - N Sport + - N-TV - Nuta TV - One - ORF 1 - ORF 2 - Paramount Channel Polska - Phoenix - Planete + Polska - Playboy TV Europe - Polo TV - Polsat - Polsat 1 - Polsat 2 - Polsat Café - Polsat Doku - Polsat Film - Polsat Games - JimJam Polsat - Polsat Music - Polsat News - Polsat News 2 - Polsat Play - Polsat Rodzina - Polsat Seriale - Polsat Sport - Polsat Sport Extra - Polsat Sport Fight - Polsat Sport News - Polsat Sport Premium 1 - Polsat Sport Premium 2 - Polsat Sport Premium 3 - Polsat Sport Premium 4 - Polsat Sport Premium 5 - Polsat Sport Premium 6 - Polsat Viasat Explore - Polsat Viasat History - Polsat Viasat Nature - Power TV - Private TV - ProSieben Deutschland - Puls 2 - QVC Deutschland - Rai 1 - Rai 2 - RBB Berlin - Reality Kings TV - Record TV Europa - Red Carpet - Redlight HD - Relax - RFM TV - RheinMain TV - Romance TV Polska - RT News - RT Documentary - RTL 102.5 RadioVisione - RTL Deutschland - RTL Zwei Deutschland - RTR Planeta - RTS 1 - RTS 2 - Rossiya 24 - Sat. 1 Deutschland - SBN International - Scifi Polska - Sixx Deutschland - Sky Cinema Action - Sky Cinema Hits - Sky Cinema Comedy - Sky Cinema Nostalgie - Sky Cinema +24 - Sky Krimi - Sky News International - Sky Sport 1 - Sky Sport 2 - Sky Sport Austria 1 - Spiegel Geschichte - Sport 1 - Sport Klub Polska - SRF 1 - SRF Zwei - Stars TV - Stingray Classica - Stingray CMusic - Stingray Djazz - Stingray IConcerts - Stingray Juicebox - Stingray Loud - Stingray Retro - Stopklatka TV - Sundance TV Europe - Super Polsat - Super RTL Deutschland - Superstacja - Syfy Deutschland - TBN Polska - Tele 5 - Tele 5 - Teletoon + HD Polska - TF 1 - TLC Polska - TNT Polska - Travel Channel Polska - Travelxp HD Europe - Travelxp 4K Europe - TTV - TV 4 - TV5Monde Europe - TV 6 - TVE Internacional Europa - TVN - TVN 24 - TVN 24 BiS - TVN 7 - TVN Fabula - TV Nova - TVN Style - TVN Turbo - TV Okazje - TVP 1 - TVP 2 - TVP 3 Warszawa - TVP ABC - TVP HD - TVP Historia - TVP Info - TVP Kultura - TVP Polonia - TVP Rozrywka - TVP Seriale - TVP Sport - TV Puls - TVP World - TV Republika - TVS - TV Trwam - UA TV - VH1 Polska - Vivid Red - Vivid Touch - Vox Deutschland - Vox Music TV - Water Planet - WDR 1 Live - Welt - W Polsce PL - WP TV - ZDF - ZDF Info - Zoom TV - - + + + 3sat + ARD Alpha + Beate Uhse TV + Das Erste + Deutsches Musik Fernsehen + Discovery Channel Deutschland + Eurosport 1 Germany + Heimatkanal + History HD Deutschland + KIKA + MTV Germany + München TV + Nitro Deutschland + One + ORF 1 + ORF 2 + Phoenix + ProSieben Deutschland + QVC Deutschland + RBB Berlin + RTL Deutschland + RTL Zwei Deutschland + Sat. 1 Deutschland + Sixx Deutschland + Sky Cinema Action + Sky Cinema Hits + Sky Cinema Comedy + Sky Cinema Nostalgie + Sky Krimi + Syfy Deutschland + Welt + ZDF + ZDF Info + 360 Tune Box + Adult Channel + Aljazeera English + Arirang World + BBC World News Europe + Bloomberg TV Europe + Blue Hustler Europe + Brazzers TV Europe + CNBC Europe + CNN International Europe + Dorcel TV + Dorcel XXX + DW Deutsch + English Club TV + Erox HD + Eroxxx HD + EuroNews English + EWTN Europe + FashionTV Europe + Fast & FunBox HD + France 24 English + FunBox UHD + God TV UK + Hustler HD Europe + Hustler TV Europe + Insight UHD + Inspiration TV + Mezzo + MTV 80s + MTV 90s + MTV Hits Europe + MTV Live HD + Nautical Channel + NHK World Japan + Playboy TV Europe + Private TV + Reality Kings TV + Redlight HD + SBN International + Sky News International + Vivid Red + Vivid Touch + ARTE Deutsch + France 2 + France 24 Français + NPO 1 + NPO 2 + NPO 3 + 13th Street Deutschland + 13 Ulica + 4 Fun Dance + 4 Fun TV + Active Family + Adventure + Ale Kino + + AMC Polska + Animal Planet Polska + ATV + Automoto la chaîne + AXN Black + AXN + AXN Spin + AXN White + BabyFirst TV + Baby TV Europe + BBC Brit Polska + BBC Earth Polska + BBC First Polska + BBC Lifestyle Polska + Belarus 24 + Belsat TV + Bibel TV + Bollywood HD + Boomerang Polska + Canal + »1 + Canal + 4K Ultra HD + Canal + Dokument + Canal + Domo + Canal + Family Polska + Canal + Film + Canal + Kuchnia + Canal + Premium + Canal + Seriale + Canal + Sport 2 Polska + Canal + Sport 3 Polska + Canal + Sport 4 Polska + Canal + Sport Polska + Cartoon Network Polska + CBeebies Polska + CBS Europa + CBS Reality Polska + CGTN + Perviy kanal Europa + Cinemax 2 Central Europe + Cinemax Central Europe + Club MTV + Comedy Central Polska + Crime + Investigation Polsat + CT 1 + CT 2 + Da Vinci Polska + Disco Polo Music + Discovery Channel Polska + Discovery Historia + Discovery Life Polska + Discovery Science Polska + Disney Channel Polska + Disney Junior Türkiye & Polska + Disney XD Polska + DMAX Deutschland + DocuBox HD + DTX Polska + Duck TV SD + Één + E! Europe + Eleven Sports 1 Polska + Eleven Sports 2 Polska + Eleven Sports 3 Polska + Eleven Sports 4 Polska + Epic Drama + Eska Rock TV + Eska TV + Eska TV Extra + Eurochannel + EuroNews Français + Eurosport 1 Polska + Eurosport 2 Polska + Extreme Sports Channel Polska + FashionBox HD + FightBox HD + Fight Klub + FilmBox Action + FilmBox Arthouse Worldwide + FilmBox Extra HD Polska + FilmBox Family + Fokus TV + Folx + Food Network Polska + Fox Comedy Polska + Fox Polska + Franken Fernsehen + Gametoon + Ginx eSports TV International + Gold TV + Golf Channel Polska + GoTV + HBO 2 Polska + HBO 3 Polska + HBO Polska + HGTV Polska + History 2 Polska + History Polska + Home TV + HR Fernsehen + Investigation Discovery Polska + Junior + Kabel Eins Deutschland + Kino Polska + Kino Polska Muzyka + Kino TV + Lifetime Polska + Lubimoe Kino + M6 + MCM Top + Metro + Mezzo Live HD + MiniMini + + Motorvision TV + Motowizja + MTV Polska + Music Box Ukraina + MyZen TV + Nat Geo People + National Geographic Polska + National Geographic Wild Polska + Nickelodeon Polska + Nick Jr + NickMusic + Nicktoons Polska + Novela TV + Nowa TV + N Sport + + N-TV + Nuta TV + Paramount Channel Polska + Planete + Polska + Polo TV + Polsat + Polsat 1 + Polsat 2 + Polsat Café + Polsat Doku + Polsat Film + Polsat Games + JimJam Polsat + Polsat Music + Polsat News + Polsat News 2 + Polsat Play + Polsat Rodzina + Polsat Seriale + Polsat Sport + Polsat Sport Extra + Polsat Sport Fight + Polsat Sport News + Polsat Sport Premium 1 + Polsat Sport Premium 2 + Polsat Sport Premium 3 + Polsat Sport Premium 4 + Polsat Sport Premium 5 + Polsat Sport Premium 6 + Polsat Viasat Explore + Polsat Viasat History + Polsat Viasat Nature + Power TV + Puls 2 + Rai 1 + Rai 2 + Record TV Europa + Red Carpet + Relax + RFM TV + RheinMain TV + Romance TV Polska + RT News + RT Documentary + RTL 102.5 RadioVisione + RTR Planeta + RTS 1 + RTS 2 + Rossiya 24 + Scifi Polska + Sky Cinema +24 + Sky Sport 1 + Sky Sport 2 + Sky Sport Austria 1 + Spiegel Geschichte + Sport 1 + Sport Klub Polska + SRF 1 + SRF Zwei + Stars TV + Stingray Classica + Stingray CMusic + Stingray Djazz + Stingray IConcerts + Stingray Juicebox + Stingray Loud + Stingray Retro + Stopklatka TV + Sundance TV Europe + Super Polsat + Super RTL Deutschland + Superstacja + TBN Polska + Tele 5 + Tele 5 + Teletoon + HD Polska + TF 1 + TLC Polska + TNT Polska + Travel Channel Polska + Travelxp HD Europe + Travelxp 4K Europe + TTV + TV 4 + TV5Monde Europe + TV 6 + TVE Internacional Europa + TVN + TVN 24 + TVN 24 BiS + TVN 7 + TVN Fabula + TV Nova + TVN Style + TVN Turbo + TV Okazje + TVP 1 + TVP 2 + TVP 3 Warszawa + TVP ABC + TVP HD + TVP Historia + TVP Info + TVP Kultura + TVP Polonia + TVP Rozrywka + TVP Seriale + TVP Sport + TV Puls + TVP World + TV Republika + TVS + TV Trwam + UA TV + VH1 Polska + Vox Deutschland + Vox Music TV + Water Planet + WDR 1 Live + W Polsce PL + WP TV + Zoom TV + diff --git a/sites/programtv.onet.pl/programtv.onet.pl.test.js b/sites/programtv.onet.pl/programtv.onet.pl.test.js index 037cfd7a..1f991e63 100644 --- a/sites/programtv.onet.pl/programtv.onet.pl.test.js +++ b/sites/programtv.onet.pl/programtv.onet.pl.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/programtv.onet.pl/programtv.onet.pl.config.js --channels=sites/programtv.onet.pl/programtv.onet.pl.channels.xml --output=guide.xml +// npm run grab -- --site=programtv.onet.pl const MockDate = require('mockdate') const { parser, url } = require('./programtv.onet.pl.config.js') @@ -13,7 +13,8 @@ const channel = { site_id: '13th-street-250', xmltv_id: '13thStreet.de' } -const content = `
    13th Street
    • 03:20
      Law & Order, odc. 15: Letzte Worte Krimiserie

      Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....

    • 23:30
      Navy CIS, odc. 1: New Orleans Krimiserie

      Der Abgeordnete Dan McLane, ein ehemaliger Vorgesetzter von Gibbs, wird in New Orleans ermordet. In den 90er Jahren...

    • 01:00
      Navy CIS: L.A, odc. 13: High Society Krimiserie

      Die Zahl der Drogentoten ist gestiegen. Das Team des NCIS glaubt, dass sich Terroristen durch den zunehmenden...

    ` +const content = + '
    13th Street
    • 03:20
      Law & Order, odc. 15: Letzte Worte Krimiserie

      Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....

    • 23:30
      Navy CIS, odc. 1: New Orleans Krimiserie

      Der Abgeordnete Dan McLane, ein ehemaliger Vorgesetzter von Gibbs, wird in New Orleans ermordet. In den 90er Jahren...

    • 01:00
      Navy CIS: L.A, odc. 13: High Society Krimiserie

      Die Zahl der Drogentoten ist gestiegen. Das Team des NCIS glaubt, dass sich Terroristen durch den zunehmenden...

    ' it('can generate valid url', () => { MockDate.set(dayjs.utc('2021-11-24', 'YYYY-MM-DD').startOf('d')) @@ -42,14 +43,15 @@ it('can parse response', () => { { start: '2021-11-24T02:20:00.000Z', stop: '2021-11-24T22:30:00.000Z', - title: `Law & Order, odc. 15: Letzte Worte`, + title: 'Law & Order, odc. 15: Letzte Worte', category: 'Krimiserie', - description: `Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....` + description: + 'Bei einer Reality-TV-Show stirbt einer der Teilnehmer. Zunächst tappen Briscoe (Jerry Orbach) und Green (Jesse L....' }, { start: '2021-11-24T22:30:00.000Z', stop: '2021-11-25T00:00:00.000Z', - title: `Navy CIS, odc. 1: New Orleans`, + title: 'Navy CIS, odc. 1: New Orleans', category: 'Krimiserie', description: 'Der Abgeordnete Dan McLane, ein ehemaliger Vorgesetzter von Gibbs, wird in New Orleans ermordet. In den 90er Jahren...' @@ -57,7 +59,7 @@ it('can parse response', () => { { start: '2021-11-25T00:00:00.000Z', stop: '2021-11-25T01:00:00.000Z', - title: `Navy CIS: L.A, odc. 13: High Society`, + title: 'Navy CIS: L.A, odc. 13: High Society', category: 'Krimiserie', description: 'Die Zahl der Drogentoten ist gestiegen. Das Team des NCIS glaubt, dass sich Terroristen durch den zunehmenden...' @@ -69,7 +71,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/proximusmwc.be/proximusmwc.be.channels.xml b/sites/proximusmwc.be/proximusmwc.be.channels.xml index cb6ad4db..df1421cf 100644 --- a/sites/proximusmwc.be/proximusmwc.be.channels.xml +++ b/sites/proximusmwc.be/proximusmwc.be.channels.xml @@ -1,212 +1,210 @@ - - - BRF TV HD - Das Erste - RTL - ZDF - BBC Ent - BBC First - BBC One - BBC Two - BBC World - CNN - eSportsONE - Euronews E - Extreme - FashionTV - MVTV - MTV Live HD - Penthouse Gold - TVE Int - 13è Rue HD - 2M Monde - AB3 - ABXPLO HD - Action - Antenne Centre HD - Al Aoula - Al Jazeera - Animaux - Arte - AUTOMOTO - Be1 - Be Ciné - Bel RTL - Be Séries - Boomerang F - Bouké HD - bx1 - C8 - Canal J - Canal Zoom - Cartoon F - Ciné+Classic - Ciné+Frisson - Ciné+Premier - ClubRTL - Comedy Central F - Crime District - Discovery F - Disn Ch HD F - Disn Jr F - Dobbit TV F - Dorcel XXX - E! F - Euronews F - Eurosp F - Eurosp2 F - France 2 - France 24 F - France 3 - France 4 - France 5 - Game One - Gulli HD - Histoire - KTO - La Trois - La Une - LCI - LN24 - Maghreb TV - Mangas - MaTélé - Melody.tv - MezzoLive - MTV F - MTV Hits - Museum TV - MyZen.tv - NGC F - NGC Wild F - nick F - nick jr F - No Télé HD - Paramount Channel - PickxLive F HD - Pickx+ F - Pickx+ Sports 10 F HD - Pickx+ Sports 1 F - Pickx+ Sports 3 F - Pickx+ Sports 4 F - Pickx+ Sports 5 F - Pickx+ Sports 6 F - Pickx+ Sports 7 F - Pickx+ Sports 8 F HD - Pickx+ Sports 9 F HD - Pink - PlugRTL - ContactV - RFM TV - RTC Liège HD - RTL-TVI - Sc et Vie TV - ST100TV F - SyFy F - TCM cinéma - Télé MB HD - Télé Sambre - TF1 - Tiji - TIPIK - TIPIK vision - TMC HD - TraceUrban - TREK - TV5 Monde - TV Breizh - TV Com - TV Lux - Ushuaïa - Vedia - Mediaset - RAI Uno - RAI Due - RAI Tre - Animal Pl - ATV - AVS HD - AVS Gent - Baby TV N - Boomerang N - BRUZZ HD - Canvas - Cartoon N - Comedy Central N - Discovery N - Disc Science - Disn Ch N - DisnJr N - Dobbit TV N - Dusk - Eclips - één - E! N - ES1 N - ES2 N - ES3 N - Eleven Pro League 1 (NL) - Eleven Pro League 2 (NL) - Eleven Pro League 3 (NL) - Eurosp N - Eurosp2 N - Focus TV HD - FOX - History - Insight TV - Inv Disc - Kanaal Z - Ketnet - Ment TV - MTV 80s - MTV N - NGC N - NGC Wild N - nick N - nick jr N - nick Toons - Njam! HD - NPO 1 - NPO 2 - NPO 3 - OUT tv - Passie XXX - Pebble TV - PickxLive N HD - Pickx+ N - Pickx+ Sports 10 N - Pickx+ Sports 1 N - Pickx+ Sports 2 N - Pickx+ Sports 3 N - Pickx+ Sports 4 N - Pickx+ Sports 5 N - Pickx+ Sports 6 N - Pickx+ Sports 7 N - Pickx+ Sports 8 N - Pickx+ Sports 9 N - Plattelands - Play4 - Play5 - Play6 - Play7 HD - Ring TV HD - ROB TV - RTV Kempen HD - RTV Mech HD - Sport 10 - Classica - ST100 Hits - ST100TV N - TLC - TVLimbC - TV Oost - Vlaamsparlement.tv - VTM - VTM 2 - VTM 3 - VTM 4 - VTM Gold - VTM Kids - - + + BRF TV HD + Das Erste + RTL + ZDF + BBC Ent + BBC First + BBC One + BBC Two + BBC World + CNN + eSportsONE + Euronews E + Extreme + FashionTV + MVTV + MTV Live HD + Penthouse Gold + TVE Int + 13è Rue HD + 2M Monde + AB3 + ABXPLO HD + Action + Antenne Centre HD + Al Aoula + Al Jazeera + Animaux + Arte + AUTOMOTO + Be1 + Be Ciné + Bel RTL + Be Séries + Boomerang F + Bouké HD + bx1 + C8 + Canal J + Canal Zoom + Cartoon F + Ciné+Classic + Ciné+Frisson + Ciné+Premier + ClubRTL + Comedy Central F + Crime District + Discovery F + Disn Ch HD F + Disn Jr F + Dobbit TV F + Dorcel XXX + E! F + Euronews F + Eurosp F + Eurosp2 F + France 2 + France 24 F + France 3 + France 4 + France 5 + Game One + Gulli HD + Histoire + KTO + La Trois + La Une + LCI + LN24 + Maghreb TV + Mangas + MaTélé + Melody.tv + MezzoLive + MTV F + MTV Hits + Museum TV + MyZen.tv + NGC F + NGC Wild F + nick F + nick jr F + No Télé HD + Paramount Channel + PickxLive F HD + Pickx+ F + Pickx+ Sports 10 F HD + Pickx+ Sports 1 F + Pickx+ Sports 3 F + Pickx+ Sports 4 F + Pickx+ Sports 5 F + Pickx+ Sports 6 F + Pickx+ Sports 7 F + Pickx+ Sports 8 F HD + Pickx+ Sports 9 F HD + Pink + PlugRTL + ContactV + RFM TV + RTC Liège HD + RTL-TVI + Sc et Vie TV + ST100TV F + SyFy F + TCM cinéma + Télé MB HD + Télé Sambre + TF1 + Tiji + TIPIK + TIPIK vision + TMC HD + TraceUrban + TREK + TV5 Monde + TV Breizh + TV Com + TV Lux + Ushuaïa + Vedia + Mediaset + RAI Uno + RAI Due + RAI Tre + Animal Pl + ATV + AVS HD + AVS Gent + Baby TV N + Boomerang N + BRUZZ HD + Canvas + Cartoon N + Comedy Central N + Discovery N + Disc Science + Disn Ch N + DisnJr N + Dobbit TV N + Dusk + Eclips + één + E! N + ES1 N + ES2 N + ES3 N + Eleven Pro League 1 (NL) + Eleven Pro League 2 (NL) + Eleven Pro League 3 (NL) + Eurosp N + Eurosp2 N + Focus TV HD + FOX + History + Insight TV + Inv Disc + Kanaal Z + Ketnet + Ment TV + MTV 80s + MTV N + NGC N + NGC Wild N + nick N + nick jr N + nick Toons + Njam! HD + NPO 1 + NPO 2 + NPO 3 + OUT tv + Passie XXX + Pebble TV + PickxLive N HD + Pickx+ N + Pickx+ Sports 10 N + Pickx+ Sports 1 N + Pickx+ Sports 2 N + Pickx+ Sports 3 N + Pickx+ Sports 4 N + Pickx+ Sports 5 N + Pickx+ Sports 6 N + Pickx+ Sports 7 N + Pickx+ Sports 8 N + Pickx+ Sports 9 N + Plattelands + Play4 + Play5 + Play6 + Play7 HD + Ring TV HD + ROB TV + RTV Kempen HD + RTV Mech HD + Sport 10 + Classica + ST100 Hits + ST100TV N + TLC + TVLimbC + TV Oost + Vlaamsparlement.tv + VTM + VTM 2 + VTM 3 + VTM 4 + VTM Gold + VTM Kids + diff --git a/sites/proximusmwc.be/proximusmwc.be.config.js b/sites/proximusmwc.be/proximusmwc.be.config.js index dd60ecf0..d61f01f7 100644 --- a/sites/proximusmwc.be/proximusmwc.be.config.js +++ b/sites/proximusmwc.be/proximusmwc.be.config.js @@ -4,7 +4,6 @@ const dayjs = require('dayjs') module.exports = { site: 'proximusmwc.be', days: 2, - skip: true, // site is not working (https://github.com/iptv-org/epg/runs/5505070902?check_suite_focus=true) url: 'https://api.proximusmwc.be/v2/graphql', request: { headers: { @@ -23,7 +22,7 @@ module.exports = { } } }, - parser: function ({ content, date, channel }) { + parser: function ({ content }) { const programs = [] const items = parseItems(content) items.forEach(item => { @@ -47,7 +46,7 @@ module.exports = { 'query getPlayableChannels($language: String!, $queryParams: ChannelQueryParams, $id: String) { playableChannels(language: $language, queryParams: $queryParams, id: $id) { id name language radio }}' } const data = await axios - .post(`https://api.proximusmwc.be/v2/graphql`, query) + .post('https://api.proximusmwc.be/v2/graphql', query) .then(r => r.data) .catch(console.log) diff --git a/sites/proximusmwc.be/proximusmwc.be.test.js b/sites/proximusmwc.be/proximusmwc.be.test.js index 15d38c1b..491d8f0f 100644 --- a/sites/proximusmwc.be/proximusmwc.be.test.js +++ b/sites/proximusmwc.be/proximusmwc.be.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/proximusmwc.be/proximusmwc.be.config.js --output=./sites/proximusmwc.be/proximusmwc.be.channels.xml -// npx epg-grabber --config=sites/proximusmwc.be/proximusmwc.be.config.js --channels=sites/proximusmwc.be/proximusmwc.be.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=proximusmwc.be const { parser, url, request } = require('./proximusmwc.be.config.js') const dayjs = require('dayjs') @@ -38,7 +38,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `{"data":{"schedulesByInterval":[{"trailId":"UID0024_202202225537","programReferenceNumber":"107504040014","channelId":"UID0024","title":"Der Bozen-Krimi","category":"C.Magazine","startTime":1646350800,"endTime":1646356200,"description":"Chiara Schoras alias \\"Capo\\" Sonja Schwarz muss im 14. Bozen-Krimi nicht nur einen widersprüchlichen Mordfall aufklären, sondern auch ein Geheimnis ans Licht bringen, das zwei Familien auf schmerzhafte Weise untrennbar verbindet.","image":[{"key":"source","url":"https://experience-cache.proximustv.be:443/posterserver/poster/EPG/250_250_BF6BF77FC28F72FA23EAEA6CAAE98B60.jpg","__typename":"Image"},{"key":"custom","url":"https://experience-cache.proximustv.be:443/posterserver/poster/EPG/w-%width%_h-%height%/250_250_BF6BF77FC28F72FA23EAEA6CAAE98B60.jpg","__typename":"Image"}]}]}}` + const content = + '{"data":{"schedulesByInterval":[{"trailId":"UID0024_202202225537","programReferenceNumber":"107504040014","channelId":"UID0024","title":"Der Bozen-Krimi","category":"C.Magazine","startTime":1646350800,"endTime":1646356200,"description":"Chiara Schoras alias \\"Capo\\" Sonja Schwarz muss im 14. Bozen-Krimi nicht nur einen widersprüchlichen Mordfall aufklären, sondern auch ein Geheimnis ans Licht bringen, das zwei Familien auf schmerzhafte Weise untrennbar verbindet.","image":[{"key":"source","url":"https://experience-cache.proximustv.be:443/posterserver/poster/EPG/250_250_BF6BF77FC28F72FA23EAEA6CAAE98B60.jpg","__typename":"Image"},{"key":"custom","url":"https://experience-cache.proximustv.be:443/posterserver/poster/EPG/w-%width%_h-%height%/250_250_BF6BF77FC28F72FA23EAEA6CAAE98B60.jpg","__typename":"Image"}]}]}}' const result = parser({ content, channel, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -49,7 +50,7 @@ it('can parse response', () => { { start: '2022-03-03T23:40:00.000Z', stop: '2022-03-04T01:10:00.000Z', - title: `Der Bozen-Krimi`, + title: 'Der Bozen-Krimi', description: 'Chiara Schoras alias "Capo" Sonja Schwarz muss im 14. Bozen-Krimi nicht nur einen widersprüchlichen Mordfall aufklären, sondern auch ein Geheimnis ans Licht bringen, das zwei Familien auf schmerzhafte Weise untrennbar verbindet.', category: 'Magazine', @@ -62,7 +63,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"data":{"schedulesByInterval":[]}}` + content: '{"data":{"schedulesByInterval":[]}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/raiplay.it/raiplay.it.channels.xml b/sites/raiplay.it/raiplay.it.channels.xml index 12b7a445..b1460f33 100644 --- a/sites/raiplay.it/raiplay.it.channels.xml +++ b/sites/raiplay.it/raiplay.it.channels.xml @@ -1,19 +1,17 @@ - - - Rai 1 - Rai 2 - Rai 3 - Rai 4 - Rai 5 - Rai Movie - Rai Premium - Rai Gulp - Rai Yoyo - Rai Storia - Rai Scuola - Rai News 24 - Rai Sport + HD - Rai Sport - - + + Rai 1 + Rai 2 + Rai 3 + Rai 4 + Rai 5 + Rai Gulp + Rai Movie + Rai News 24 + Rai Premium + Rai Scuola + Rai Sport + Rai Sport + HD + Rai Storia + Rai Yoyo + diff --git a/sites/raiplay.it/raiplay.it.test.js b/sites/raiplay.it/raiplay.it.test.js index 67534330..a7a2cc4f 100644 --- a/sites/raiplay.it/raiplay.it.test.js +++ b/sites/raiplay.it/raiplay.it.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/raiplay.it/raiplay.it.config.js --channels=sites/raiplay.it/raiplay.it.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=raiplay.it const { parser, url } = require('./raiplay.it.config.js') const dayjs = require('dayjs') @@ -18,7 +18,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{ "id": "Page-e120a813-1b92-4057-a214-15943d95aa68", "title": "Pagina Palinsesto", "channel": "Rai 2", "date": "03-05-2022", "events": [ { "id": "ContentItem-2f81030d-803b-456a-9ea5-40233234fd9d", "name": "The Good Doctor S3E5 - La prima volta", "episode_title": "La prima volta", "episode": "5", "season": "3", "description": "Shaun affronta il suo primo intervento. Il caso si rivela complicato e, nonostante Shaun abbia un'idea geniale, sarà Andrews a portare a termine l'operazione.", "channel": "Rai 2", "date": "03/05/2022", "hour": "19:40", "duration": "00:50:00", "duration_in_minutes": "50 min", "path_id": "", "weblink": "", "event_weblink": "/dirette/rai2/The-Good-Doctor-S3E5---La-prima-volta-2f81030d-803b-456a-9ea5-40233234fd9d.html", "has_video": false, "image": "/dl/img/2020/03/09/1583748471860_dddddd.jpg", "playlist_id": "11430689", "program": { "name": "The Good Doctor", "path_id": "/programmi/thegooddoctor.json", "info_url": "/programmi/info/757edeac-6fff-4dea-afcd-0bcb39f9ea83.json", "weblink": "/programmi/thegooddoctor" } } ], "track_info": { "id": "", "domain": "raiplay", "platform": "[platform]", "media_type": "", "page_type": "", "editor": "raiplay", "year": "2019", "edit_year": "", "section": "guida tv", "sub_section": "rai 2", "content": "guida tv", "title": "", "channel": "", "date": "2019-09-08", "typology": "", "genres": [], "sub_genres": [], "program_title": "", "program_typology": "", "program_genres": [], "program_sub_genres": [], "edition": "", "season": "", "episode_number": "", "episode_title": "", "form": "", "listaDateMo": [], "dfp": {} }}` + const content = + '{ "id": "Page-e120a813-1b92-4057-a214-15943d95aa68", "title": "Pagina Palinsesto", "channel": "Rai 2", "date": "03-05-2022", "events": [ { "id": "ContentItem-2f81030d-803b-456a-9ea5-40233234fd9d", "name": "The Good Doctor S3E5 - La prima volta", "episode_title": "La prima volta", "episode": "5", "season": "3", "description": "Shaun affronta il suo primo intervento. Il caso si rivela complicato e, nonostante Shaun abbia un\'idea geniale, sarà Andrews a portare a termine l\'operazione.", "channel": "Rai 2", "date": "03/05/2022", "hour": "19:40", "duration": "00:50:00", "duration_in_minutes": "50 min", "path_id": "", "weblink": "", "event_weblink": "/dirette/rai2/The-Good-Doctor-S3E5---La-prima-volta-2f81030d-803b-456a-9ea5-40233234fd9d.html", "has_video": false, "image": "/dl/img/2020/03/09/1583748471860_dddddd.jpg", "playlist_id": "11430689", "program": { "name": "The Good Doctor", "path_id": "/programmi/thegooddoctor.json", "info_url": "/programmi/info/757edeac-6fff-4dea-afcd-0bcb39f9ea83.json", "weblink": "/programmi/thegooddoctor" } } ], "track_info": { "id": "", "domain": "raiplay", "platform": "[platform]", "media_type": "", "page_type": "", "editor": "raiplay", "year": "2019", "edit_year": "", "section": "guida tv", "sub_section": "rai 2", "content": "guida tv", "title": "", "channel": "", "date": "2019-09-08", "typology": "", "genres": [], "sub_genres": [], "program_title": "", "program_typology": "", "program_genres": [], "program_sub_genres": [], "edition": "", "season": "", "episode_number": "", "episode_title": "", "form": "", "listaDateMo": [], "dfp": {} }}' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -44,7 +45,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"events":[],"total":0}` + content: '{"events":[],"total":0}' }) expect(result).toMatchObject([]) }) diff --git a/sites/reportv.com.ar/reportv.com.ar.channels.xml b/sites/reportv.com.ar/reportv.com.ar.channels.xml index 42b5b538..68db4f4d 100644 --- a/sites/reportv.com.ar/reportv.com.ar.channels.xml +++ b/sites/reportv.com.ar/reportv.com.ar.channels.xml @@ -1,166 +1,164 @@ - - - ADRENALINA SPORTS NETWORK - AGROTENDENCIA - AMC - ANIMAL PLANET - ANTENA3 - ANTV - ÁVILA TV - BABY TV - BETHEL - BOLIVIA TV - BRAZZERS TV - CNN - CANAL I - CINEMAX - COLOMBEIA - COMEDY CENTRAL - CONCIENCIA TV - DW ESPAÑOL - DIRECTV SPORTS 2 - DIRECTV SPORTS + - DISCOVERY HOME AND HEALTH - DISCOVERY SCIENCE - DISCOVERY HD THEATER - DISCOVERY TURBO - DISNEY JR - EWTN - EL GOURMET - EUROCHANNEL - EUROPA EUROPA - FILM&ARTS - FOOD NETWORK HD - GLITZ - GLOBOVISION - GOLDEN EDGE HD - GOLDEN - GOLDEN PLUS HD - GOLDEN PREMIER - HBO 2 - HBO FAMILY - HBO - HBO MUNDI - HBO PLUS - HBO POP PANAMERICANO - HBO SIGNATURE - HBO XTREME - HGTV - HTV - H2 - HISTORY - HOLA TV - I-SAT - IVC - LA VOZ DE MARIA - LAS ESTRELLAS - LIFETIME - VH1 CLASSIC - MTV - MAS CHIC - MERIDIANO TV - MULTIPREMIER - NICK JR - NICKELODEON - PARAMOUNT NETWORK - PASIONES HD - PENTHOUSE - PLAYBOY - RTP INTERNACIONAL - RUSSIA TODAY - RAI - SERTV - STUDIO UNIVERSAL - SUN CHANNEL - SY FY - TBS VERYFUNNY - TCM - TLC - TLT - TNT - TVE - FANB TV - TV FAMILIA - TVES - TELEFE INTERNACIONAL - TELEMUNDO - TELESUR - TELEVEN - TLNOVELAS - TOONCAST - TRU TV - VALE TV - VENEVISION PLUS - VENEVISION - VTV - VENUS - TVEPACO - VIVE TV - WARNER - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ADRENALINA SPORTS NETWORK + AGROTENDENCIA + AMC + ANIMAL PLANET + ANTENA3 + ANTV + ÁVILA TV + BABY TV + BETHEL + BOLIVIA TV + BRAZZERS TV + CANAL I + CINEMAX + CNN + COLOMBEIA + COMEDY CENTRAL + CONCIENCIA TV + DIRECTV SPORTS 2 + DIRECTV SPORTS + + DISCOVERY HOME AND HEALTH + DISCOVERY SCIENCE + DISCOVERY HD THEATER + DISCOVERY TURBO + DISNEY JR + DW ESPAÑOL + EL GOURMET + EUROCHANNEL + EUROPA EUROPA + EWTN + FILM&ARTS + FOOD NETWORK HD + GLITZ + GLOBOVISION + GOLDEN EDGE HD + GOLDEN + GOLDEN PLUS HD + GOLDEN PREMIER + HBO 2 + HBO FAMILY + HBO + HBO MUNDI + HBO PLUS + HBO POP PANAMERICANO + HBO SIGNATURE + HBO XTREME + HGTV + H2 + HISTORY + HOLA TV + HTV + I-SAT + IVC + LAS ESTRELLAS + LA VOZ DE MARIA + LIFETIME + MAS CHIC + MERIDIANO TV + VH1 CLASSIC + MTV + MULTIPREMIER + NICKELODEON + NICK JR + PARAMOUNT NETWORK + PASIONES HD + PENTHOUSE + PLAYBOY + RAI + RUSSIA TODAY + RTP INTERNACIONAL + SERTV + STUDIO UNIVERSAL + SUN CHANNEL + SY FY + TBS VERYFUNNY + TCM + TELEFE INTERNACIONAL + TELEMUNDO + TELESUR + TELEVEN + TLC + TLNOVELAS + TLT + TNT + TOONCAST + TRU TV + TVE + TVES + TV FAMILIA + FANB TV + VALE TV + VENEVISION + VTV + VENUS + TVEPACO + VENEVISION PLUS + VIVE TV + WARNER + diff --git a/sites/reportv.com.ar/reportv.com.ar.config.js b/sites/reportv.com.ar/reportv.com.ar.config.js index 70adb8e2..974fe891 100644 --- a/sites/reportv.com.ar/reportv.com.ar.config.js +++ b/sites/reportv.com.ar/reportv.com.ar.config.js @@ -32,7 +32,7 @@ module.exports = { return formData } }, - url: `https://www.reportv.com.ar/buscador/ProgXSenial.php`, + url: 'https://www.reportv.com.ar/buscador/ProgXSenial.php', parser: async function ({ content, date }) { let programs = [] const items = parseItems(content, date) @@ -58,7 +58,7 @@ module.exports = { }, async channels() { const content = await axios - .get(`https://www.reportv.com.ar/buscador/Buscador.php?aid=2694`) + .get('https://www.reportv.com.ar/buscador/Buscador.php?aid=2694') .then(r => r.data) .catch(console.log) const $ = cheerio.load(content) @@ -77,7 +77,7 @@ async function loadProgramDetails($item) { const onclick = $item('*').attr('onclick') const regexp = /detallePrograma\((\d+),(\d+),(\d+),(\d+),'([^']+)'\);/g const match = [...onclick.matchAll(regexp)] - const [_, id, idc, id_alineacion, idp, title] = match[0] + const [, id, idc, id_alineacion, idp, title] = match[0] if (!id || !idc || !id_alineacion || !idp || !title) return Promise.resolve({}) const formData = new URLSearchParams() formData.append('id', id) @@ -86,7 +86,7 @@ async function loadProgramDetails($item) { formData.append('idp', idp) formData.append('title', title) const content = await axios - .post(`https://www.reportv.com.ar/buscador/DetallePrograma.php`, formData) + .post('https://www.reportv.com.ar/buscador/DetallePrograma.php', formData) .then(r => r.data.toString()) .catch(console.error) if (!content) return Promise.resolve({}) @@ -139,7 +139,7 @@ function parseIcon($) { } function parseTitle($item) { - const [_, title] = $item('div:nth-child(1) > span').text().split(' - ') + const [, title] = $item('div:nth-child(1) > span').text().split(' - ') return title } @@ -149,7 +149,7 @@ function parseCategory($item) { } function parseStart($item, date) { - const [time, _] = $item('div:nth-child(1) > span').text().split(' - ') + const [time] = $item('div:nth-child(1) > span').text().split(' - ') return dayjs.tz(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm', 'America/Caracas') } diff --git a/sites/reportv.com.ar/reportv.com.ar.test.js b/sites/reportv.com.ar/reportv.com.ar.test.js index cc624163..44367883 100644 --- a/sites/reportv.com.ar/reportv.com.ar.test.js +++ b/sites/reportv.com.ar/reportv.com.ar.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/reportv.com.ar/reportv.com.ar.config.js --channels=sites/reportv.com.ar/reportv.com.ar.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=reportv.com.ar // npm run channels:parse -- --config=./sites/reportv.com.ar/reportv.com.ar.config.js --output=./sites/reportv.com.ar/reportv.com.ar.channels.xml const { parser, url, request } = require('./reportv.com.ar.config.js') diff --git a/sites/rev.bs/rev.bs.channels.xml b/sites/rev.bs/rev.bs.channels.xml index 223b477e..315d8b0d 100644 --- a/sites/rev.bs/rev.bs.channels.xml +++ b/sites/rev.bs/rev.bs.channels.xml @@ -1,185 +1,183 @@ - - - 3ABN English - A&E East - Aljazeera English - AMC East - Animal Planet East - Ant1 Satellite - AWE - AXS TV - BabyFirst TV - BBC America East - BBC World News Americas - BCN TV - BET East - BET Gospel - BET Her East - BET Jams - BET Soul - Big Ten Network - Bloomberg TV US - Boomerang US - Bounce - Bravo - Cala Classics - Cala Weather - CaribVision - Cartoon Network East - CBC Toronto - CCTV 4 America - CCTV 9 - CTV Toronto - Cinemax East - Citytv Toronto - CMT Music - CNBC US - CNN USA - CNN International Latin America - Comedy Central East - Comedy TV - Cooking Channel - Court TV Mystery - Curiosity Channel - Daystar TV - Discovery Channel East - Discovery Home & Health - Discovery Kids - Discovery Science - Discovery Theater - Discovery Turbo - Disney Channel East - Disney Junior East - Disney XD East - DIY Network - DW English - E! East - ESPN 2 Caribbean - ESPN Caribbean - ESPNU - Es TV - Eurochannel - EuroNews English - EWTN US - Fight Network - Food Network East - Fox Business - Fox News Channel - Fox Soccer Plus - FS2 - Fox Sports Racing - FX East - FYI East - Game+ - Game Show Network East - Golf Channel US - Gone Viral Music - Gone Viral TV - Gone Viral Vogue - Gone Viral X-treme - Grit - HBO 2 - HBO East - HBO Family Latinoamérica - HBO + Latinoamérica - HBO Pop Latinoamérica - HBO Xtreme Latinoamérica - HGTV East - History East - HLN - Hope Channel North America - Impact Network - Inspiration TV - Investigation Discovery East - ION Plus East - ION TV East - I-Sat - Island Luck TV - Island TV - JCN Channel 14 - Jewelry TV - Justice Central TV - FOX (KAYU) Spokane, WA - CBS (KIRO) Seattle, WA - KTLA Los Angeles, CA - ABC (KTVX) Salt Lake City, UT - Law & Crime - Lifetime East - Lifetime Movies East - Lifetime Real Women - MavTV - MLB Network - Movies! - MSNBC - MTV 2 East - MTV East - My Destination TV - National Geographic East - National Geographic Wild - NBA TV - NBCSN - NFL Network - Nickelodeon East - NickMusic US - One America News Network - One Caribbean TV - Oprah Winfrey Network East - Our TV - Outdoor Channel - Paramount Network East - PBS Kids - Pursuit Channel - Quest UK - Rai Italia Nord America - Recipe TV - Revolt - SEC Network - Space México - SportsMax - SportsMax 2 - Star Action - Star Cinema - Star Classics - Star Comedy - Star Fun - Star Hits - Star Series - Syfy Panregional - TBN US - TBS East - TCM - TeenNick East - Tele Pacific - Tempo Networks - The Africa Channel - The Parliamentary Channel - The Weather Channel - The Word Network - TLC East - TNT East - Travel Channel East - Treehouse TV - Tru TV East - TSN 1 - TV5Monde États-Unis - TV One - TVO - Univisión Este - VH1 East - Vice East - Warner Channel Panregional - CBS (WFOR) Miami, FL - WGN-TV - PBS (WPBT) Miami, FL - WPIX-TV - ABC (WPLG) Miami, FL - NBC (WPTV) West Palm Beach, FL - FOX (WSVN) Miami, FL - NBC (WTVJ) Miami, FL - MyNetworkTV (WWOR) New York, NY - YTV - ZNS TV - - - + + + 3ABN English + A&E East + Aljazeera English + AMC East + Animal Planet East + Ant1 Satellite + AWE + AXS TV + BabyFirst TV + BBC America East + BBC World News Americas + BCN TV + BET East + BET Gospel + BET Her East + BET Jams + BET Soul + Big Ten Network + Bloomberg TV US + Boomerang US + Bounce + Bravo + Cala Classics + Cala Weather + CaribVision + Cartoon Network East + CBC Toronto + CCTV 4 America + CCTV 9 + CTV Toronto + TVO + Cinemax East + Citytv Toronto + CMT Music + CNBC US + CNN USA + CNN International Latin America + Comedy Central East + Comedy TV + Cooking Channel + Court TV Mystery + Curiosity Channel + Daystar TV + Discovery Channel East + Discovery Home & Health + Discovery Kids + Discovery Science + Discovery Theater + Discovery Turbo + Disney Channel East + Disney Junior East + Disney XD East + DIY Network + DW English + E! East + ESPN 2 Caribbean + ESPN Caribbean + ESPNU + Es TV + Eurochannel + EuroNews English + EWTN US + Fight Network + Food Network East + Fox Business + Fox News Channel + Fox Soccer Plus + FS2 + Fox Sports Racing + FX East + FYI East + Game+ + Game Show Network East + Golf Channel US + Gone Viral Music + Gone Viral TV + Gone Viral Vogue + Gone Viral X-treme + Grit + HBO 2 + HBO East + HBO Family Latinoamérica + HBO + Latinoamérica + HBO Pop Latinoamérica + HBO Xtreme Latinoamérica + HGTV East + History East + HLN + Hope Channel North America + Impact Network + Inspiration TV + Investigation Discovery East + ION Plus East + ION TV East + I-Sat + Island Luck TV + Island TV + JCN Channel 14 + Jewelry TV + Justice Central TV + FOX (KAYU) Spokane, WA + CBS (KIRO) Seattle, WA + KTLA Los Angeles, CA + ABC (KTVX) Salt Lake City, UT + Law & Crime + Lifetime East + Lifetime Movies East + Lifetime Real Women + MavTV + MLB Network + Movies! + MSNBC + MTV 2 East + MTV East + My Destination TV + National Geographic East + National Geographic Wild + NBA TV + NBCSN + NFL Network + Nickelodeon East + NickMusic US + One America News Network + One Caribbean TV + Our TV + Outdoor Channel + Oprah Winfrey Network East + Paramount Network East + PBS Kids + Pursuit Channel + Quest UK + Rai Italia Nord America + Recipe TV + Revolt + SEC Network + Space México + SportsMax + SportsMax 2 + Star Action + Star Cinema + Star Classics + Star Comedy + Star Fun + Star Hits + Star Series + Syfy Panregional + TBN US + TBS East + TCM + TeenNick East + Tele Pacific + Tempo Networks + The Africa Channel + The Parliamentary Channel + The Weather Channel + The Word Network + TLC East + TNT East + Travel Channel East + Treehouse TV + Tru TV East + TSN 1 + TV5Monde États-Unis + TV One + Univisión Este + VH1 East + Vice East + Warner Channel Panregional + CBS (WFOR) Miami, FL + WGN-TV + PBS (WPBT) Miami, FL + WPIX-TV + ABC (WPLG) Miami, FL + NBC (WPTV) West Palm Beach, FL + FOX (WSVN) Miami, FL + NBC (WTVJ) Miami, FL + MyNetworkTV (WWOR) New York, NY + YTV + ZNS TV + diff --git a/sites/rev.bs/rev.bs.config.js b/sites/rev.bs/rev.bs.config.js index a2997e04..454a02f4 100644 --- a/sites/rev.bs/rev.bs.config.js +++ b/sites/rev.bs/rev.bs.config.js @@ -58,7 +58,10 @@ function parseItems(content, channel) { let data try { data = JSON.parse(content) - } catch (err) {} + } catch (error) { + return [] + } + if (!data || data.status !== 'OK') return [] return data.data.schedule[channel.site_id] || [] diff --git a/sites/rev.bs/rev.bs.test.js b/sites/rev.bs/rev.bs.test.js index 3b778bd9..96897def 100644 --- a/sites/rev.bs/rev.bs.test.js +++ b/sites/rev.bs/rev.bs.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/rev.bs/rev.bs.config.js --output=./sites/rev.bs/rev.bs.channels.xml -// npx epg-grabber --config=sites/rev.bs/rev.bs.config.js --channels=sites/rev.bs/rev.bs.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/rev.bs/rev.bs.config.js --output=./sites/rev.bs/rev.bs.channels.xml +// npm run grab -- --site=rev.bs const { parser, url } = require('./rev.bs.config.js') const axios = require('axios') @@ -29,17 +29,18 @@ it('can parse response', done => { if (url === 'https://www.rev.bs/wp-content/uploads/tv-guide/2021-11-21_1.json') { return Promise.resolve({ data: Buffer.from( - `{"status":"OK","data":{"schedule":{"206":[{"title":"Talk Stoop","sid":43599836,"s":"330.0000","duration":30,"rating":"TVPG"}]}}}` + '{"status":"OK","data":{"schedule":{"206":[{"title":"Talk Stoop","sid":43599836,"s":"330.0000","duration":30,"rating":"TVPG"}]}}}' ) }) } else { return Promise.resolve({ - data: Buffer.from(`{"status":"OK","data":{"schedule":{}}}`) + data: Buffer.from('{"status":"OK","data":{"schedule":{}}}') }) } }) - const content = `{"status":"OK","data":{"schedule":{"205":[{"title":"Rev Pulse 5 - Online Classifieds","sid":43576112,"s":"-120.0000","duration":120,"rating":""}],"206":[{"title":"Saturday Night Live","sid":43599827,"s":"-31.0000","duration":93,"rating":"TV14"}]}}}` + const content = + '{"status":"OK","data":{"schedule":{"205":[{"title":"Rev Pulse 5 - Online Classifieds","sid":43576112,"s":"-120.0000","duration":120,"rating":""}],"206":[{"title":"Saturday Night Live","sid":43599827,"s":"-31.0000","duration":93,"rating":"TV14"}]}}}' parser({ content, channel, date }) .then(result => { result = result.map(p => { @@ -51,12 +52,12 @@ it('can parse response', done => { { start: '2021-11-21T04:29:00.000Z', stop: '2021-11-21T06:02:00.000Z', - title: `Saturday Night Live` + title: 'Saturday Night Live' }, { start: '2021-11-21T10:30:00.000Z', stop: '2021-11-21T11:00:00.000Z', - title: `Talk Stoop` + title: 'Talk Stoop' } ]) done() @@ -70,7 +71,7 @@ it('can handle empty guide', done => { parser({ date, channel, - content: `` + content: '' }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/rotana.net/rotana.net.channels.xml b/sites/rotana.net/rotana.net.channels.xml index 35833c2a..96f48d1b 100644 --- a/sites/rotana.net/rotana.net.channels.xml +++ b/sites/rotana.net/rotana.net.channels.xml @@ -1,16 +1,14 @@ - - - LBC - Rotana Aflam+ - Rotana America - Rotana Cinema Egypt - Rotana Cinema KSA - Rotana Classic - Rotana Comedy - Rotana Drama - Rotana Khalejia - Rotana Kids - Rotana+ - - \ No newline at end of file + + LBC + Rotana Aflam+ + Rotana America + Rotana Cinema Egypt + Rotana Cinema KSA + Rotana Classic + Rotana Comedy + Rotana Drama + Rotana Khalejia + Rotana Kids + Rotana+ + \ No newline at end of file diff --git a/sites/rotana.net/rotana.net.config.js b/sites/rotana.net/rotana.net.config.js index 70ffe8c9..32e5e973 100644 --- a/sites/rotana.net/rotana.net.config.js +++ b/sites/rotana.net/rotana.net.config.js @@ -10,8 +10,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'rotana.net', days: 2, - skip: true, // NOTE: there is no program for the current date on the site - url({ channel, date }) { + url({ channel }) { return `https://rotana.net/triAssets/uploads/2020/11/${channel.site_id}.csv` }, request: { @@ -36,10 +35,6 @@ module.exports = { } } -function parseIcon(item) { - return item.pictures && item.pictures.length ? item.pictures[0].href : null -} - function parseStart(item) { const time = `${item['Start Date']} ${item['Start Time']}` diff --git a/sites/rotana.net/rotana.net.test.js b/sites/rotana.net/rotana.net.test.js index 1778de96..a10fe57f 100644 --- a/sites/rotana.net/rotana.net.test.js +++ b/sites/rotana.net/rotana.net.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/rotana.net/rotana.net.config.js --channels=sites/rotana.net/rotana.net.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=rotana.net -const { parser, url, request } = require('./rotana.net.config.js') +const { parser, url } = require('./rotana.net.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -31,7 +31,7 @@ it('can parse response', done => { stop: '2021-11-08T03:00:00.000Z', title: 'كورة', category: 'Generic', - description: `` + description: '' } ]) done() @@ -45,7 +45,7 @@ it('can handle empty guide', done => { parser({ date, channel, - buffer: Buffer.from(``) + buffer: Buffer.from('') }) .then(result => { expect(result).toMatchObject([]) diff --git a/sites/rtb.gov.bn/rtb.gov.bn.channels.xml b/sites/rtb.gov.bn/rtb.gov.bn.channels.xml index 7d6dc71e..1b0d0eed 100644 --- a/sites/rtb.gov.bn/rtb.gov.bn.channels.xml +++ b/sites/rtb.gov.bn/rtb.gov.bn.channels.xml @@ -1,8 +1,6 @@ - - - RTB Aneka - RTB Perdana - RTB Sukmaindera - - \ No newline at end of file + + RTB Aneka + RTB Perdana + RTB Sukmaindera + \ No newline at end of file diff --git a/sites/rtb.gov.bn/rtb.gov.bn.config.js b/sites/rtb.gov.bn/rtb.gov.bn.config.js index e6071fbd..306ceef8 100644 --- a/sites/rtb.gov.bn/rtb.gov.bn.config.js +++ b/sites/rtb.gov.bn/rtb.gov.bn.config.js @@ -9,12 +9,9 @@ dayjs.extend(timezone) dayjs.extend(customParseFormat) module.exports = { - skip: true, // INFO: guide is not available on the site site: 'rtb.gov.bn', days: 2, url: function ({ channel, date }) { - const [position] = channel.site_id.split('#') - return encodeURI( `http://www.rtb.gov.bn/PublishingImages/SitePages/Programme Guide/${ channel.site_id @@ -53,7 +50,13 @@ function parseStart(item, date) { } async function parseItems(buffer) { - const data = await pdf(buffer).catch(err => null) + let data + try { + data = await pdf(buffer) + } catch (err) { + return [] + } + if (!data) return [] return data.text @@ -64,7 +67,7 @@ async function parseItems(buffer) { return string && /^\d{2}:\d{2}/.test(string) }) .map(s => { - const [_, time, title] = s.trim().match(/^(\d{2}:\d{2}) (.*)/) || [null, null, null] + const [, time, title] = s.trim().match(/^(\d{2}:\d{2}) (.*)/) || [null, null, null] return { time, title } }) diff --git a/sites/rtb.gov.bn/rtb.gov.bn.test.js b/sites/rtb.gov.bn/rtb.gov.bn.test.js index 195e5f58..b3f1ca75 100644 --- a/sites/rtb.gov.bn/rtb.gov.bn.test.js +++ b/sites/rtb.gov.bn/rtb.gov.bn.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/rtb.gov.bn/rtb.gov.bn.config.js --channels=sites/rtb.gov.bn/rtb.gov.bn.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=rtb.gov.bn const { parser, url } = require('./rtb.gov.bn.config.js') const path = require('path') diff --git a/sites/rthk.hk/rthk.hk.channels.xml b/sites/rthk.hk/rthk.hk.channels.xml index 34842baa..79b5f643 100644 --- a/sites/rthk.hk/rthk.hk.channels.xml +++ b/sites/rthk.hk/rthk.hk.channels.xml @@ -1,13 +1,11 @@ - - - TV 31 - TV 32 - TV 33 - TV 34 - TV 31 - TV 32 - TV 33 - TV 34 - - + + TV 31 + TV 32 + TV 33 + TV 34 + TV 31 + TV 32 + TV 33 + TV 34 + diff --git a/sites/rthk.hk/rthk.hk.config.js b/sites/rthk.hk/rthk.hk.config.js index bc95b263..76f9987e 100644 --- a/sites/rthk.hk/rthk.hk.config.js +++ b/sites/rthk.hk/rthk.hk.config.js @@ -1,4 +1,3 @@ -const axios = require('axios') const dayjs = require('dayjs') const cheerio = require('cheerio') const utc = require('dayjs/plugin/utc') @@ -50,7 +49,7 @@ function parseIcon($item) { function parseCategories($item) { let cate = $item('.single-wrap').data('cate') || '' - let [_, categories] = cate.match(/^\|(.*)\|$/) || [null, ''] + let [, categories] = cate.match(/^\|(.*)\|$/) || [null, ''] return categories.split('||').filter(Boolean) } @@ -65,7 +64,7 @@ function parseSubTitle($item) { function parseStart($item, date) { const timeRow = $item('.timeRow').text().trim() - const [_, HH, mm] = timeRow.match(/^(\d+):(\d+)-/) || [null, null, null] + const [, HH, mm] = timeRow.match(/^(\d+):(\d+)-/) || [null, null, null] if (!HH || !mm) return null return dayjs.tz(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm', 'Asia/Hong_Kong') @@ -73,7 +72,7 @@ function parseStart($item, date) { function parseStop($item, date) { const timeRow = $item('.timeRow').text().trim() - const [_, HH, mm] = timeRow.match(/-(\d+):(\d+)$/) || [null, null, null] + const [, HH, mm] = timeRow.match(/-(\d+):(\d+)$/) || [null, null, null] if (!HH || !mm) return null return dayjs.tz(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm', 'Asia/Hong_Kong') diff --git a/sites/rthk.hk/rthk.hk.test.js b/sites/rthk.hk/rthk.hk.test.js index 140f4342..2917f1eb 100644 --- a/sites/rthk.hk/rthk.hk.test.js +++ b/sites/rthk.hk/rthk.hk.test.js @@ -1,9 +1,8 @@ -// npx epg-grabber --config=sites/rthk.hk/rthk.hk.config.js --channels=sites/rthk.hk/rthk.hk.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=rthk.hk const { parser, url, request } = require('./rthk.hk.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') diff --git a/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.channels.xml b/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.channels.xml index b2d372cf..9486b201 100644 --- a/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.channels.xml +++ b/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.channels.xml @@ -1,13 +1,11 @@ - - - TV1 - TV2 - RTM TV Okey - Sukan RTM - Berita RTM - TV6 - - - - + + + + Berita RTM + RTM TV Okey + Sukan RTM + TV1 + TV2 + TV6 + diff --git a/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.test.js b/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.test.js index cf561743..23c8a181 100644 --- a/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.test.js +++ b/sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.config.js --channels=sites/rtmklik.rtm.gov.my/rtmklik.rtm.gov.my.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=rtmklik.rtm.gov.my const { parser, url } = require('./rtmklik.rtm.gov.my.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"id":2,"channel":"TV2","channelId":"2","image":"/live_channel/tv2_Trans.png","idAuthor":9,"type":"TV","timezone":8,"dateCreated":"2022-07-08T01:22:33.233","dateModified":"2022-07-21T21:58:39.77","itemCount":30,"prev":"https://rtm-admin.glueapi.io/v3/epg/2/ChannelSchedule?dateStart=2022-09-03&dateEnd=2022-09-03","next":"https://rtm-admin.glueapi.io/v3/epg/2/ChannelSchedule?dateStart=2022-09-05&dateEnd=2022-09-05","schedule":[{"idEPGProgramSchedule":109303,"dateTimeStart":"2022-09-04T19:00:00","dateTimeEnd":"2022-09-04T20:00:00","scheduleProgramTitle":"Hope Of Life","scheduleProgramDescription":"Kisah kehidupan 3 pakar bedah yang berbeza status dan latar belakang, namun mereka komited dengan kerjaya mereka sebagai doktor. Lakonan : Johnson Low, Elvis Chin, Mayjune Tan, Kelvin Liew, Jacky Kam dan Katrina Ho.","scheduleEpisodeNumber":0,"scheduleSeries":0,"duration":3600,"idEPGProgram":3603,"programTitle":"Hope Of Life","description":"Kisah kehidupan 3 pakar bedah yang berbeza status dan latar belakang, namun mereka komited dengan kerjaya mereka sebagai doktor. Lakonan : Johnson Low, Elvis Chin, Mayjune Tan, Kelvin Liew, Jacky Kam dan Katrina Ho.","episodeNumber":0,"series":0,"repeat":"Never","dateModified":"2022-08-29T02:14:56.647","dateCreated":"0001-01-01T00:00:00"}]}` + const content = + '{"id":2,"channel":"TV2","channelId":"2","image":"/live_channel/tv2_Trans.png","idAuthor":9,"type":"TV","timezone":8,"dateCreated":"2022-07-08T01:22:33.233","dateModified":"2022-07-21T21:58:39.77","itemCount":30,"prev":"https://rtm-admin.glueapi.io/v3/epg/2/ChannelSchedule?dateStart=2022-09-03&dateEnd=2022-09-03","next":"https://rtm-admin.glueapi.io/v3/epg/2/ChannelSchedule?dateStart=2022-09-05&dateEnd=2022-09-05","schedule":[{"idEPGProgramSchedule":109303,"dateTimeStart":"2022-09-04T19:00:00","dateTimeEnd":"2022-09-04T20:00:00","scheduleProgramTitle":"Hope Of Life","scheduleProgramDescription":"Kisah kehidupan 3 pakar bedah yang berbeza status dan latar belakang, namun mereka komited dengan kerjaya mereka sebagai doktor. Lakonan : Johnson Low, Elvis Chin, Mayjune Tan, Kelvin Liew, Jacky Kam dan Katrina Ho.","scheduleEpisodeNumber":0,"scheduleSeries":0,"duration":3600,"idEPGProgram":3603,"programTitle":"Hope Of Life","description":"Kisah kehidupan 3 pakar bedah yang berbeza status dan latar belakang, namun mereka komited dengan kerjaya mereka sebagai doktor. Lakonan : Johnson Low, Elvis Chin, Mayjune Tan, Kelvin Liew, Jacky Kam dan Katrina Ho.","episodeNumber":0,"series":0,"repeat":"Never","dateModified":"2022-08-29T02:14:56.647","dateCreated":"0001-01-01T00:00:00"}]}' const result = parser({ content, channel, date }).map(p => { p.start = p.start.toJSON() @@ -43,7 +44,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"id":2,"channel":"TV2","channelId":"2","schedule":[]}` + content: '{"id":2,"channel":"TV2","channelId":"2","schedule":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/rtp.pt/rtp.pt.channels.xml b/sites/rtp.pt/rtp.pt.channels.xml index 5f113cdc..c79ffaa7 100644 --- a/sites/rtp.pt/rtp.pt.channels.xml +++ b/sites/rtp.pt/rtp.pt.channels.xml @@ -1,15 +1,13 @@ - - - RTP1 - RTP2 - RTP3 - RTP Memória - RTP África - RTP Internacional - RTP Internacional América - RTP Internacional Ásia - RTP Açores - RTP Madeira - - + + RTP1 + RTP2 + RTP3 + RTP Açores + RTP África + RTP Internacional América + RTP Internacional Ásia + RTP Internacional + RTP Madeira + RTP Memória + diff --git a/sites/rtp.pt/rtp.pt.test.js b/sites/rtp.pt/rtp.pt.test.js index d584d249..6b1f9826 100644 --- a/sites/rtp.pt/rtp.pt.test.js +++ b/sites/rtp.pt/rtp.pt.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/rtp.pt/rtp.pt.config.js --output=./sites/rtp.pt/rtp.pt.channels.xml -// npx epg-grabber --config=sites/rtp.pt/rtp.pt.config.js --channels=sites/rtp.pt/rtp.pt.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=rtp.pt const { parser, url } = require('./rtp.pt.config.js') const fs = require('fs') diff --git a/sites/ruv.is/ruv.is.channels.xml b/sites/ruv.is/ruv.is.channels.xml index 7ceff5f7..45305b21 100644 --- a/sites/ruv.is/ruv.is.channels.xml +++ b/sites/ruv.is/ruv.is.channels.xml @@ -1,7 +1,5 @@ - - - RÚV - RÚV 2 - - \ No newline at end of file + + RÚV + RÚV 2 + \ No newline at end of file diff --git a/sites/ruv.is/ruv.is.config.js b/sites/ruv.is/ruv.is.config.js index 2263bdb7..355fd9dd 100644 --- a/sites/ruv.is/ruv.is.config.js +++ b/sites/ruv.is/ruv.is.config.js @@ -1,4 +1,3 @@ -const cheerio = require('cheerio') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const timezone = require('dayjs/plugin/timezone') @@ -72,7 +71,7 @@ function parseStop(item, date) { ) } -function parseItems(content, channel, date) { +function parseItems(content) { const data = JSON.parse(content) if (!data || !Array.isArray(data.data.Schedule.events)) return [] diff --git a/sites/ruv.is/ruv.is.test.js b/sites/ruv.is/ruv.is.test.js index d2509af3..f034d948 100644 --- a/sites/ruv.is/ruv.is.test.js +++ b/sites/ruv.is/ruv.is.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/ruv.is/ruv.is.config.js --channels=sites/ruv.is/ruv.is.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=ruv.is const { parser, url } = require('./ruv.is.config.js') const fs = require('fs') @@ -32,7 +32,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-17T13:00:00.000Z', stop: '2023-01-17T13:10:00.000Z', - title: `Heimaleikfimi`, + 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' diff --git a/sites/sat.tv/sat.tv.channels.xml b/sites/sat.tv/sat.tv.channels.xml index 08af8b1c..bdca358e 100644 --- a/sites/sat.tv/sat.tv.channels.xml +++ b/sites/sat.tv/sat.tv.channels.xml @@ -1,563 +1,561 @@ - - - 2M وطني - الامارات - أبو ظبي الرياضية 1 - أبو ظبي الرياضية 2 - أبو ظبي تي في - عدن - الآن - الاولى - العربي - السعودية الإخبارية - الحياة مسلسلات - الحياة - الجنوبية - المغربية - المملكة تي في - المصرية - الميادين - النهار دراما - الريان - السعودية - الشرقية - الشرقية للأخبار - السومرية - عمان تي في - الرياضية - الثقافية - القناة 9 - باهية - سي بي سي - سي بي سي دراما - سي بي سي سفرة - دجلة - دي ام سي - دي ام سي دراما - دبي ريسينج 1 - دبي ريسينج 2 - دبي ريسينج 3 - دبي الرياضية 1 - دبي الرياضية 2 - دبي الرياضية 3 - الشروق الإخبارية - الشروق - الحوار التونسي - المحور تي في - 1 التونسية الوطنية - النهار تي في - المصرية الأولى - الفجيرة - حنبعل - الأردني تي في - الخرطوم - دولة الكويت - الأولى - دولة الكويت - الثانية - ام بي سي 1 - ام بي سي 2 - ام بي سي 4 - نسمة الجديدة - نايل سينما - نايل كوميدي - نايل دراما - نايل لايف - نور دبي تي في - عُمان تي في - بانوراما فوود - قطر تي في - قطر 2 - روتانا سينما مصر - روتانا سينما السعودية - روتانا كلاسيك - روتانا دراما - روتانا خليجية - رؤيا تي في - صدى البلد - صدى البلد 2 - صدى البلد دراما - سميرة - اس بي سي - الشارقة الرياضية - الشارقة تي في - سكاي نيوز عربية - سبيس تون - السودان تي في - الأمازيغية - تلفزة - ذكريات - تونسنا - الجزائر تي في - الجزائرية الثالثة - الجزائرية الرابعة - الجزائرية الخامسة - الجزائرية السادسة - الجزائرية السابعة - الجزائرية الثامنة - ياس تي في - يمن شباب - اليمن تي في - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2M وطني + الامارات + أبو ظبي الرياضية 1 + أبو ظبي الرياضية 2 + أبو ظبي تي في + عدن + الآن + الاولى + العربي + السعودية الإخبارية + الحياة مسلسلات + الحياة + الجنوبية + المغربية + المملكة تي في + المصرية + الميادين + النهار دراما + الريان + السعودية + الشرقية + الشرقية للأخبار + السومرية + عمان تي في + الرياضية + الثقافية + القناة 9 + باهية + سي بي سي + سي بي سي دراما + سي بي سي سفرة + دجلة + دي ام سي + دي ام سي دراما + دبي ريسينج 1 + دبي ريسينج 2 + دبي ريسينج 3 + دبي الرياضية 1 + دبي الرياضية 2 + دبي الرياضية 3 + الشروق الإخبارية + الشروق + الحوار التونسي + المحور تي في + 1 التونسية الوطنية + النهار تي في + المصرية الأولى + الفجيرة + حنبعل + الأردني تي في + الخرطوم + دولة الكويت - الأولى + دولة الكويت - الثانية + ام بي سي 1 + ام بي سي 2 + ام بي سي 4 + نسمة الجديدة + نايل سينما + نايل كوميدي + نايل دراما + نايل لايف + نور دبي تي في + عُمان تي في + بانوراما فوود + قطر تي في + قطر 2 + روتانا سينما مصر + روتانا سينما السعودية + روتانا كلاسيك + روتانا دراما + روتانا خليجية + رؤيا تي في + صدى البلد + صدى البلد 2 + صدى البلد دراما + سميرة + اس بي سي + الشارقة الرياضية + الشارقة تي في + سكاي نيوز عربية + سبيس تون + السودان تي في + الأمازيغية + تلفزة + ذكريات + تونسنا + الجزائر تي في + الجزائرية الثالثة + الجزائرية الرابعة + الجزائرية الخامسة + الجزائرية السادسة + الجزائرية السابعة + الجزائرية الثامنة + ياس تي في + يمن شباب + اليمن تي في + diff --git a/sites/sat.tv/sat.tv.config.js b/sites/sat.tv/sat.tv.config.js index e89a01ed..e3dc429d 100644 --- a/sites/sat.tv/sat.tv.config.js +++ b/sites/sat.tv/sat.tv.config.js @@ -14,7 +14,6 @@ module.exports = { days: 2, url: API_ENDPOINT, request: { - timeout: 30000, // 30 seconds method: 'POST', headers({ channel }) { return { @@ -103,7 +102,7 @@ function parseDescription($item) { function parseStart($item, date) { let eventDataDate = $item('.event-data-date').text().trim() - let [_, time] = eventDataDate.match(/(\d{2}:\d{2})/) || [null, null] + let [, time] = eventDataDate.match(/(\d{2}:\d{2})/) || [null, null] if (!time) return null return dayjs.utc(`${date.format('YYYY-MM-DD')} ${time}`, 'YYYY-MM-DD HH:mm') @@ -111,7 +110,7 @@ function parseStart($item, date) { function parseDuration($item) { let eventDataInfo = $item('.event-data-info').text().trim() - let [_, h, m] = eventDataInfo.match(/(\d{2})h(\d{2})/) || [null, 0, 0] + let [, h, m] = eventDataInfo.match(/(\d{2})h(\d{2})/) || [null, 0, 0] return parseInt(h) * 60 + parseInt(m) } diff --git a/sites/sat.tv/sat.tv.test.js b/sites/sat.tv/sat.tv.test.js index aaa0fc50..ee30ef07 100644 --- a/sites/sat.tv/sat.tv.test.js +++ b/sites/sat.tv/sat.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=sites/sat.tv/sat.tv.config.js --output=sites/sat.tv/sat.tv.channels.xml --set=lang:ar --set=satSatellite:1 --set=satLineup:38 -// npx epg-grabber --config=sites/sat.tv/sat.tv.config.js --channels=sites/sat.tv/sat.tv.channels.xml --output=guide.xml +// npm run grab -- --site=sat.tv const { parser, url, request } = require('./sat.tv.config.js') const fs = require('fs') diff --git a/sites/siba.com.co/siba.com.co.channels.xml b/sites/siba.com.co/siba.com.co.channels.xml index 1164b029..7b84fd40 100644 --- a/sites/siba.com.co/siba.com.co.channels.xml +++ b/sites/siba.com.co/siba.com.co.channels.xml @@ -1,103 +1,101 @@ - - - A&E Chile - AMC - Animal Planet - AXN - - Cablenoticias - Canal 1 - Canal Capital - Canal Claro - Canal Congreso - Canal Institucional - Canal TRO - Caracol TV - Cartoon Network - Cinecanal Chile - CineLatino - Cinema + - Cinemax Latinoamérica - City TV - Claro Cinema - Claro música TV - Claro Sports Chile - CNN en Español - Comedy Central - Cosmovisión - Cristovisión - Discovery Channel - Discovery Home & Health - Discovery Kids - Discovery Turbo - Disney Channel - E! - El Gourmet Norte - El Tiempo TV - Enlace - ESNE TV - EWTN España - Latinoamérica - Food Network Latinoamérica - Fox Sports 2 Latin America - Fox Sports 3 Latin America - Fox Sports Latin America - FX Chile - FXM Chile - Glitz - Golden - History 2 - History - HTV - Investigation Discovery - Las Estrellas - Lifetime - Me Gusta - MTV Latino Sud - MultiPremier - Nat Geo Kids - National Geographic - National Geographic Wild - Nickelodeon - Nick Jr - NickMusic - NTN 24 - Paramount Network - Pasiones - Penthouse TV - Playboy TV - RCN Novelas - RCN TV - Red+ - Señal Colombia - Sextreme - Sin Límites - Sony Channel Andes - Space Chile - Star Channel - Star Life - Studio Universal Chile - TBS - Tele Amiga - Teleantioquia - Telecafé - Telecaribe - Teleislas - Telemundo - Telepacífico - TLC - Tlnovelas - TNT Chile - TNT Series - Trece - Tru TV - TV Agro - TV Familia - Universal TV - Venus - Ve Plus Panregional - Warner Channel Panregional - Win Sports - Zoom - - \ No newline at end of file + + + A&E Chile + AMC + Animal Planet + AXN + Cablenoticias + Canal 1 + Canal Capital + Canal Claro + Canal Congreso + Canal Institucional + RCN TV + Canal TRO + Caracol TV + Cartoon Network + Cinecanal Chile + CineLatino + Cinema + + Cinemax Latinoamérica + City TV + Claro Cinema + Claro música TV + Claro Sports Chile + CNN en Español + Comedy Central + Cosmovisión + Cristovisión + Discovery Channel + Discovery Home & Health + Discovery Kids + Discovery Turbo + Disney Channel + E! + El Gourmet Norte + El Tiempo TV + Enlace + ESNE TV + EWTN España - Latinoamérica + Food Network Latinoamérica + Fox Sports 2 Latin America + Fox Sports 3 Latin America + Fox Sports Latin America + FX Chile + FXM Chile + Glitz + Golden + History 2 + History + HTV + Investigation Discovery + Las Estrellas + Lifetime + Me Gusta + MTV Latino Sud + MultiPremier + Nat Geo Kids + National Geographic + National Geographic Wild + Nickelodeon + Nick Jr + NickMusic + NTN 24 + Paramount Network + Pasiones + Penthouse TV + Playboy TV + RCN Novelas + Red+ + Señal Colombia + Sextreme + Sin Límites + Sony Channel Andes + Space Chile + Star Channel + Star Life + Studio Universal Chile + TBS + Tele Amiga + Teleantioquia + Telecafé + Telecaribe + Teleislas + Telemundo + Telepacífico + TLC + Tlnovelas + TNT Chile + TNT Series + Trece + Tru TV + TV Agro + TV Familia + Universal TV + Venus + Ve Plus Panregional + Warner Channel Panregional + Win Sports + Zoom + \ No newline at end of file diff --git a/sites/siba.com.co/siba.com.co.test.js b/sites/siba.com.co/siba.com.co.test.js index 7e067eb2..a466ded6 100644 --- a/sites/siba.com.co/siba.com.co.test.js +++ b/sites/siba.com.co/siba.com.co.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/siba.com.co/siba.com.co.config.js --channels=sites/siba.com.co/siba.com.co.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=siba.com.co const { parser, url, request } = require('./siba.com.co.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '395', xmltv_id: 'CanalClaro.cl' } -const content = `{"list":[{"id":"395","nom":"CANAL CLARO","num":"102","logo":"7c4b9e8566a6e867d1db4c7ce845f1f4.jpg","cat":"Exclusivos Claro","prog":[{"id":"665724465","nom":"Worst Cooks In America","ini":1636588800,"fin":1636592400}]}],"error":null}` +const content = + '{"list":[{"id":"395","nom":"CANAL CLARO","num":"102","logo":"7c4b9e8566a6e867d1db4c7ce845f1f4.jpg","cat":"Exclusivos Claro","prog":[{"id":"665724465","nom":"Worst Cooks In America","ini":1636588800,"fin":1636592400}]}],"error":null}' it('can generate valid url', () => { expect(url).toBe('http://devportal.siba.com.co/index.php?action=grilla') @@ -47,7 +48,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"list":[],"error":null}` + content: '{"list":[],"error":null}' }) expect(result).toMatchObject([]) }) diff --git a/sites/singtel.com/singtel.com.channels.xml b/sites/singtel.com/singtel.com.channels.xml index bfc9fd8c..78e978cb 100644 --- a/sites/singtel.com/singtel.com.channels.xml +++ b/sites/singtel.com/singtel.com.channels.xml @@ -1,157 +1,155 @@ - - - ABC Australia - - Adithya TV - - Animal Planet - Animax - ANIPLUS HD - Asianet - Asianet Movies - Astro Prima HD - Astro Ria HD - AXN - BabyTV - BBC Earth - BBC Lifestyle - BBC World News - beIN SPORTS - beIN SPORTS 2 - beIN SPORTS 3 - beIN SPORTS 4 - beIN SPORTS 5 - Bloomberg Television - Boomerang - BRTV International - Cartoon Network - CBeebies - CCM - CCTV Entertainment - CCTV-4 - Celestial Movies - CGTN - CGTN-Documentary - Ch 5 - Ch 8 - Ch U - - Cinema One Global - CINEMAX - Citra Drama - - CNA - CNBC Asia - CNN International - Colors - Colors Tamil HD - - Crime + Investigation - CTI Asia - Deutsche Welle (English) - Discovery Asia - Discovery Channel - Discovery Science - - Dragon TV Intl - - DreamWorks - eGG Network - - ETTV Asia - ETTV Asia News - EUROSPORT - - Food Network - - France 24 (English) - France 24 (French) - GEM - GMA Life TV - GMA News TV - GMA Pinoy TV - HBO Family - HBO HD - HBO Hits - HBO Signature - - - HITS - HITS Movies HD - - Hub Premier 1 - Hub Premier 2 - Hub Premier 3 - Hub Premier 4 - Hunan International - - KBS World - KBS World (Mandarin) - KTV HD - Lifetime - Love Nature - - - - - - - - MTV India - - Nat Geo Wild HD - National Geographic - NDTV 24x7 - NDTV India - NHK World - Japan - NHK World Premium - Nick Jr. - Nickelodeon Asia HD - now Jelli - ONE HD (Malay) - ONE HD (Mandarin) - - Paramount Network - Pesona HD - Phoenix InfoNews - Premier Sports - ROCK Entertainment - ROCK Extreme - SAB TV - SEA Today - SET (HINDI) - Sky News HD - SONY MAX - SPOTV - SPOTV 2 - Star Bharat - STAR Gold - Star Maa - STAR Plus - Sun Life - Sun Music - Sun News - Sun TV - Suria - TechStorm - The Filipino Channel - Times Now - - TRACE Sports Stars HD - - TVB Jade - TVB Xing He - TVBS Asia - TVBS News - tvN HD (Malay) - tvN HD (Mandarin) - Vasantham - Vijay - Warner TV - - - Zee Tamil - ZEE TV - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ABC Australia + Adithya TV + Animal Planet + Animax + ANIPLUS HD + SAB TV + AXN + BabyTV + BBC Earth + BBC Lifestyle + BBC World News + beIN SPORTS + beIN SPORTS 2 + beIN SPORTS 3 + beIN SPORTS 4 + beIN SPORTS 5 + Bloomberg Television + Boomerang + Cartoon Network + CBeebies + CGTN + CGTN-Documentary + Ch 5 + Cinema One Global + CINEMAX + Citra Drama + CNA + CNBC Asia + CNN International + Colors + Colors Tamil HD + Crime + Investigation + Discovery Asia + Discovery Channel + Discovery Science + DreamWorks + Deutsche Welle (English) + eGG Network + EUROSPORT + Food Network + France 24 (English) + GMA Life TV + GMA News TV + GMA Pinoy TV + HBO HD + HBO Family + HBO Hits + HBO Signature + HITS + HITS Movies HD + Hub Premier 1 + Hub Premier 2 + Hub Premier 3 + Hub Premier 4 + KBS World + KTV HD + Lifetime + Love Nature + MTV India + National Geographic + Nat Geo Wild HD + NDTV 24x7 + NDTV India + NHK World - Japan + NHK World Premium + Nickelodeon Asia HD + Nick Jr. + ONE HD (Malay) + Paramount Network + Pesona HD + Premier Sports + ROCK Entertainment + ROCK Extreme + SEA Today + Sky News HD + SET (HINDI) + SONY MAX + SPOTV + SPOTV 2 + Star Bharat + STAR Gold + Star Maa + STAR Plus + Sun Music + Sun News + Sun TV + TechStorm + The Filipino Channel + Times Now + TRACE Sports Stars HD + tvN HD (Malay) + Vasantham + Vijay + Warner TV + Zee Tamil + ZEE TV + France 24 (French) + Asianet + Asianet Movies + Astro Prima HD + Astro Ria HD + Suria + Sun Life + BRTV International + CCM + CCTV-4 + CCTV Entertainment + Celestial Movies + Ch 8 + Ch U + CTI Asia + Dragon TV Intl + ETTV Asia News + ETTV Asia + GEM + Hunan International + TVB Jade + KBS World (Mandarin) + now Jelli + ONE HD (Mandarin) + Phoenix InfoNews + TVBS Asia + TVBS News + TVB Xing He + tvN HD (Mandarin) + \ No newline at end of file diff --git a/sites/singtel.com/singtel.com.config.js b/sites/singtel.com/singtel.com.config.js index eae6a302..f15d1b48 100644 --- a/sites/singtel.com/singtel.com.config.js +++ b/sites/singtel.com/singtel.com.config.js @@ -14,13 +14,15 @@ module.exports = { } }, url({ date }) { - return `https://www.singtel.com/etc/singtel/public/tv/epg-parsed-data/${date.format('DDMMYYYY')}.json` + return `https://www.singtel.com/etc/singtel/public/tv/epg-parsed-data/${date.format( + 'DDMMYYYY' + )}.json` }, parser({ content, channel }) { let programs = [] const items = parseItems(content, channel) items.forEach(item => { - const start = dayjs.tz(item.startDateTime,'Asia/Singapore') + const start = dayjs.tz(item.startDateTime, 'Asia/Singapore') const stop = start.add(item.duration, 's') programs.push({ title: item.program.title, @@ -42,4 +44,4 @@ function parseItems(content, channel) { } catch (err) { return [] } -} \ No newline at end of file +} diff --git a/sites/singtel.com/singtel.com.test.js b/sites/singtel.com/singtel.com.test.js index 72fd1769..9daa2fa8 100644 --- a/sites/singtel.com/singtel.com.test.js +++ b/sites/singtel.com/singtel.com.test.js @@ -1,13 +1,13 @@ // npm run channels:parse -- --config=./sites/singtel.com/singtel.com.config.js --output=./sites/singtel.com/singtel.com.channels.xml -// npx epg-grabber --config=sites/singtel.com/singtel.com.config.js --channels=sites/singtel.com/singtel.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=singtel.com -const { parser, url, request } = require('./singtel.com.config.js') +const { parser, url } = require('./singtel.com.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') + dayjs.extend(customParseFormat) dayjs.extend(utc) @@ -25,10 +25,9 @@ it('can generate valid url', () => { ) }) - it('can parse response', () => { const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json')) - let results = parser({ content, channel}) + let results = parser({ content, channel }) results = results.map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -41,7 +40,7 @@ it('can parse response', () => { stop: '2023-01-28T17:30:00.000Z', title: 'Hip Hop Family Christmas Wedding', description: - `Hip Hop's most famous family is back, and this time Christmas wedding bells are ringing! Jessica and Jayson are getting ready to say their "I do's".`, + 'Hip Hop\'s most famous family is back, and this time Christmas wedding bells are ringing! Jessica and Jayson are getting ready to say their "I do\'s".', category: 'Specials' }) @@ -50,10 +49,9 @@ it('can parse response', () => { stop: '2023-01-29T01:30:00.000Z', title: 'The Daily Show', description: - "The Daily Show correspondents tackle the biggest stories in news, politics and pop culture.", + 'The Daily Show correspondents tackle the biggest stories in news, politics and pop culture.', category: 'English Entertainment' }) - }) it('can handle empty guide', () => { diff --git a/sites/sjonvarp.is/sjonvarp.is.channels.xml b/sites/sjonvarp.is/sjonvarp.is.channels.xml index c184039b..5751a101 100644 --- a/sites/sjonvarp.is/sjonvarp.is.channels.xml +++ b/sites/sjonvarp.is/sjonvarp.is.channels.xml @@ -1,22 +1,20 @@ - - - Hringbraut - N4 - Omega - RÚV - RÚV 2 - Síminn Sport - Síminn Sport 2 - Sjónvarp Símans - Stöð 2 - Stöð 2 Bíó - Stöð 2 Esport - Stöð 2 Fjölskylda - Stöð 2 Golf - Stöð 2 Sport - Stöð 2 Sport 2 - Stöð 2 Sport 3 - Stöð 2 Sport 4 - - + + Hringbraut + N4 + Omega + RÚV + RÚV 2 + Síminn Sport + Síminn Sport 2 + Sjónvarp Símans + Stöð 2 + Stöð 2 Bíó + Stöð 2 Esport + Stöð 2 Fjölskylda + Stöð 2 Golf + Stöð 2 Sport + Stöð 2 Sport 2 + Stöð 2 Sport 3 + Stöð 2 Sport 4 + diff --git a/sites/sjonvarp.is/sjonvarp.is.config.js b/sites/sjonvarp.is/sjonvarp.is.config.js index 3a320e35..d9b15946 100644 --- a/sites/sjonvarp.is/sjonvarp.is.config.js +++ b/sites/sjonvarp.is/sjonvarp.is.config.js @@ -8,7 +8,6 @@ dayjs.extend(customParseFormat) module.exports = { site: 'sjonvarp.is', - skip: true, // NOTE: there is no program on the website days: 2, url: function ({ channel, date }) { return `http://www.sjonvarp.is/index.php?Tm=%3F&p=idag&c=${channel.site_id}&y=${date.format( diff --git a/sites/sjonvarp.is/sjonvarp.is.test.js b/sites/sjonvarp.is/sjonvarp.is.test.js index a15c1abd..a36f9083 100644 --- a/sites/sjonvarp.is/sjonvarp.is.test.js +++ b/sites/sjonvarp.is/sjonvarp.is.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/sjonvarp.is/sjonvarp.is.config.js --channels=sites/sjonvarp.is/sjonvarp.is.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=sjonvarp.is const { parser, url } = require('./sjonvarp.is.config.js') const fs = require('fs') diff --git a/sites/sky.co.nz/sky.co.nz.channels.xml b/sites/sky.co.nz/sky.co.nz.channels.xml index 8218e0a9..212c411a 100644 --- a/sites/sky.co.nz/sky.co.nz.channels.xml +++ b/sites/sky.co.nz/sky.co.nz.channels.xml @@ -1,117 +1,114 @@ - - - Al Jazeera - Animal Planet - BBC Earth - BBC World News - BRAVO - BRAVO +1 - Cartoon Network - CBeebies - CGTN - CGTN Documentary - CNBC - CNN International - Colors - Comedy Central - Country TV - Crime + Investigation - Daystar TV Network - Discovery Channel - Discovery Turbo - DUKE - DUKE +1 - eden - eden +1 - ESPN - ESPN2 - Face TV - Firstlight - Fox News - HGTV - History - Hope Channel - Investigation Discovery - JONES! - JONES! too - Living Channel - Maori Television - MTV - MTV Hits - National Geographic - Nick - nick jr. - Nick Music - One - One +1 - Parliament TV - Prime TV - Prime +1 - Rialto - Rush - SBN - Shine TV - Sky 5 - SKY Arena - SKY ARTS - SKY Box Office - SKY Box Office 041 - SKY Box Office 042 - SKY Box Office 043 - SKY BOX SETS - SKY Movies Action - SKY Movies Classic - SKY Movies Collection - SKY Movies Comedy - SKY Movies Family - SKY Movies Greats - SKY Movies Premiere - SKY NEWS - SKY Sport 1 - SKY Sport 2 - SKY Sport 3 - SKY Sport 4 - SKY Sport 5 - SKY Sport 6 - SKY Sport 7 - SKY Sport 8 - SKY Sport 9 - - - SKY Sport Select - SoHo - Star Gold - Star Plus Hindi - TAB Trackside 1 - TAB Trackside 2 - Te Reo - The Filipino Channel - The Shopping Channel - Three - Three +1 - TLC - TV2 - TV2 +1 - UKTV - UniversalTV - Vibe - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + Al Jazeera + Animal Planet + BBC Earth + UKTV + BBC World News + BRAVO + BRAVO +1 + Cartoon Network + CBeebies + CGTN + CGTN Documentary + CNBC + CNN International + Colors + Comedy Central + Country TV + Crime + Investigation + Daystar TV Network + Discovery Channel + Discovery Turbo + eden + eden +1 + ESPN2 + ESPN + Face TV + Firstlight + Fox News + HGTV + History + Hope Channel + Investigation Discovery + JONES! + JONES! too + Living Channel + MTV Hits + MTV + National Geographic + Nick + nick jr. + Nick Music + Parliament TV + Prime TV + Prime +1 + Rialto + Rush + SBN + Shine TV + Sky 5 + SKY Arena + SKY ARTS + SKY Box Office + SKY Box Office 041 + SKY Box Office 042 + SKY Box Office 043 + SKY BOX SETS + SKY Movies Action + SKY Movies Classic + SKY Movies Collection + SKY Movies Comedy + SKY Movies Family + SKY Movies Greats + SKY Movies Premiere + SKY NEWS + SKY Sport 1 + SKY Sport 2 + SKY Sport 3 + SKY Sport 4 + SKY Sport 5 + SKY Sport 6 + SKY Sport 7 + SKY Sport 8 + SKY Sport 9 + SKY Sport Select + SoHo + Star Gold + Star Plus Hindi + TAB Trackside 1 + TAB Trackside 2 + Te Reo + The Filipino Channel + The Shopping Channel + Three + Three +1 + TLC + One + One +1 + TV2 + TV2 +1 + DUKE + DUKE +1 + UniversalTV + Vibe + Maori Television + \ No newline at end of file diff --git a/sites/sky.co.nz/sky.co.nz.config.js b/sites/sky.co.nz/sky.co.nz.config.js index b364bad4..c095e5f3 100644 --- a/sites/sky.co.nz/sky.co.nz.config.js +++ b/sites/sky.co.nz/sky.co.nz.config.js @@ -9,7 +9,7 @@ module.exports = { channel.site_id }&start=${date.valueOf()}&end=${date.add(1, 'day').valueOf()}&limit=20000` }, - parser({ content, channel }) { + parser({ content }) { let programs = [] const items = parseItems(content) items.forEach(item => { @@ -27,7 +27,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://skywebconfig.msl-prod.skycloud.co.nz/sky/json/channels.prod.json`) + .get('https://skywebconfig.msl-prod.skycloud.co.nz/sky/json/channels.prod.json') .then(r => r.data) .catch(console.log) diff --git a/sites/sky.co.nz/sky.co.nz.test.js b/sites/sky.co.nz/sky.co.nz.test.js index 39893634..ea6eb2b9 100644 --- a/sites/sky.co.nz/sky.co.nz.test.js +++ b/sites/sky.co.nz/sky.co.nz.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/sky.co.nz/sky.co.nz.config.js --channels=sites/sky.co.nz/sky.co.nz.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=sky.co.nz const { parser, url } = require('./sky.co.nz.config.js') const fs = require('fs') @@ -28,7 +28,8 @@ it('can parse response', () => { expect(result[0]).toMatchObject({ title: 'Sing 2', - description: `Animated: Buster Moon and his friends must persuade the world's most reclusive rock star to help launch their most dazzling extravaganza yet. Voices Of: Matthew McConaughey, Reese Witherspoon (2021)`, + description: + "Animated: Buster Moon and his friends must persuade the world's most reclusive rock star to help launch their most dazzling extravaganza yet. Voices Of: Matthew McConaughey, Reese Witherspoon (2021)", category: ['Animated'], rating: { system: 'OFLC', value: 'PG' }, start: '2023-01-20T23:41:00.000Z', @@ -37,7 +38,8 @@ it('can parse response', () => { expect(result[5]).toMatchObject({ title: 'Harry Potter and the Goblet of Fire', - description: `Adventure: Harry is selected to represent Hogwarts at a legendary and dangerous wizardry competition between three schools of magic. Stars: Daniel Radcliffe, Rupert Grint (2005)`, + description: + 'Adventure: Harry is selected to represent Hogwarts at a legendary and dangerous wizardry competition between three schools of magic. Stars: Daniel Radcliffe, Rupert Grint (2005)', category: ['Action/Adventure'], rating: { system: 'OFLC', value: 'M-V' }, start: '2023-01-21T07:42:00.000Z', @@ -57,4 +59,4 @@ it('can handle empty guide', () => { channel ) expect(result).toMatchObject([]) -}) \ No newline at end of file +}) diff --git a/sites/sky.com/sky.com.channels.xml b/sites/sky.com/sky.com.channels.xml index 67f1fb4d..941afcb3 100644 --- a/sites/sky.com/sky.com.channels.xml +++ b/sites/sky.com/sky.com.channels.xml @@ -1,406 +1,404 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A1 TV - ATN Bangla UK - Deen TV - Iqra Bangla - TVX 40+ - 4Music - 4Seven - 5 Action - 5 Select - 5 Star - 5STAR+1 - 5 USA - 5USA+1 - Adult Channel - Ahlebait TV Networks - Ahlulbayt TV - Akaal Channel UK - alibi - alibi+1 - Aljazeera English - Animal Planet - Animal Plnt+1 - Arirang World - Arise News - Baby TV - BBC Alba - BBC Four - BBC News - BBC One CI - BBC One E Mid - BBC One - BBC One Lon - BBC One NE&C - BBC One NI - BBC One N West - BBC One Oxford - BBC One Scotland - BBC One South - BBC One S East - BBC One S West - BBC One Wales - BBC One West - BBC One W Mid - BBC One Yorks - BBC One Yk&Li - BBC Parliament - BBC Red Button 1 - BBC Scotland - BBC Three - BBC Two - BBC Two NI - BBC Two Wales - Best Direct - Blaze UK - Bloomberg HD - Boomerang - Boomerang+1 - Brit Asia TV - British Muslim TV - Cartoonito UK - Cartoon Network UK - CN+1 - CBBC - CBeebies - CBS Drama UK - CBS Reality - CBS Reality+1 - Challenge UK - Channel 4 - Channel 4+1 - Channel 5 - Channel 5 +1 - Channel 7 - CITV - Clubland TV - CNBC UK - Comedy Central Extra UK - ComedyCentral - ComedyCent+1 - Court TV - Craft Extra - Create and Craft - Crime+Inv - Crime+Inv+1 - Cruise 1st TV - Dave UK - Dave ja vu - Daystar TV UK - Discovery Channel UK - Discovery+1 - Discovery History UK - Disc.History+1 - Discovery Science UK - Disc.Sci+1 - Discovery Turbo UK - Disc.Turbo+1 - DMAX UK - DMAX+1 - Drama UK - Drama UK +1 - Dunamis TV - Dunya News UK - E4 UK - E4 Extra - E4 UK +1 - EarthxTV HD - Eden - Eden+1 - Eman Channel - E! - EuroNews English - Eurosport 1 - Eurosport 2 - Faith UK - Faith World TV - Film4 - Film 4 UK +1 - Food Network UK - Food Netwrk+1 - Foodxp - France 24 English - GB News - Gems TV - Geo News International - Ginx eSports TV UK - God TV UK - Gold UK - GOLD+1 - GoodNews TV - Great! Movies - Great! Movies Action - GREAT!action+1 - Great! Movies Classic - GREAT! movies+1 - Great! TV - GREAT! tv+1 - HGTV UK - HGTV+1 - Hidayat TV - High Street TV 1 - High Street TV 2 - High Street TV 3 - High Street TV 4 - Hi-Impact TV - HorrorXtra - HorrorXtra+1 - Ideal World - Inspiration TV - Investigation Discovery UK - ID+1 - iON TV - Iqra TV - Iran International - Islam Channel - Islam TV - ITV - ITV+1 - ITV 2 - ITV 2 +1 - ITV 3 - ITV 3 +1 - ITV 4 - ITV 4 +1 - ITV Be - Jewellery Maker - JML Direct - Kanshi TV - Kerrang! - KICC TV - Kiss TV - LaLiga TV - Legend - LFC TV - London Live - Loveworld TV - Madani Channel English - Magic - More 4 UK - More4+1 - Movies24 - Movies24+ - MTA1 World - MTV Base UK - MTV Classic UK - MTV Hits UK - MTV Music UK - MTV UK - MUTV - National Geographic UK - Nat Geo+1 - National Geographic Wild UK - NBCNewsNowHD - NDTV 24x7 - Neo News HD - NHK World HD - Nickelodeon - Nickelodeon+1 - Nick Jr Too UK - Nick Jr UK - Nick Jr+1 - NickToons UK - Noor TV - Now 70's - Now 80's - Now 90's - Oireachtas TV - PBS America - Pick UK - Pitaara - Pop - Pop Max - POP Max+1 - POP+1 - Premier Sports 1 Ireland - Premier Sports 2 Ireland - PTC PUNJABI - PTV Global - Quest Red - Quest Red UK +1 - Quest - QUEST+1 - QVC Beauty - QVC Extra - QVC Style UK - QVC - Racing TV - RealityXtra - Really - revelation - ROK - RTÉ2 - RTÉ2+1 - RTÉjr - RTÉ News - RTÉ One - RTÉ One+1 - RT UK - S4C - Sangat TV - Sikh Channel - Sky Arts - Sky Atlantic - Sky Atlantic+1 - Sky Cinema Action HD - Sky Cinema Animation HD - Sky Cinema Comedy HD - Sky Cinema Drama HD - Sky Cinema Family HD - Sky Cinema Greats HD - Sky Cinema Hits HD - Sky Cinema Premiere HD - SkyPremiere+1 - Sky Cinema Sci-Fi Horror - Sky Cinema Feel Good HD - Sky Cinema Thriller HD - Sky Comedy - Sky Crime - Sky Crime+1 - SkyDocumntrs - Sky History - Sky History 2 - Sky History+1 - Sky Max - Sky Nature - Sky News - SkyNewsArabia - Sky Replay - Sky Sci-Fi - Sky Showcase - SkyShowcase+1 - SkySp Arena - Sky Sports Box Office - SkySp Cricket - SkySp F1 - SkySp F'ball - SkySp Golf - SkySpMainEv - Sky Sports Mix - SkySp News - SkySp NFL - SkySp PL HD - SkySp Racing - Sky Witness - Sky Witness+1 - Smithsonian Channel UK - Sony Max UK - SportyStuff - Spotlight TV - STV - Talking Pictures TV - TalkTV HD - TBN UK - TCM Movies - TCM Movies+1 - Television X - Thane - The Box UK - Word Network - Tiny Pop - Tiny Pop+1 - TJC - TLC - TLC +1 - TNT Sports 1 - TNT Sports 2 - TNT Sports 3 - TNT Sports 4 - TNT Sports Box Office - TNT Sports Box Office 2 - Together TV - Trace Vault - Travelxp - TRT World - TV Warehouse - UTV - Venus TV - Viaplay Sports 1 - Viaplay Sports 2 - Viaplay Xtra - Virgin One - Virgin One+1 - Virgin Three - Virgin Two - W - WION HD - W+1 - Xpanded TV - Yesterday - Yesterday +1 - TG4 - 92 News - Aaj Tak UK - Aastha - ARY Digital UK - B4U Movies - B4U Music - COLORS - ColorsCineplex - ColorsGujarati - ColorsRishtey - Geo UK - Hum TV Europe - Islam Channel Urdu - MATV Channel - Sanskar - Sony TV - Sony MAX 2 - Sony SAB - Takbeer TV - Utsav Bharat - Utsav Gold - Utsav Plus - Zee Cinema UK - Zee TV UK - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A1 TV + ATN Bangla UK + Deen TV + Iqra Bangla + TVX 40+ + 4Music + 4Seven + 5 Action + 5 Select + 5 Star + 5STAR+1 + 5 USA + 5USA+1 + Adult Channel + Ahlebait TV Networks + Ahlulbayt TV + Akaal Channel UK + alibi + alibi+1 + Aljazeera English + Animal Planet + Animal Plnt+1 + Arirang World + Arise News + Baby TV + BBC Alba + BBC Four + BBC News + BBC One CI + BBC One E Mid + BBC One + BBC One Lon + BBC One NE&C + BBC One NI + BBC One N West + BBC One Oxford + BBC One Scotland + BBC One South + BBC One S East + BBC One S West + BBC One Wales + BBC One West + BBC One W Mid + BBC One Yorks + BBC One Yk&Li + BBC Parliament + BBC Red Button 1 + BBC Scotland + BBC Three + BBC Two + BBC Two NI + BBC Two Wales + Best Direct + Blaze UK + Bloomberg HD + Boomerang + Boomerang+1 + Brit Asia TV + British Muslim TV + Cartoonito UK + Cartoon Network UK + CN+1 + CBBC + CBeebies + CBS Drama UK + CBS Reality + CBS Reality+1 + Challenge UK + Channel 4 + Channel 4+1 + Channel 5 + Channel 5 +1 + Channel 7 + CITV + Clubland TV + CNBC UK + Comedy Central Extra UK + ComedyCentral + ComedyCent+1 + Court TV + Craft Extra + Create and Craft + Crime+Inv + Crime+Inv+1 + Cruise 1st TV + Dave UK + Dave ja vu + Daystar TV UK + Discovery Channel UK + Discovery+1 + Discovery History UK + Disc.History+1 + Discovery Science UK + Disc.Sci+1 + Discovery Turbo UK + Disc.Turbo+1 + DMAX UK + DMAX+1 + Drama UK + Drama UK +1 + Dunamis TV + Dunya News UK + E4 UK + E4 Extra + E4 UK +1 + EarthxTV HD + Eden + Eden+1 + Eman Channel + E! + EuroNews English + Eurosport 1 + Eurosport 2 + Faith UK + Faith World TV + Film4 + Film 4 UK +1 + Food Network UK + Food Netwrk+1 + Foodxp + France 24 English + GB News + Gems TV + Geo News International + Ginx eSports TV UK + God TV UK + Gold UK + GOLD+1 + GoodNews TV + Great! Movies + Great! Movies Action + GREAT!action+1 + Great! Movies Classic + GREAT! movies+1 + Great! TV + GREAT! tv+1 + HGTV UK + HGTV+1 + Hidayat TV + High Street TV 1 + High Street TV 2 + High Street TV 3 + High Street TV 4 + Hi-Impact TV + HorrorXtra + HorrorXtra+1 + Ideal World + Inspiration TV + Investigation Discovery UK + ID+1 + iON TV + Iqra TV + Iran International + Islam Channel + Islam TV + ITV + ITV+1 + ITV 2 + ITV 2 +1 + ITV 3 + ITV 3 +1 + ITV 4 + ITV 4 +1 + ITV Be + Jewellery Maker + JML Direct + Kanshi TV + Kerrang! + KICC TV + Kiss TV + LaLiga TV + Legend + LFC TV + London Live + Loveworld TV + Madani Channel English + Magic + More 4 UK + More4+1 + Movies24 + Movies24+ + MTA1 World + MTV Base UK + MTV Classic UK + MTV Hits UK + MTV Music UK + MTV UK + MUTV + National Geographic UK + Nat Geo+1 + National Geographic Wild UK + NBCNewsNowHD + NDTV 24x7 + Neo News HD + NHK World HD + Nickelodeon + Nickelodeon+1 + Nick Jr Too UK + Nick Jr UK + Nick Jr+1 + NickToons UK + Noor TV + Now 70's + Now 80's + Now 90's + Oireachtas TV + PBS America + Pick UK + Pitaara + Pop + Pop Max + POP Max+1 + POP+1 + Premier Sports 1 Ireland + Premier Sports 2 Ireland + PTC PUNJABI + PTV Global + Quest Red + Quest Red UK +1 + Quest + QUEST+1 + QVC Beauty + QVC Extra + QVC Style UK + QVC + Racing TV + RealityXtra + Really + revelation + ROK + RTÉ2 + RTÉ2+1 + RTÉjr + RTÉ News + RTÉ One + RTÉ One+1 + RT UK + S4C + Sangat TV + Sikh Channel + Sky Arts + Sky Atlantic + Sky Atlantic+1 + Sky Cinema Action HD + Sky Cinema Animation HD + Sky Cinema Comedy HD + Sky Cinema Drama HD + Sky Cinema Family HD + Sky Cinema Greats HD + Sky Cinema Hits HD + Sky Cinema Premiere HD + SkyPremiere+1 + Sky Cinema Sci-Fi Horror + Sky Cinema Feel Good HD + Sky Cinema Thriller HD + Sky Comedy + Sky Crime + Sky Crime+1 + SkyDocumntrs + Sky History + Sky History 2 + Sky History+1 + Sky Max + Sky Nature + Sky News + SkyNewsArabia + Sky Replay + Sky Sci-Fi + Sky Showcase + SkyShowcase+1 + SkySp Arena + Sky Sports Box Office + SkySp Cricket + SkySp F1 + SkySp F'ball + SkySp Golf + SkySpMainEv + Sky Sports Mix + SkySp News + SkySp NFL + SkySp PL HD + SkySp Racing + Sky Witness + Sky Witness+1 + Smithsonian Channel UK + Sony Max UK + SportyStuff + Spotlight TV + STV + Talking Pictures TV + TalkTV HD + TBN UK + TCM Movies + TCM Movies+1 + Television X + Thane + The Box UK + Word Network + Tiny Pop + Tiny Pop+1 + TJC + TLC + TLC +1 + TNT Sports 1 + TNT Sports 2 + TNT Sports 3 + TNT Sports 4 + TNT Sports Box Office + TNT Sports Box Office 2 + Together TV + Trace Vault + Travelxp + TRT World + TV Warehouse + UTV + Venus TV + Viaplay Sports 1 + Viaplay Sports 2 + Viaplay Xtra + Virgin One + Virgin One+1 + Virgin Three + Virgin Two + W + WION HD + W+1 + Xpanded TV + Yesterday + Yesterday +1 + TG4 + 92 News + Aaj Tak UK + Aastha + ARY Digital UK + B4U Movies + B4U Music + COLORS + ColorsCineplex + ColorsGujarati + ColorsRishtey + Geo UK + Hum TV Europe + Islam Channel Urdu + MATV Channel + Sanskar + Sony TV + Sony MAX 2 + Sony SAB + Takbeer TV + Utsav Bharat + Utsav Gold + Utsav Plus + Zee Cinema UK + Zee TV UK + diff --git a/sites/sky.com/sky.com.config.js b/sites/sky.com/sky.com.config.js index 1f9b6fdd..cb9aa084 100644 --- a/sites/sky.com/sky.com.config.js +++ b/sites/sky.com/sky.com.config.js @@ -8,7 +8,7 @@ module.exports = { channel.site_id }/${date.unix()}/86400/4` }, - parser: function ({ content, date, channel }) { + parser: function ({ content, channel }) { const programs = [] const items = parseItems(content, channel) diff --git a/sites/sky.com/sky.com.test.js b/sites/sky.com/sky.com.test.js index 2f412e5c..91c45b18 100644 --- a/sites/sky.com/sky.com.test.js +++ b/sites/sky.com/sky.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/sky.com/sky.com.config.js --channels=sites/sky.com/sky.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=sky.com const { parser, url } = require('./sky.com.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '2002', xmltv_id: 'BBCOneLondon.uk' } -const content = `{"listings":{"2002":[{"s":1639446600,"t":"Question of Sport","audioDescription":false,"m":[27170,1800,1,1,"--"],"rr":"S","subtitleHearing":true,"sid":53228,"d":"14/36. In this Christmas special, Paddy, Sam and Ugo are joined by Anton Du Beke, Shaun Wallace, Big Zuu and Jules Breach. Also in HD. [S]","img":"lisa/5.2.2/linear/channel/7f80ef03-3d8a-4f73-bf7d-6b03f410c7a8/2002"},{"s":1639448400,"t":"Weather for the Week Ahead","audioDescription":false,"m":[27171,300,1,1,"--"],"rr":"S","subtitleHearing":true,"sid":64799,"d":"Detailed weather forecast. Also in HD. [S]","img":"lisa/5.2.2/linear/channel/8fcf08b7-4081-499a-bf63-d100908e2d75/2002"}]}}` +const content = + '{"listings":{"2002":[{"s":1639446600,"t":"Question of Sport","audioDescription":false,"m":[27170,1800,1,1,"--"],"rr":"S","subtitleHearing":true,"sid":53228,"d":"14/36. In this Christmas special, Paddy, Sam and Ugo are joined by Anton Du Beke, Shaun Wallace, Big Zuu and Jules Breach. Also in HD. [S]","img":"lisa/5.2.2/linear/channel/7f80ef03-3d8a-4f73-bf7d-6b03f410c7a8/2002"},{"s":1639448400,"t":"Weather for the Week Ahead","audioDescription":false,"m":[27171,300,1,1,"--"],"rr":"S","subtitleHearing":true,"sid":64799,"d":"Detailed weather forecast. Also in HD. [S]","img":"lisa/5.2.2/linear/channel/8fcf08b7-4081-499a-bf63-d100908e2d75/2002"}]}}' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -47,7 +48,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"listings":{"2002":[]}}` + content: '{"listings":{"2002":[]}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/sky.de/sky.de.channels.xml b/sites/sky.de/sky.de.channels.xml index 8a4a3076..b96447a6 100644 --- a/sites/sky.de/sky.de.channels.xml +++ b/sites/sky.de/sky.de.channels.xml @@ -1,115 +1,82 @@ - - - 13th Street HD - Beate Uhse HD - Boomerang - Cartoon Network - Crime + Investigation - Curiosity Channel powered by Spiegel - DAZN 1 HD - DAZN 2 HD - Discovery HD - Heimatkanal - HISTORY Channel HD - Jukebox - Motorvision TV - NatGeo HD - NatGeo Wild HD - Nick Jr. - Nicktoons - Romance TV - Sky Atlantic HD - Sky Cinema Action - - Sky Cinema Best Of - - Sky Cinema Classics - - Sky Cinema Family - - Sky Cinema Fun - - Sky Cinema Premieren - - Sky Cinema Premieren +24 - - Sky Cinema Special HD - Sky Cinema Thriller HD - Sky Comedy HD - Sky Crime HD - Sky Documentaries HD - Sky Krimi HD - Sky Nature HD - Sky One HD - Sky Replay HD - Sky Showcase HD - Sky Sport Austria 1 HD - Sky Sport Austria 2 HD - Sky Sport Austria 3 HD - Sky Sport Austria 4 HD - Sky Sport Austria 5 HD - Sky Sport Austria 6 HD - Sky Sport Austria 7 HD - Sky Sport Bundesliga - - Sky Sport Bundesliga UHD - Sky Sport Bundesliga 1 - - Sky Sport Bundesliga 2 - - Sky Sport Bundesliga 3 - - Sky Sport Bundesliga 4 - - Sky Sport Bundesliga 5 - - Sky Sport Bundesliga 6 - - Sky Sport Bundesliga 7 - - Sky Sport Bundesliga 8 - - Sky Sport Bundesliga 9 - - Sky Sport Bundesliga 10 HD - Sky Sport F1 HD - Sky Sport Golf HD - Sky Sport Mix HD - Sky Sport News HD - Sky Sport Premier League HD - Sky Sport Tennis - - Sky Sport Top Event - - Sky Sport UHD - Sky Sport 1 - - Sky Sport 2 - - Sky Sport 3 - - Sky Sport 4 - - Sky Sport 5 - - Sky Sport 6 - - Sky Sport 7 - - Sky Sport 8 - - Sky Sport 9 - - Sky Sport 10 HD - Spiegel Geschichte - - SYFY HD - Universal TV HD - Warner TV Comedy - - Warner TV Film - - Warner TV Serie HD - - \ No newline at end of file + + 13th Street HD + Beate Uhse HD + Boomerang + Cartoon Network + Crime + Investigation + Curiosity Channel powered by Spiegel + DAZN 1 HD + DAZN 2 HD + Discovery HD + Heimatkanal + HISTORY Channel HD + Jukebox + Motorvision TV + NatGeo HD + NatGeo Wild HD + Nick Jr. + Nicktoons + Romance TV + Sky Atlantic HD + Sky Cinema Action + Sky Cinema Best Of + Sky Cinema Classics + Sky Cinema Family + Sky Cinema Fun + Sky Cinema Premieren + Sky Cinema Premieren +24 + Sky Cinema Special HD + Sky Cinema Thriller HD + Sky Comedy HD + Sky Crime HD + Sky Documentaries HD + Sky Krimi HD + Sky Nature HD + Sky One HD + Sky Replay HD + Sky Showcase HD + Sky Sport 10 HD + Sky Sport 1 + Sky Sport 2 + Sky Sport 3 + Sky Sport 4 + Sky Sport 5 + Sky Sport 6 + Sky Sport 7 + Sky Sport 8 + Sky Sport 9 + Sky Sport Austria 1 HD + Sky Sport Austria 2 HD + Sky Sport Austria 3 HD + Sky Sport Austria 4 HD + Sky Sport Austria 5 HD + Sky Sport Austria 6 HD + Sky Sport Austria 7 HD + Sky Sport Bundesliga + Sky Sport Bundesliga 1 + Sky Sport Bundesliga 10 HD + Sky Sport Bundesliga 2 + Sky Sport Bundesliga 3 + Sky Sport Bundesliga 4 + Sky Sport Bundesliga 5 + Sky Sport Bundesliga 6 + Sky Sport Bundesliga 7 + Sky Sport Bundesliga 8 + Sky Sport Bundesliga 9 + Sky Sport Bundesliga UHD + Sky Sport F1 HD + Sky Sport Golf HD + Sky Sport Mix HD + Sky Sport News HD + Sky Sport Premier League HD + Sky Sport Tennis + Sky Sport Top Event + Sky Sport UHD + Spiegel Geschichte + SYFY HD + Universal TV HD + Warner TV Comedy + Warner TV Film + Warner TV Serie HD + \ No newline at end of file diff --git a/sites/sky.de/sky.de.config.js b/sites/sky.de/sky.de.config.js index 4f92b026..26a14e0c 100644 --- a/sites/sky.de/sky.de.config.js +++ b/sites/sky.de/sky.de.config.js @@ -3,14 +3,14 @@ const dayjs = require('dayjs') module.exports = { site: 'sky.de', days: 2, - url: `https://www.sky.de/sgtvg/service/getBroadcastsForGrid`, + url: 'https://www.sky.de/sgtvg/service/getBroadcastsForGrid', request: { method: 'POST', headers: { - 'accept-language': 'en-GB', - 'accept-encoding': 'gzip, deflate, br', - accept: 'application/json' - }, + 'accept-language': 'en-GB', + 'accept-encoding': 'gzip, deflate, br', + accept: 'application/json' + }, data: function ({ channel, date }) { return { cil: [channel.site_id], @@ -47,4 +47,4 @@ function parseContent(content, channel) { function parseItems(content, channel) { const data = parseContent(content, channel) return data && Array.isArray(data.el) ? data.el : [] -} \ No newline at end of file +} diff --git a/sites/sky.de/sky.de.test.js b/sites/sky.de/sky.de.test.js index b36c7991..75217964 100644 --- a/sites/sky.de/sky.de.test.js +++ b/sites/sky.de/sky.de.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/sky.de/sky.de.config.js --channels=sites/sky.de/sky.de.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=sky.de const { parser, url, request } = require('./sky.de.config.js') const dayjs = require('dayjs') @@ -11,7 +11,8 @@ const channel = { xmltv_id: 'WarnerTVComedyHD.de' } -const content = `{"cl":[{"ci":522,"el":[{"ei":122309300,"bsdt":1645916700000,"bst":"00:05","bedt":1645918200000,"len":25,"et":"King of Queens","ec":"Comedyserie","cop":"USA","yop":2001,"fsk":"ab 0 Jahre","epit":"Der Experte","sn":"4","en":"11","pu":"/static/img/program_guide/1522936_s.jpg"},{"ei":122309301,"bsdt":1645918200000,"bst":"00:30","bedt":1645919700000,"len":25,"et":"King of Queens","ec":"Comedyserie","cop":"USA","yop":2001,"fsk":"ab 0 Jahre","epit":"Speedy Gonzales","sn":"4","en":"12","pu":"/static/img/program_guide/1522937_s.jpg"}]}]}` +const content = + '{"cl":[{"ci":522,"el":[{"ei":122309300,"bsdt":1645916700000,"bst":"00:05","bedt":1645918200000,"len":25,"et":"King of Queens","ec":"Comedyserie","cop":"USA","yop":2001,"fsk":"ab 0 Jahre","epit":"Der Experte","sn":"4","en":"11","pu":"/static/img/program_guide/1522936_s.jpg"},{"ei":122309301,"bsdt":1645918200000,"bst":"00:30","bedt":1645919700000,"len":25,"et":"King of Queens","ec":"Comedyserie","cop":"USA","yop":2001,"fsk":"ab 0 Jahre","epit":"Speedy Gonzales","sn":"4","en":"12","pu":"/static/img/program_guide/1522937_s.jpg"}]}]}' it('can generate valid url', () => { expect(url).toBe('https://www.sky.de/sgtvg/service/getBroadcastsForGrid') @@ -61,7 +62,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[]` + content: '[]' }) expect(result).toMatchObject([]) -}) \ No newline at end of file +}) diff --git a/sites/sportsnet.ca/sportsnet.ca.channels.xml b/sites/sportsnet.ca/sportsnet.ca.channels.xml index d7beb8aa..6da3e074 100644 --- a/sites/sportsnet.ca/sportsnet.ca.channels.xml +++ b/sites/sportsnet.ca/sportsnet.ca.channels.xml @@ -1,13 +1,11 @@ - - - SportsNet Ontario - SportsNet One - SportsNet 360 - SportsNet West - SportsNet East - SportsNet Pacific - SportsNet World - WWE Network Canada - - + + SportsNet 360 + SportsNet East + SportsNet One + SportsNet Ontario + SportsNet Pacific + SportsNet West + SportsNet World + WWE Network Canada + diff --git a/sites/sportsnet.ca/sportsnet.ca.test.js b/sites/sportsnet.ca/sportsnet.ca.test.js index 225db003..9b00e5e8 100644 --- a/sites/sportsnet.ca/sportsnet.ca.test.js +++ b/sites/sportsnet.ca/sportsnet.ca.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/sportsnet.ca/sportsnet.ca.config.js --channels=sites/sportsnet.ca/sportsnet.ca.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=sportsnet.ca const { parser, url } = require('./sportsnet.ca.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[{"channelId":"24533","startDate":"2022-03-14T00:00:00.000Z","endDate":"2022-03-15T00:00:00.000Z","schedules":[{"channelId":"24533","customFields":{"ContentId":"EP029977175139","Checksum":"2DA90E7E66B9C311F98B186B89C50FAD"},"endDate":"2022-03-14T02:30:00Z","id":"826cb731-9de4-4cf3-bcca-d548d8a33d16","startDate":"2022-03-14T00:00:00Z","item":{"id":"34a028b0-eacf-40f3-9bf9-62ee3330df1b","type":"program","title":"Calgary Flames at Colorado Avalanche","shortDescription":"Johnny Gaudreau and the Flames pay a visit to the Avalanche. Calgary won 4-3 in overtime March 5.","path":"/channel/24533","duration":9000,"images":{"tile":"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","wallpaper":"https://production-static.sportsnet-static.com/shain/v1/dataservice/ResizeImage/$value?Format='jpg'&Quality=85&ImageId='785311'&EntityType='LinearSchedule'&EntityId='826cb731-9de4-4cf3-bcca-d548d8a33d16'&Width=3840&Height=2160"}}}]}]` + const content = + '[{"channelId":"24533","startDate":"2022-03-14T00:00:00.000Z","endDate":"2022-03-15T00:00:00.000Z","schedules":[{"channelId":"24533","customFields":{"ContentId":"EP029977175139","Checksum":"2DA90E7E66B9C311F98B186B89C50FAD"},"endDate":"2022-03-14T02:30:00Z","id":"826cb731-9de4-4cf3-bcca-d548d8a33d16","startDate":"2022-03-14T00:00:00Z","item":{"id":"34a028b0-eacf-40f3-9bf9-62ee3330df1b","type":"program","title":"Calgary Flames at Colorado Avalanche","shortDescription":"Johnny Gaudreau and the Flames pay a visit to the Avalanche. Calgary won 4-3 in overtime March 5.","path":"/channel/24533","duration":9000,"images":{"tile":"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","wallpaper":"https://production-static.sportsnet-static.com/shain/v1/dataservice/ResizeImage/$value?Format=\'jpg\'&Quality=85&ImageId=\'785311\'&EntityType=\'LinearSchedule\'&EntityId=\'826cb731-9de4-4cf3-bcca-d548d8a33d16\'&Width=3840&Height=2160"}}}]}]' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -41,7 +42,8 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[{"channelId":"245321","startDate":"2022-03-14T00:00:00.000Z","endDate":"2022-03-15T00:00:00.000Z","schedules":[]}]` + content: + '[{"channelId":"245321","startDate":"2022-03-14T00:00:00.000Z","endDate":"2022-03-15T00:00:00.000Z","schedules":[]}]' }) expect(result).toMatchObject([]) }) diff --git a/sites/starhubtvplus.com/starhubtvplus.com.channels.xml b/sites/starhubtvplus.com/starhubtvplus.com.channels.xml index bf6f1b7c..738a4a98 100644 --- a/sites/starhubtvplus.com/starhubtvplus.com.channels.xml +++ b/sites/starhubtvplus.com/starhubtvplus.com.channels.xml @@ -1,134 +1,132 @@ - - - ABC Australia - ADITHYA TV - ANC - Animax HD - Arirang TV - Asianet - Asianet Movies - Asia Travel HD - Hub Sensasi HD - Astro Warna - AXN HD - BabyFirst TV - BBC Earth HD - BBC Lifestyle HD - BBC World News HD - beIN SPORTS HD - beIN SPORTS 2 HD - beIN Sports 3 HD - beIN Sports 4 HD - beIN Sports 5 HD - Bloomberg Television HD - Boomerang HD - Cartoon Network - Cbeebies HD - CCTV-4 - CCM - Celestial Movies HD - CGTN - Channel 5 HD - Channel 8 HD - Channel U HD - Cinema One Global - CinemaWorld HD - Cinemax HD - Citra Entertainment - Channel NewsAsia HD - CNBC HD - CNN HD - COLORS - COLORS Tamil HD - Crime + Investigation HD - CTI TV HD - CuriosityStream HD - Dragon TV - DreamWorks Channel HD - DW (Deutsch) - Euronews HD - FashionTV HD - FIGHT SPORTS HD - Fox News Channel HD - GEM HD - GMA Life TV - GMA Pinoy TV - HBO HD - HBO Family HD - HBO Hits HD - HBO Signature HD - HISTORY HD - Hits HD - HITS MOVIES HD - Hub E City HD - Hub Sports 1 HD - Hub Sports 2 HD - Hub Sports 3 HD - Hub Sports 4 HD - Hub Premier 1 HD - Hub Premier 2 HD - Hub Premier 3 HD - Hub Premier 4 HD - Hub Premier 5 HD - Hub Premier 6 HD - Hub Premier 7 HD - Hub Premier 8 HD - Hub Premier 9 HD - Hub Premier 10 HD - Hub Premier 11 HD - Hub VVDrama HD - Kalaignar TV - Karisma - KBS World HD - KTV HD - Lifetime HD - Love Nature HD - Makeful HD - MTV Asia HD - National Geographic HD - Nat Geo Wild HD - NBA TV HD - NDTV 24x7 - NHK WORLD - JAPAN - NHK World Premium HD - Nickelodeon HD - Nick Jr HD - Now Jelli HD - Oh!K HD - ONE (Malay) - Paramount Network - Phoenix Chinese Channel HD - Phoenix InfoNews Channel HD - Premier Sports TV - Preview Channel - Blue Ant Entertainment HD - SEA Today - Sky News HD - Smithsonian Channel HD - Sony Entertainment Television - - SPOTV - SPOTV2 - Star Chinese Channel HD - SCM HD - Sun Music - Sun TV - Suria HD - The Filipino Channel - Travelxp HD - TV5MONDE HD - TVB Jade HD - TVBS Asia - TVBS-NEWS - TVB Xing He HD - tvN HD - Vannathirai - Vasantham HD - WarnerTV HD - Zee Cinema - Zee Tamil HD - Zee Thirai - Zee TV - - + + + ABC Australia + ADITHYA TV + ANC + Animax HD + Arirang TV + Asianet + Asianet Movies + Asia Travel HD + Hub Sensasi HD + Astro Warna + AXN HD + BabyFirst TV + BBC Earth HD + BBC Lifestyle HD + BBC World News HD + beIN SPORTS HD + beIN SPORTS 2 HD + beIN Sports 3 HD + beIN Sports 4 HD + beIN Sports 5 HD + Bloomberg Television HD + Boomerang HD + Cartoon Network + Cbeebies HD + CCM + CCTV-4 + Celestial Movies HD + CGTN + Channel 5 HD + Channel 8 HD + Channel U HD + Cinema One Global + CinemaWorld HD + Cinemax HD + Citra Entertainment + Channel NewsAsia HD + CNBC HD + CNN HD + COLORS + COLORS Tamil HD + Crime + Investigation HD + CTI TV HD + CuriosityStream HD + Dragon TV + DreamWorks Channel HD + DW (Deutsch) + Euronews HD + FashionTV HD + FIGHT SPORTS HD + Fox News Channel HD + GEM HD + GMA Life TV + GMA Pinoy TV + HBO HD + HBO Family HD + HBO Hits HD + HBO Signature HD + HISTORY HD + Hits HD + HITS MOVIES HD + Hub E City HD + Hub Premier 1 HD + Hub Premier 10 HD + Hub Premier 11 HD + Hub Premier 2 HD + Hub Premier 3 HD + Hub Premier 4 HD + Hub Premier 5 HD + Hub Premier 6 HD + Hub Premier 7 HD + Hub Premier 8 HD + Hub Premier 9 HD + Hub Sports 1 HD + Hub Sports 2 HD + Hub Sports 3 HD + Hub Sports 4 HD + Hub VVDrama HD + TVB Jade HD + Kalaignar TV + Karisma + KBS World HD + KTV HD + Lifetime HD + Love Nature HD + Makeful HD + MTV Asia HD + National Geographic HD + Nat Geo Wild HD + NBA TV HD + NDTV 24x7 + NHK WORLD - JAPAN + NHK World Premium HD + Nickelodeon HD + Nick Jr HD + Now Jelli HD + Oh!K HD + ONE (Malay) + Paramount Network + Phoenix Chinese Channel HD + Phoenix InfoNews Channel HD + Premier Sports TV + Preview Channel + Blue Ant Entertainment HD + SEA Today + Sky News HD + Smithsonian Channel HD + Sony Entertainment Television + SPOTV + SPOTV2 + Star Chinese Channel HD + SCM HD + Sun Music + Sun TV + Suria HD + The Filipino Channel + Travelxp HD + TV5MONDE HD + TVBS Asia + TVBS-NEWS + TVB Xing He HD + tvN HD + Vannathirai + Vasantham HD + WarnerTV HD + Zee Cinema + Zee Tamil HD + Zee Thirai + Zee TV + diff --git a/sites/starhubtvplus.com/starhubtvplus.com.config.js b/sites/starhubtvplus.com/starhubtvplus.com.config.js index b593afed..66a78cea 100644 --- a/sites/starhubtvplus.com/starhubtvplus.com.config.js +++ b/sites/starhubtvplus.com/starhubtvplus.com.config.js @@ -22,7 +22,8 @@ module.exports = { dateFrom: date.format('YYYY-MM-DD'), dateTo: date.add(1, 'd').format('YYYY-MM-DD') }) - const query = `query webFilteredEpg($category: String, $dateFrom: DateWithoutTime, $dateTo: DateWithoutTime!) { nagraEpg(category: $category) { items { id: tvChannel image name: longName programs: programsByDate(dateFrom: $dateFrom, dateTo: $dateTo) { id title description Categories startTime endTime }}}}` + const query = + 'query webFilteredEpg($category: String, $dateFrom: DateWithoutTime, $dateTo: DateWithoutTime!) { nagraEpg(category: $category) { items { id: tvChannel image name: longName programs: programsByDate(dateFrom: $dateFrom, dateTo: $dateTo) { id title description Categories startTime endTime }}}}' const params = `operationName=webFilteredEpg&variables=${encodeURIComponent( variables @@ -30,7 +31,7 @@ module.exports = { return `https://api.starhubtvplus.com/epg?${params}` }, - parser: function ({ content, channel, cached }) { + parser: function ({ content, channel }) { let programs = [] const items = parseItems(content, channel) items.forEach(item => { @@ -48,7 +49,7 @@ module.exports = { async channels() { const items = await axios .get( - `https://api.starhubtvplus.com/epg?operationName=webFilteredEpg&variables=%7B%22category%22%3A%22%22,%22dateFrom%22%3A%222022-05-10%22,%22dateTo%22%3A%222022-05-11%22%7D&query=query%20webFilteredEpg(%24category%3A%20String)%20%7B%20nagraEpg(category%3A%20%24category)%20%7B%20items%20%7B%20id%3A%20tvChannel%20image%20name%3A%20longName%20%7D%7D%7D`, + 'https://api.starhubtvplus.com/epg?operationName=webFilteredEpg&variables=%7B%22category%22%3A%22%22,%22dateFrom%22%3A%222022-05-10%22,%22dateTo%22%3A%222022-05-11%22%7D&query=query%20webFilteredEpg(%24category%3A%20String)%20%7B%20nagraEpg(category%3A%20%24category)%20%7B%20items%20%7B%20id%3A%20tvChannel%20image%20name%3A%20longName%20%7D%7D%7D', { headers: { 'x-application-key': APP_KEY, diff --git a/sites/starhubtvplus.com/starhubtvplus.com.test.js b/sites/starhubtvplus.com/starhubtvplus.com.test.js index 07d6b95d..ac37133b 100644 --- a/sites/starhubtvplus.com/starhubtvplus.com.test.js +++ b/sites/starhubtvplus.com/starhubtvplus.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=sites/starhubtvplus.com/starhubtvplus.com.config.js --output=sites/starhubtvplus.com/starhubtvplus.com.channels.xml -// npx epg-grabber --config=sites/starhubtvplus.com/starhubtvplus.com.config.js --channels=sites/starhubtvplus.com/starhubtvplus.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=starhubtvplus.com const { parser, url, request } = require('./starhubtvplus.com.config.js') const dayjs = require('dayjs') @@ -34,7 +34,8 @@ it('can generate valid cache settings', () => { }) it('can parse response', () => { - const content = `{"data":{"nagraEpg":{"items":[{"id":102,"name":"Channel 5 HD_DASH","programs":[{"id":"GLOBAL_TC0021650123","title":"Luke Nguyen's Vietnam","description":"Luke leaves the hustle and bustle of Hanoi behind for the mystical mountains of Sapa. There, he prepares some black chicken in and amongst the local streets. He cooks buffalo for a salad in the busy Sapa markets, as well as a tofu-and-tomato dish high up in the rice paddy fields with the most spectacular backdrop.","Categories":["Others"],"startTime":1652110200000,"endTime":1652112000000}]}]}}}` + const content = + '{"data":{"nagraEpg":{"items":[{"id":102,"name":"Channel 5 HD_DASH","programs":[{"id":"GLOBAL_TC0021650123","title":"Luke Nguyen\'s Vietnam","description":"Luke leaves the hustle and bustle of Hanoi behind for the mystical mountains of Sapa. There, he prepares some black chicken in and amongst the local streets. He cooks buffalo for a salad in the busy Sapa markets, as well as a tofu-and-tomato dish high up in the rice paddy fields with the most spectacular backdrop.","Categories":["Others"],"startTime":1652110200000,"endTime":1652112000000}]}]}}}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -55,7 +56,8 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"errors":[{"code":"A9999","message":"Syntax, request headers or server error","extendedLogging":{"message":"Cannot read property 'operation' of undefined"}}]}` + content: + '{"errors":[{"code":"A9999","message":"Syntax, request headers or server error","extendedLogging":{"message":"Cannot read property \'operation\' of undefined"}}]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/startimestv.com/startimestv.com.channels.xml b/sites/startimestv.com/startimestv.com.channels.xml index bbd3eaca..0cf5134e 100644 --- a/sites/startimestv.com/startimestv.com.channels.xml +++ b/sites/startimestv.com/startimestv.com.channels.xml @@ -1,344 +1,342 @@ - - - 2STV - 3STONES.TV - Adom TV - AFOREVO TV - AFRICA 24 - AFRICABLE - AFRICA NEWS - AMC MOVIES - AFRICA SPORTS TV - African Swahili - AFRIQUE MEDIA - Afro Music - Afro Music Concert - Afro Novelas - AIT - AL JAZEERA - AMC P - ANTENNE A - AREA TEN - AREWA 24 - AWA TV - BABY TV - Balafon TV - Barmedas tv - BBC WORLD NEWS - BBS TV - 北京卫视 - BENIE TV - BeTV - BIGGS - BLOOMBERG - Bnews1 - BOING - B-ONE - Boomerang - BORDER TV - BRAZZERS TV - BTN RWA - BTV Kenya - BTV Rwanda - Bukedde TV - Bukedde 2 - Bunyoro TV - BURKINA INFO - BUSINESS 24 - CANAL2 INTERNATIONAL - CANAL2 MOVIES - CANAL J - Cartoon Network - CBEEBIES - CCTV 1 - CCTV 13 - CCTV 4 - CCTV 5 - CCTV 5+ - CCTV 6 - CCTV 9 - CCTV 娱乐 - CGTN - CGTN DOCUMENTARY - Channel 44 - CHANNELS - CHANNEL TEN - CHERIFLA TV - China Movies Channel - CISMEDIA - CITIZEN TV - CLOUDS TV - CNBC - CNC WORLD - CNN - CNN PORTUGAL - COLORS - CRTV - CTI Asia - DA VINCI - DBM TV - Digital Congo - DISCOVERY SCI. F - DISNEY CHANNEL - Disney Junior - TDC - DOVE TV - 东方卫视 - DREAMIN - DREAMWORKS - DRTV - DW - E! - EATV - EBONY LIFE - EBRU AFRICA - ECCLESIA TV - E!F - elimu TV - EMCI TV - EMMANUEL TV - ESPACE TV - ESPN 2 - ESPN - E-STARS - E. TV - ETV ROA - EWTN - FACE TV - Family TV - FARIN WATA - FASHIONBOX - FOX LIFE - FOX NEWS - FOX P - France 2 - FRANCE 24 E - FRANCE 24 - France 3 - FRANCE 5 - Fuel TV - 福建卫视 - GABON TÉLÉVISION - GALAXY tv - GasyStar - GHANA TV - GLOW TV - GOD - Goodrich - GTV SPORTS PLUS - Gungu TV - HTV - 湖南卫视 - 金鹰卡通 - Hunan World - I-BC - IMPACT TV - INOORO TV - IQRAA - ISI MBIDO - ITV - 浙江卫视 - 江苏卫视 - JIMJAM P - JIMJAM - JOY PRIME - K24 - KASS TV - KBC - KBS TV - KINGDOM TV - KISS TV KEN - KISS - KOTV - KTN - KTN NEWS - KTO - Liberty - LMTV - LOLWE TV - M6 MUSIC - MADANI CHANNEL - Magic - Magic Sports - MAMBO TV - MAX TV - MBCI - MBC - MCM TOP - MEGA TV - MELODY DAFRIQUE - MIKUBA TV - MINDSET LEARN - Moliere Tv - MSNBC - MUTV - NGC F - NGC P - NGC - NGW F - NGW - NBS Star - NBS - NDTV 24x7 - NICKELODEON - NIGBATI TV - NIGEZIE - NINA TV F - Njata TV - NTA LAGOS - NTA E - NTA HAUSA - NTA IGBO - NTA Knowledge - NTA Lagos 10 - NTA NEWS 24 - NTA Parliamentary - NTA SPORTS 24 - NTA YORUBA - NTV KEN - NTV UGA - NEW WORLD CINEMA - NYCE TV - ORISUN - ORTB - ORTM - ORTM 2 - OUEST TV - PASSIONS TV - PENTHOUSE BLACK - 凤凰CNE - Phoenix Info - PLUS TV AFRICA - PORNHUB TV - PPP TV - PBO - RAJ TV - Rave TV - REMA TV - RTA - RTB - RTG - RTGA - RTI1 - RTI2 - LA3 - RTNB - RTNC - RTP Africa - RTP INTERNACIONAL - RTS1 - RWANDA TV - Salam TV - SANYUKA TV - SEN TV - Sibuka Maisha - SIC INTL - SIC NOTICIAS - Silverbird TV - SKY NEWS - SOURCE AFRICA - SPARK TV - ST ADEPA - ST Africa - Star GOLD - STAR LIFE - Star Plus - STAR TV - ST BOLLYWOOD - ST BONGO - 中国影视 - ST DADIN KOWA - ST Gospel - ST GUIDE - ST GUIDE F - Classica - ST KASI MUSIC - ST KIDS - ST KUNGFU - ST MOVIES PLUS - ST NAIJA - ST NOLLYWOOD F - ST NOLLYWOOD PLUS - ST NOVELA E - ST NOVELA E PLUS - ST NOVELA F - ST NOVELA F PLUS - ST NOVELA P - REMBO TV - ST RISE - ST SINO DRAMA - ST SPORTS ARENA - ST SPORTS FOCUS - ST SPORTS LIFE - ST SPORTS PREMIUM - Triple P - ST SWAHILI - STV - ST WORLD FOOTBALL HD - ST YORUBA - ST ZONE - SUD 1ERE - SUNNA TV - TBC1 - TBC 2 - TBN YETU - TCM - Tele 50 - Télé7 - TELECONGO - TELE CHAD - TFX - 天津卫视 - Times TV - TIVI5 MONDE - TLN - TNT AFRICA - TOONAMI - TOONAMI F - TRACE MZIKI - Tumaini TV - TV1 - TV 10 - TV3 Tanzania - TV3 Ghana - TV5 MONDE - STYLE TV - ALBAYAN TV - TVB DRAMA - TV BREIZH - TVC NG - TVCA - TVC NEWS - TVI INTERNATIONAL - TV Imaan - TVM1 - TVM2 - TVM - TV MANA - MIRAMAR - TELESCOLA - TVPLUS - 南方卫视 - TV SUCESSO - TV West - UBC - UBIZNEWS - UTV - URBAN TV - VISION 4 - VOX AFRICA - WanLuo TV - WAP TV - WARNER TV - WASAFI TV - Wazobia TV - WBS - WEST NILE TV - W-Sport - ZEE CINEMA - ZEE MAGIC - ZEE ONE - CGTN F - - + + + + 2STV + 3STONES.TV + Adom TV + AFOREVO TV + AFRICA 24 + AFRICABLE + AFRICA NEWS + AMC MOVIES + AFRICA SPORTS TV + AFRIQUE MEDIA + Afro Music + Afro Music Concert + Afro Novelas + AIT + AL JAZEERA + AMC P + ANTENNE A + AREA TEN + AREWA 24 + AWA TV + BABY TV + Balafon TV + Barmedas tv + BBC WORLD NEWS + BBS TV + 北京卫视 + BENIE TV + BeTV + BIGGS + BLOOMBERG + Bnews1 + BOING + B-ONE + Boomerang + BORDER TV + BRAZZERS TV + BTN RWA + BTV Kenya + BTV Rwanda + Bukedde TV + Bukedde 2 + Bunyoro TV + BURKINA INFO + BUSINESS 24 + CANAL2 INTERNATIONAL + CANAL2 MOVIES + CANAL J + Cartoon Network + CBEEBIES + CCTV 1 + CCTV 13 + CCTV 4 + CCTV 5 + CCTV 5+ + CCTV 6 + CCTV 9 + CCTV 娱乐 + CGTN + CGTN DOCUMENTARY + Channel 44 + CHANNELS + CHANNEL TEN + CHERIFLA TV + China Movies Channel + CISMEDIA + CITIZEN TV + CLOUDS TV + CNBC + CNC WORLD + CNN + CNN PORTUGAL + COLORS + CRTV + CTI Asia + DA VINCI + DBM TV + Digital Congo + DISCOVERY SCI. F + DISNEY CHANNEL + Disney Junior + TDC + DOVE TV + 东方卫视 + DREAMIN + DREAMWORKS + DRTV + DW + E! + EATV + EBONY LIFE + EBRU AFRICA + ECCLESIA TV + E!F + elimu TV + EMCI TV + EMMANUEL TV + ESPACE TV + ESPN 2 + ESPN + E-STARS + E. TV + ETV ROA + EWTN + FACE TV + Family TV + FARIN WATA + FASHIONBOX + FOX LIFE + FOX NEWS + FOX P + France 2 + FRANCE 24 E + FRANCE 24 + France 3 + FRANCE 5 + Fuel TV + GABON TÉLÉVISION + GALAXY tv + GasyStar + GHANA TV + GLOW TV + GOD + Goodrich + GTV SPORTS PLUS + Gungu TV + HTV + 湖南卫视 + 金鹰卡通 + Hunan World + I-BC + IMPACT TV + INOORO TV + IQRAA + ISI MBIDO + ITV + 浙江卫视 + 江苏卫视 + JIMJAM P + JIMJAM + JOY PRIME + K24 + KASS TV + KBC + KBS TV + KINGDOM TV + KISS TV KEN + KISS + KOTV + KTN + KTN NEWS + KTO + Liberty + LMTV + LOLWE TV + M6 MUSIC + MADANI CHANNEL + Magic + Magic Sports + MAMBO TV + MAX TV + MBCI + MBC + MCM TOP + MEGA TV + MELODY DAFRIQUE + MIKUBA TV + MINDSET LEARN + Moliere Tv + MSNBC + MUTV + NGC F + NGC P + NGC + NGW F + NGW + NBS Star + NBS + NDTV 24x7 + NICKELODEON + NIGBATI TV + NIGEZIE + NINA TV F + Njata TV + NTA LAGOS + NTA E + NTA HAUSA + NTA IGBO + NTA Knowledge + NTA Lagos 10 + NTA NEWS 24 + NTA Parliamentary + NTA SPORTS 24 + NTA YORUBA + NTV KEN + NTV UGA + NEW WORLD CINEMA + NYCE TV + ORISUN + ORTB + ORTM + ORTM 2 + OUEST TV + PASSIONS TV + PENTHOUSE BLACK + 凤凰CNE + Phoenix Info + PLUS TV AFRICA + PORNHUB TV + PPP TV + PBO + RAJ TV + Rave TV + REMA TV + RTA + RTB + RTG + RTGA + RTI1 + RTI2 + LA3 + RTNB + RTNC + RTP Africa + RTP INTERNACIONAL + RTS1 + RWANDA TV + Salam TV + SANYUKA TV + SEN TV + Sibuka Maisha + SIC INTL + SIC NOTICIAS + Silverbird TV + SKY NEWS + SOURCE AFRICA + SPARK TV + ST ADEPA + ST Africa + Star GOLD + STAR LIFE + Star Plus + STAR TV + ST BOLLYWOOD + ST BONGO + 中国影视 + ST DADIN KOWA + ST Gospel + ST GUIDE + ST GUIDE F + Classica + ST KASI MUSIC + ST KIDS + ST KUNGFU + ST MOVIES PLUS + ST NAIJA + ST NOLLYWOOD F + ST NOLLYWOOD PLUS + ST NOVELA E + ST NOVELA E PLUS + ST NOVELA F + ST NOVELA F PLUS + ST NOVELA P + REMBO TV + ST RISE + ST SINO DRAMA + ST SPORTS ARENA + ST SPORTS FOCUS + ST SPORTS LIFE + ST SPORTS PREMIUM + Triple P + ST SWAHILI + STV + ST WORLD FOOTBALL HD + ST YORUBA + ST ZONE + SUD 1ERE + SUNNA TV + TBC1 + TBC 2 + TBN YETU + TCM + Tele 50 + Télé7 + TELECONGO + TELE CHAD + TFX + 天津卫视 + Times TV + TIVI5 MONDE + TLN + TNT AFRICA + TOONAMI + TOONAMI F + TRACE MZIKI + Tumaini TV + TV1 + TV 10 + TV3 Tanzania + TV3 Ghana + TV5 MONDE + STYLE TV + ALBAYAN TV + TVB DRAMA + TV BREIZH + TVC NG + TVCA + TVC NEWS + TVI INTERNATIONAL + TV Imaan + TVM1 + TVM2 + TVM + TV MANA + MIRAMAR + TELESCOLA + TVPLUS + 南方卫视 + TV SUCESSO + TV West + UBC + UBIZNEWS + UTV + URBAN TV + VISION 4 + VOX AFRICA + WanLuo TV + WAP TV + WARNER TV + WASAFI TV + Wazobia TV + WBS + WEST NILE TV + W-Sport + ZEE CINEMA + ZEE MAGIC + ZEE ONE + CGTN F + diff --git a/sites/startimestv.com/startimestv.com.config.js b/sites/startimestv.com/startimestv.com.config.js index 446a65c4..42f255f9 100644 --- a/sites/startimestv.com/startimestv.com.config.js +++ b/sites/startimestv.com/startimestv.com.config.js @@ -52,7 +52,7 @@ module.exports = { ga: 19 } const data = await axios - .get(`https://www.startimestv.com/tv_guide.html`, { + .get('https://www.startimestv.com/tv_guide.html', { headers: { Cookie: `default_areaID=${area[country]}` } @@ -61,7 +61,7 @@ module.exports = { .catch(console.log) const $ = cheerio.load(data) const script = $('body > script:nth-child(10)').html() - let [_, json] = script.match(/var obj = eval\( '(.*)' \);/) || [null, null] + let [, json] = script.match(/var obj = eval\( '(.*)' \);/) || [null, null] json = json.replace(/\\'/g, '') const items = JSON.parse(json) @@ -74,28 +74,28 @@ module.exports = { function parseStart($item, date) { const time = $item('.in > .t').text() - const [_, HH, mm] = time.match(/^(\d{2}):(\d{2})/) || [null, null, null] + const [, HH, mm] = time.match(/^(\d{2}):(\d{2})/) || [null, null, null] return HH && mm ? dayjs.utc(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm') : null } function parseStop($item, date) { const time = $item('.in > .t').text() - const [_, HH, mm] = time.match(/(\d{2}):(\d{2})$/) || [null, null, null] + const [, HH, mm] = time.match(/(\d{2}):(\d{2})$/) || [null, null, null] return HH && mm ? dayjs.utc(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm') : null } function parseSeason($item) { const title = parseTitle($item) - const [_, season] = title.match(/ S(\d+)/) || [null, null] + const [, season] = title.match(/ S(\d+)/) || [null, null] return season ? parseInt(season) : null } function parseEpisode($item) { const title = parseTitle($item) - const [_, episode] = title.match(/ E(\d+)/) || [null, null] + const [, episode] = title.match(/ E(\d+)/) || [null, null] return episode ? parseInt(episode) : null } diff --git a/sites/startimestv.com/startimestv.com.test.js b/sites/startimestv.com/startimestv.com.test.js index dd2eaff2..2ac19623 100644 --- a/sites/startimestv.com/startimestv.com.test.js +++ b/sites/startimestv.com/startimestv.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/startimestv.com/startimestv.com.config.js --output=./sites/startimestv.com/startimestv.com.channels.xml --set=country:ke -// npx epg-grabber --config=sites/startimestv.com/startimestv.com.config.js --channels=sites/startimestv.com/startimestv.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=startimestv.com const { parser, url } = require('./startimestv.com.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `

    Guddan S2 E77

    00:00-01:00

    Vickrant is overjoyed to see Akshat in pain and not knowing what to do.

    00:00-01:00 Guddan S2 E77

    Vickrant is overjoyed to see Akshat in pain and not knowing what to do.

    ` + const content = + '

    Guddan S2 E77

    00:00-01:00

    Vickrant is overjoyed to see Akshat in pain and not knowing what to do.

    00:00-01:00 Guddan S2 E77

    Vickrant is overjoyed to see Akshat in pain and not knowing what to do.

    ' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -42,7 +43,8 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `

    Rate:

    Category:


    ` + content: + '

    Rate:

    Category:


    ' }) expect(result).toMatchObject([]) }) diff --git a/sites/startv.com/startv.com.channels.xml b/sites/startv.com/startv.com.channels.xml index 1a2ff9d2..5e8d448a 100644 --- a/sites/startv.com/startv.com.channels.xml +++ b/sites/startv.com/startv.com.channels.xml @@ -1,46 +1,44 @@ - - - Asianet - Asianet Movies - Asianet Plus - Baby TV - Fox Life - Jalsha Movies - National Geographic Channel - Nat Geo Wild - Star Bharat - Star Gold - Star Gold 2 - Star Gold Select - Star Jalsha - Star Maa - Star Maa Gold - Star Maa Movies - Star Maa Music - Star Movies - Star Movies Select HD - STAR PLUS - Star Pravah - Star Sports 1 - Star Sports 1 Bangla - Star Sports 1 Hindi - Star Sports 1 Kannada - Star Sports 1 Marathi - Star Sports 1 Tamil - Star Sports 1 Telugu - Star Sports 2 - Star Sports 3 - Star Sports First - Star Sports Select 1 - Star Sports Select 2 - Star Suvarna - Star Suvarna Plus - Star Utsav - Star Utsav Movies - Vijay TV - Vijay Super - Star World - Star World Premiere HD - - + + Asianet + Asianet Movies + Asianet Plus + Baby TV + Fox Life + Jalsha Movies + National Geographic Channel + Nat Geo Wild + Star Bharat + Star Gold + Star Gold 2 + Star Gold Select + Star Jalsha + Star Maa + Star Maa Gold + Star Maa Movies + Star Maa Music + Star Movies + Star Movies Select HD + STAR PLUS + Star Pravah + Star Sports 1 + Star Sports 1 Bangla + Star Sports 1 Hindi + Star Sports 1 Kannada + Star Sports 1 Marathi + Star Sports 1 Tamil + Star Sports 1 Telugu + Star Sports 2 + Star Sports 3 + Star Sports First + Star Sports Select 1 + Star Sports Select 2 + Star Suvarna + Star Suvarna Plus + Star Utsav + Star Utsav Movies + Vijay TV + Vijay Super + Star World + Star World Premiere HD + diff --git a/sites/startv.com/startv.com.config.js b/sites/startv.com/startv.com.config.js index 697d7230..25fa1fbb 100644 --- a/sites/startv.com/startv.com.config.js +++ b/sites/startv.com/startv.com.config.js @@ -13,7 +13,6 @@ const API_ENDPOINT = 'https://www.startv.com/umbraco/api/startvguideproxy' module.exports = { site: 'startv.com', days: 2, - skip: true, // REASON: Request failed with status code 405 url: `${API_ENDPOINT}/GetTvGuideSchedule`, request: { method: 'POST', diff --git a/sites/startv.com/startv.com.test.js b/sites/startv.com/startv.com.test.js index 87aa238f..7482f8c7 100644 --- a/sites/startv.com/startv.com.test.js +++ b/sites/startv.com/startv.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=sites/startv.com/startv.com.config.js --output=sites/startv.com/startv.com.channels.xml -// npx epg-grabber --config=sites/startv.com/startv.com.config.js --channels=sites/startv.com/startv.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=startv.com const { parser, url, request } = require('./startv.com.config.js') const dayjs = require('dayjs') @@ -37,7 +37,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `"{\\"ScheduleGrid\\":{\\"channel\\":[{\\"id\\":null,\\"displayname\\":null,\\"channelid\\":\\"10000000000080000\\",\\"channellogourl\\":\\"http://imagesstartv.whatsonindia.com/dasimages/channel/landscape/100x75/wHtcYVRZ.png\\",\\"channelgenre\\":\\"Hindi Entertainment\\",\\"channelweburl\\":\\"\\",\\"channeldisplayname\\":\\"STAR PLUS\\",\\"lcn\\":\\"1\\",\\"isfav\\":\\"0\\",\\"programme\\":[{\\"programmeid\\":\\"30000000550792674\\",\\"title\\":\\"Imlie\\",\\"start\\":\\"202203310000\\",\\"stop\\":\\"202203310030\\",\\"desc\\":\\"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.\\",\\"programmeurl\\":\\"http://imagesstartv.whatsonindia.com/dasimages/landscape/360x270/59A9215E5DE13ABF4B05C59A6C87768AD61CA608M.jpg\\",\\"channelid\\":\\"10000000000080000\\",\\"date\\":\\"20220331\\",\\"episodenum\\":null,\\"subtitle\\":null,\\"scheduleid\\":\\"10000069158583187\\",\\"genre\\":\\"TV Show\\",\\"subgenre\\":\\"Drama\\",\\"programmescore\\":\\"0.083309\\",\\"languagename\\":\\"Hindi\\",\\"dubbedlanguageid\\":\\"10000000000040000\\",\\"timestring\\":\\"12:00 AM, Tomorrow\\",\\"duration\\":\\"30\\",\\"episodeshorttitle\\":\\"\\"}]}]}}"` + const content = + '"{\\"ScheduleGrid\\":{\\"channel\\":[{\\"id\\":null,\\"displayname\\":null,\\"channelid\\":\\"10000000000080000\\",\\"channellogourl\\":\\"http://imagesstartv.whatsonindia.com/dasimages/channel/landscape/100x75/wHtcYVRZ.png\\",\\"channelgenre\\":\\"Hindi Entertainment\\",\\"channelweburl\\":\\"\\",\\"channeldisplayname\\":\\"STAR PLUS\\",\\"lcn\\":\\"1\\",\\"isfav\\":\\"0\\",\\"programme\\":[{\\"programmeid\\":\\"30000000550792674\\",\\"title\\":\\"Imlie\\",\\"start\\":\\"202203310000\\",\\"stop\\":\\"202203310030\\",\\"desc\\":\\"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.\\",\\"programmeurl\\":\\"http://imagesstartv.whatsonindia.com/dasimages/landscape/360x270/59A9215E5DE13ABF4B05C59A6C87768AD61CA608M.jpg\\",\\"channelid\\":\\"10000000000080000\\",\\"date\\":\\"20220331\\",\\"episodenum\\":null,\\"subtitle\\":null,\\"scheduleid\\":\\"10000069158583187\\",\\"genre\\":\\"TV Show\\",\\"subgenre\\":\\"Drama\\",\\"programmescore\\":\\"0.083309\\",\\"languagename\\":\\"Hindi\\",\\"dubbedlanguageid\\":\\"10000000000040000\\",\\"timestring\\":\\"12:00 AM, Tomorrow\\",\\"duration\\":\\"30\\",\\"episodeshorttitle\\":\\"\\"}]}]}}"' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -59,7 +60,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `""` + content: '""' }) expect(result).toMatchObject([]) }) diff --git a/sites/streamingtvguides.com/streamingtvguides.com.channels.xml b/sites/streamingtvguides.com/streamingtvguides.com.channels.xml index 00ec24f1..c122333d 100644 --- a/sites/streamingtvguides.com/streamingtvguides.com.channels.xml +++ b/sites/streamingtvguides.com/streamingtvguides.com.channels.xml @@ -1,6 +1,4 @@ - - - GMA Pinoy TV - - + + GMA Pinoy TV + diff --git a/sites/streamingtvguides.com/streamingtvguides.com.config.js b/sites/streamingtvguides.com/streamingtvguides.com.config.js index 62fc180e..4a14fdb1 100644 --- a/sites/streamingtvguides.com/streamingtvguides.com.config.js +++ b/sites/streamingtvguides.com/streamingtvguides.com.config.js @@ -58,7 +58,7 @@ function parseStart($item) { function parseStop($item) { const date = $item('.card-body').clone().children().remove().end().text().trim() - const [_, time] = date.split(' - ') + const [, time] = date.split(' - ') return dayjs.tz(time, 'YYYY-MM-DD HH:mm:ss [PST]', 'PST').utc() } @@ -66,5 +66,5 @@ function parseStop($item) { function parseItems(content) { const $ = cheerio.load(content) - return $(`.container`).toArray() + return $('.container').toArray() } diff --git a/sites/streamingtvguides.com/streamingtvguides.com.test.js b/sites/streamingtvguides.com/streamingtvguides.com.test.js index 77516aaa..1d640096 100644 --- a/sites/streamingtvguides.com/streamingtvguides.com.test.js +++ b/sites/streamingtvguides.com/streamingtvguides.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/streamingtvguides.com/streamingtvguides.com.config.js --channels=sites/streamingtvguides.com/streamingtvguides.com.channels.xml --output=guide.xml +// npm run grab -- --site=streamingtvguides.com const { parser, url } = require('./streamingtvguides.com.config.js') const fs = require('fs') @@ -33,14 +33,14 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-06-27T00:40:00.000Z', stop: '2023-06-27T02:00:00.000Z', - title: `24 Oras`, + title: '24 Oras', description: 'Up to the minute news around the world.' }) expect(results[37]).toMatchObject({ start: '2023-06-27T21:50:00.000Z', stop: '2023-06-28T00:00:00.000Z', - title: `Eat Bulaga`, + title: 'Eat Bulaga', description: 'Rousing and engrossing segments with engaging hosts.' }) }) diff --git a/sites/superguidatv.it/superguidatv.it.channels.xml b/sites/superguidatv.it/superguidatv.it.channels.xml index d952cbc1..ff378234 100644 --- a/sites/superguidatv.it/superguidatv.it.channels.xml +++ b/sites/superguidatv.it/superguidatv.it.channels.xml @@ -1,183 +1,181 @@ - - - - - - - - - - - - - - - - - - Fox News - France 24 English - I24news - France 24 - 20 - Twenty Seven - Italia 7 Gold - ACI Sport Tv - Alma TV - Baby TV - Blaze - Bloomberg - Boing - Boing Plus - Boomerang - Boomerang + 1 - Caccia e Pesca - Canale 5 - Cartoonito - Cartoon Network - CN +1 - Cielo - Cine34 - Class-Cnbc - Classica HD - CNBC - CNN Intl - Comedy Central - Crime+ Inv. - DeA Junior - DeAKids - DeAKids+1 - Deejay TV - Discovery Channel HD - Discovery Ch +1 - Discovery Science HD - DMAX - DonnaTv - Euronews - Eurosport HD - Eurosport 2HD - Focus - FoodNetwork - Fox Business - Fox HD - Fox +1 - Frisbee - Gambero Rosso HD - Giallo - GM24 - HGTV - Home&Garden - History HD - History 1 - Horse TV HD - Inter TV HD - Iris - Italia 1 - Italia 2 - K2 - La 5 - La7 - La7d - Lazio Style Channel - Mediaset Extra - Milan TV - Motor Trend HD - MTV - Mtv Music - National Geo HD - NationalGeo +1 - National Geographic Wild - Nat Geo Wild +1 - Nickelodeon - Nickelodeon + 1 - Nick Junior - Nick Jr+1 - Nove - Pesca e Caccia - Premium Action - Premium Cinema 1 - Premium Cinema 2 - Premium Cinema 3 - Premium Crime - Premium Stories - QVC - R101 - Radio 105 - Radio Freccia - Radio Italia Tv - Radio Monte Carlo - Radionorba TV - Rai 1 - Rai 2 - Rai 3 - Rai 4 - Rai 5 - Rai Gulp - Rai Movie - RaiNews24 - Rai Premium - Rai Scuola - RaiSport - Rai Sport + HD - Rai Storia - Rai Yoyo - Real Time - Rete 4 - La 1 - La 2 - RTL 102.5 TV - San Marino RTV - Sky Arte HD - Sky Atlantic HD - Sky Atlantic +1 - Sky Cinema Action HD - Sky Cinema Collection HD - Sky Cinema Comedy HD - Sky Cinema Drama HD - Sky Cinema Due HD - Sky Cinema Due +24 - Sky Cinema Family HD - Sky Cinema Romance HD - Sky Cinema Suspense HD - Sky Cinema Uno HD - Sky Cinema Uno +24 - Sky Documentaries HD - Sky Documentaries +1 HD - Sky Investigation HD - Sky Investigation +1 HD - Sky Meteo24 - Sky Nature HD - Primafila 1 - Primafila 2 - Primafila 3 - Primafila 4 - Primafila 5 - Sky Serie HD - Sky Sport24 - Sky Sport Action HD - Sky Sport Arena - Sky Sport Calcio - Sky Sport F1 HD - Sky Sport Football HD - Sky Sport MotoGP - Sky Sport NBA - Sky Sport Tennis HD - Sky Sport Uno - Sky Tg24 - Sky Uno HD - Sky Uno +1HD - Sportitalia - Super! - SuperTennis - Tgcom24 - TG Norba24 - Top Calcio 24 - Top Crime - TRM h24 - TV2000 - TV8 - VH1 - Virgin Radio - Warner TV - - + + + + + + + + + + + + + + + + + Fox News + France 24 English + I24news + France 24 + 20 + Twenty Seven + Italia 7 Gold + ACI Sport Tv + Alma TV + Baby TV + Blaze + Bloomberg + Boing + Boing Plus + Boomerang + Boomerang + 1 + Caccia e Pesca + Canale 5 + Cartoonito + Cartoon Network + CN +1 + Cielo + Cine34 + Class-Cnbc + Classica HD + CNBC + CNN Intl + Comedy Central + Crime+ Inv. + DeA Junior + DeAKids + DeAKids+1 + Deejay TV + Discovery Channel HD + Discovery Ch +1 + Discovery Science HD + DMAX + DonnaTv + Euronews + Eurosport HD + Eurosport 2HD + Focus + FoodNetwork + Fox Business + Fox HD + Fox +1 + Frisbee + Gambero Rosso HD + Giallo + GM24 + HGTV - Home&Garden + History HD + History 1 + Horse TV HD + Inter TV HD + Iris + Italia 1 + Italia 2 + K2 + La 5 + La7 + La7d + Lazio Style Channel + Mediaset Extra + Milan TV + Motor Trend HD + MTV + Mtv Music + National Geo HD + NationalGeo +1 + National Geographic Wild + Nat Geo Wild +1 + Nickelodeon + Nickelodeon + 1 + Nick Junior + Nick Jr+1 + Nove + Pesca e Caccia + Premium Action + Premium Cinema 1 + Premium Cinema 2 + Premium Cinema 3 + Premium Crime + Premium Stories + QVC + R101 + Radio 105 + Radio Freccia + Radio Italia Tv + Radio Monte Carlo + Radionorba TV + Rai 1 + Rai 2 + Rai 3 + Rai 4 + Rai 5 + Rai Gulp + Rai Movie + RaiNews24 + Rai Premium + Rai Scuola + RaiSport + Rai Sport + HD + Rai Storia + Rai Yoyo + Real Time + Rete 4 + La 1 + La 2 + RTL 102.5 TV + San Marino RTV + Sky Arte HD + Sky Atlantic HD + Sky Atlantic +1 + Sky Cinema Action HD + Sky Cinema Collection HD + Sky Cinema Comedy HD + Sky Cinema Drama HD + Sky Cinema Due HD + Sky Cinema Due +24 + Sky Cinema Family HD + Sky Cinema Romance HD + Sky Cinema Suspense HD + Sky Cinema Uno HD + Sky Cinema Uno +24 + Sky Documentaries HD + Sky Documentaries +1 HD + Sky Investigation HD + Sky Investigation +1 HD + Sky Meteo24 + Sky Nature HD + Primafila 1 + Primafila 2 + Primafila 3 + Primafila 4 + Primafila 5 + Sky Serie HD + Sky Sport24 + Sky Sport Action HD + Sky Sport Arena + Sky Sport Calcio + Sky Sport F1 HD + Sky Sport Football HD + Sky Sport MotoGP + Sky Sport NBA + Sky Sport Tennis HD + Sky Sport Uno + Sky Tg24 + Sky Uno HD + Sky Uno +1HD + Sportitalia + Super! + SuperTennis + Tgcom24 + TG Norba24 + Top Calcio 24 + Top Crime + TRM h24 + TV2000 + TV8 + VH1 + Virgin Radio + Warner TV + diff --git a/sites/superguidatv.it/superguidatv.it.config.js b/sites/superguidatv.it/superguidatv.it.config.js index 3502223a..b8d97142 100644 --- a/sites/superguidatv.it/superguidatv.it.config.js +++ b/sites/superguidatv.it/superguidatv.it.config.js @@ -64,7 +64,7 @@ module.exports = { const $ = cheerio.load(r.data) $('.sgtvchannellist_mainContainer .sgtvchannel_divCell a').each((i, link) => { - let [_, site_id] = $(link) + let [, site_id] = $(link) .attr('href') .match(/guida-programmi-tv-(.*)\/$/) || [null, null] let name = $(link).find('.pchannel').text().trim() @@ -92,7 +92,7 @@ function parseStart($item, date) { .text() .trim() - return DateTime.fromFormat(`${date.format('YYYY-MM-DD')} ${hours}`, `yyyy-MM-dd HH:mm`, { + return DateTime.fromFormat(`${date.format('YYYY-MM-DD')} ${hours}`, 'yyyy-MM-dd HH:mm', { zone: 'Europe/Rome' }).toUTC() } @@ -103,7 +103,7 @@ function parseTitle($item) { function parseCategory($item) { const eventType = $item('.sgtvchannelplan_spanEventType').text().trim() - const [_, category] = eventType.match(/(^[^\(]+)/) || [null, ''] + const [, category] = eventType.match(/(^[^(]+)/) || [null, ''] return category.trim() } diff --git a/sites/superguidatv.it/superguidatv.it.test.js b/sites/superguidatv.it/superguidatv.it.test.js index 307d1438..38f32eda 100644 --- a/sites/superguidatv.it/superguidatv.it.test.js +++ b/sites/superguidatv.it/superguidatv.it.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=sites/superguidatv.it/superguidatv.it.config.js --output=sites/superguidatv.it/superguidatv.it.channels.xml -// npx epg-grabber --config=sites/superguidatv.it/superguidatv.it.config.js --channels=sites/superguidatv.it/superguidatv.it.channels.xml --output=guide.xml +// npm run grab -- --site=superguidatv.it const { parser, url } = require('./superguidatv.it.config.js') const fs = require('fs') @@ -46,14 +46,14 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-11T01:00:00.000Z', stop: '2023-01-11T05:00:00.000Z', - title: `All Nite Rock`, + title: 'All Nite Rock', category: 'Musica' }) expect(results[13]).toMatchObject({ start: '2023-01-12T05:00:00.000Z', stop: '2023-01-12T05:30:00.000Z', - title: `Free Rock`, + title: 'Free Rock', category: 'Musica' }) }) diff --git a/sites/taiwanplus.com/taiwanplus.com.channels.xml b/sites/taiwanplus.com/taiwanplus.com.channels.xml index 320a0ec0..7ff07e56 100644 --- a/sites/taiwanplus.com/taiwanplus.com.channels.xml +++ b/sites/taiwanplus.com/taiwanplus.com.channels.xml @@ -1,7 +1,4 @@ - - - Taiwan Plus TV - - \ No newline at end of file + + Taiwan Plus TV + \ No newline at end of file diff --git a/sites/taiwanplus.com/taiwanplus.com.config.js b/sites/taiwanplus.com/taiwanplus.com.config.js index d8cb4896..94ed17ae 100644 --- a/sites/taiwanplus.com/taiwanplus.com.config.js +++ b/sites/taiwanplus.com/taiwanplus.com.config.js @@ -8,61 +8,66 @@ dayjs.extend(isSameOrAfter) dayjs.extend(isSameOrBefore) module.exports = { - site: 'taiwanplus.com', - days: 7, - output: 'taiwanplus.com.guide.xml', - channels: 'taiwanplus.com.channels.xml', - lang: 'en', - delay: 5000, + site: 'taiwanplus.com', + days: 7, + output: 'taiwanplus.com.guide.xml', + channels: 'taiwanplus.com.channels.xml', + lang: 'en', + delay: 5000, - url: function () { - return 'https://www.taiwanplus.com/api/video/live/schedule/0' - }, + url: function () { + return 'https://www.taiwanplus.com/api/video/live/schedule/0' + }, - request: { - method: 'GET', - timeout: 5000, - cache: { ttl: 60 * 60 * 1000 }, // 60 * 60 seconds = 1 hour - headers: { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } - }, - - logo: function (context) { - return context.channel.logo - }, - - parser: function (context) { - const programs = [] - const scheduleDates = parseItems(context.content) - const today = dayjs.utc(context.date).startOf('day') - const lastDay = today.add(1, 'day') - - for(let scheduleDate of scheduleDates) { - const currentScheduleDate = new dayjs.utc(scheduleDate.date, 'YYYY/MM/DD') - - if (currentScheduleDate.isSame(today)) { - scheduleDate.schedule.forEach(function(program, i) { - programs.push({ - title: program.title, - start: dayjs.utc(program.dateTime, 'YYYY/MM/DD HH:mm'), - stop: (i != (scheduleDate.schedule.length - 1)) ? 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, - category: program.categoryName, - rating: program.ageRating - }) - }); - } - } - - return programs + request: { + method: 'GET', + timeout: 5000, + cache: { ttl: 60 * 60 * 1000 }, // 60 * 60 seconds = 1 hour + headers: { + 'User-Agent': + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36' } + }, + + logo: function (context) { + return context.channel.logo + }, + + parser: function (context) { + const programs = [] + const scheduleDates = parseItems(context.content) + const today = dayjs.utc(context.date).startOf('day') + + for (let scheduleDate of scheduleDates) { + const currentScheduleDate = new dayjs.utc(scheduleDate.date, 'YYYY/MM/DD') + + if (currentScheduleDate.isSame(today)) { + scheduleDate.schedule.forEach(function (program, i) { + programs.push({ + title: program.title, + start: dayjs.utc(program.dateTime, 'YYYY/MM/DD HH:mm'), + stop: + i != scheduleDate.schedule.length - 1 + ? 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, + category: program.categoryName, + rating: program.ageRating + }) + }) + } + } + + return programs + } } function parseItems(content) { - if (content != '') { - const data = JSON.parse(content) - return (!data || !data.data || !Array.isArray(data.data)) ? [] : data.data - } else { - return [] - } -} \ No newline at end of file + if (content != '') { + const data = JSON.parse(content) + return !data || !data.data || !Array.isArray(data.data) ? [] : data.data + } else { + return [] + } +} diff --git a/sites/taiwanplus.com/taiwanplus.com.test.js b/sites/taiwanplus.com/taiwanplus.com.test.js index dace4883..a38c74c0 100644 --- a/sites/taiwanplus.com/taiwanplus.com.test.js +++ b/sites/taiwanplus.com/taiwanplus.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/taiwanplus.com/taiwanplus.com.config.js --channels=sites/taiwanplus.com/taiwanplus.com.channels.xml --output=guide.xml --days=3 +// npm run grab -- --site=taiwanplus.com // npx jest taiwanplus.com.test.js const { url, parser } = require('./taiwanplus.com.config.js') @@ -7,32 +7,39 @@ const utc = require('dayjs/plugin/utc') dayjs.extend(utc) const date = dayjs.utc('2023-08-20', 'YYYY-MM-DD').startOf('d') -const channel = { site_id: '#', xmltv_id: 'TaiwanPlusTV.tw', lang: 'en', logo: 'https://i.imgur.com/SfcZyqm.png' } +const channel = { + site_id: '#', + xmltv_id: 'TaiwanPlusTV.tw', + lang: 'en', + logo: 'https://i.imgur.com/SfcZyqm.png' +} it('can generate valid url', () => { - expect(url({ channel, date })).toBe('https://www.taiwanplus.com/api/video/live/schedule/0') + expect(url({ channel, date })).toBe('https://www.taiwanplus.com/api/video/live/schedule/0') }) it('can parse response', () => { - const content = `{"data":[{"date":"2023/08/20","weekday":"SUN","schedule":[{"programId":30668,"dateTime":"2023/08/20 00:00","time":"00:00","image":"https://prod-img.taiwanplus.com/live-schedule/Single/S30668_20230810104937.webp","title":"Master Class","shortDescription":"From blockchain to Buddha statues, Taiwan’s culture is a kaleidoscope of old and new just waiting to be discovered.","description":"From blockchain to Buddha statues, Taiwan’s culture is a kaleidoscope of old and new just waiting to be discovered.","ageRating":"0+","programWebSiteType":"4","url":"","vodId":null,"categoryId":90000474,"categoryType":2,"categoryName":"TaiwanPlus ✕ Discovery","categoryFullPath":"Originals/TaiwanPlus ✕ Discovery","encodedCategoryFullPath":"originals/taiwanplus-discovery"}]}],"success":true,"code":"0000","message":""}` + const content = + '{"data":[{"date":"2023/08/20","weekday":"SUN","schedule":[{"programId":30668,"dateTime":"2023/08/20 00:00","time":"00:00","image":"https://prod-img.taiwanplus.com/live-schedule/Single/S30668_20230810104937.webp","title":"Master Class","shortDescription":"From blockchain to Buddha statues, Taiwan’s culture is a kaleidoscope of old and new just waiting to be discovered.","description":"From blockchain to Buddha statues, Taiwan’s culture is a kaleidoscope of old and new just waiting to be discovered.","ageRating":"0+","programWebSiteType":"4","url":"","vodId":null,"categoryId":90000474,"categoryType":2,"categoryName":"TaiwanPlus ✕ Discovery","categoryFullPath":"Originals/TaiwanPlus ✕ Discovery","encodedCategoryFullPath":"originals/taiwanplus-discovery"}]}],"success":true,"code":"0000","message":""}' - const results = parser({ content, date }) + const results = parser({ content, date }) - expect(results).toMatchObject([ - { - title: 'Master Class', - start: dayjs.utc('2023/08/20 00:00', 'YYYY/MM/DD HH:mm'), - 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', - category: 'TaiwanPlus ✕ Discovery', - rating: '0+' - } - ]) + expect(results).toMatchObject([ + { + title: 'Master Class', + start: dayjs.utc('2023/08/20 00:00', 'YYYY/MM/DD HH:mm'), + 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', + category: 'TaiwanPlus ✕ Discovery', + rating: '0+' + } + ]) }) it('can handle empty guide', () => { - const results = parser({ content: '' }) + const results = parser({ content: '' }) - expect(results).toMatchObject([]) + expect(results).toMatchObject([]) }) diff --git a/sites/tapdmv.com/tapdmv.com.channels.xml b/sites/tapdmv.com/tapdmv.com.channels.xml index 31f01e51..23be5b71 100644 --- a/sites/tapdmv.com/tapdmv.com.channels.xml +++ b/sites/tapdmv.com/tapdmv.com.channels.xml @@ -1,34 +1,32 @@ - - - anc - asianfoodchannel - cinemaworld - edgesport - kbsworld - knowledgechannel - premierfootball - premiersports1 - premiersports2 - tapactionflix - tapedge - tapmovies - tapsports - taptv - teleradyo - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + anc + asianfoodchannel + cinemaworld + edgesport + kbsworld + knowledgechannel + premierfootball + premiersports1 + premiersports2 + tapactionflix + tapedge + tapmovies + tapsports + taptv + teleradyo + diff --git a/sites/tapdmv.com/tapdmv.com.config.js b/sites/tapdmv.com/tapdmv.com.config.js index 569a86b6..1424a82c 100644 --- a/sites/tapdmv.com/tapdmv.com.config.js +++ b/sites/tapdmv.com/tapdmv.com.config.js @@ -29,12 +29,12 @@ module.exports = { }, async channels() { const items = await axios - .get(`https://epg.tapdmv.com/calendar?$limit=10000&$sort[createdAt]=-1`) + .get('https://epg.tapdmv.com/calendar?$limit=10000&$sort[createdAt]=-1') .then(r => r.data.data) .catch(console.log) return items.map(item => { - const [_, name] = item.name.match(/epg-tapgo-([^\.]+).json/) + const [, name] = item.name.match(/epg-tapgo-([^.]+).json/) return { site_id: item.id, name diff --git a/sites/tapdmv.com/tapdmv.com.test.js b/sites/tapdmv.com/tapdmv.com.test.js index 76b2d63d..f5602d96 100644 --- a/sites/tapdmv.com/tapdmv.com.test.js +++ b/sites/tapdmv.com/tapdmv.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tapdmv.com/tapdmv.com.config.js --channels=sites/tapdmv.com/tapdmv.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tapdmv.com // npm run channels:parse -- --config=./sites/tapdmv.com/tapdmv.com.config.js --output=./sites/tapdmv.com/tapdmv.com.channels.xml const { parser, url } = require('./tapdmv.com.config.js') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[{"id":"0afc3cc0-eab8-4960-a8b5-55d76edeb8f0","program":"The Bourne Ultimatum","episode":"The Bourne Ultimatum","description":"Jason Bourne dodges a ruthless C.I.A. official and his Agents from a new assassination program while searching for the origins of his life as a trained killer.","genre":"Action","thumbnailImage":"https://s3.ap-southeast-1.amazonaws.com/epg.tapdmv.com/tapactionflix.png","startTime":"2022-10-03T23:05:00.000Z","endTime":"2022-10-04T01:00:00.000Z","fileId":"94b7db9b-5bbd-47d3-a2d3-ce792342a756","createdAt":"2022-09-30T13:02:10.586Z","updatedAt":"2022-09-30T13:02:10.586Z"},{"id":"8dccd5e0-ab88-44b6-a2af-18d31c6e9ed7","program":"The Devil Inside ","episode":"The Devil Inside ","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.","genre":"Horror","thumbnailImage":"https://s3.ap-southeast-1.amazonaws.com/epg.tapdmv.com/tapactionflix.png","startTime":"2022-10-04T01:00:00.000Z","endTime":"2022-10-04T02:25:00.000Z","fileId":"94b7db9b-5bbd-47d3-a2d3-ce792342a756","createdAt":"2022-09-30T13:02:24.031Z","updatedAt":"2022-09-30T13:02:24.031Z"}]` + const content = + '[{"id":"0afc3cc0-eab8-4960-a8b5-55d76edeb8f0","program":"The Bourne Ultimatum","episode":"The Bourne Ultimatum","description":"Jason Bourne dodges a ruthless C.I.A. official and his Agents from a new assassination program while searching for the origins of his life as a trained killer.","genre":"Action","thumbnailImage":"https://s3.ap-southeast-1.amazonaws.com/epg.tapdmv.com/tapactionflix.png","startTime":"2022-10-03T23:05:00.000Z","endTime":"2022-10-04T01:00:00.000Z","fileId":"94b7db9b-5bbd-47d3-a2d3-ce792342a756","createdAt":"2022-09-30T13:02:10.586Z","updatedAt":"2022-09-30T13:02:10.586Z"},{"id":"8dccd5e0-ab88-44b6-a2af-18d31c6e9ed7","program":"The Devil Inside ","episode":"The Devil Inside ","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.","genre":"Horror","thumbnailImage":"https://s3.ap-southeast-1.amazonaws.com/epg.tapdmv.com/tapactionflix.png","startTime":"2022-10-04T01:00:00.000Z","endTime":"2022-10-04T02:25:00.000Z","fileId":"94b7db9b-5bbd-47d3-a2d3-ce792342a756","createdAt":"2022-09-30T13:02:24.031Z","updatedAt":"2022-09-30T13:02:24.031Z"}]' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -43,7 +44,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `[]`, + content: '[]', date }) expect(result).toMatchObject([]) diff --git a/sites/telecablesat.fr/telecablesat.fr.channels.xml b/sites/telecablesat.fr/telecablesat.fr.channels.xml index 3a341e10..bb59b262 100644 --- a/sites/telecablesat.fr/telecablesat.fr.channels.xml +++ b/sites/telecablesat.fr/telecablesat.fr.channels.xml @@ -1,285 +1,283 @@ - - - Das Erste - ZDF - BBC Entertainment - BBC 1 - BBC 2 - BBC World News - CNN - DW (English) - 13eme RUE - 2M Monde - 3SAT - 6ter - AB 1 - AB 3 - ABXPLORE - Action - ACTV - Al Jazeera English - Alsace 20 - Altice Studio - Animaux - Antenne Réunion - A+ International France - Arte - Automoto - BE 1 - Be Ciné - beIN SPORTS 1 - beIN SPORTS 2 - beIN SPORTS 3 - beIN SPORTS MAX 10 - beIN SPORTS MAX 4 - beIN SPORTS MAX 5 - beIN SPORTS MAX 6 - beIN SPORTS MAX 7 - beIN SPORTS MAX 8 - beIN SPORTS MAX 9 - Be Séries - BET - BFM Business - BFM Grand Lille - BFM Lyon Métropole - BFM Marseille - BFMTV - Boing - Boomerang - Canal C - BX1 - C8 - Canal J - Canal+ Antilles - Canal+ Cinéma - Canal+ Décalé - Canal+ Family - Canal+ - Canal+ Séries - Canal+ Sport - Canal Z - Canal Zoom - Cartoon Network - CGTN - Chasse et pêche - Chérie 25 - Ciné+ Classic - Ciné+ Classic Belgique - Ciné+ Club - Ciné+ Emotion - Ciné+ Famiz - Ciné+ Frisson - Ciné+ Frisson Belgique - Ciné+ Premier - Ciné+ Premier Belgique - Clique TV - Club RTL - CNEWS - Comédie+ - Comedy Central - Crime District - CSTAR - Demain TV - Discovery Channel - Discovery Family - Discovery Science - Disney Channel Wallonia - Disney Channel - Disney Junior - Dorcel TV - E ! - Eleven Sports 1 - Eleven Sports 2 - Eleven Sports 3 - Equidia - Eurochannel - Euronews - Eurosport 1 - Eurosport 2 - France 2 - France 24 - France 3 - France 3 Alpes - France 3 Alsace - France 3 Aquitaine - France 3 Auvergne - France 3 Bourgogne - France 3 Bretagne - France 3 Centre-Val de Loire - France 3 Champagne-Ardennes - France 3 Corse Via Stella - France 3 Côte d'Azur - France 3 Franche-Comté - France 3 Languedoc-Roussillon - France 3 Limousin - France 3 Lorraine - France 3 Midi-Pyrénées - France 3 Nord Pas-de-Calais - France 3 Normandie - Caen - France 3 Normandie - Rouen - France 3 Paris Ile-de-France - France 3 Pays de la Loire - France 3 Picardie - France 3 Poitou-Charentes - France 3 Provence-Alpes - France 3 Rhône-Alpes - France 4 - France 5 - Franceinfo - Game One - Golf Channel - Golf+ - Guadeloupe la 1ère - Gulli - Guyane la 1ère - Histoire TV - Hustler TV - I24news - Infosport+ - Discovery Investigation - J-One - Ketnet - KTO - TVE 1 - TVE 2 - La Trois - La Une - LCI - La Chaîne Info - La Chaîne parlementaire - L'Equipe - LM TV Sarthe - M6 - Mangas - Man-X - Martinique la 1ère - MAtélé - Mayotte la 1ère - MCM - Melody - Melody d'Afrique - Men's UP TV - Mezzo - Mezzo Live HD - ViàMoselleTV - MTV - Museum TV - MyZen.tv - National Geographic - National Geographic Wild - Nautical Channel - Nickelodéon - Nickelodeon Junior - Nickelodéon Wallonia - Nollywood TV - Non Stop People HD - NoTélé - Nouvelle-Calédonie la 1ère - Novelas TV - NRJ 12 - OCS Choc - OCS City - OCS Géants - OCS Max - OLTV - Olympia TV - Paramount Channel - Paris Première - Pink TV - Piwi+ - Planète+ - Planète+ Aventure & Expérience - Planète+ Crime Investigation - Plug RTL - Polar+ - Pro7 - Proximus 11 - Réunion la 1ère - RMC Découverte - RMC Sport 1 - RMC Sport 1 UHD - RMC Sport 2 - RMC Sport Access 1 - RMC Sport Access 2 - RMC Sport Live 10 - RMC Sport Live 11 - RMC Sport Live 12 - RMC Sport Live 13 - RMC Sport Live 14 - RMC Sport Live 5 - RMC Sport Live 6 - RMC Sport Live 7 - RMC Sport Live 8 - RMC Sport Live 9 - RMC Story - Rouge TV - RSI LA 1 - RSI LA 2 - RTC Télé Liège - RTL 9 - RTL TVI - RTPI - RTS 1 - RTS 2 - Saint-Pierre et Miquelon la 1ère - Science & Vie TV - Seasons - serieclub - Stingray Brava - Stingray Djazz - Stingray Festival 4K - Stingray i-Concerts - Syfy - TCM Cinéma - Télé Grenoble Isère - Télé MB - Télénantes - Télé Sambre - TéléToon+ - Téva - TF1 - TF1 Séries Films - TFX - TIJI - Tipik - TMC - Toonami - Toute l'histoire - TRACE Sport Stars - Trek - TV5MONDE Europe - TV5MONDE - TV7 Bordeaux - 8 Mont-Blanc - TvBreizh - TV COM - TVE - TV Lux - TVR Rennes 35 Bretagne - TVSUD Marseille - TV Tours - Ushuaïa TV - VEDIA - ATV Martinique - ATV Guadeloupe - ATV Guyane - Vià Occitanie Montpellier - Vià Occitanie Pays Gardois - Vice TV - VOOsport World 1 - VOOsport World 2 - VOOsport World 3 - ViàVosges - W9 - Wallis et Futuna la 1ère - Warner TV - Wéo - XXL - Rai Uno - Rai Due - Rai Tre - Canvas - één - VTM - - + + Das Erste + ZDF + BBC Entertainment + BBC 1 + BBC 2 + BBC World News + CNN + DW (English) + 13eme RUE + 2M Monde + 3SAT + 6ter + AB 1 + AB 3 + ABXPLORE + Action + ACTV + Al Jazeera English + Alsace 20 + Altice Studio + Animaux + Antenne Réunion + A+ International France + Arte + Automoto + BE 1 + Be Ciné + beIN SPORTS 1 + beIN SPORTS 2 + beIN SPORTS 3 + beIN SPORTS MAX 10 + beIN SPORTS MAX 4 + beIN SPORTS MAX 5 + beIN SPORTS MAX 6 + beIN SPORTS MAX 7 + beIN SPORTS MAX 8 + beIN SPORTS MAX 9 + Be Séries + BET + BFM Business + BFM Grand Lille + BFM Lyon Métropole + BFM Marseille + BFMTV + Boing + Boomerang + Canal C + BX1 + C8 + Canal J + Canal+ Antilles + Canal+ Cinéma + Canal+ Décalé + Canal+ Family + Canal+ + Canal+ Séries + Canal+ Sport + Canal Z + Canal Zoom + Cartoon Network + CGTN + Chasse et pêche + Chérie 25 + Ciné+ Classic + Ciné+ Classic Belgique + Ciné+ Club + Ciné+ Emotion + Ciné+ Famiz + Ciné+ Frisson + Ciné+ Frisson Belgique + Ciné+ Premier + Ciné+ Premier Belgique + Clique TV + Club RTL + CNEWS + Comédie+ + Comedy Central + Crime District + CSTAR + Demain TV + Discovery Channel + Discovery Family + Discovery Science + Disney Channel Wallonia + Disney Channel + Disney Junior + Dorcel TV + E ! + Eleven Sports 1 + Eleven Sports 2 + Eleven Sports 3 + Equidia + Eurochannel + Euronews + Eurosport 1 + Eurosport 2 + France 2 + France 24 + France 3 + France 3 Alpes + France 3 Alsace + France 3 Aquitaine + France 3 Auvergne + France 3 Bourgogne + France 3 Bretagne + France 3 Centre-Val de Loire + France 3 Champagne-Ardennes + France 3 Corse Via Stella + France 3 Côte d'Azur + France 3 Franche-Comté + France 3 Languedoc-Roussillon + France 3 Limousin + France 3 Lorraine + France 3 Midi-Pyrénées + France 3 Nord Pas-de-Calais + France 3 Normandie - Caen + France 3 Normandie - Rouen + France 3 Paris Ile-de-France + France 3 Pays de la Loire + France 3 Picardie + France 3 Poitou-Charentes + France 3 Provence-Alpes + France 3 Rhône-Alpes + France 4 + France 5 + Franceinfo + Game One + Golf Channel + Golf+ + Guadeloupe la 1ère + Gulli + Guyane la 1ère + Histoire TV + Hustler TV + I24news + Infosport+ + Discovery Investigation + J-One + Ketnet + KTO + TVE 1 + TVE 2 + La Trois + La Une + LCI - La Chaîne Info + La Chaîne parlementaire + L'Equipe + LM TV Sarthe + M6 + Mangas + Man-X + Martinique la 1ère + MAtélé + Mayotte la 1ère + MCM + Melody + Melody d'Afrique + Men's UP TV + Mezzo + Mezzo Live HD + ViàMoselleTV + MTV + Museum TV + MyZen.tv + National Geographic + National Geographic Wild + Nautical Channel + Nickelodéon + Nickelodeon Junior + Nickelodéon Wallonia + Nollywood TV + Non Stop People HD + NoTélé + Nouvelle-Calédonie la 1ère + Novelas TV + NRJ 12 + OCS Choc + OCS City + OCS Géants + OCS Max + OLTV + Olympia TV + Paramount Channel + Paris Première + Pink TV + Piwi+ + Planète+ + Planète+ Aventure & Expérience + Planète+ Crime Investigation + Plug RTL + Polar+ + Pro7 + Proximus 11 + Réunion la 1ère + RMC Découverte + RMC Sport 1 + RMC Sport 1 UHD + RMC Sport 2 + RMC Sport Access 1 + RMC Sport Access 2 + RMC Sport Live 10 + RMC Sport Live 11 + RMC Sport Live 12 + RMC Sport Live 13 + RMC Sport Live 14 + RMC Sport Live 5 + RMC Sport Live 6 + RMC Sport Live 7 + RMC Sport Live 8 + RMC Sport Live 9 + RMC Story + Rouge TV + RSI LA 1 + RSI LA 2 + RTC Télé Liège + RTL 9 + RTL TVI + RTPI + RTS 1 + RTS 2 + Saint-Pierre et Miquelon la 1ère + Science & Vie TV + Seasons + serieclub + Stingray Brava + Stingray Djazz + Stingray Festival 4K + Stingray i-Concerts + Syfy + TCM Cinéma + Télé Grenoble Isère + Télé MB + Télénantes + Télé Sambre + TéléToon+ + Téva + TF1 + TF1 Séries Films + TFX + TIJI + Tipik + TMC + Toonami + Toute l'histoire + TRACE Sport Stars + Trek + TV5MONDE Europe + TV5MONDE + TV7 Bordeaux + 8 Mont-Blanc + TvBreizh + TV COM + TVE + TV Lux + TVR Rennes 35 Bretagne + TVSUD Marseille + TV Tours + Ushuaïa TV + VEDIA + ATV Martinique + ATV Guadeloupe + ATV Guyane + Vià Occitanie Montpellier + Vià Occitanie Pays Gardois + Vice TV + VOOsport World 1 + VOOsport World 2 + VOOsport World 3 + ViàVosges + W9 + Wallis et Futuna la 1ère + Warner TV + Wéo + XXL + Rai Uno + Rai Due + Rai Tre + Canvas + één + VTM + diff --git a/sites/telecablesat.fr/telecablesat.fr.config.js b/sites/telecablesat.fr/telecablesat.fr.config.js index fe85b431..6a81cb72 100644 --- a/sites/telecablesat.fr/telecablesat.fr.config.js +++ b/sites/telecablesat.fr/telecablesat.fr.config.js @@ -52,7 +52,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://tv-programme.telecablesat.fr/`) + .get('https://tv-programme.telecablesat.fr/') .then(r => r.data) .catch(console.log) @@ -64,7 +64,7 @@ module.exports = { return items.map(item => { const $item = cheerio.load(item) const link = $item('*').attr('href') - const [_, site_id] = link.match(/\/chaine\/(\d+)\//) || [null, null] + const [, site_id] = link.match(/\/chaine\/(\d+)\//) || [null, null] const name = $item('*').text().trim() return { lang: 'fr', @@ -98,15 +98,6 @@ function parseDescription($item) { return $item('div.item-content > p').text() } -async function loadProgramDetails(item) { - if (!item.onClick || !item.onClick.URLPage) return {} - - return await axios - .get(item.onClick.URLPage) - .then(r => r.data) - .catch(console.error) -} - function parseItems(content) { const $ = cheerio.load(content) diff --git a/sites/telecablesat.fr/telecablesat.fr.test.js b/sites/telecablesat.fr/telecablesat.fr.test.js index f3840954..b6ec40a8 100644 --- a/sites/telecablesat.fr/telecablesat.fr.test.js +++ b/sites/telecablesat.fr/telecablesat.fr.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/telecablesat.fr/telecablesat.fr.config.js --output=./sites/telecablesat.fr/telecablesat.fr.channels.xml -// npx epg-grabber --config=sites/telecablesat.fr/telecablesat.fr.config.js --channels=sites/telecablesat.fr/telecablesat.fr.channels.xml --output=guide.xml +// npm run grab -- --site=telecablesat.fr const { parser, url } = require('./telecablesat.fr.config.js') const axios = require('axios') @@ -24,7 +24,8 @@ it('can generate valid url', () => { }) it('can parse response', done => { - const content = `
    06:25

    Des randonneurs font une macabre découverte en installant leur tente dans la nature : une jeune fille de Lusagne a en effet été sauvagement assassinée et son corps a été dissimulé sommairement dans les buissons. Rapidement, des lettres anonymes...

    08:05

    Alors que les fêtes de fin d'année battent leur plein, le commissaire Rousseau se voit confronté à une délicate affaire. En peu de temps, une troisième jeune fille vient d'être retrouvée assassinée. Le vieux limier ne croit pas à l'hypothèse...

    ` + const content = + '
    06:25

    Des randonneurs font une macabre découverte en installant leur tente dans la nature : une jeune fille de Lusagne a en effet été sauvagement assassinée et son corps a été dissimulé sommairement dans les buissons. Rapidement, des lettres anonymes...

    08:05

    Alors que les fêtes de fin d\'année battent leur plein, le commissaire Rousseau se voit confronté à une délicate affaire. En peu de temps, une troisième jeune fille vient d\'être retrouvée assassinée. Le vieux limier ne croit pas à l\'hypothèse...

    ' axios.get.mockImplementation(url => { if ( @@ -102,7 +103,8 @@ it('can parse response', done => { it('can handle empty guide', done => { parser({ - content: ` `, + content: + ' ', date, channel }) diff --git a/sites/telenet.tv/telenet.tv.channels.xml b/sites/telenet.tv/telenet.tv.channels.xml index f3e6fa71..c8587077 100644 --- a/sites/telenet.tv/telenet.tv.channels.xml +++ b/sites/telenet.tv/telenet.tv.channels.xml @@ -1,115 +1,113 @@ - - - - 2M Monde - Al Jazeera English - BBC One - BBC Two - BBC World News Europe - Bloomberg TV Europe - CGTN - CNBC Europe - CNN International Europe - Dorcel TV - Euronews Français - Hustler HD Europe - MTV 00s - MTV Live - Penthouse Gold - Penthouse Passion - Playboy TV Europe - Play Sports 5 - Shorts TV - The Israeli Network - AB 3 - Be 1 - Be 1 +1h - Be Ciné - Be Séries - C8 - Ciné+ Classic - Ciné+ Frisson - Ciné+ Premier - Club RTL - Discovery Channel France - Eleven Pro League 1 NL - France 2 - France 3 - France 4 - France 5 - La Trois - La Une - LCI - LN24 - Mezzo Live HD - Nickelodeon France - Plug RTL - Radio Contact - RTL TVI - TFX - TV5Monde Europe - TV Breizh - VOOsport World 1 - VOOsport World 2 - VOOsport World 3 - VOOsport World 4 - Mediaset Italia - Rai 1 - Animal Planet Europe - ATV - AVS Gent - Baby TV Europe - BBC Entertainment Europe - BBC First Nederland - Canvas - Dobbit TV NL - Eclips TV - Één - E! Europe - Eleven Sports 1 NL - Eleven Sports 2 NL - Eleven Sports 3 NL - Eleven Pro League 2 NL - Eleven Pro League 3 NL - Focus-WTV - History Europe - Kanaal Z - Ketnet - Maghreb TV - Ment TV - Nat Geo Wild Europe - Nick Jr - Njam! - NPO 1 - NPO 2 - NPO 3 - OutTV - PlattelandsTv - Play 24/7 - Play 4 - Play 5 - Play 6 - Play 7 - Play More Black - Play More Cinema - Play More Kicks - Play Sports 1 - Play Sports 2 - Play Sports 3 - Play Sports 4 - Play Sports Golf - Play Sports Open - Q-Music - TV Limburg - TV Oost - Vlaams Parlement TV - VTM - VTM 2 - VTM 3 - VTM 4 - VTM Gold - VTM Kids - Xite - - + + + 2M Monde + Al Jazeera English + BBC One + BBC Two + BBC World News Europe + Bloomberg TV Europe + CGTN + CNBC Europe + CNN International Europe + Dorcel TV + Euronews Français + Hustler HD Europe + MTV 00s + MTV Live + Penthouse Gold + Penthouse Passion + Playboy TV Europe + Play Sports 5 + Shorts TV + The Israeli Network + AB 3 + Be 1 + Be 1 +1h + Be Ciné + Be Séries + C8 + Ciné+ Classic + Ciné+ Frisson + Ciné+ Premier + Club RTL + Discovery Channel France + Eleven Pro League 1 NL + France 2 + France 3 + France 4 + France 5 + La Trois + La Une + LCI + LN24 + Mezzo Live HD + Nickelodeon France + Plug RTL + Radio Contact + RTL TVI + TFX + TV5Monde Europe + TV Breizh + VOOsport World 1 + VOOsport World 2 + VOOsport World 3 + VOOsport World 4 + Mediaset Italia + Rai 1 + Animal Planet Europe + ATV + AVS Gent + Baby TV Europe + BBC Entertainment Europe + BBC First Nederland + Canvas + Dobbit TV NL + Eclips TV + Één + E! Europe + Eleven Sports 1 NL + Eleven Sports 2 NL + Eleven Sports 3 NL + Eleven Pro League 2 NL + Eleven Pro League 3 NL + Focus-WTV + History Europe + Kanaal Z + Ketnet + Maghreb TV + Ment TV + Nat Geo Wild Europe + Nick Jr + Njam! + NPO 1 + NPO 2 + NPO 3 + OutTV + PlattelandsTv + Play 24/7 + Play 4 + Play 5 + Play 6 + Play 7 + Play More Black + Play More Cinema + Play More Kicks + Play Sports 1 + Play Sports 2 + Play Sports 3 + Play Sports 4 + Play Sports Golf + Play Sports Open + Q-Music + TV Limburg + TV Oost + Vlaams Parlement TV + VTM + VTM 2 + VTM 3 + VTM 4 + VTM Gold + VTM Kids + Xite + diff --git a/sites/telenet.tv/telenet.tv.test.js b/sites/telenet.tv/telenet.tv.test.js index 2e10f1c2..4202e27d 100644 --- a/sites/telenet.tv/telenet.tv.test.js +++ b/sites/telenet.tv/telenet.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/telenet.tv/telenet.tv.config.js --output=./sites/telenet.tv/telenet.tv.channels.xml -// npx epg-grabber --config=sites/telenet.tv/telenet.tv.config.js --channels=sites/telenet.tv/telenet.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=telenet.tv const { parser, url } = require('./telenet.tv.config.js') const fs = require('fs') @@ -85,7 +85,7 @@ it('can parse response', async () => { }) it('can handle empty guide', async () => { - let results = await parser({ content: ``, channel, date }) + let results = await parser({ content: '', channel, date }) expect(results).toMatchObject([]) }) diff --git a/sites/teliatv.ee/teliatv.ee.channels.xml b/sites/teliatv.ee/teliatv.ee.channels.xml deleted file mode 100644 index f314e4a4..00000000 --- a/sites/teliatv.ee/teliatv.ee.channels.xml +++ /dev/null @@ -1,341 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Arte - n-tv - RTL - RTL2 - SAT 1 - ZDF - Al Jazeera - ALO-TV - Animal Planet - BBC Earth - BBC World - Bloomberg TV - Boomerang - Cartoon Network - MTV Club - CNBC Europe - CNN International - Discovery Channel - Discovery Science - Disney Channel - Disney Junior - DTX - Duo 3 - Duo 4 - Duo 6 - Deutsche Welle - Epic Drama - Euronews - Euronews Rus - Eurosport 1 - Eurosport 2 - Fashion TV - Fight Sports - Filmzone - Filmzone+ - Fox Life - Fox - France 24 - TV3 Film - HGTV - HISTORY2 - History Channel - Inspira - ID - Kidzone Mini - Kidzone - MCM TOP - Mezzo - Mezzo Live HD - MTV 00s - MTV 80s - MTV 90s - MTV Europe - MTV Hits - MTV Live HD - MyHits - National Geographic - Nat Geo Wild - Nickelodeon - nick Jr. - nicktoons - PRO 7 - RFM TV - Setanta Sports - SKY News - Smartzone - Classica - DJAZZ.tv - iConcerts - Super RTL - TLC - Travel Channel - TV1000 Action - TV1000 East - TV1000 World Kino - TV3 Life - TV3 Sport - TV3 Sport2 - Viasat Explore - Viasat History - Viasat Nature - VIP Comedy - TVEi - ALO-TV - Animal Planet - Arte - Bloomberg TV - Boomerang - CNBC Europe - Discovery Channel - Discovery Science - DTX - Duo 3 - Duo 4 - Duo 5 - Duo 6 - Deutsche Welle - Eesti Kanal - Epic Drama - ETV - ETV 2 - ETV+ - Eurosport 1 - Eurosport 2 - Filmzone - Filmzone+ - Fox Life - Fox - TV3 Film - HGTV - History Channel - Inspira - ID - Kanal 2 - Kidzone Mini - Kidzone - LIFE TV - MCM TOP - Mezzo - MyHits - National Geographic - Nickelodeon - nick Jr. - nicktoons - n-tv - PRO 7 - RTL - SAT 1 - Setanta Sports - Smartzone - Super RTL - TAEVAS TV7 - TLC - Travel Channel - TV1000 Action - TV1000 East - TV1000 World Kino - TV3 - TV3 Life - 3+ - TV6 - TVXXI - Viasat Explore - Viasat History - Viasat Nature - VIP Comedy - YLE TV1 - YLE TV2 - YLE TV1 - YLE TV2 - France 2 - Mezzo Live HD - RFM TV - TV5MONDE Europe - RAI 1 - Eurosport 2 - Animal Planet - Arte - Boomerang - Cartoon Network - CNN International - Настоящее время - Discovery Channel - Discovery Science - DTX - Duo 3 - Duo 4 - Duo 5 - Duo 6 - Kanal 7 - Deutsche Welle - Eesti Kanal - Epic Drama - ETV - ETV 2 - ETV+ - Euronews - Euronews Rus - Eurosport - Fashion TV - Filmzone - Filmzone+ - Fox Life - Fox - France 2 - France 24 - TV3 Film - HGTV - HISTORY2 - History Channel - Inspira - ID - Kanal 2 - Kidzone Mini - Kidzone - LIFE TV - Mezzo - Mezzo Live HD - National Geographic - Nat Geo Wild - НЕБЕСА ТВ7 - Nickelodeon - nick Jr. - nicktoons - n-tv - Orsent TV - PRO 7 - RAI 1 - SAT 1 - Setanta Sports - Smartzone - Super RTL - TBN Baltia - TLC - Travel Channel - TV1000 Action - TV1000 East - TV1000 World Kino - TV3 - TV3 Life - 3+ - TV3 Sport - TV3 Sport2 - TV5MONDE Europe - TV6 - TVN - TVXXI - Украина 24 - Viasat Explore - Viasat History - Viasat Nature - VIP Comedy - YLE TV1 - YLE TV2 - ZDF - SVT1 - SVT2 - - diff --git a/sites/teliatv.ee/teliatv.ee.config.js b/sites/teliatv.ee/teliatv.ee.config.js index 2e87f4d8..56406661 100644 --- a/sites/teliatv.ee/teliatv.ee.config.js +++ b/sites/teliatv.ee/teliatv.ee.config.js @@ -6,9 +6,7 @@ module.exports = { days: 2, url({ date, channel }) { const [lang, channelId] = channel.site_id.split('#') - return `https://api.teliatv.ee/dtv-api/3.2/${lang}/epg/guide?channelIds=${ - channelId - }&relations=programmes&images=webGuideItemLarge&startAt=${date + return `https://api.teliatv.ee/dtv-api/3.2/${lang}/epg/guide?channelIds=${channelId}&relations=programmes&images=webGuideItemLarge&startAt=${date .add(1, 'd') .format('YYYY-MM-DDTHH:mm')}&startAtOp=lte&endAt=${date.format( 'YYYY-MM-DDTHH:mm' diff --git a/sites/teliatv.ee/teliatv.ee.test.js b/sites/teliatv.ee/teliatv.ee.test.js index 29ab9ac4..4c6ef11b 100644 --- a/sites/teliatv.ee/teliatv.ee.test.js +++ b/sites/teliatv.ee/teliatv.ee.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/teliatv.ee/teliatv.ee.config.js --output=./sites/teliatv.ee/teliatv.ee.channels.xml --set=lang:et -// npx epg-grabber --config=sites/teliatv.ee/teliatv.ee.config.js --channels=sites/teliatv.ee/teliatv.ee.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/teliatv.ee/teliatv.ee.config.js --output=./sites/teliatv.ee/teliatv.ee.channels.xml --set=lang:et +// npm run grab -- --site=teliatv.ee const { parser, url } = require('./teliatv.ee.config.js') const dayjs = require('dayjs') @@ -33,7 +33,8 @@ it('can generate valid url with different language', () => { }) it('can parse response', () => { - const content = `{"categoryItems":{"1":[{"id":136227,"type":"epgSeries","name":"Inimjaht","originalName":"Manhunt","price":null,"owner":"ETV","ownerId":1,"images":{"webGuideItemLarge":"/resized/ri93Qj4OLXXvg7QAsUOcKMnIb3g=/570x330/filters:format(jpeg)/inet-static.mw.elion.ee/epg_images/9/b/17e48b3966e65c02.jpg"},"packetIds":[30,34,38,129,130,162,191,242,243,244,447,483,484,485,486],"related":{"programmeIds":[27224371]}}]},"relations":{"programmes":{"27224371":{"id":27224371,"startAt":"2021-11-20T00:05:00+02:00","endAt":"2021-11-20T00:55:00+02:00","publicTo":"2021-12-04T02:05:00+02:00","status":"default","channelId":1,"broadcastId":78248901,"hasMarkers":false,"catchup":false}}}}` + const content = + '{"categoryItems":{"1":[{"id":136227,"type":"epgSeries","name":"Inimjaht","originalName":"Manhunt","price":null,"owner":"ETV","ownerId":1,"images":{"webGuideItemLarge":"/resized/ri93Qj4OLXXvg7QAsUOcKMnIb3g=/570x330/filters:format(jpeg)/inet-static.mw.elion.ee/epg_images/9/b/17e48b3966e65c02.jpg"},"packetIds":[30,34,38,129,130,162,191,242,243,244,447,483,484,485,486],"related":{"programmeIds":[27224371]}}]},"relations":{"programmes":{"27224371":{"id":27224371,"startAt":"2021-11-20T00:05:00+02:00","endAt":"2021-11-20T00:55:00+02:00","publicTo":"2021-12-04T02:05:00+02:00","status":"default","channelId":1,"broadcastId":78248901,"hasMarkers":false,"catchup":false}}}}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -44,7 +45,7 @@ it('can parse response', () => { { start: '2021-11-19T22:05:00.000Z', stop: '2021-11-19T22:55:00.000Z', - title: `Inimjaht`, + 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' } ]) @@ -54,7 +55,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"categoryItems":{},"relations":{}}` + content: '{"categoryItems":{},"relations":{}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/teliatv.ee/teliatv.ee_en.channels.xml b/sites/teliatv.ee/teliatv.ee_en.channels.xml new file mode 100644 index 00000000..e5e93423 --- /dev/null +++ b/sites/teliatv.ee/teliatv.ee_en.channels.xml @@ -0,0 +1,96 @@ + + + + + + Arte + n-tv + RTL + RTL2 + SAT 1 + ZDF + Al Jazeera + ALO-TV + Animal Planet + BBC Earth + BBC World + Bloomberg TV + Boomerang + Cartoon Network + MTV Club + CNBC Europe + CNN International + Discovery Channel + Discovery Science + Disney Channel + Disney Junior + DTX + Duo 3 + Duo 4 + Duo 6 + Deutsche Welle + Epic Drama + Euronews + Euronews Rus + Eurosport 1 + Eurosport 2 + Fashion TV + Fight Sports + Filmzone + Filmzone+ + Fox Life + Fox + France 24 + TV3 Film + HGTV + HISTORY2 + History Channel + Inspira + ID + Kidzone Mini + Kidzone + MCM TOP + Mezzo + Mezzo Live HD + MTV 00s + MTV 80s + MTV 90s + MTV Europe + MTV Hits + MTV Live HD + MyHits + National Geographic + Nat Geo Wild + Nickelodeon + nick Jr. + nicktoons + PRO 7 + RFM TV + Setanta Sports + SKY News + Smartzone + Classica + DJAZZ.tv + iConcerts + Super RTL + TLC + Travel Channel + TV1000 Action + TV1000 East + TV1000 World Kino + TV3 Life + TV3 Sport + TV3 Sport2 + Viasat Explore + Viasat History + Viasat Nature + VIP Comedy + TVEi + YLE TV1 + YLE TV2 + France 2 + TV5MONDE Europe + RAI 1 + SVT1 + SVT2 + diff --git a/sites/teliatv.ee/teliatv.ee_et.channels.xml b/sites/teliatv.ee/teliatv.ee_et.channels.xml new file mode 100644 index 00000000..4cf632e5 --- /dev/null +++ b/sites/teliatv.ee/teliatv.ee_et.channels.xml @@ -0,0 +1,73 @@ + + + + + + ALO-TV + Animal Planet + Arte + Bloomberg TV + Boomerang + CNBC Europe + Discovery Channel + Discovery Science + DTX + Duo 3 + Duo 4 + Duo 5 + Duo 6 + Deutsche Welle + Eesti Kanal + Epic Drama + ETV + ETV 2 + ETV+ + Eurosport 1 + Eurosport 2 + Filmzone + Filmzone+ + Fox Life + Fox + TV3 Film + HGTV + History Channel + Inspira + ID + Kanal 2 + Kidzone Mini + Kidzone + LIFE TV + MCM TOP + Mezzo + MyHits + National Geographic + Nickelodeon + nick Jr. + nicktoons + n-tv + PRO 7 + RTL + SAT 1 + Setanta Sports + Smartzone + Super RTL + TAEVAS TV7 + TLC + Travel Channel + TV1000 Action + TV1000 East + TV1000 World Kino + TV3 + TV3 Life + 3+ + TV6 + TVXXI + Viasat Explore + Viasat History + Viasat Nature + VIP Comedy + YLE TV1 + YLE TV2 + Mezzo Live HD + RFM TV + diff --git a/sites/teliatv.ee/teliatv.ee_ru.channels.xml b/sites/teliatv.ee/teliatv.ee_ru.channels.xml new file mode 100644 index 00000000..0707137c --- /dev/null +++ b/sites/teliatv.ee/teliatv.ee_ru.channels.xml @@ -0,0 +1,86 @@ + + + + + + Eurosport 2 + Animal Planet + Arte + Boomerang + Cartoon Network + CNN International + Настоящее время + Discovery Channel + Discovery Science + DTX + Duo 3 + Duo 4 + Duo 5 + Duo 6 + Kanal 7 + Deutsche Welle + Eesti Kanal + Epic Drama + ETV + ETV 2 + ETV+ + Euronews + Euronews Rus + Eurosport + Fashion TV + Filmzone + Filmzone+ + Fox Life + Fox + France 2 + France 24 + TV3 Film + HGTV + HISTORY2 + History Channel + Inspira + ID + Kanal 2 + Kidzone Mini + Kidzone + LIFE TV + Mezzo + Mezzo Live HD + National Geographic + Nat Geo Wild + НЕБЕСА ТВ7 + Nickelodeon + nick Jr. + nicktoons + n-tv + Orsent TV + PRO 7 + RAI 1 + SAT 1 + Setanta Sports + Smartzone + Super RTL + TBN Baltia + TLC + Travel Channel + TV1000 Action + TV1000 East + TV1000 World Kino + TV3 + TV3 Life + 3+ + TV3 Sport + TV3 Sport2 + TV5MONDE Europe + TV6 + TVN + TVXXI + Украина 24 + Viasat Explore + Viasat History + Viasat Nature + VIP Comedy + YLE TV1 + YLE TV2 + ZDF + diff --git a/sites/telkku.com/telkku.com.channels.xml b/sites/telkku.com/telkku.com.channels.xml index 4fcb2888..66d7e2b8 100644 --- a/sites/telkku.com/telkku.com.channels.xml +++ b/sites/telkku.com/telkku.com.channels.xml @@ -1,101 +1,99 @@ - - - AlfaTV - Animal Planet - Ava - Cartoon Network - C More First - C More Hits - C More Juniori - C More Max - C More Series - C More Sport 1 - C More Sport 2 - C More Stars - Discovery Channel - - Extreme Sports - Fox - Frii - H2 - Hero - Himlen TV7 - Jim - Kanal5 - Kutonen - Liv - MTV3 - National Geographic - Nelonen - SF-kanalen - Sub - SVT 1 - SVT 2 - SVT24 - TLC - TV3 - TV4 - TV5 - TV6 - V film ACTION - V film FAMILY - V film HITS - V film PREMIERE - Viasat Explore - Viasat History - V sport FOOTBALL - V sport GOLF - V sport PREMIUM - V sport ULTRA HD - V sport vinter - Yle Teema Fem - Yle TV1 - Yle TV2 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -TV7 -Viron ETV - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AlfaTV + Animal Planet + Ava + Cartoon Network + C More First + C More Hits + C More Juniori + C More Max + C More Series + C More Sport 1 + C More Sport 2 + C More Stars + Discovery Channel + Extreme Sports + Fox + Frii + H2 + Hero + Himlen TV7 + Jim + Kanal5 + Kutonen + Liv + MTV3 + National Geographic + Nelonen + SF-kanalen + Sub + SVT 1 + SVT 2 + SVT24 + TLC + TV3 + TV4 + TV5 + TV6 + V film ACTION + V film FAMILY + V film HITS + V film PREMIERE + Viasat Explore + Viasat History + V sport FOOTBALL + V sport GOLF + V sport PREMIUM + V sport ULTRA HD + V sport vinter + Yle Teema Fem + Yle TV1 + Yle TV2 +Viron ETV +TV7 + diff --git a/sites/telkku.com/telkku.com.config.js b/sites/telkku.com/telkku.com.config.js index 37292ad6..bd7fb8ae 100644 --- a/sites/telkku.com/telkku.com.config.js +++ b/sites/telkku.com/telkku.com.config.js @@ -28,7 +28,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://telkku.com/api/channel-groups`) + .get('https://telkku.com/api/channel-groups') .then(r => r.data) .catch(console.log) @@ -62,7 +62,7 @@ function getStop(item) { } function getItems(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const data = JSON.parse(content) if (!data || !data.response || !Array.isArray(data.response.publicationsByChannel)) return [] const channelData = data.response.publicationsByChannel.find(i => i.channel.id === channelId) diff --git a/sites/telkku.com/telkku.com.test.js b/sites/telkku.com/telkku.com.test.js index 043f17cf..2946fdc0 100644 --- a/sites/telkku.com/telkku.com.test.js +++ b/sites/telkku.com/telkku.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/telkku.com/telkku.com.config.js --output=./sites/telkku.com/telkku.com.channels.xml -// npx epg-grabber --config=sites/telkku.com/telkku.com.config.js --channels=sites/telkku.com/telkku.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=telkku.com const { parser, url } = require('./telkku.com.config.js') const fs = require('fs') diff --git a/sites/telkussa.fi/telkussa.fi.channels.xml b/sites/telkussa.fi/telkussa.fi.channels.xml index ff1e73e1..0bbb994c 100644 --- a/sites/telkussa.fi/telkussa.fi.channels.xml +++ b/sites/telkussa.fi/telkussa.fi.channels.xml @@ -1,48 +1,46 @@ - - - AlfaTV - Animal Planet - AVA - C More First - C More Hits - C More Juniori - C More Max - C More Series - C More Sport 1 - C More Sport 2 - C More Stars - Discovery Channel Finland - Disney Channel Scandinavia - - - Fox - Frii - Hero - Jim - Kutonen - Liv - MTV 3 - MTV Nordic - National Geographic Scandinavia - Nelonen - Paramount Network Sverige - SF-kanalen - Sjuan - Sub - Taivas TV7 - TLC - TV 4 - TV 5 - V Film Action - V Film Family - V Film Hits - V Film Premiere - V Sport Football - V Sport Golf - V Sport Hockey - YLE Teema Fem - YLE TV 1 - YLE TV 2 - - + + + + AlfaTV + Animal Planet + AVA + C More First + C More Hits + C More Juniori + C More Max + C More Series + C More Sport 1 + C More Sport 2 + C More Stars + Discovery Channel Finland + Disney Channel Scandinavia + Fox + Frii + Hero + Jim + Kutonen + Liv + MTV 3 + MTV Nordic + National Geographic Scandinavia + Nelonen + Paramount Network Sverige + SF-kanalen + Sjuan + Sub + Taivas TV7 + TLC + TV 4 + TV 5 + V Film Action + V Film Family + V Film Hits + V Film Premiere + V Sport Football + V Sport Golf + V Sport Hockey + YLE Teema Fem + YLE TV 1 + YLE TV 2 + diff --git a/sites/telkussa.fi/telkussa.fi.config.js b/sites/telkussa.fi/telkussa.fi.config.js index 87baba16..a887f4ca 100644 --- a/sites/telkussa.fi/telkussa.fi.config.js +++ b/sites/telkussa.fi/telkussa.fi.config.js @@ -6,7 +6,7 @@ module.exports = { url: function ({ date, channel }) { return `https://telkussa.fi/API/Channel/${channel.site_id}/${date.format('YYYYMMDD')}` }, - parser: function ({ content, date, channel }) { + parser: function ({ content }) { const programs = [] const items = JSON.parse(content) if (!items.length) return programs diff --git a/sites/telsu.fi/telsu.fi.channels.xml b/sites/telsu.fi/telsu.fi.channels.xml index a0bac77c..c955c5df 100644 --- a/sites/telsu.fi/telsu.fi.channels.xml +++ b/sites/telsu.fi/telsu.fi.channels.xml @@ -1,30 +1,28 @@ - - - AlfaTV - AVA - FOX - Frii - Hero - Jim - Kutonen - Liv - MTV3 - National Geographic Channel - Nelonen - Sub - TLC - TV5 - Yle Teema & Fem - Yle TV1 - Yle TV2 - KotiTV - Taivas TV7 - INEZ - ETV - TV4 - SVT1 - SVT2 - SVT24 - - + + ETV + AlfaTV + AVA + FOX + Frii + Hero + INEZ + Jim + KotiTV + Kutonen + Liv + MTV3 + National Geographic Channel + Nelonen + Sub + Taivas TV7 + TLC + TV5 + Yle Teema & Fem + Yle TV1 + Yle TV2 + SVT1 + SVT2 + SVT24 + TV4 + diff --git a/sites/telsu.fi/telsu.fi.config.js b/sites/telsu.fi/telsu.fi.config.js index 8e80be70..cee4a1fe 100644 --- a/sites/telsu.fi/telsu.fi.config.js +++ b/sites/telsu.fi/telsu.fi.config.js @@ -43,7 +43,7 @@ module.exports = { }, async channels() { const html = await axios - .get(`https://www.telsu.fi/`) + .get('https://www.telsu.fi/') .then(r => r.data) .catch(console.log) const $ = cheerio.load(html) @@ -77,7 +77,7 @@ function parseIcon($item) { function parseStart($item, date) { const subtitle = $item('.h > h2').clone().children().remove().end().text().trim() - const [_, HH, mm] = subtitle.match(/(\d{2})\.(\d{2}) - (\d{2})\.(\d{2})$/) || [null, null, null] + const [, HH, mm] = subtitle.match(/(\d{2})\.(\d{2}) - (\d{2})\.(\d{2})$/) || [null, null, null] if (!HH || !mm) return null return dayjs.tz(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm', 'Europe/Helsinki') @@ -85,7 +85,7 @@ function parseStart($item, date) { function parseStop($item, date) { const subtitle = $item('.h > h2').clone().children().remove().end().text().trim() - const [_, HH, mm] = subtitle.match(/ - (\d{2})\.(\d{2})$/) || [null, null, null] + const [, HH, mm] = subtitle.match(/ - (\d{2})\.(\d{2})$/) || [null, null, null] if (!HH || !mm) return null return dayjs.tz(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm', 'Europe/Helsinki') diff --git a/sites/telsu.fi/telsu.fi.test.js b/sites/telsu.fi/telsu.fi.test.js index e42890c4..e2e99577 100644 --- a/sites/telsu.fi/telsu.fi.test.js +++ b/sites/telsu.fi/telsu.fi.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/telsu.fi/telsu.fi.config.js --output=./sites/telsu.fi/telsu.fi.channels.xml -// npx epg-grabber --config=sites/telsu.fi/telsu.fi.config.js --channels=sites/telsu.fi/telsu.fi.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=telsu.fi const { parser, url } = require('./telsu.fi.config.js') const fs = require('fs') diff --git a/sites/tivu.tv/tivu.tv.channels.xml b/sites/tivu.tv/tivu.tv.channels.xml index 772db934..e1fc0df0 100644 --- a/sites/tivu.tv/tivu.tv.channels.xml +++ b/sites/tivu.tv/tivu.tv.channels.xml @@ -1,76 +1,74 @@ - - - 20 Mediaset - 27 - Al Jazeera - BBC World News - Bloomberg European TV - Boing - Canale 5 - Cartoonito - cielo - Cine34 - DMAX - UNIQtv HD - Euronews Italian - Fashion TV - Focus - Food Network - France 24 HD (in English) - France 24 HD (en Français) - frisbee - GIALLO - Gold TV - HGTV - Horse TV - Iris - Italia 1 - Mediaset ITALIA DUE - K2 - KBS HD - La 5 - LA7 - LA7d - Mediaset EXTRA - MEZZO - Motor Trend - Museum - MyZen TV - NASA - NHK WORLD-JAPAN - NOVE - QVC - Radio Italia TV - RMC - Rai 1 - Rai 2 - Rai 3 - Rai 4 - Rai 4K - Rai 5 - Rai Gulp - Rai Movie - Rai News 24 - Rai Premium - Rai Scuola - Rai Sport - Rai Storia - Rai yoyo - RDS Social TV - Real Time - Rete 4 - RTL 102.5 - Solocalcio - Super! - TgCom24 - Topcrime - Travel XP - TRM h24 - TRT World HD - TV2000 - TV8 - VH1 - Warner TV - - + + 20 Mediaset + 27 + Al Jazeera + BBC World News + Bloomberg European TV + Boing + Canale 5 + Cartoonito + cielo + Cine34 + DMAX + UNIQtv HD + Euronews Italian + Fashion TV + Focus + Food Network + France 24 HD (in English) + France 24 HD (en Français) + frisbee + GIALLO + Gold TV + HGTV + Horse TV + Iris + Italia 1 + Mediaset ITALIA DUE + K2 + KBS HD + La 5 + LA7 + LA7d + Mediaset EXTRA + MEZZO + Motor Trend + Museum + MyZen TV + NASA + NHK WORLD-JAPAN + NOVE + QVC + Radio Italia TV + RMC + Rai 1 + Rai 2 + Rai 3 + Rai 4 + Rai 4K + Rai 5 + Rai Gulp + Rai Movie + Rai News 24 + Rai Premium + Rai Scuola + Rai Sport + Rai Storia + Rai yoyo + RDS Social TV + Real Time + Rete 4 + RTL 102.5 + Solocalcio + Super! + TgCom24 + Topcrime + Travel XP + TRM h24 + TRT World HD + TV2000 + TV8 + VH1 + Warner TV + diff --git a/sites/tivu.tv/tivu.tv.config.js b/sites/tivu.tv/tivu.tv.config.js index 8f4094e2..5e8dcd5f 100644 --- a/sites/tivu.tv/tivu.tv.config.js +++ b/sites/tivu.tv/tivu.tv.config.js @@ -1,4 +1,3 @@ -const dayjs = require('dayjs') const cheerio = require('cheerio') const { DateTime } = require('luxon') @@ -43,13 +42,13 @@ module.exports = { } function parseTitle($item) { - const [title, _, __] = $item('a').html().split('
    ') + const [title] = $item('a').html().split('
    ') return title } function parseStart($item, date) { - const [_, __, time] = $item('a').html().split('
    ') + const [, , time] = $item('a').html().split('
    ') if (!time) return null return DateTime.fromFormat(`${date.format('YYYY-MM-DD')} ${time}`, 'yyyy-MM-dd HH:mm', { @@ -57,7 +56,7 @@ function parseStart($item, date) { }).toUTC() } -function parseItems(content, channel, date) { +function parseItems(content, channel) { if (!content) return [] const $ = cheerio.load(content) diff --git a/sites/tivu.tv/tivu.tv.test.js b/sites/tivu.tv/tivu.tv.test.js index abbb4dee..e8521a0d 100644 --- a/sites/tivu.tv/tivu.tv.test.js +++ b/sites/tivu.tv/tivu.tv.test.js @@ -1,14 +1,15 @@ -// npx epg-grabber --config=sites/tivu.tv/tivu.tv.config.js --channels=sites/tivu.tv/tivu.tv.channels.xml --output=guide.xml +// npm run grab -- --site=tivu.tv -const { parser, url, request } = require('./tivu.tv.config.js') +const { parser, url } = require('./tivu.tv.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') + dayjs.extend(customParseFormat) dayjs.extend(utc) -const axios = require('axios') + jest.mock('axios') const channel = { diff --git a/sites/toonamiaftermath.com/toonamiaftermath.com.channels.xml b/sites/toonamiaftermath.com/toonamiaftermath.com.channels.xml index 88e90338..dac5b350 100644 --- a/sites/toonamiaftermath.com/toonamiaftermath.com.channels.xml +++ b/sites/toonamiaftermath.com/toonamiaftermath.com.channels.xml @@ -1,6 +1,4 @@ - - - Toonami Aftermath East - - + + Toonami Aftermath East + diff --git a/sites/toonamiaftermath.com/toonamiaftermath.com.config.js b/sites/toonamiaftermath.com/toonamiaftermath.com.config.js index 305b9d46..effd5029 100644 --- a/sites/toonamiaftermath.com/toonamiaftermath.com.config.js +++ b/sites/toonamiaftermath.com/toonamiaftermath.com.config.js @@ -3,7 +3,7 @@ process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0' const dayjs = require('dayjs') const axios = require('axios') -const API_ENDPOINT = `https://api.toonamiaftermath.com` +const API_ENDPOINT = 'https://api.toonamiaftermath.com' module.exports = { site: 'toonamiaftermath.com', @@ -22,7 +22,7 @@ module.exports = { return `${API_ENDPOINT}/playlist?id=${playlist._id}&addInfo=true` }, - parser({ content, date }) { + parser({ content }) { let programs = [] const items = parseItems(content) items.forEach(item => { @@ -44,18 +44,17 @@ function parseItems(content) { const data = JSON.parse(content) if (!data || !data.playlist) return [] - return data.playlist.blocks - .reduce((acc, curr) => { - acc = acc.concat(curr.mediaList) + return data.playlist.blocks.reduce((acc, curr) => { + acc = acc.concat(curr.mediaList) - return acc - }, []) + return acc + }, []) } function parseEpisode(item) { - return (item && item.info && item.info.episode) ? item.info.episode : null + return item && item.info && item.info.episode ? item.info.episode : null } function parseIcon(item) { - return (item && item.info && item.info.image) ? item.info.image : null -} \ No newline at end of file + 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 e03fdc39..23418757 100644 --- a/sites/toonamiaftermath.com/toonamiaftermath.com.test.js +++ b/sites/toonamiaftermath.com/toonamiaftermath.com.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/toonamiaftermath.com/toonamiaftermath.com.config.js --channels=sites/toonamiaftermath.com/toonamiaftermath.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=toonamiaftermath.com -const { parser, url, request } = require('./toonamiaftermath.com.config.js') +const { parser, url } = require('./toonamiaftermath.com.config.js') const fs = require('fs') const path = require('path') const axios = require('axios') @@ -12,7 +12,7 @@ dayjs.extend(utc) jest.mock('axios') -const API_ENDPOINT = `https://api.toonamiaftermath.com` +const API_ENDPOINT = 'https://api.toonamiaftermath.com' const date = dayjs.utc('2022-11-29', 'YYYY-MM-DD').startOf('d') const channel = { diff --git a/sites/transvision.co.id/transvision.co.id.channels.xml b/sites/transvision.co.id/transvision.co.id.channels.xml index d637a683..2f046373 100644 --- a/sites/transvision.co.id/transvision.co.id.channels.xml +++ b/sites/transvision.co.id/transvision.co.id.channels.xml @@ -1,83 +1,81 @@ - - - !nsert - ABC Australia - AFN HD - Al Jazeera - Al Quran Al Kareem - Animax - AniPlus - ANTV - Arirang - AXN HD - Baby First - BeritaSatu - Bioskop Indonesia - Bloomberg TV - Boomerang HD - Cartoon Network HD - CCTV 4 - Celestial Movies - CGTN - CGTN Documentary - Channel NewsAsia - Cinema World HD - CINEMAX - CNBC Asia - CNN Indonesia HD - CNN International HD - Crime & Investigation HD - Da Vinci - DAAI TV - Duck TV - Dunia Anak - Dunia Lain - DW - Eat N Go - Euronews - Fashion One HD - Fashion TV HD - Fight Sports HD - France 24 - GEM HD - GLOBAL TV - HBO Family HD - HBO - HBO Hits HD - HBO Signature HD - History HD - HISTORY2 HD - Indosiar - JakTV - Jendela - KBS World HD - Khazanah - KIX HD - Kompas TV - Lifetime HD - Lingua Channel HD - Metro TV - MNCTV - MTV Live - NHK World Premium - Nick Jr. - Nickelodeon - ONE HD - RCTI - Rock Entertainment HD - RTV - Russia Today - SCTV - T-Music - Thrill - Trans7 HD - TransTV HD - TV 5 Monde - tvN HD - tvOne - TVRI - Warner TV HD - Zee Bioskop - - + + ABC Australia + Al Jazeera + Al Quran Al Kareem + Animax + AniPlus + ANTV + Arirang + AFN HD + AXN HD + Baby First + BeritaSatu + Bioskop Indonesia + Bloomberg TV + Boomerang HD + Cartoon Network HD + CCTV 4 + Celestial Movies + CGTN + CGTN Documentary + Cinema World HD + CINEMAX + Channel NewsAsia + CNBC Asia + CNN Indonesia HD + CNN International HD + Crime & Investigation HD + DAAI TV + Da Vinci + Duck TV + Dunia Anak + Dunia Lain + DW + Eat N Go + Euronews + Fashion One HD + Fashion TV HD + Fight Sports HD + France 24 + GEM HD + GLOBAL TV + HBO + HBO Family HD + HBO Hits HD + HBO Signature HD + HISTORY2 HD + History HD + Indosiar + JakTV + Jendela + KBS World HD + Khazanah + KIX HD + Kompas TV + Lifetime HD + Lingua Channel HD + Metro TV + MNCTV + MTV Live + NHK World Premium + Nickelodeon + Nick Jr. + !nsert + ONE HD + RTV + RCTI + Rock Entertainment HD + Russia Today + SCTV + Thrill + T-Music + Trans7 HD + TransTV HD + TV 5 Monde + tvN HD + tvOne + TVRI + Warner TV HD + Zee Bioskop + diff --git a/sites/transvision.co.id/transvision.co.id.config.js b/sites/transvision.co.id/transvision.co.id.config.js index f49861d1..50f9d9ad 100644 --- a/sites/transvision.co.id/transvision.co.id.config.js +++ b/sites/transvision.co.id/transvision.co.id.config.js @@ -12,7 +12,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'transvision.co.id', days: 2, - url: `https://www.transvision.co.id/jadwalacara/epg`, + url: 'https://www.transvision.co.id/jadwalacara/epg', request: { method: 'POST', data: function ({ channel, date }) { @@ -72,16 +72,6 @@ function parseDescription(item) { return cheerio.load(item)('td:last-child').text() } -function parseDuration(item) { - const $ = cheerio.load(item) - let duration = $('th').text() - const match = duration.match(/(\d{2}):(\d{2}):\d{2}/) - const hours = parseInt(match[1]) - const minutes = parseInt(match[2]) - - return hours * 60 + minutes -} - function parseStart(item, date) { const $ = cheerio.load(item) let time = $('th').text() diff --git a/sites/transvision.co.id/transvision.co.id.test.js b/sites/transvision.co.id/transvision.co.id.test.js index 20ab4014..6fc3c5d3 100644 --- a/sites/transvision.co.id/transvision.co.id.test.js +++ b/sites/transvision.co.id/transvision.co.id.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/transvision.co.id/transvision.co.id.config.js --channels=sites/transvision.co.id/transvision.co.id.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=transvision.co.id const { parser, url, request } = require('./transvision.co.id.config.js') const dayjs = require('dayjs') @@ -10,7 +10,8 @@ const channel = { site_id: 'TRIS', xmltv_id: 'nsert.id' } -const content = `
    00:00:00 Insert TodayInsert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.
    01:00:00 BrownisBrownis atau obrolan manis merupakan program talkshow segar yang dipandu oleh Ruben Onsu bersama Ivan Gunawan.
    01:30:00 Warga +62Warga +62 menghadirkan trend penyebaran video/momen lucu yang juga dikenal sebagai video lucu Indonesia yang tersebar di media sosial.
    23:00:00 InsertInsert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.
    ` +const content = + '
    00:00:00 Insert TodayInsert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.
    01:00:00 BrownisBrownis atau obrolan manis merupakan program talkshow segar yang dipandu oleh Ruben Onsu bersama Ivan Gunawan.
    01:30:00 Warga +62Warga +62 menghadirkan trend penyebaran video/momen lucu yang juga dikenal sebagai video lucu Indonesia yang tersebar di media sosial.
    23:00:00 InsertInsert adalah program infotainment yang menceritakan berita-berita kehidupan selebriti serta gosip-gosipnya dan disajikan secara aktual dan faktual dengan suasana yang santai.
    ' it('can generate valid url', () => { expect(url).toBe('https://www.transvision.co.id/jadwalacara/epg') @@ -75,7 +76,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/turksatkablo.com.tr/turksatkablo.com.tr.channels.xml b/sites/turksatkablo.com.tr/turksatkablo.com.tr.channels.xml index 7b82c379..39a9c48c 100644 --- a/sites/turksatkablo.com.tr/turksatkablo.com.tr.channels.xml +++ b/sites/turksatkablo.com.tr/turksatkablo.com.tr.channels.xml @@ -1,153 +1,151 @@ - - - - 24 Kitchen Türkiye - 24 TV - 360 - 360 Tune Box - A2 - A Haber - Akit TV - Ala Too 24 - Aljazeera Channel - Aljazeera English - Saudi TV - A News - Animaux - A Para - Arirang World - A Spor - ATV Türkiye - Automoto la chaîne - Az TV - Baby TV Europe - BBC Entertainment Europe - BBC World News Europe - BBN Türk - BeIn Sports 1 Türkiye - BeIn Sports 2 Türkiye - BeIn Sports 3 Türkiye - BeIn Sports 4 Türkiye - BeIn Sports Haber - BeIn Sports Max 1 Türkiye - BeIn Sports Max 2 Türkiye - Bengü Türk - Beyaz TV - Beykent TV - Bloomberg HT - Bloomberg TV Europe - BRT 1 - Cartoon Network Türkiye - CCTV 4 Europe - CGTN - CGTN Documentary - Chasse & Pêche - CNN Türk - Da Vinci - Discovery Channel Türkiye - Disney Channel Türkiye - Diyanet TV - DMAX Türkiye - DocuBox HD - Dream Türk - Duck TV SD - DW Deutsch - DW English - EBA TV Ilkokul - EBA TV Lise - EBA TV Ortaokul - Edge Sport - Ekotürk - English Club TV - Eurosport 1 - Eurosport 2 - Fast & FunBox HD - FB TV - FightBox HD - FilmBox Türkiye - Flash TV - Fox Crime Türkiye - Fox Türkiye - France 24 English - France 24 Français - FunBox UHD - FX Türkiye - Gametoon - Haber Global - Habertürk - Hayat Plus - Investigation Discovery Europe - Kablo Info - Kanal 7 - Kanal B - Kanal D - KBS World - Kibris Genç TV - Kocaeli TV - Kon TV - Minika Çocuk - Minika Go - MyZen TV - National Geographic Türkiye - National Geographic Wild Türkiye - NBA TV - NHK World Japan - NTV - Quran TV - RTG International - Rossiya 24 - Science & Vie TV - Show TV - Sinema 1001 - Sinema 1002 - Sinema 2 - Sinema Aile - Sinema Aile 2 - Sinema Aksiyon - Sinema Aksiyon 2 - Sinema Komedi - Sinema Komedi 2 - Sinema TV - Sinema Yerli - Sinema Yerli 2 - S Sport - S Sport 2 - Star TV - Sunna TV - Teve 2 - TGRT Haber - TLC Türkiye - TMB - Trace Sport Stars - Trace Urban - Trek - TRT 1 - TRT 2 - TRT Arabi - TRT Avaz - TRT Belgesel - TRT Çocuk - TRT Haber - TRT Kurdî - TRT Müzik - TRT Spor - TRT Spor Yildiz - TRT Türk - TRT World - Türkmeneli TV - TV 100 - TV 5 Monde Europe - TV 8 - TV 8.5 - TV Net - UA TV - UçanKus TV - Ülke TV - Ulusal Kanal - Vav TV - Viasat Explore Türkiye - Viasat History HD - Viasat Nature Türkiye - - + + + 24 Kitchen Türkiye + 24 TV + 360 + 360 Tune Box + A2 + A Haber + Akit TV + Ala Too 24 + Aljazeera Channel + Aljazeera English + Saudi TV + A News + Animaux + A Para + Arirang World + A Spor + ATV Türkiye + Automoto la chaîne + Az TV + Baby TV Europe + BBC Entertainment Europe + BBC World News Europe + BBN Türk + BeIn Sports 1 Türkiye + BeIn Sports 2 Türkiye + BeIn Sports 3 Türkiye + BeIn Sports 4 Türkiye + BeIn Sports Haber + BeIn Sports Max 1 Türkiye + BeIn Sports Max 2 Türkiye + Bengü Türk + Beyaz TV + Beykent TV + Bloomberg HT + Bloomberg TV Europe + BRT 1 + Cartoon Network Türkiye + CCTV 4 Europe + CGTN + CGTN Documentary + Chasse & Pêche + CNN Türk + Da Vinci + Discovery Channel Türkiye + Disney Channel Türkiye + Diyanet TV + DMAX Türkiye + DocuBox HD + Dream Türk + Duck TV SD + DW Deutsch + DW English + EBA TV Ilkokul + EBA TV Lise + EBA TV Ortaokul + Edge Sport + Ekotürk + English Club TV + Eurosport 1 + Eurosport 2 + Fast & FunBox HD + FB TV + FightBox HD + FilmBox Türkiye + Flash TV + Fox Crime Türkiye + Fox Türkiye + France 24 English + France 24 Français + FunBox UHD + FX Türkiye + Gametoon + Haber Global + Habertürk + Hayat Plus + Investigation Discovery Europe + Kablo Info + Kanal 7 + Kanal B + Kanal D + KBS World + Kibris Genç TV + Kocaeli TV + Kon TV + Minika Çocuk + Minika Go + MyZen TV + National Geographic Türkiye + National Geographic Wild Türkiye + NBA TV + NHK World Japan + NTV + Quran TV + RTG International + Rossiya 24 + Science & Vie TV + Show TV + Sinema 1001 + Sinema 1002 + Sinema 2 + Sinema Aile + Sinema Aile 2 + Sinema Aksiyon + Sinema Aksiyon 2 + Sinema Komedi + Sinema Komedi 2 + Sinema TV + Sinema Yerli + Sinema Yerli 2 + S Sport + S Sport 2 + Star TV + Sunna TV + Teve 2 + TGRT Haber + TLC Türkiye + TMB + Trace Sport Stars + Trace Urban + Trek + TRT 1 + TRT 2 + TRT Arabi + TRT Avaz + TRT Belgesel + TRT Çocuk + TRT Haber + TRT Kurdî + TRT Müzik + TRT Spor + TRT Spor Yildiz + TRT Türk + TRT World + Türkmeneli TV + TV 100 + TV 5 Monde Europe + TV 8 + TV 8.5 + TV Net + UA TV + UçanKus TV + Ülke TV + Ulusal Kanal + Vav TV + Viasat Explore Türkiye + Viasat History HD + Viasat Nature Türkiye + diff --git a/sites/turksatkablo.com.tr/turksatkablo.com.tr.config.js b/sites/turksatkablo.com.tr/turksatkablo.com.tr.config.js index 581575d7..3806f3c0 100644 --- a/sites/turksatkablo.com.tr/turksatkablo.com.tr.config.js +++ b/sites/turksatkablo.com.tr/turksatkablo.com.tr.config.js @@ -51,7 +51,9 @@ function parseItems(content, channel) { let parsed try { parsed = JSON.parse(content) - } catch (e) {} + } catch (error) { + return [] + } if (!parsed || !parsed.k) return [] const data = parsed.k.find(c => c.x == channel.site_id) diff --git a/sites/turksatkablo.com.tr/turksatkablo.com.tr.test.js b/sites/turksatkablo.com.tr/turksatkablo.com.tr.test.js index 6be05fb0..d8faf028 100644 --- a/sites/turksatkablo.com.tr/turksatkablo.com.tr.test.js +++ b/sites/turksatkablo.com.tr/turksatkablo.com.tr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/turksatkablo.com.tr/turksatkablo.com.tr.config.js --channels=sites/turksatkablo.com.tr/turksatkablo.com.tr.channels.xml --output=guide.xml +// npm run grab -- --site=turksatkablo.com.tr const { parser, url } = require('./turksatkablo.com.tr.config.js') const dayjs = require('dayjs') @@ -9,7 +9,8 @@ dayjs.extend(utc) const date = dayjs.utc('2021-10-25', 'YYYY-MM-DD').startOf('d') const channel = { site_id: '283', xmltv_id: 'SinemaTV.tr', display_name: 'Sinema TV' } -const content = `{"k":[{"x":283,"i":2,"n":"Sinema TV","p":[{"a":"196432597608","b":"Ölüm Ormanı","c":"01:15","d":"03:00"},{"a":"196432597628","b":"Kızım","c":"15:00","d":"17:00"},{"a": "196441294843","b":"Kaçakçı","c":"23:45","d":"03:45"}]}]}` +const content = + '{"k":[{"x":283,"i":2,"n":"Sinema TV","p":[{"a":"196432597608","b":"Ölüm Ormanı","c":"01:15","d":"03:00"},{"a":"196432597628","b":"Kızım","c":"15:00","d":"17:00"},{"a": "196441294843","b":"Kaçakçı","c":"23:45","d":"03:45"}]}]}' it('can generate valid url', () => { const result = url({ date }) @@ -45,7 +46,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.blue.ch/tv.blue.ch.channels.xml b/sites/tv.blue.ch/tv.blue.ch.channels.xml index 6780645f..dd9fc756 100644 --- a/sites/tv.blue.ch/tv.blue.ch.channels.xml +++ b/sites/tv.blue.ch/tv.blue.ch.channels.xml @@ -1,815 +1,813 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 2M Monde - Al Masriya - Watania 1 - BN TV Satelitski - BN 2 - Hayat Folk - Hayatovci - Hayat Plus - OBN - CT 24 - 13th Street - 3+ - 3sat - 4+ - 5+ - 6+ - 7+/Nick Schweiz - Alpenland TV - Animal Planet Germny - Anixe Serie - ARCADIA world TV - ARD Alpha - ARTE Deutsch - Auftanken TV - Auto Motor und Sport - Auto Motor und Sport - Bergblick - Bibel TV - Bild - Blue Action - Blue City - Blue Event 1 - Blue Prime - Blue Retro - Blue Sport 1 - Blue Sport 2 - Blue Stars - Blue Zoom D - Blue Zoom F - Bodensee TV - Bon Gusto - Boomerang Deutschland - Bayerisches Fernsehen Süd - Cartoon Network Deutschland - Comedy Central Germany - Crime + Investigation Deutschland - Curiosity Channel - Das Erste - Deluxe Music - Deutsches Musik Fernsehen - Discovery Channel Deutschland - Disney Channel Deutschland - DMAX Deutschland - Duck TV SD - DW Deutsch - E! Deutschland - eSports1 - Eurochannel - EuroNews Deutsch - Eurosport 1 Germany - Eurosport 2 Germany - Fix & Foxi - Folx - Game TV - Geo TV - Goldstar TV - GoTV - Heimatkanal - Helvetia One TV - HGTV Deutschland - History Deutschland - HitExpress TV - Hope TV Deutsch - HR Fernsehen - HSE - Junior - Kabel Eins Classics - Kabel Eins Doku Deutschland - Kabel Eins Schweiz - Kanal 9 - KIKA - Kinowelt TV - K-TV - Lilo TV - Loly TV - Marco Polo TV - MDR Fernsehen Sachsen - Melodie TV - More Than Sports TV - Motorvision TV - MTV Germany - musig24 TV - MySports 2 - MySports 3 - MySports 4 - MySports 5 - MySports 6 - MySports 7 - MySports 8 - MySports 9 - MySports One - N24 Doku - National Geographic Deutschland - National Geographic Wild Deutschland - NDR Fernsehen Hamburg - Nicktoons Deutschland - Nitro Deutschland - N-TV - One - One 1 Music TV - ORF 1 - ORF 2 - ORF III - ORF Sport + - Phoenix TV! - Premium Shopping TV - ProSieben Fun - ProSieben Maxx Deutschland - ProSieben Schweiz - Puls Acht - R9 - Radio Pilatus TV - RBB Berlin - regioTVplus - Rheinwelten TV - RiC - Romance TV Deutschland - rrotv - RTL Crime Deutschland - RTL - RTL Living Deutschland - RTL Passion Deutschland - RTL Up - RTL Zwei - S1 - Sat. 1 Deutschland - Sat. 1 Gold Deutschland - Schaffhauser Fernsehen - Schlager Deluxe - Servus TV Deutschland - Sixx Deutschland - Sony AXN - Sony Channel Deutschland - Spiegel Geschichte - Sport1 - Sport 1+ - Sportdigital Fussball - SRF 1 - SR Fernsehen - SRF Info - SRF Zwei - Star TV - Stingray Classica - Südostschweiz - Super RTL Deutschland - Swiss 1 - Swiss Sport TV - SWR Fernsehen Baden-Württemberg - Syfy Deutschland - Tagesschau 24 - Tele 1 - Tele 5 - TeleBärn - Telebasel - TeleBielingue - Tele D - Tele M1 - Tele Top - Televista - Tele Z - Tele Zentralschweiz - TeleZüri - TLC Germany - Toggo Plus - TV 24 - TV 25 - TV4TNG - TV Central - TVO - TV Oberwallis - TV Rheintal - UHD 1 - Universal TV Deutschland - Volksmusik TV - Vox Deutschland - VOXup - Warner TV Comedy - Warner TV Film - Warner TV Serie - WDR Fernsehen Köln - Welt - Welt der Wunder TV - Wetter.com TV - ZDF - ZDF Info - ZDF Neo - Zwei 2 Music TV - ERT World - RIK Sat - 4Seven - 5 Action - 5 Select - 5 Star - 5 USA - Alarabiya - Aljazeera Channel - Aljazeera English - BBC Four - BBC News - BBC One - BBC Parliament - BBC Two - BBC World News - Bloomberg TV Europe - BBC Three / CBBC - CBeebies UK - CBS Reality Europe - CCTV 4 Europe - CGTN - Challenge UK - Channel 4 UK - Channel 5 - CITV - Clubland TV - CNBC Europe - CNN International Europe - Dave UK - DMAX UK - Drama UK - Dubai TV - DW English - E4 UK - Edge Sport - E! Europe - English Club TV - EuroNews English - Eurosport 1 - Extreme Sports Channel - FashionTV Europe - Film 4 UK - Food Network UK - Fox News Channel - France 24 English - FunBox UHD - GB News - Ginx eSports TV International - Great! Movies - Great! Movies Action - Great! Movies Classic - I24 News English - Insight HD - Insight UHD - ITV 1 - ITV 2 - ITV 3 - ITV 4 - ITV Be - KBS World - Kerrang! - Kiss TV - Love Nature 4K - More 4 UK - NASA TV - NHK World Japan - Now 70's - Now 80's - Now 90's - PBS America - Phoenix InfoNews Channel - Pick UK - Quest UK - RT News - RTR Planeta - Sky News International - Smithsonian Channel UK - Stingray Festival 4K - Stingray IConcerts - The Box UK - The Israeli Network - Trace Hits - Viaplay Xtra - Voice of America - Yesterday - Antena 3 - Aragón TV Internacional - Atresseries - Canal 24 Horas - Canal Extremadura Satélite - Canal Sur Andalucía - De Película Europa - GVAX TV - Las Estrellas Europa - Latinos 1 TV - Teledeporte - Telehit Música - Telesur - Tlnovelas Europa - TVE Internacional Europa - 13ème Rue - 6ter Suisse - AB 1 - AB 3 - Action - Ajoie TV - Alsace 20 - Animaux - ARTE Français - Automoto la chaîne - BET France - BFM Business - BFM TV - Blue Event 2 - Blue Sport 1 - Blue Sport 2 - Boing France - Boomerang France - C8 - Canal 9 - Canal Alpha JU - Canal Alpha NE - Canal J - Canal+ Cinéma France - Canal+ Docs - Canal+ Foot - Canal+ France - Canal+ Kids - CANAL+ PREMIER LEAGUE - Canal+ Séries France - Canal+ Sport 360 - Canal+ Sport France - Cartoon Network France - Chasse et Peche - Chérie 25 - Ciné+ Classic - Ciné+ Club - Ciné+ Emotion - Ciné+ Famiz - Ciné+ Frisson - Ciné+ Premier - Clique TV - C News - Comédie+ - Comedy Central France - Crime District - C Star - Discovery Channel France - Discovery Science France - Disney Channel France - Disney Junior France - E! France - Equidia - Eurochannel - EuroNews Français - Eurosport 1 France - Eurosport 2 France - France 2 - France 24 Français - France 3 - France 4 - France 5 - Franceinfo: - Game One - Genève Région Television - Golf Channel France - Golf+ - Grand Genève TV - Gulli - Histoire TV - I24 News Français - InfoSport+ - J-One - KTO - La Chaîne Météo - La Télé - LCI - LCP Assemblée Nationale - Léman Bleu - L'Équipe - LFM TV - M6 Suisse - Mangas - Max TV - MCM France - MCM Top - Melody - Mezzo - Mezzo Live HD - MGG TV - Motorvision.TV France - MTV France - Museum TV - MySports 2 French - MySports 3 French - MySports 4 French - MySports 5 French - MySports 6 French - MySports 7 French - MySports 8 French - MySports 9 French - MySports One French - National Geographic France - National Geographic Wild France - Nickelodeon France - Nickelodeon Junior France - Nickelodeon Teen - Novelas TV - NRJ 12 - NRTV - OCS choc - OCS City génération HBO - OCS geants - OCS max - Olympia TV - One TV - ORTB TV - Paramount Channel France - Piwi + - Planète D626+ - Planète + A&E - Planète + CI - Polar + - RFM TV - RMC Découverte - RMC Sport 1 - RMC Sport 2 - RMC Story - Rouge TV - RTL 9 - RTS 1 - RTS 2 - Science & Vie TV - Seasons - Stingray Classica - Stingray Djazz - Syfy France - TeleSwizz - TéléToon + - TF1 Séries Films - TF 1 Suisse - TFX Suisse - Tiji - TMC - Toonami France - Toute l'Histoire - Trace Caribbean - Trace Latina - Trace Urban - Trek - TV5Monde Europe - TV5Monde France Belgique Suisse - TV8 Mont-Blanc - TV Breizh - TVM 3 - TV Onex - TV Suisse Plus - Ultra Nature - Ushuaïa TV - Vernier Visions - W9 Suisse - Warner TV France - Galicia TV Europa - Utsav Gold - Utsav Plus - Adria Music Television - CMC TV - HRT 1 - HRT International - Z1 - Duna TV - Duna World - M1 - M2 - M5 - 20 Mediaset - Mediaset Twentyseven - 7 Gold - Alma TV - Antenna 3 - Boing Italia - Camera dei Deputati - Canale 5 - Canale Italia - Cartoonito Italia - Cielo - Cine 34 - Class TV Moda - Crime + Investigation Italy - Deejay TV - Discovery Channel Italia - DMAX Italia - Espansione TV - Eurochannel - EuroNews Italiano - Eurosport 1 Italia - Eurosport 2 Italia - Focus - Food Network Italia - Frisbee - Giallo - GO-TV Canale 163 - HGTV Italia - History Italia - Iris - Italia 1 - Italia 2 - Italia Channel - Italian Fishing TV - K2 - La 5 - La 7 - La 7 d - Mediaset Extra - Motor Trend - National Geographic Italia - National Geographic Wild Italia - Nove - Parole di Vita - Radio Italia TV - Radionorba TV - Radio Ticino Channel - Rai 1 - Rai 2 - Rai 3 - Rai 4 - Rai 5 - Rai Gulp - Rai Movie - Rai News 24 - Rai Premium - Rai Scuola - Rai Sport - Rai Sport+ - Rai Storia - Rai Yoyo - Real Time Italia - Rete 4 - RSI La 1 - RSI La 2 - RTL 102.5 RadioVisione - San Marino RTV - Senato TV - Sky TG 24 - Sportitalia - Stingray Classica - Super! - Super Tennis - Telelombardia - Telenova - TeleTicino - TGCom 24 - Top Calcio 24 - Top Crime - TV 2000 - TV 8 - Uninettuno University TV - VH1 Italy - Kurdistan TV - Rûdaw - TRT Kurdî - BVN TV Europa - TVP Polonia - Canal 11 - Record TV Europa - RTP 3 - RTP Internacional Europa - SIC Internacional - SIC Notícias - TVI Ficção - TVI Internacional - B1 - Digi 24 - Pro TV International - TVR International - Channel One Russia - Karusel International - Nash Kinomir - Ost West - Telebom & Teledom - ABC News - EuroNews Albania - Fax News - First Channel - Kohavision - Ora - RTK 1 - RTSH 3 - RTV 21 Sat - TV Dukagjini - T7 - Top Channel - TV 21 Macedonia - Arta - TV Klan - Zico TV - BN Music - DM Sat - K CN 3 - Pink Extra - Pink Film - Pink Folk 1 - Pink Kids - Pink Koncert - Pink Music - Pink Plus - Pink Reality - Pink Serije - Pink World - RTS Svet - TV Duga + - Vijay TV - Thai TV Global Network - 360 - ATV Türkiye - ATV Avrupa - CNN Türk - Euro D - EuroStar - Show Max - Show TV - TGRT EU - TRT Belgesel - TRT Çocuk - TRT Müzik - TRT Spor - TRT Türk - TV 8 International - Nickelodeon Ukraine Pluto TV - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 2M Monde + Al Masriya + Watania 1 + BN TV Satelitski + BN 2 + Hayat Folk + Hayatovci + Hayat Plus + OBN + CT 24 + 13th Street + 3+ + 3sat + 4+ + 5+ + 6+ + 7+/Nick Schweiz + Alpenland TV + Animal Planet Germny + Anixe Serie + ARCADIA world TV + ARD Alpha + ARTE Deutsch + Auftanken TV + Auto Motor und Sport + Auto Motor und Sport + Bergblick + Bibel TV + Bild + Blue Action + Blue City + Blue Event 1 + Blue Prime + Blue Retro + Blue Sport 1 + Blue Sport 2 + Blue Stars + Blue Zoom D + Blue Zoom F + Bodensee TV + Bon Gusto + Boomerang Deutschland + Bayerisches Fernsehen Süd + Cartoon Network Deutschland + Comedy Central Germany + Crime + Investigation Deutschland + Curiosity Channel + Das Erste + Deluxe Music + Deutsches Musik Fernsehen + Discovery Channel Deutschland + Disney Channel Deutschland + DMAX Deutschland + Duck TV SD + DW Deutsch + E! Deutschland + eSports1 + Eurochannel + EuroNews Deutsch + Eurosport 1 Germany + Eurosport 2 Germany + Fix & Foxi + Folx + Game TV + Geo TV + Goldstar TV + GoTV + Heimatkanal + Helvetia One TV + HGTV Deutschland + History Deutschland + HitExpress TV + Hope TV Deutsch + HR Fernsehen + HSE + Junior + Kabel Eins Classics + Kabel Eins Doku Deutschland + Kabel Eins Schweiz + Kanal 9 + KIKA + Kinowelt TV + K-TV + Lilo TV + Loly TV + Marco Polo TV + MDR Fernsehen Sachsen + Melodie TV + More Than Sports TV + Motorvision TV + MTV Germany + musig24 TV + MySports 2 + MySports 3 + MySports 4 + MySports 5 + MySports 6 + MySports 7 + MySports 8 + MySports 9 + MySports One + N24 Doku + National Geographic Deutschland + National Geographic Wild Deutschland + NDR Fernsehen Hamburg + Nicktoons Deutschland + Nitro Deutschland + N-TV + One + One 1 Music TV + ORF 1 + ORF 2 + ORF III + ORF Sport + + Phoenix TV! + Premium Shopping TV + ProSieben Fun + ProSieben Maxx Deutschland + ProSieben Schweiz + Puls Acht + R9 + Radio Pilatus TV + RBB Berlin + regioTVplus + Rheinwelten TV + RiC + Romance TV Deutschland + rrotv + RTL Crime Deutschland + RTL + RTL Living Deutschland + RTL Passion Deutschland + RTL Up + RTL Zwei + S1 + Sat. 1 Deutschland + Sat. 1 Gold Deutschland + Schaffhauser Fernsehen + Schlager Deluxe + Servus TV Deutschland + Sixx Deutschland + Sony AXN + Sony Channel Deutschland + Spiegel Geschichte + Sport1 + Sport 1+ + Sportdigital Fussball + SRF 1 + SR Fernsehen + SRF Info + SRF Zwei + Star TV + Stingray Classica + Südostschweiz + Super RTL Deutschland + Swiss 1 + Swiss Sport TV + SWR Fernsehen Baden-Württemberg + Syfy Deutschland + Tagesschau 24 + Tele 1 + Tele 5 + TeleBärn + Telebasel + TeleBielingue + Tele D + Tele M1 + Tele Top + Televista + Tele Z + Tele Zentralschweiz + TeleZüri + TLC Germany + Toggo Plus + TV 24 + TV 25 + TV4TNG + TV Central + TVO + TV Oberwallis + TV Rheintal + UHD 1 + Universal TV Deutschland + Volksmusik TV + Vox Deutschland + VOXup + Warner TV Comedy + Warner TV Film + Warner TV Serie + WDR Fernsehen Köln + Welt + Welt der Wunder TV + Wetter.com TV + ZDF + ZDF Info + ZDF Neo + Zwei 2 Music TV + ERT World + RIK Sat + 4Seven + 5 Action + 5 Select + 5 Star + 5 USA + Alarabiya + Aljazeera Channel + Aljazeera English + BBC Four + BBC News + BBC One + BBC Parliament + BBC Two + BBC World News + Bloomberg TV Europe + BBC Three / CBBC + CBeebies UK + CBS Reality Europe + CCTV 4 Europe + CGTN + Challenge UK + Channel 4 UK + Channel 5 + CITV + Clubland TV + CNBC Europe + CNN International Europe + Dave UK + DMAX UK + Drama UK + Dubai TV + DW English + E4 UK + Edge Sport + E! Europe + English Club TV + EuroNews English + Eurosport 1 + Extreme Sports Channel + FashionTV Europe + Film 4 UK + Food Network UK + Fox News Channel + France 24 English + FunBox UHD + GB News + Ginx eSports TV International + Great! Movies + Great! Movies Action + Great! Movies Classic + I24 News English + Insight HD + Insight UHD + ITV 1 + ITV 2 + ITV 3 + ITV 4 + ITV Be + KBS World + Kerrang! + Kiss TV + Love Nature 4K + More 4 UK + NASA TV + NHK World Japan + Now 70's + Now 80's + Now 90's + PBS America + Phoenix InfoNews Channel + Pick UK + Quest UK + RT News + RTR Planeta + Sky News International + Smithsonian Channel UK + Stingray Festival 4K + Stingray IConcerts + The Box UK + The Israeli Network + Trace Hits + Viaplay Xtra + Voice of America + Yesterday + Antena 3 + Aragón TV Internacional + Atresseries + Canal 24 Horas + Canal Extremadura Satélite + Canal Sur Andalucía + De Película Europa + GVAX TV + Las Estrellas Europa + Latinos 1 TV + Teledeporte + Telehit Música + Telesur + Tlnovelas Europa + TVE Internacional Europa + 13ème Rue + 6ter Suisse + AB 1 + AB 3 + Action + Ajoie TV + Alsace 20 + Animaux + ARTE Français + Automoto la chaîne + BET France + BFM Business + BFM TV + Blue Event 2 + Blue Sport 1 + Blue Sport 2 + Boing France + Boomerang France + C8 + Canal 9 + Canal Alpha JU + Canal Alpha NE + Canal J + Canal+ Cinéma France + Canal+ Docs + Canal+ Foot + Canal+ France + Canal+ Kids + CANAL+ PREMIER LEAGUE + Canal+ Séries France + Canal+ Sport 360 + Canal+ Sport France + Cartoon Network France + Chasse et Peche + Chérie 25 + Ciné+ Classic + Ciné+ Club + Ciné+ Emotion + Ciné+ Famiz + Ciné+ Frisson + Ciné+ Premier + Clique TV + C News + Comédie+ + Comedy Central France + Crime District + C Star + Discovery Channel France + Discovery Science France + Disney Channel France + Disney Junior France + E! France + Equidia + Eurochannel + EuroNews Français + Eurosport 1 France + Eurosport 2 France + France 2 + France 24 Français + France 3 + France 4 + France 5 + Franceinfo: + Game One + Genève Région Television + Golf Channel France + Golf+ + Grand Genève TV + Gulli + Histoire TV + I24 News Français + InfoSport+ + J-One + KTO + La Chaîne Météo + La Télé + LCI + LCP Assemblée Nationale + Léman Bleu + L'Équipe + LFM TV + M6 Suisse + Mangas + Max TV + MCM France + MCM Top + Melody + Mezzo + Mezzo Live HD + MGG TV + Motorvision.TV France + MTV France + Museum TV + MySports 2 French + MySports 3 French + MySports 4 French + MySports 5 French + MySports 6 French + MySports 7 French + MySports 8 French + MySports 9 French + MySports One French + National Geographic France + National Geographic Wild France + Nickelodeon France + Nickelodeon Junior France + Nickelodeon Teen + Novelas TV + NRJ 12 + NRTV + OCS choc + OCS City génération HBO + OCS geants + OCS max + Olympia TV + One TV + ORTB TV + Paramount Channel France + Piwi + + Planète D626+ + Planète + A&E + Planète + CI + Polar + + RFM TV + RMC Découverte + RMC Sport 1 + RMC Sport 2 + RMC Story + Rouge TV + RTL 9 + RTS 1 + RTS 2 + Science & Vie TV + Seasons + Stingray Classica + Stingray Djazz + Syfy France + TeleSwizz + TéléToon + + TF1 Séries Films + TF 1 Suisse + TFX Suisse + Tiji + TMC + Toonami France + Toute l'Histoire + Trace Caribbean + Trace Latina + Trace Urban + Trek + TV5Monde Europe + TV5Monde France Belgique Suisse + TV8 Mont-Blanc + TV Breizh + TVM 3 + TV Onex + TV Suisse Plus + Ultra Nature + Ushuaïa TV + Vernier Visions + W9 Suisse + Warner TV France + Galicia TV Europa + Utsav Gold + Utsav Plus + Adria Music Television + CMC TV + HRT 1 + HRT International + Z1 + Duna TV + Duna World + M1 + M2 + M5 + 20 Mediaset + Mediaset Twentyseven + 7 Gold + Alma TV + Antenna 3 + Boing Italia + Camera dei Deputati + Canale 5 + Canale Italia + Cartoonito Italia + Cielo + Cine 34 + Class TV Moda + Crime + Investigation Italy + Deejay TV + Discovery Channel Italia + DMAX Italia + Espansione TV + Eurochannel + EuroNews Italiano + Eurosport 1 Italia + Eurosport 2 Italia + Focus + Food Network Italia + Frisbee + Giallo + GO-TV Canale 163 + HGTV Italia + History Italia + Iris + Italia 1 + Italia 2 + Italia Channel + Italian Fishing TV + K2 + La 5 + La 7 + La 7 d + Mediaset Extra + Motor Trend + National Geographic Italia + National Geographic Wild Italia + Nove + Parole di Vita + Radio Italia TV + Radionorba TV + Radio Ticino Channel + Rai 1 + Rai 2 + Rai 3 + Rai 4 + Rai 5 + Rai Gulp + Rai Movie + Rai News 24 + Rai Premium + Rai Scuola + Rai Sport + Rai Sport+ + Rai Storia + Rai Yoyo + Real Time Italia + Rete 4 + RSI La 1 + RSI La 2 + RTL 102.5 RadioVisione + San Marino RTV + Senato TV + Sky TG 24 + Sportitalia + Stingray Classica + Super! + Super Tennis + Telelombardia + Telenova + TeleTicino + TGCom 24 + Top Calcio 24 + Top Crime + TV 2000 + TV 8 + Uninettuno University TV + VH1 Italy + Kurdistan TV + Rûdaw + TRT Kurdî + BVN TV Europa + TVP Polonia + Canal 11 + Record TV Europa + RTP 3 + RTP Internacional Europa + SIC Internacional + SIC Notícias + TVI Ficção + TVI Internacional + B1 + Digi 24 + Pro TV International + TVR International + Channel One Russia + Karusel International + Nash Kinomir + Ost West + Telebom & Teledom + ABC News + EuroNews Albania + Fax News + First Channel + Kohavision + Ora + RTK 1 + RTSH 3 + RTV 21 Sat + TV Dukagjini + T7 + Top Channel + TV 21 Macedonia + Arta + TV Klan + Zico TV + BN Music + DM Sat + K CN 3 + Pink Extra + Pink Film + Pink Folk 1 + Pink Kids + Pink Koncert + Pink Music + Pink Plus + Pink Reality + Pink Serije + Pink World + RTS Svet + TV Duga + + Vijay TV + Thai TV Global Network + 360 + ATV Türkiye + ATV Avrupa + CNN Türk + Euro D + EuroStar + Show Max + Show TV + TGRT EU + TRT Belgesel + TRT Çocuk + TRT Müzik + TRT Spor + TRT Türk + TV 8 International + Nickelodeon Ukraine Pluto TV + diff --git a/sites/tv.blue.ch/tv.blue.ch.config.js b/sites/tv.blue.ch/tv.blue.ch.config.js index 7fe5117a..8c130b49 100644 --- a/sites/tv.blue.ch/tv.blue.ch.config.js +++ b/sites/tv.blue.ch/tv.blue.ch.config.js @@ -1,5 +1,4 @@ const axios = require('axios') -const cheerio = require('cheerio') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') @@ -34,7 +33,7 @@ module.exports = { }, async channels() { const items = await axios - .get(`https://services.sg101.prd.sctv.ch/portfolio/tv/channels`) + .get('https://services.sg101.prd.sctv.ch/portfolio/tv/channels') .then(r => r.data) .catch(console.log) diff --git a/sites/tv.blue.ch/tv.blue.ch.test.js b/sites/tv.blue.ch/tv.blue.ch.test.js index 7fb44fa1..73391dde 100644 --- a/sites/tv.blue.ch/tv.blue.ch.test.js +++ b/sites/tv.blue.ch/tv.blue.ch.test.js @@ -1,5 +1,5 @@ // node ./scripts/commands/parse-channels.js --config=./sites/tv.blue.ch/tv.blue.ch.config.js --output=./sites/tv.blue.ch/tv.blue.ch.channels.xml -// npx epg-grabber --config=sites/tv.blue.ch/tv.blue.ch.config.js --channels=sites/tv.blue.ch/tv.blue.ch.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.blue.ch const { parser, url } = require('./tv.blue.ch.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"1221","Kind":"Channel","Content":{"Description":{"Title":"blue Zoom D","Language":"de"},"Nodes":{"Count":29,"TotalItemCount":29,"Items":[{"Domain":"TV","Identifier":"t1221ddc59247d45","Kind":"Broadcast","Channel":"1221","Content":{"Description":{"Title":"Weekend on the Rocks","Summary":" - «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.","ShortSummary":"","Country":"CH","ReleaseDate":"2021-01-01T00:00:00Z","Source":"13","Language":"de","Duration":"00:30:00"},"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"t1221ddc59247d45_landscape","Kind":"Image","Role":"Landscape","ContentPath":"/tv/broadcast/1221/t1221ddc59247d45_landscape","Version":{"Date":"2022-01-04T08:55:22.567Z"}}]},"TechnicalAttributes":{"Stereo":true}},"Version":{"Hash":"60d3"},"Availabilities":[{"AvailabilityStart":"2022-01-16T23:30:00Z","AvailabilityEnd":"2022-01-17T00:00:00Z"}],"Relations":[{"Domain":"TV","Kind":"Reference","Role":"ChannelIdentifier","TargetIdentifier":"2b0898c7-3920-3200-7048-4ea5d9138921"},{"Domain":"TV","Kind":"Reference","Role":"OriginalAirSeries","TargetIdentifier":"false"},{"Domain":"TV","Kind":"Reference","Role":"ExternalBroadcastIdentifier","TargetIdentifier":"167324536-11"},{"Domain":"TV","Kind":"Reference","Role":"ProgramIdentifier","TargetIdentifier":"p12211351631155","Title":"Original"}]}]}}}]}}` + const content = + '{"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"1221","Kind":"Channel","Content":{"Description":{"Title":"blue Zoom D","Language":"de"},"Nodes":{"Count":29,"TotalItemCount":29,"Items":[{"Domain":"TV","Identifier":"t1221ddc59247d45","Kind":"Broadcast","Channel":"1221","Content":{"Description":{"Title":"Weekend on the Rocks","Summary":" - «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.","ShortSummary":"","Country":"CH","ReleaseDate":"2021-01-01T00:00:00Z","Source":"13","Language":"de","Duration":"00:30:00"},"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"t1221ddc59247d45_landscape","Kind":"Image","Role":"Landscape","ContentPath":"/tv/broadcast/1221/t1221ddc59247d45_landscape","Version":{"Date":"2022-01-04T08:55:22.567Z"}}]},"TechnicalAttributes":{"Stereo":true}},"Version":{"Hash":"60d3"},"Availabilities":[{"AvailabilityStart":"2022-01-16T23:30:00Z","AvailabilityEnd":"2022-01-17T00:00:00Z"}],"Relations":[{"Domain":"TV","Kind":"Reference","Role":"ChannelIdentifier","TargetIdentifier":"2b0898c7-3920-3200-7048-4ea5d9138921"},{"Domain":"TV","Kind":"Reference","Role":"OriginalAirSeries","TargetIdentifier":"false"},{"Domain":"TV","Kind":"Reference","Role":"ExternalBroadcastIdentifier","TargetIdentifier":"167324536-11"},{"Domain":"TV","Kind":"Reference","Role":"ProgramIdentifier","TargetIdentifier":"p12211351631155","Title":"Original"}]}]}}}]}}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -41,7 +42,8 @@ it('can parse response', () => { }) it('can parse response without image', () => { - const content = `{"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"1221","Kind":"Channel","Content":{"Description":{"Title":"blue Zoom D","Language":"de"},"Nodes":{"Count":29,"TotalItemCount":29,"Items":[{"Domain":"TV","Identifier":"t10014a78a8b0668","Kind":"Broadcast","Channel":"1001","Content":{"Description":{"Title":"Lorem ipsum","Language":"fr","Duration":"00:01:00"}},"Version":{"Hash":"440e"},"Availabilities":[{"AvailabilityStart":"2022-01-17T04:59:00Z","AvailabilityEnd":"2022-01-17T05:00:00Z"}],"Relations":[{"Domain":"TV","Kind":"Reference","Role":"ChannelIdentifier","TargetIdentifier":"3553a4f2-ff63-5200-7048-d8d59d805f81"},{"Domain":"TV","Kind":"Reference","Role":"Dummy","TargetIdentifier":"True"},{"Domain":"TV","Kind":"Reference","Role":"ProgramIdentifier","TargetIdentifier":"p1"}]}]}}}]}}` + const content = + '{"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"1221","Kind":"Channel","Content":{"Description":{"Title":"blue Zoom D","Language":"de"},"Nodes":{"Count":29,"TotalItemCount":29,"Items":[{"Domain":"TV","Identifier":"t10014a78a8b0668","Kind":"Broadcast","Channel":"1001","Content":{"Description":{"Title":"Lorem ipsum","Language":"fr","Duration":"00:01:00"}},"Version":{"Hash":"440e"},"Availabilities":[{"AvailabilityStart":"2022-01-17T04:59:00Z","AvailabilityEnd":"2022-01-17T05:00:00Z"}],"Relations":[{"Domain":"TV","Kind":"Reference","Role":"ChannelIdentifier","TargetIdentifier":"3553a4f2-ff63-5200-7048-d8d59d805f81"},{"Domain":"TV","Kind":"Reference","Role":"Dummy","TargetIdentifier":"True"},{"Domain":"TV","Kind":"Reference","Role":"ProgramIdentifier","TargetIdentifier":"p1"}]}]}}}]}}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -59,14 +61,16 @@ it('can parse response without image', () => { it('can handle wrong site id', () => { const result = parser({ - content: `{"Status":{"Version":"7","Status":"OK","ProcessingTime":"00:00:00.0160674","ExecutionTime":"2022-01-17T13:47:30.584Z"},"Request":{"Domain":"TV","Resource":"Channels","Action":"List","Parameters":"(ids=12210;start=202201170000;end=202201180000;level=normal)","Identifiers":["12210"],"Start":"2022-01-17T00:00:00Z","End":"2022-01-18T00:00:00Z","DataLevel":"Normal"},"DataSource":{"Snapshot":"Tv_20220117114748","DbCreationTime":"2022-01-17T11:49:14.608Z","IncrementCreationTime":"0001-01-01T00:00:00Z"},"Nodes":{"Items":[]}}` + content: + '{"Status":{"Version":"7","Status":"OK","ProcessingTime":"00:00:00.0160674","ExecutionTime":"2022-01-17T13:47:30.584Z"},"Request":{"Domain":"TV","Resource":"Channels","Action":"List","Parameters":"(ids=12210;start=202201170000;end=202201180000;level=normal)","Identifiers":["12210"],"Start":"2022-01-17T00:00:00Z","End":"2022-01-18T00:00:00Z","DataLevel":"Normal"},"DataSource":{"Snapshot":"Tv_20220117114748","DbCreationTime":"2022-01-17T11:49:14.608Z","IncrementCreationTime":"0001-01-01T00:00:00Z"},"Nodes":{"Items":[]}}' }) expect(result).toMatchObject([]) }) it('can handle empty guide', () => { const result = parser({ - content: `{"Status":{"Version":"7","Status":"OK","ExecutionTime":"2022-01-17T15:30:37.97Z"},"Request":{"Domain":"TV","Resource":"Channels","Action":"List","Parameters":"(ids=1884;start=202201170000;end=202201180000;level=normal)","Identifiers":["1884"],"Start":"2022-01-17T00:00:00Z","End":"2022-01-18T00:00:00Z","DataLevel":"Normal"},"DataSource":{"Snapshot":"Tv_20220117144354","DbCreationTime":"2022-01-17T14:45:11.84Z","IncrementCreationTime":"0001-01-01T00:00:00Z"},"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"1884","Kind":"Channel","Content":{"Description":{"Title":"Fisu.tv 1","Language":"en"}}}]}}` + content: + '{"Status":{"Version":"7","Status":"OK","ExecutionTime":"2022-01-17T15:30:37.97Z"},"Request":{"Domain":"TV","Resource":"Channels","Action":"List","Parameters":"(ids=1884;start=202201170000;end=202201180000;level=normal)","Identifiers":["1884"],"Start":"2022-01-17T00:00:00Z","End":"2022-01-18T00:00:00Z","DataLevel":"Normal"},"DataSource":{"Snapshot":"Tv_20220117144354","DbCreationTime":"2022-01-17T14:45:11.84Z","IncrementCreationTime":"0001-01-01T00:00:00Z"},"Nodes":{"Count":1,"TotalItemCount":1,"Items":[{"Domain":"TV","Identifier":"1884","Kind":"Channel","Content":{"Description":{"Title":"Fisu.tv 1","Language":"en"}}}]}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.cctv.com/tv.cctv.com.channels.xml b/sites/tv.cctv.com/tv.cctv.com.channels.xml index 574e58f6..e15e7e4e 100644 --- a/sites/tv.cctv.com/tv.cctv.com.channels.xml +++ b/sites/tv.cctv.com/tv.cctv.com.channels.xml @@ -1,99 +1,97 @@ - - - 安徽卫视 - 北京卫视 - BTV影视 - BTV文艺 - BTV财经 - BTV卡酷少儿 - BTV生活 - BTV新闻 - BTV科教 - BTV纪实 - CCTV 1 - CCTV 10 - CCTV 11 - CCTV 12 - CCTV 13 - CCTV 14 - CCTV 15 - CCTV 2 - CCTV 3 - CCTV 4 America - CCTV 4 Europe - CCTV 5 - CCTV 5+ - CCTV 6 - CCTV 7 - CCTV 8 - CCTV 9 - CCTV央视台球 - CCTV央视文化精品 - CCTV娱乐 - CCTV女性时尚 - CCTV风云音乐 - CCTV高尔夫网球 - 卫生健康 - CCTV中视购物 - CCTV怀旧剧场 - CCTV老故事 - CCTV新科动漫 - CCTV风云足球 - CCTV风云剧场 - CCTV第一剧场 - CCTV电视指南 - CCTV世界地理 - 成都新闻综合 - 成都经济资讯服务 - CETV 1 - CETV 2 - CETV 3 - 早期教育 - CCTV气象 - 重庆卫视 - 汽摩 - 东方卫视 - 东南卫视 - 甘肃卫视 - 游戏竞技 - 广东卫视 - 广西卫视 - 贵州卫视 - 旅游卫视 - 河北卫视 - 黑龙江卫视 - 河南卫视 - 湖北卫视 - 湖南卫视 - 靓妆 - 江苏卫视 - 江西卫视 - 吉林卫视 - 辽宁卫视 - 文物宝库 - 武术世界 - 宁波一套 - 宁波二套 - 宁波三套 - 宁波四套 - 宁波五套 - 内蒙古卫视 - 宁夏卫视 - 青海卫视 - 山东教育台 - 山东卫视 - 山西卫视 - 深圳卫视 - 四川卫视 - 环球奇观 - 天津卫视 - 天元围棋 - 厦门卫视 - 新疆卫视 - 西藏卫视 - 延边卫视 - 云南卫视 - 浙江卫视 - - \ No newline at end of file + + + + + + + + 安徽卫视 + 北京卫视 + BTV文艺 + BTV影视 + BTV财经 + BTV卡酷少儿 + BTV生活 + BTV新闻 + BTV科教 + BTV纪实 + CCTV 1 + CCTV 10 + CCTV 11 + CCTV 12 + CCTV 13 + CCTV 14 + CCTV 15 + CCTV 2 + CCTV 3 + CCTV 4 America + CCTV 4 Europe + CCTV 5 + CCTV 5+ + CCTV 6 + CCTV 7 + CCTV 8 + CCTV 9 + CCTV央视台球 + CCTV中视购物 + CCTV央视文化精品 + CCTV娱乐 + CCTV高尔夫网球 + 卫生健康 + CCTV怀旧剧场 + CCTV风云足球 + CCTV风云音乐 + CCTV风云剧场 + CCTV第一剧场 + CCTV电视指南 + CCTV女性时尚 + CCTV世界地理 + 成都新闻综合 + 成都经济资讯服务 + CETV 1 + CETV 2 + CETV 3 + 早期教育 + 东方卫视 + 甘肃卫视 + 游戏竞技 + 广东卫视 + 广西卫视 + 贵州卫视 + 旅游卫视 + 河北卫视 + 黑龙江卫视 + 河南卫视 + 湖北卫视 + 湖南卫视 + 靓妆 + 江苏卫视 + 江西卫视 + 吉林卫视 + 辽宁卫视 + 文物宝库 + 武术世界 + 宁波一套 + 宁波二套 + 宁波三套 + 宁波四套 + 宁波五套 + 内蒙古卫视 + 宁夏卫视 + 青海卫视 + 山东教育台 + 山东卫视 + 山西卫视 + 深圳卫视 + 四川卫视 + 环球奇观 + 天津卫视 + 天元围棋 + 厦门卫视 + 新疆卫视 + 西藏卫视 + 延边卫视 + 云南卫视 + 浙江卫视 + \ No newline at end of file diff --git a/sites/tv.dir.bg/tv.dir.bg.channels.xml b/sites/tv.dir.bg/tv.dir.bg.channels.xml index e3510f8a..9a92d42c 100644 --- a/sites/tv.dir.bg/tv.dir.bg.channels.xml +++ b/sites/tv.dir.bg/tv.dir.bg.channels.xml @@ -1,105 +1,103 @@ - - - 24 Kitchen - 7/8 TV - Alfa TV - AMC - Animal Planet - AXN Black - AXN - AXN White - Balkanika Music TV - Bloomberg TV - BNT 1 - BNT 2 - BNT 3 - BNT 4 - Boomerang - BTV - BTV Action - BTV Cinema - BTV Comedy - BTV Lady - Bulgaria On Air - Cartoon Network - CBS Reality - Perviy kanal - Cinemax 2 - Cinemax - CNN - Crime + Investigation - Da Vinci - Diema - Diema Family - Diema Sport - Diema Sport 2 - Diema Sport 3 - Discovery Channel - Discovery Science - Disney Channel - DocuBox HD - EKids - Epic Drama - Eurosport 1 - Eurosport 2 - Evrokom - Extreme Sports Channel - Fen Folk - Fen TV - FilmBox Extra HD - FilmBox Plus - Food Network - Fox - Fox Crime - Fox Life - HBO 2 - HBO 3 - HBO - HGTV - Hobby TV - Investigation Discovery - JimJam - Kino Nova - Love Nature - Max Sport 1 - Max Sport 2 - Max Sport 3 - Max Sport 4 - MCM Top - National Geographic - National Geographic Wild - Nickelodeon - Nick Jr - Nova News - Nova Sport - Nova TV - NTV Mir - Okhota i Rybalka - Planeta Folk - Planeta HD - POTV - Ring - RM TV - SKAT - Telemedia - TLC - Travel Channel - Travel TV - TV 1 - TV 1000 - TV Evropa - TVT - TV Vraca - UA TV - Viasat Explore - Viasat History HD - Viasat Nature - FashionTV - FightBox HD - Fuel TV - Mezzo Live HD - MTV Hits - Trace Sport Stars - - + + 24 Kitchen + 7/8 TV + Alfa TV + AMC + Animal Planet + AXN Black + AXN + AXN White + Balkanika Music TV + Bloomberg TV + BNT 1 + BNT 2 + BNT 3 + BNT 4 + Boomerang + BTV + BTV Action + BTV Cinema + BTV Comedy + BTV Lady + Bulgaria On Air + Cartoon Network + CBS Reality + Perviy kanal + Cinemax 2 + Cinemax + CNN + Crime + Investigation + Da Vinci + Diema + Diema Family + Diema Sport + Diema Sport 2 + Diema Sport 3 + Discovery Channel + Discovery Science + Disney Channel + DocuBox HD + EKids + Epic Drama + Eurosport 1 + Eurosport 2 + Evrokom + Extreme Sports Channel + Fen Folk + Fen TV + FilmBox Extra HD + FilmBox Plus + Food Network + Fox + Fox Crime + Fox Life + HBO 2 + HBO 3 + HBO + HGTV + Hobby TV + Investigation Discovery + JimJam + Kino Nova + Love Nature + Max Sport 1 + Max Sport 2 + Max Sport 3 + Max Sport 4 + MCM Top + National Geographic + National Geographic Wild + Nickelodeon + Nick Jr + Nova News + Nova Sport + Nova TV + NTV Mir + Okhota i Rybalka + Planeta Folk + Planeta HD + POTV + Ring + RM TV + SKAT + Telemedia + TLC + Travel Channel + Travel TV + TV 1 + TV 1000 + TV Evropa + TVT + TV Vraca + UA TV + Viasat Explore + Viasat History HD + Viasat Nature + FashionTV + FightBox HD + Fuel TV + Mezzo Live HD + MTV Hits + Trace Sport Stars + diff --git a/sites/tv.dir.bg/tv.dir.bg.config.js b/sites/tv.dir.bg/tv.dir.bg.config.js index 2206ad68..e43f7563 100644 --- a/sites/tv.dir.bg/tv.dir.bg.config.js +++ b/sites/tv.dir.bg/tv.dir.bg.config.js @@ -35,8 +35,8 @@ module.exports = { }, async channels() { const requests = [ - axios.get(`https://tv.dir.bg/programata.php?t=0`), - axios.get(`https://tv.dir.bg/programata.php?t=1`) + axios.get('https://tv.dir.bg/programata.php?t=0'), + axios.get('https://tv.dir.bg/programata.php?t=1') ] const items = await Promise.all(requests) diff --git a/sites/tv.dir.bg/tv.dir.bg.test.js b/sites/tv.dir.bg/tv.dir.bg.test.js index 65dff1fb..4b0074e8 100644 --- a/sites/tv.dir.bg/tv.dir.bg.test.js +++ b/sites/tv.dir.bg/tv.dir.bg.test.js @@ -1,5 +1,5 @@ // node ./scripts/commands/parse-channels.js --config=./sites/tv.dir.bg/tv.dir.bg.config.js --output=./sites/tv.dir.bg/tv.dir.bg.channels.xml -// npx epg-grabber --config=sites/tv.dir.bg/tv.dir.bg.config.js --channels=sites/tv.dir.bg/tv.dir.bg.channels.xml --output=guide.xml +// npm run grab -- --site=tv.dir.bg const { parser, url } = require('./tv.dir.bg.config.js') const dayjs = require('dayjs') @@ -19,7 +19,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `
    ` + const content = + '
    ' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -30,17 +31,17 @@ it('can parse response', () => { { start: '2022-01-20T04:00:00.000Z', stop: '2022-01-20T13:00:00.000Z', - title: `„Тази сутрин” - информационно предаване с водещи Златимир Йочеви Биляна Гавазова` + title: '„Тази сутрин” - информационно предаване с водещи Златимир Йочеви Биляна Гавазова' }, { start: '2022-01-20T13:00:00.000Z', stop: '2022-01-21T03:30:00.000Z', - title: `„Доктор Чудо” - сериал, еп.71` + title: '„Доктор Чудо” - сериал, еп.71' }, { start: '2022-01-21T03:30:00.000Z', stop: '2022-01-21T04:00:00.000Z', - title: `„Лице в лице” /п./` + title: '„Лице в лице” /п./' } ]) }) @@ -49,7 +50,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `
      ` + content: + '
        ' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.lv/tv.lv.channels.xml b/sites/tv.lv/tv.lv.channels.xml index 03bf2c86..b96e9532 100644 --- a/sites/tv.lv/tv.lv.channels.xml +++ b/sites/tv.lv/tv.lv.channels.xml @@ -1,25 +1,23 @@ - - - 3+ - Perviy kanal - Epic Drama - Eurosport 1 - Eurosport 2 - TV 3 Film - LTV 1 - LTV 7 - REN TV Baltic - TV 1000 CEE - TV 1000 Russkoe Kino - TV 3 - TV 3 Life - TV 3 Mini - TV 3 Sport - TV 3 Sport 2 - TV 6 - Viasat Explore Nordic - Viasat History CEE - Viasat Nature CEE - - \ No newline at end of file + + 3+ + Perviy kanal + Epic Drama + Eurosport 1 + Eurosport 2 + TV 3 Film + LTV 1 + LTV 7 + REN TV Baltic + TV 1000 CEE + TV 1000 Russkoe Kino + TV 3 + TV 3 Life + TV 3 Mini + TV 3 Sport + TV 3 Sport 2 + TV 6 + Viasat Explore Nordic + Viasat History CEE + Viasat Nature CEE + \ No newline at end of file diff --git a/sites/tv.mail.ru/tv.mail.ru.channels.xml b/sites/tv.mail.ru/tv.mail.ru.channels.xml index 3acb2a22..6eb30df3 100644 --- a/sites/tv.mail.ru/tv.mail.ru.channels.xml +++ b/sites/tv.mail.ru/tv.mail.ru.channels.xml @@ -1,46 +1,44 @@ - - - ARB Günes - Az TV - Ictimai TV - Idman TV - Medeniyyet TV - Xezer TV - Belsat TV - 21TV - 5TV - H1 - Armenia TV - ATV - ATV Bazmoc TV - ATV Filmzone - ATV Hay TV - ATV Khaghaliq TV - ATV Kinoman - ATV Tava TV - Kentron TV - Nor Hayastan TV - TBN Armenia - Yerkir Media TV - Belarus 1 - Belarus 2 - Belarus 24 - Belarus 3 - Belarus 4 - Belarus 5 - BelBiznesChenel - BelMUZ-TV - BelRos - 8 kanal - Nashe TV - NTV Belarus - ONT - RTR-Belarus - Shant TV - STV - Svetloe TV - VTV - YaSNAe TV - - \ No newline at end of file + + ARB Günes + Az TV + Ictimai TV + Idman TV + Medeniyyet TV + Xezer TV + Belsat TV + 21TV + 5TV + H1 + Armenia TV + ATV + ATV Bazmoc TV + ATV Filmzone + ATV Hay TV + ATV Khaghaliq TV + ATV Kinoman + ATV Tava TV + Kentron TV + Nor Hayastan TV + TBN Armenia + Yerkir Media TV + Belarus 1 + Belarus 2 + Belarus 24 + Belarus 3 + Belarus 4 + Belarus 5 + BelBiznesChenel + BelMUZ-TV + BelRos + 8 kanal + Nashe TV + NTV Belarus + ONT + RTR-Belarus + Shant TV + STV + Svetloe TV + VTV + YaSNAe TV + \ No newline at end of file diff --git a/sites/tv.mail.ru/tv.mail.ru.config.js b/sites/tv.mail.ru/tv.mail.ru.config.js index 09312fd1..2082a21e 100644 --- a/sites/tv.mail.ru/tv.mail.ru.config.js +++ b/sites/tv.mail.ru/tv.mail.ru.config.js @@ -3,6 +3,7 @@ const { DateTime } = require('luxon') module.exports = { site: 'tv.mail.ru', days: 2, + delay: 1000, url({ channel, date }) { return `https://tv.mail.ru/ajax/channel/?region_id=70&channel_id=${ channel.site_id diff --git a/sites/tv.mail.ru/tv.mail.ru.test.js b/sites/tv.mail.ru/tv.mail.ru.test.js index 4058247c..a77b4323 100644 --- a/sites/tv.mail.ru/tv.mail.ru.test.js +++ b/sites/tv.mail.ru/tv.mail.ru.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tv.mail.ru/tv.mail.ru.config.js --channels=sites/tv.mail.ru/tv.mail.ru.channels.xml --output=guide.xml +// npm run grab -- --site=tv.mail.ru const { parser, url } = require('./tv.mail.ru.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '2785', xmltv_id: '21TV.am' } -const content = `{"status":"OK","schedule":[{"channel":{"name":"21TV","pic_url":"https://resizer.mail.ru/p/1234c5ac-c19c-5cf2-9c6a-fc0efca920ac/AAACm2w9aDpGPSWXzsH7PBq2X3I6pbxqmrj-yeuVppAKyyBHXE_dH_7pHQ2rOavyKiC4iHIWTab9SeKo7pKgr71lqVA.png","pic_url_128":"https://resizer.mail.ru/p/1234c5ac-c19c-5cf2-9c6a-fc0efca920ac/AAACwjJ45j9sTP8fcjPJnJ4xk5e_ILr5iXwjLMhWhzlVnIJkrtT42vEp9walcgpXRKDq9KFoliEPR0xI-LEh96C_izY.png","pic_url_64":"https://resizer.mail.ru/p/1234c5ac-c19c-5cf2-9c6a-fc0efca920ac/dpr:200/AAACm2w9aDpGPSWXzsH7PBq2X3I6pbxqmrj-yeuVppAKyyBHXE_dH_7pHQ2rOavyKiC4iHIWTab9SeKo7pKgr71lqVA.png"},"event":{"current":[{"channel_id":"2785","name":"Պրոֆեսիոնալները","category_id":8,"episode_title":"","url":"/moskva/channel/2785/173593246/","id":"173593246","start":"02:40","episode_num":0},{"channel_id":"2785","name":"Նոնստոպ․ Տեսահոլովակներ","category_id":23,"episode_title":"","url":"/moskva/channel/2785/173593142/","id":"173593142","start":"03:25","episode_num":0}],"past":[{"channel_id":"2785","name":"Նոնստոպ․ Տեսահոլովակներ","category_id":23,"episode_title":"","url":"/moskva/channel/2785/173593328/","id":"173593328","start":"23:35","episode_num":0},{"channel_id":"2785","video":{"currency":"RUB","price_min":"249.00","price_txt":"249 р."},"name":"Վերջին թագավորությունը","category_id":2,"episode_title":"","url":"/moskva/channel/2785/173593318/","id":"173593318","start":"01:40","our_event_id":"890224","episode_num":0}]}}]}` +const content = + '{"status":"OK","schedule":[{"channel":{"name":"21TV","pic_url":"https://resizer.mail.ru/p/1234c5ac-c19c-5cf2-9c6a-fc0efca920ac/AAACm2w9aDpGPSWXzsH7PBq2X3I6pbxqmrj-yeuVppAKyyBHXE_dH_7pHQ2rOavyKiC4iHIWTab9SeKo7pKgr71lqVA.png","pic_url_128":"https://resizer.mail.ru/p/1234c5ac-c19c-5cf2-9c6a-fc0efca920ac/AAACwjJ45j9sTP8fcjPJnJ4xk5e_ILr5iXwjLMhWhzlVnIJkrtT42vEp9walcgpXRKDq9KFoliEPR0xI-LEh96C_izY.png","pic_url_64":"https://resizer.mail.ru/p/1234c5ac-c19c-5cf2-9c6a-fc0efca920ac/dpr:200/AAACm2w9aDpGPSWXzsH7PBq2X3I6pbxqmrj-yeuVppAKyyBHXE_dH_7pHQ2rOavyKiC4iHIWTab9SeKo7pKgr71lqVA.png"},"event":{"current":[{"channel_id":"2785","name":"Պրոֆեսիոնալները","category_id":8,"episode_title":"","url":"/moskva/channel/2785/173593246/","id":"173593246","start":"02:40","episode_num":0},{"channel_id":"2785","name":"Նոնստոպ․ Տեսահոլովակներ","category_id":23,"episode_title":"","url":"/moskva/channel/2785/173593142/","id":"173593142","start":"03:25","episode_num":0}],"past":[{"channel_id":"2785","name":"Նոնստոպ․ Տեսահոլովակներ","category_id":23,"episode_title":"","url":"/moskva/channel/2785/173593328/","id":"173593328","start":"23:35","episode_num":0},{"channel_id":"2785","video":{"currency":"RUB","price_min":"249.00","price_txt":"249 р."},"name":"Վերջին թագավորությունը","category_id":2,"episode_title":"","url":"/moskva/channel/2785/173593318/","id":"173593318","start":"01:40","our_event_id":"890224","episode_num":0}]}}]}' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -31,7 +32,7 @@ it('can parse response', () => { { start: '2021-11-24T20:35:00.000Z', stop: '2021-11-24T22:40:00.000Z', - title: `Նոնստոպ․ Տեսահոլովակներ`, + title: 'Նոնստոպ․ Տեսահոլովակներ', category: { lang: 'ru', value: 'Музыка' @@ -40,7 +41,7 @@ it('can parse response', () => { { start: '2021-11-24T22:40:00.000Z', stop: '2021-11-24T23:40:00.000Z', - title: `Վերջին թագավորությունը`, + title: 'Վերջին թագավորությունը', category: { lang: 'ru', value: 'Сериал' @@ -49,7 +50,7 @@ it('can parse response', () => { { start: '2021-11-24T23:40:00.000Z', stop: '2021-11-25T00:25:00.000Z', - title: `Պրոֆեսիոնալները`, + title: 'Պրոֆեսիոնալները', category: { lang: 'ru', value: 'Позновательное' @@ -58,7 +59,7 @@ it('can parse response', () => { { start: '2021-11-25T00:25:00.000Z', stop: '2021-11-25T01:25:00.000Z', - title: `Նոնստոպ․ Տեսահոլովակներ`, + title: 'Նոնստոպ․ Տեսահոլովակներ', category: { lang: 'ru', value: 'Музыка' @@ -71,7 +72,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"status":"OK","current_ts":1637788593,"form":{"values":[]},"current_offset":10800,"schedule":[{"channel":null,"event":{"current":[],"past":[]}}]}` + content: + '{"status":"OK","current_ts":1637788593,"form":{"values":[]},"current_offset":10800,"schedule":[{"channel":null,"event":{"current":[],"past":[]}}]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.movistar.com.pe/tv.movistar.com.pe.channels.xml b/sites/tv.movistar.com.pe/tv.movistar.com.pe.channels.xml index 7b3ab095..d104cd69 100644 --- a/sites/tv.movistar.com.pe/tv.movistar.com.pe.channels.xml +++ b/sites/tv.movistar.com.pe/tv.movistar.com.pe.channels.xml @@ -1,243 +1,241 @@ - - - AMERICA TELEVISION - ANTENA 3 - ATV - ATV+ - AZ Cinema HD - AZ CORAZON - AZ MUNDO - CANAL J - CANAL N - CONGRESO - EL TIEMPO - EUROCHANNEL - Europa Europa HD - EXITOSA TV - GLOBAL TV - GOLPERU - PODER JUDICIAL - KANAL D DRAMA - K-DRAMA - LATINA - LOLLY KIDS - Love Nature HD - M PLUS - PANAMERICANA TELEVISION - Pasiones HD - PAXTV - PX SPORTS - QUALITY CHANNEL - RAI ITALIA - RPP TV - SEXTREME - TOONCAST - TOROS TV - TV CHILE - TV PERU - TV PERU 7.3 - UCL - Universitario TV - USMP TV - VENUS - WILLAX - WOBI - ZEE MUNDO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AMERICA TELEVISION + ANTENA 3 + ATV + ATV+ + AZ Cinema HD + AZ CORAZON + AZ MUNDO + CANAL J + CANAL N + CONGRESO + EL TIEMPO + EUROCHANNEL + Europa Europa HD + EXITOSA TV + GLOBAL TV + GOLPERU + PODER JUDICIAL + KANAL D DRAMA + K-DRAMA + LATINA + LOLLY KIDS + Love Nature HD + M PLUS + PANAMERICANA TELEVISION + Pasiones HD + PAXTV + PX SPORTS + QUALITY CHANNEL + RAI ITALIA + RPP TV + SEXTREME + TOONCAST + TOROS TV + TV CHILE + TV PERU + TV PERU 7.3 + UCL + Universitario TV + USMP TV + VENUS + WILLAX + WOBI + ZEE MUNDO + 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 039b891f..0595bf45 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 @@ -27,7 +27,7 @@ module.exports = { async channels() { const items = await axios .get( - `https://contentapi-pe.cdn.telefonica.com/28/default/es-PE/contents/all?contentTypes=LCH&fields=Pid,Name&orderBy=contentOrder&limit=1000` + 'https://contentapi-pe.cdn.telefonica.com/28/default/es-PE/contents/all?contentTypes=LCH&fields=Pid,Name&orderBy=contentOrder&limit=1000' ) .then(r => r.data.Content.List) .catch(console.error) @@ -50,7 +50,7 @@ function parseTime(timestamp) { return dayjs.unix(timestamp) } -function parseItems(content, channel) { +function parseItems(content) { const data = JSON.parse(content) return data.Content || [] 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 95cf96bd..ac12544a 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 @@ -1,7 +1,7 @@ // npm run channels:parse -- --config=./sites/tv.movistar.com.pe/tv.movistar.com.pe.config.js --output=./sites/tv.movistar.com.pe/tv.movistar.com.pe.channels.xml -// npx epg-grabber --config=sites/tv.movistar.com.pe/tv.movistar.com.pe.config.js --channels=sites/tv.movistar.com.pe/tv.movistar.com.pe.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.movistar.com.pe -const { parser, url, request } = require('./tv.movistar.com.pe.config.js') +const { parser, url } = require('./tv.movistar.com.pe.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') diff --git a/sites/tv.nu/tv.nu.channels.xml b/sites/tv.nu/tv.nu.channels.xml index 6d0c7125..cbc12b34 100644 --- a/sites/tv.nu/tv.nu.channels.xml +++ b/sites/tv.nu/tv.nu.channels.xml @@ -1,183 +1,181 @@ - - - 3sat - Adult Channel (UK) - Al Jazeera English - Animal Planet - ARTE - ATG Live - Axess TV - BBC Brit - BBC Earth - BBC World News - Bloomberg TV HD - Boomerang - BraZZers TV Plus - Cartoon Network - CBS Reality - China Global Television Network 9 Documentary - China Global Television Network (Europe) - Club MTV - C More First - C More Fotboll - C More Mix - C More Hits - C More Hockey - C More Live - C More Live 2 - C More Live 3 - C More Live 4 - C More Live 5 - C More Mix - C More Series - C More Stars - CNBC - CNN - Curiosity Stream Channel - Das Erste - Discovery Channel - Discovery+ Extra 1 - Discovery+ Extra 2 - Discovery+ Extra 3 - Discovery+ Extra 4 - Discovery+ Extra 5 - Discovery+ Extra 6 - Discovery+ Extra 7 - Discovery+ Extra 8 - Discovery Science - Disney Channel - Disney Junior - DMAX - DR1 - DR2 - DR Ramasjang - DW - E! - eSportsone - Euro News - Eurosport 1 - Eurosport 2 - Expressen TV - Extreme Sports Channel - FTV - Fight Sports - France 2 - France 24 English HD - FULE TV - GINX eSports TV - Godare - GOD TV - H2 - Histrory HD - Horse & Country TV - HRT1 - Hustler TV - Investigation Discovery - Kanal 10 - Kanal 11 - Kanal 4 Danmark - Kanal 5 Danmark - Kanal 5 - Kanal 9 - Kunskapskanalen - Mezzo - Mezzo Live HD - Motorvision TV - MTV3 - MTV 90s - MTV - MTV Hits - MTV Live HD - National Geographic HD (UK) - National Geographic - National Geographic Wild - Nautical Channel - Nelonen - NFL Network - NHK World Europe - Nickelodeon - Nick JR - Nicktoons - NRK1 - NRK2 - NRK3 - Outdoor Channel HD - OUTtv - Paramount Network - Paramount+ Movies - Paramount+ Series - Pink Plus - Playboy TV Europe - ProSieben - Rai 1 - Rai 2 - RTL - RTLZWEI - SF Kanalen - Sjuan - Histrory (UK) - Sky News - Sky Showtime 1 - Sky Showtime 2 - Sportkanalen - Stingray Classica - Djazz HD - Super RTL - SVT1 - SVT2 - SVT24 - SVT Barn - TLC - Trace Urban HD - Travel Channel - TV10 - TV12 - TV2 - TV2 - TV3 Danmark - TV3 Norge - 3 Plus Danmark - TV3 - TV4 - TV4 Fakta - TV4 Film - TV4 Guld - TV5 Monde Europe - TV6 - TV8 - TV Chile Internacional - TVE Internacional - TV Polonia - V Film Action - V Film Family - V Film Hits - V Film Premiere - VH1 - Viasat Explore - Viasat History - Viasat Nature - Viasat Sport HD - VOX - V Series - V Sport 1 - V Sport Extra - V Sport Fotball - V Sport Golf - V Sport Hockey - V Sport Live 1 - V Sport Live 2 - V Sport Live 3 - V Sport Live 4 - V Sport Live 5 - V Sport Motor - V Sport Premium - V Sport Ultra HD - V Sport Vinter - WILD TV HD - Yle Teema & Fem - Yle TV1 - Yle TV2 - ZDF - - + + 3sat + Adult Channel (UK) + Al Jazeera English + Animal Planet + ARTE + ATG Live + Axess TV + BBC Brit + BBC Earth + BBC World News + Bloomberg TV HD + Boomerang + BraZZers TV Plus + Cartoon Network + CBS Reality + China Global Television Network 9 Documentary + China Global Television Network (Europe) + Club MTV + C More First + C More Fotboll + C More Mix + C More Hits + C More Hockey + C More Live + C More Live 2 + C More Live 3 + C More Live 4 + C More Live 5 + C More Mix + C More Series + C More Stars + CNBC + CNN + Curiosity Stream Channel + Das Erste + Discovery Channel + Discovery+ Extra 1 + Discovery+ Extra 2 + Discovery+ Extra 3 + Discovery+ Extra 4 + Discovery+ Extra 5 + Discovery+ Extra 6 + Discovery+ Extra 7 + Discovery+ Extra 8 + Discovery Science + Disney Channel + Disney Junior + DMAX + DR1 + DR2 + DR Ramasjang + DW + E! + eSportsone + Euro News + Eurosport 1 + Eurosport 2 + Expressen TV + Extreme Sports Channel + FTV + Fight Sports + France 2 + France 24 English HD + FULE TV + GINX eSports TV + Godare + GOD TV + H2 + Histrory HD + Horse & Country TV + HRT1 + Hustler TV + Investigation Discovery + Kanal 10 + Kanal 11 + Kanal 4 Danmark + Kanal 5 Danmark + Kanal 5 + Kanal 9 + Kunskapskanalen + Mezzo + Mezzo Live HD + Motorvision TV + MTV3 + MTV 90s + MTV + MTV Hits + MTV Live HD + National Geographic + National Geographic HD (UK) + National Geographic Wild + Nautical Channel + Nelonen + NFL Network + NHK World Europe + Nickelodeon + Nick JR + Nicktoons + NRK1 + NRK2 + NRK3 + Outdoor Channel HD + OUTtv + Paramount Network + Paramount+ Movies + Paramount+ Series + Pink Plus + Playboy TV Europe + ProSieben + Rai 1 + Rai 2 + RTL + RTLZWEI + SF Kanalen + Sjuan + Histrory (UK) + Sky News + Sky Showtime 1 + Sky Showtime 2 + Sportkanalen + Stingray Classica + Djazz HD + Super RTL + SVT1 + SVT2 + SVT24 + SVT Barn + TLC + Trace Urban HD + Travel Channel + TV10 + TV12 + TV2 + TV2 + TV3 + TV3 Danmark + TV3 Norge + 3 Plus Danmark + TV4 + TV4 Fakta + TV4 Film + TV4 Guld + TV5 Monde Europe + TV6 + TV8 + TV Chile Internacional + TVE Internacional + TV Polonia + V Film Action + V Film Family + V Film Hits + V Film Premiere + VH1 + Viasat Explore + Viasat History + Viasat Nature + Viasat Sport HD + VOX + V Series + V Sport 1 + V Sport Extra + V Sport Fotball + V Sport Golf + V Sport Hockey + V Sport Live 1 + V Sport Live 2 + V Sport Live 3 + V Sport Live 4 + V Sport Live 5 + V Sport Motor + V Sport Premium + V Sport Ultra HD + V Sport Vinter + WILD TV HD + Yle Teema & Fem + Yle TV1 + Yle TV2 + ZDF + diff --git a/sites/tv.nu/tv.nu.test.js b/sites/tv.nu/tv.nu.test.js index 9c5de90f..af881a5f 100644 --- a/sites/tv.nu/tv.nu.test.js +++ b/sites/tv.nu/tv.nu.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tv.nu/tv.nu.config.js --channels=sites/tv.nu/tv.nu.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.nu const { parser, url } = require('./tv.nu.config.js') const dayjs = require('dayjs') @@ -20,7 +20,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"meta":{"status":200},"data":{"id":30139,"name":"RTL","slug":"rtl","themedLogo":{"light":{"url":"https://new.static.tv.nu/19402170","isFallback":false},"dark":{"url":"https://new.static.tv.nu/59995595","isFallback":true}},"broadcasts":[{"type":"broadcast","id":"1OoSZY-7Q7-1DzQ","slug":"csi","programId":"2452","isPlay":true,"isMovie":false,"isSeries":true,"isLive":false,"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.","imagePortrait":"https://new.static.tv.nu/16686512","imageLandscape":"https://new.static.tv.nu/13119997","year":2006,"genres":["Action","Kriminaldrama","Mysterium","Spänning","Thriller"],"imdb":{"rating":"7.7","link":"https://www.imdb.com/title/tt0247082"},"playProviders":[{"name":"Viaplay","slug":"viaplay","themedLogo":{"light":{"url":"https://new.static.tv.nu/17048879","isFallback":false},"dark":{"url":"https://new.static.tv.nu/119659437","isFallback":false}},"url":"https://viaplay.se/serier/csi-crime-scene-investigation/sasong-6/avsnitt-19?utm_source=tv.nu&utm_content=CSI%3A+Crime+Scene+Investigation"},{"name":"Tele2 Play","slug":"tele2play","themedLogo":{"light":{"url":"https://new.static.tv.nu/158747195","isFallback":false},"dark":{"url":"https://new.static.tv.nu/158747194","isFallback":false}},"url":"https://www.comhemplay.se/open/vod/SH016259780000?utm_source=tv.nu&utm_medium=partner&utm_campaign=tabla&utm_content=CSI%3A+Crime+Scene+Investigation"},{"name":"Prime Video","slug":"prime-video","themedLogo":{"light":{"url":"https://new.static.tv.nu/23085972","isFallback":false},"dark":{"url":"https://new.static.tv.nu/275111","isFallback":true}},"url":"https://app.primevideo.com/detail?gti=amzn1.dv.gti.54af67f9-e58f-e6db-4991-81eb4f2efa37&utm_source=tv.nu"}],"broadcast":{"id":"1OoSZY-7Q7-1DzQ","startTime":1660878900000,"endTime":1660881600000,"channel":{"name":"RTL","slug":"rtl","themedLogo":{"light":{"url":"https://new.static.tv.nu/19402170","isFallback":false},"dark":{"url":"https://new.static.tv.nu/59995595","isFallback":true}}}},"totalEpisodes":24,"episodeNumber":19,"seasonNumber":6}]}}` + const content = + '{"meta":{"status":200},"data":{"id":30139,"name":"RTL","slug":"rtl","themedLogo":{"light":{"url":"https://new.static.tv.nu/19402170","isFallback":false},"dark":{"url":"https://new.static.tv.nu/59995595","isFallback":true}},"broadcasts":[{"type":"broadcast","id":"1OoSZY-7Q7-1DzQ","slug":"csi","programId":"2452","isPlay":true,"isMovie":false,"isSeries":true,"isLive":false,"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.","imagePortrait":"https://new.static.tv.nu/16686512","imageLandscape":"https://new.static.tv.nu/13119997","year":2006,"genres":["Action","Kriminaldrama","Mysterium","Spänning","Thriller"],"imdb":{"rating":"7.7","link":"https://www.imdb.com/title/tt0247082"},"playProviders":[{"name":"Viaplay","slug":"viaplay","themedLogo":{"light":{"url":"https://new.static.tv.nu/17048879","isFallback":false},"dark":{"url":"https://new.static.tv.nu/119659437","isFallback":false}},"url":"https://viaplay.se/serier/csi-crime-scene-investigation/sasong-6/avsnitt-19?utm_source=tv.nu&utm_content=CSI%3A+Crime+Scene+Investigation"},{"name":"Tele2 Play","slug":"tele2play","themedLogo":{"light":{"url":"https://new.static.tv.nu/158747195","isFallback":false},"dark":{"url":"https://new.static.tv.nu/158747194","isFallback":false}},"url":"https://www.comhemplay.se/open/vod/SH016259780000?utm_source=tv.nu&utm_medium=partner&utm_campaign=tabla&utm_content=CSI%3A+Crime+Scene+Investigation"},{"name":"Prime Video","slug":"prime-video","themedLogo":{"light":{"url":"https://new.static.tv.nu/23085972","isFallback":false},"dark":{"url":"https://new.static.tv.nu/275111","isFallback":true}},"url":"https://app.primevideo.com/detail?gti=amzn1.dv.gti.54af67f9-e58f-e6db-4991-81eb4f2efa37&utm_source=tv.nu"}],"broadcast":{"id":"1OoSZY-7Q7-1DzQ","startTime":1660878900000,"endTime":1660881600000,"channel":{"name":"RTL","slug":"rtl","themedLogo":{"light":{"url":"https://new.static.tv.nu/19402170","isFallback":false},"dark":{"url":"https://new.static.tv.nu/59995595","isFallback":true}}}},"totalEpisodes":24,"episodeNumber":19,"seasonNumber":6}]}}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -44,7 +45,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"meta":{"status":200},"data":{"broadcasts":[]}}` + content: '{"meta":{"status":200},"data":{"broadcasts":[]}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.post.lu/tv.post.lu.channels.xml b/sites/tv.post.lu/tv.post.lu.channels.xml index 0d7b4cac..511a7c94 100644 --- a/sites/tv.post.lu/tv.post.lu.channels.xml +++ b/sites/tv.post.lu/tv.post.lu.channels.xml @@ -1,341 +1,339 @@ - - - 13th Street - 3sat - Animal Planet - ARD-Alpha - Auto Motor Sport - Sony AXN - Bergblick TV - Bibel TV - Boomerang - Cartoon Network - Crime + Investigation - Das Erste - Deluxe Music - Discovery Channel - DMAX - Euronews GE - Eurosport 1 - Eurosport 2 DE - Funbox UHD - GEO Television - Gute Laune TV - HeimatKanal - History - HR Fernsehen - Jukebox - Kabel eins - Kabel eins Doku - KIKA - KinoweltTV - Marco Polo TV - Mezzo Live - Motorvision DE - MTV Germany - MTV Live - N24 Doku - National Geographic - National Geographic Wild - Nick Jr. - NickToons - NITRO - n-tv - One - OutTV - Phoenix - ProSieben - Romance TV - RTL Crime - RTL - RTL Living - RTL Passion - RTLup - RTLZWEI - SAT.1 - SAT.1 Gold - Servus TV - SIXX - Sky Atlantic HD - Sky Cinema Action HD - Sky Cinema Best of HD - Sky Cinema Classics HD - Sky Cinema Family HD - Sky Cinema Fun HD - Sky Cinema Premieren HD - Sky Cinema Premieren +24 HD - Sky Cinema Special HD - Sky Cinema Thriller HD - Sky Comedy HD - Sky Crime HD - Sky Documentaries HD - Sky Krimi HD - Sky Nature HD - Sky One - Sky Replay HD - Sky Sport 10 - Sky Sport 1 - Sky Sport 2 - Sky Sport 3 - Sky Sport 4 - Sky Sport 5 - Sky Sport 6 - Sky Sport 7 - Sky Sport 8 - Sky Sport 9 - Sky Sport Bundesliga 1 - Sky Sport Bundesliga 10 - Sky Sport Bundesliga 2 - Sky Sport Bundesliga 3 - Sky Sport Bundesliga 4 - Sky Sport Bundesliga 5 - Sky Sport Bundesliga 6 - Sky Sport Bundesliga 7 - Sky Sport Bundesliga 8 - Sky Sport Bundesliga 9 - Sky Sport Bundesliga UHD - Sky Sport F1 - Sky Sport News - Sky Sport UHD - Spiegel Geschichte - Sport1 - SPORTDIGITAL FUSSBALL - SR Fernsehen - SUPER RTL - Syfy - Tele5 - TLC - TOGGO Plus - Universal TV - VOX - VOXup - Warner TV Comedy HD - Warner TV Film HD - Warner TV Serie HD - Welt - Welt der Wunder TV - ZDF - ZDFinfo - ZDFneo - Aljazeera - BBC Entertainment - BBC World News - Bloomberg TV - CNBC - CNN International - DocuBox - DUSK - English Club TV - Erox HD - Euronews - Extreme Sports Channel - FashionBox HD - Fashion TV UHD - FightBox - Filmbox Arthouse HD - France 24 (EN) - Fuel TV - Gametoon - GINX Esports TV - Hustler - Man-X - NHK World Japan - Redlight - STINGRAY Classica - STINGRAY Djazz - Trace Sports Stars - TRT World - TVC News - Vivid TV Europe - X-MO - Canal 24 Horas - TVE internacional - 6ter - AB1 - AB3 - ABXPLORE - Action - Animaux - ARTE (FR) - Automoto - Be 1 - Be Ciné - C8 - Canal J - Chasse et Pêche - CLUBBING TV - Club RTL - Cnews - Crime District - CSTAR - Discovery Channel FR - Discovery Science FR - DorcelTV - E! Entertainment FR - Eurochannel - Euronews FR - Eurosport 1 France - Eurosport 2 FR - France 2 - France 24 (FR) - France 3 - France 4 - France 5 - France Info TV - Gulli - Histoire - LCI - Lucky Jack - Luxe.TV - M6 - M6 Music - Mangas - MCM - MCM Top - Melody TV - Mezzo FR - MGG TV - Moselle TV - Museum TV - MyZen TV - Pink-X - Plug RTL - RFM TV - RMC Sport 2 - RTL TVI - Sport en France - STINGRAY cmusic - TCM Cinema - TF1 - Tiji - Tipik - TMC - Toonami - Toute l'Histoire - Trace Urban - Trek - TV5 Monde FBS - TV Breizh - TVLux - VOO Sport World 1 - VOO Sport World 2 - VOO Sport World 3 - W9 - The Israeli Network - Mediaset Italia - Rai 1 - Rai 2 - Rai 3 - Rai News 24 HD - Rai Scuola HD - Rai Storia HD - Chamber TV - Eldo TV - RTL Lëtzebuerg - RTL Zwee - BVN - RTL 4 - RTL 5 - RTL 7 - RTL 8 - A Bola TV - Alma Lusa - Benfica TV - Canal Q - Gulli Brasil - Porto Canal - RTP3 - RTP Internacional - SIC Noticiás - Sporting TV - TRACE Latina - TVI Internacional - CTC International - TV1000 Russkoe Kino - DIZI - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 13th Street + 3sat + Animal Planet + ARD-Alpha + Auto Motor Sport + Bergblick TV + Bibel TV + Boomerang + Cartoon Network + Crime + Investigation + Das Erste + Deluxe Music + Discovery Channel + DMAX + Euronews GE + Eurosport 1 + Eurosport 2 DE + Funbox UHD + GEO Television + Gute Laune TV + HeimatKanal + History + HR Fernsehen + Jukebox + Kabel eins + Kabel eins Doku + KIKA + KinoweltTV + Marco Polo TV + Mezzo Live + Motorvision DE + MTV Germany + MTV Live + N24 Doku + National Geographic + National Geographic Wild + Nick Jr. + NickToons + NITRO + n-tv + One + OutTV + Phoenix + ProSieben + Romance TV + RTL Crime + RTL + RTL Living + RTL Passion + RTLup + RTLZWEI + SAT.1 + SAT.1 Gold + Servus TV + SIXX + Sky Atlantic HD + Sky Cinema Action HD + Sky Cinema Best of HD + Sky Cinema Classics HD + Sky Cinema Family HD + Sky Cinema Fun HD + Sky Cinema Premieren HD + Sky Cinema Premieren +24 HD + Sky Cinema Special HD + Sky Cinema Thriller HD + Sky Comedy HD + Sky Crime HD + Sky Documentaries HD + Sky Krimi HD + Sky Nature HD + Sky One + Sky Replay HD + Sky Sport 10 + Sky Sport 1 + Sky Sport 2 + Sky Sport 3 + Sky Sport 4 + Sky Sport 5 + Sky Sport 6 + Sky Sport 7 + Sky Sport 8 + Sky Sport 9 + Sky Sport Bundesliga 1 + Sky Sport Bundesliga 10 + Sky Sport Bundesliga 2 + Sky Sport Bundesliga 3 + Sky Sport Bundesliga 4 + Sky Sport Bundesliga 5 + Sky Sport Bundesliga 6 + Sky Sport Bundesliga 7 + Sky Sport Bundesliga 8 + Sky Sport Bundesliga 9 + Sky Sport Bundesliga UHD + Sky Sport F1 + Sky Sport News + Sky Sport UHD + Sony AXN + Spiegel Geschichte + Sport1 + SPORTDIGITAL FUSSBALL + SR Fernsehen + SUPER RTL + Syfy + Tele5 + TLC + TOGGO Plus + Universal TV + VOX + VOXup + Warner TV Comedy HD + Warner TV Film HD + Warner TV Serie HD + Welt + Welt der Wunder TV + ZDF + ZDFinfo + ZDFneo + Aljazeera + BBC Entertainment + BBC World News + Bloomberg TV + CNBC + CNN International + DocuBox + DUSK + English Club TV + Erox HD + Euronews + Extreme Sports Channel + FashionBox HD + Fashion TV UHD + FightBox + Filmbox Arthouse HD + France 24 (EN) + Fuel TV + Gametoon + GINX Esports TV + Hustler + Man-X + NHK World Japan + Redlight + STINGRAY Classica + STINGRAY Djazz + Trace Sports Stars + TRT World + TVC News + Vivid TV Europe + X-MO + Canal 24 Horas + TVE internacional + 6ter + AB1 + AB3 + ABXPLORE + Action + Animaux + ARTE (FR) + Automoto + Be 1 + Be Ciné + C8 + Canal J + Chasse et Pêche + CLUBBING TV + Club RTL + Cnews + Crime District + CSTAR + Discovery Channel FR + Discovery Science FR + DorcelTV + E! Entertainment FR + Eurochannel + Euronews FR + Eurosport 1 France + Eurosport 2 FR + France 2 + France 24 (FR) + France 3 + France 4 + France 5 + France Info TV + Gulli + Histoire + LCI + Lucky Jack + Luxe.TV + M6 + M6 Music + Mangas + MCM + MCM Top + Melody TV + Mezzo FR + MGG TV + Moselle TV + Museum TV + MyZen TV + Pink-X + Plug RTL + RFM TV + RMC Sport 2 + RTL TVI + Sport en France + STINGRAY cmusic + TCM Cinema + TF1 + Tiji + Tipik + TMC + Toonami + Toute l'Histoire + Trace Urban + Trek + TV5 Monde FBS + TV Breizh + TVLux + VOO Sport World 1 + VOO Sport World 2 + VOO Sport World 3 + W9 + The Israeli Network + Mediaset Italia + Rai 1 + Rai 2 + Rai 3 + Rai News 24 HD + Rai Scuola HD + Rai Storia HD + Chamber TV + Eldo TV + RTL Lëtzebuerg + RTL Zwee + BVN + RTL 4 + RTL 5 + RTL 7 + RTL 8 + A Bola TV + Alma Lusa + Benfica TV + Canal Q + Gulli Brasil + Porto Canal + RTP3 + RTP Internacional + SIC Noticiás + Sporting TV + TRACE Latina + TVI Internacional + CTC International + TV1000 Russkoe Kino + DIZI + diff --git a/sites/tv.post.lu/tv.post.lu.config.js b/sites/tv.post.lu/tv.post.lu.config.js index fe14ac24..cc223270 100644 --- a/sites/tv.post.lu/tv.post.lu.config.js +++ b/sites/tv.post.lu/tv.post.lu.config.js @@ -7,7 +7,7 @@ module.exports = { url({ channel, date }) { return `https://tv.post.lu/api/channels?id=${channel.site_id}&date=${date.format('YYYY-MM-DD')}` }, - parser({ content, channel, date }) { + parser({ content }) { let programs = [] const items = parseItems(content) items.forEach(item => { diff --git a/sites/tv.post.lu/tv.post.lu.test.js b/sites/tv.post.lu/tv.post.lu.test.js index f2961098..49aedbb4 100644 --- a/sites/tv.post.lu/tv.post.lu.test.js +++ b/sites/tv.post.lu/tv.post.lu.test.js @@ -1,12 +1,13 @@ // npm run channels:parse -- --config=./sites/tv.post.lu/tv.post.lu.config.js --output=./sites/tv.post.lu/tv.post.lu.channels.xml -// npx epg-grabber --config=sites/tv.post.lu/tv.post.lu.config.js --channels=sites/tv.post.lu/tv.post.lu.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.post.lu -const { parser, url, request } = require('./tv.post.lu.config.js') +const { parser, url } = require('./tv.post.lu.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') + dayjs.extend(customParseFormat) dayjs.extend(utc) @@ -18,7 +19,7 @@ const channel = { it('can generate valid url', () => { expect(url({ channel, date })).toBe( - `https://tv.post.lu/api/channels?id=269695d0-8076-11e9-b5ca-f345a2ed0fbe&date=2023-01-16` + 'https://tv.post.lu/api/channels?id=269695d0-8076-11e9-b5ca-f345a2ed0fbe&date=2023-01-16' ) }) diff --git a/sites/tv.trueid.net/tv.trueid.net.channels.xml b/sites/tv.trueid.net/tv.trueid.net.channels.xml index f4f69639..4e87a864 100644 --- a/sites/tv.trueid.net/tv.trueid.net.channels.xml +++ b/sites/tv.trueid.net/tv.trueid.net.channels.xml @@ -1,95 +1,93 @@ - - - Amarin 34 HD - Animal Planet HD - Asian Food Network - AXN HD - BBC Earth HD - BBC Lifestyle - BBC World News HD - BBTV Channel 7 - BeIn Sports 1 HD - BeIn Sports 2 HD - Cartoon Network - CCTV - Channel 3 HD - Thai Channel 8 - CNBC - CNN HD - Crime + Investigation - Discovery Asia - Discovery Channel - DreamWorks TV HD - FashionTV - Food Network HD - Gem - GMM 25 - History HD - JKN 18 - KBS World - KMTV HD - Lifetime - Love Nature - MCOT HD - Mono 29 - Motorvision TV - Nation TV - NBA TV - NBT 2 - NHK World - Nickelodeon - Nick Jr HD - One 31 - Outdoor Channel - Paramount Network HD - Phoenix InfoNews Channel - PPTV HD 36 - Rama Channel - Rock Entertainment - Rock Extreme - SpoTV 2 - Thai PBS 3 - Thairath TV 32 - Thai TV 5 HD1 - TLC HD - TNN 16 - TNN 2 - True 4U - True Asian More - True Chinese More - True Explore Life - True Explore Sci - True Explore Wild - True Film Asia - True Film HD - True Film HD 2 - True Korean More - True Movie Hits - True Plookpanya - True Premier Football 1 - True Premier Football 2 - True Premier Football 3 - True Premier Football 4 - True Premier Football 5 - True Select - True Series - True Shopping - True Spark Jump - True Spark Play - TrueSport 5 - TrueSport 7 - TrueSport HD - TrueSport HD 2 - TrueSport HD 3 - TrueSport HD 4 - True Tennis HD - True Thai Film - True X-Zyte - TV5Monde Asie - TVB Xing He - TVN - Warner TV HD - Workpoint 23 - - + + Amarin 34 HD + Animal Planet HD + Asian Food Network + AXN HD + BBC Earth HD + BBC Lifestyle + BBC World News HD + BBTV Channel 7 + BeIn Sports 1 HD + BeIn Sports 2 HD + Cartoon Network + CCTV + Channel 3 HD + Thai Channel 8 + CNBC + CNN HD + Crime + Investigation + Discovery Asia + Discovery Channel + DreamWorks TV HD + FashionTV + Food Network HD + Gem + GMM 25 + History HD + JKN 18 + KBS World + KMTV HD + Lifetime + Love Nature + MCOT HD + Mono 29 + Motorvision TV + Nation TV + NBA TV + NBT 2 + NHK World + Nickelodeon + Nick Jr HD + One 31 + Outdoor Channel + Paramount Network HD + Phoenix InfoNews Channel + PPTV HD 36 + Rama Channel + Rock Entertainment + Rock Extreme + SpoTV 2 + Thai PBS 3 + Thairath TV 32 + Thai TV 5 HD1 + TLC HD + TNN 16 + TNN 2 + True 4U + True Asian More + True Chinese More + True Explore Life + True Explore Sci + True Explore Wild + True Film HD + True Film HD 2 + True Film Asia + True Korean More + True Movie Hits + True Plookpanya + True Premier Football 1 + True Premier Football 2 + True Premier Football 3 + True Premier Football 4 + True Premier Football 5 + True Select + True Series + True Shopping + True Spark Jump + True Spark Play + TrueSport HD + TrueSport HD 2 + TrueSport HD 3 + TrueSport HD 4 + TrueSport 5 + TrueSport 7 + True Tennis HD + True Thai Film + True X-Zyte + TV5Monde Asie + TVB Xing He + TVN + Warner TV HD + Workpoint 23 + diff --git a/sites/tv.trueid.net/tv.trueid.net.test.js b/sites/tv.trueid.net/tv.trueid.net.test.js index e78807ae..77124357 100644 --- a/sites/tv.trueid.net/tv.trueid.net.test.js +++ b/sites/tv.trueid.net/tv.trueid.net.test.js @@ -13,7 +13,8 @@ const channel = { xmltv_id: 'NFLNBATV.us', name: 'NFL & NBA TV' } -const content = `` +const content = + '' it('can generate valid url', () => { const result = url({ channel, date }) @@ -37,6 +38,6 @@ it('can parse response', () => { }) it('can handle empty guide', () => { - const result = parser({ date, channel, content: `{}` }) + const result = parser({ date, channel, content: '{}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.vera.com.uy/tv.vera.com.uy.channels.xml b/sites/tv.vera.com.uy/tv.vera.com.uy.channels.xml index 49c41dae..0f46ba5d 100644 --- a/sites/tv.vera.com.uy/tv.vera.com.uy.channels.xml +++ b/sites/tv.vera.com.uy/tv.vera.com.uy.channels.xml @@ -1,58 +1,56 @@ - - - 1000XHora TV - Adu Live - ANPI TV - Antel Eventos - A + V - Artigas Televisión - Cámara de Representantes - Cámara de Senadores - Canal 11 Treinta y Tres - Canal 11 Las Piedras - Canal 12 Melo - Canal 23 Florida - Canal 26-Radio y Televisión de Aguascalientes - Canal 2 Lascano - Canal 2 HD San Carlos - Canal 2 Visión Canaria - Canal 4 Chuy - Canal 4 Juan Lacaze - Canal 4 Paysandú - Canal 4 Salto - Canal 4 Tacuarembó - Canal 5 - Canal 6 Durazno - Canal 7 Punta - Canal 8 Artigas - Canal 8 Durazno - Canal 8 Rivera - Canal 8 Salto - Canal 9 Telerocha - Canal M - Cardinal TV - Durazno TV - DW (Español) - El Canal de la Región - Noreste Canelones - Florida Televisora Color HD - Latina TV Paysandú - Maroñas Entertainment - MIEM - Mi Móvil TV - Pantalla IMPO - Plazacanal Treinta y Tres - RDTV 24HS - Rio Uruguay TV - Siemprecine - Tele R - Telesur - TV CIUDAD - TVL Pando - Canal UCL - Uruguay Presidencia - - - - - + + + + + 1000XHora TV + Adu Live + ANPI TV + Antel Eventos + A + V + Artigas Televisión + Cámara de Representantes + Cámara de Senadores + Canal 11 Treinta y Tres + Canal 11 Las Piedras + Canal 12 Melo + Canal 23 Florida + Canal 26-Radio y Televisión de Aguascalientes + Canal 2 Lascano + Canal 2 HD San Carlos + Canal 2 Visión Canaria + Canal 4 Chuy + Canal 4 Juan Lacaze + Canal 4 Paysandú + Canal 4 Salto + Canal 4 Tacuarembó + Canal 5 + Canal 6 Durazno + Canal 7 Punta + Canal 8 Artigas + Canal 8 Durazno + Canal 8 Rivera + Canal 8 Salto + Canal 9 Telerocha + Canal M + Cardinal TV + Durazno TV + DW (Español) + El Canal de la Región - Noreste Canelones + Florida Televisora Color HD + Latina TV Paysandú + Maroñas Entertainment + MIEM + Mi Móvil TV + Pantalla IMPO + Plazacanal Treinta y Tres + RDTV 24HS + Rio Uruguay TV + Siemprecine + Tele R + Telesur + TV CIUDAD + TVL Pando + Canal UCL + Uruguay Presidencia + diff --git a/sites/tv.vera.com.uy/tv.vera.com.uy.config.js b/sites/tv.vera.com.uy/tv.vera.com.uy.config.js index aacbf156..2f58fe9b 100644 --- a/sites/tv.vera.com.uy/tv.vera.com.uy.config.js +++ b/sites/tv.vera.com.uy/tv.vera.com.uy.config.js @@ -49,7 +49,7 @@ module.exports = { return programs }, - async channels({ lang }) { + async channels() { const session = await loadSessionDetails() if (!session || !session.jwt || !session.token) return null diff --git a/sites/tv.vera.com.uy/tv.vera.com.uy.test.js b/sites/tv.vera.com.uy/tv.vera.com.uy.test.js index a8f0b9f6..9cdfb281 100644 --- a/sites/tv.vera.com.uy/tv.vera.com.uy.test.js +++ b/sites/tv.vera.com.uy/tv.vera.com.uy.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tv.vera.com.uy/tv.vera.com.uy.config.js --output=./sites/tv.vera.com.uy/tv.vera.com.uy.channels.xml -// npx epg-grabber --config=sites/tv.vera.com.uy/tv.vera.com.uy.config.js --channels=sites/tv.vera.com.uy/tv.vera.com.uy.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.vera.com.uy const { parser, url, request } = require('./tv.vera.com.uy.config.js') const fs = require('fs') @@ -45,7 +45,7 @@ it('can generate valid url', async () => { const result = await url({ date, channel }) expect(result).toBe( - `https://cds-frontend.vera.com.uy/api-contenidos/canales/epg/2s6nd?limit=500&dias_siguientes=0&fecha=2023-02-11&token=MpDY52p1V6g511VSABp1015B` + 'https://cds-frontend.vera.com.uy/api-contenidos/canales/epg/2s6nd?limit=500&dias_siguientes=0&fecha=2023-02-11&token=MpDY52p1V6g511VSABp1015B' ) }) diff --git a/sites/tv.yandex.ru/tv.yandex.ru.channels.xml b/sites/tv.yandex.ru/tv.yandex.ru.channels.xml index fc7b3514..d1022206 100644 --- a/sites/tv.yandex.ru/tv.yandex.ru.channels.xml +++ b/sites/tv.yandex.ru/tv.yandex.ru.channels.xml @@ -1,293 +1,291 @@ - - - 1HD Music TV - Telekanal 2x2 - 31 Kanal - Telekanal 360° - 365 dnei TV - Tri Angela - 7 TV - 9 Volna - A1 - A2 - Ajara TV - Almaty TV - Amedia Hit - Amedia Premium - Anekdot TV - Animal Planet Rossiya - Arkhyz 24 - Atameken Business - Auto Plus - BBC Entertainment Europe - BBC News - BBC World News Europe - Belarus 24 - BelRos - Bolshaya Aziya - Bloomberg TV Europe - Bober - Boks TV - Bollywood HD - Boomerang Central & Eastern Europe - Bridge TV - Bridge TV Russkiy Hit - Cartoon Network Russia & South East Europe - CBS Reality Europe - 5 Kanal - Perviy kanal - Che! - ChePe Info - Club MTV - CNBC Europe - CNN International Europe - 24 Krim - STS - STS International - STS Love - RGVK Dagestan - Da Vinci - Discovery Channel East - Discovery Channel Rossiya - Discovery Science Rossiya - Kanal Disney - Telekanal Doktor - DocuBox HD - Domashnie Zhivotnye - Domashniy - Dom Kino - Dom Kino Premium - Draiv - DTX Rossiya - DW English - Eda - Eda Premium - English Club TV - E TV - Europa Plus TV - Eurosport 1 Rossiya - Eurosport 2 Rossiya - Evrokino - Extreme Sports Channel - FashionBox HD - Fashion One Europe - FashionTV Russia - Fast & FunBox HD - Feniks plus Kino - FilmBox Arthouse Worldwide - Food Network Russia - Telekanal Futbol - Fox Life Russia - Fox Russia - France 24 English - Pyatnitsa! - Fuel TV - HDL - History 2 Asia - History Russia - HITV - Hollywood HD - Telekanal Nadezhda - Illusion + - Indijskoe Kino - Insight UHD - Istoriya - Izvestia TV - Kaleidoskop TV - Kapitan Fantastika - Karusel - Khabar 24 - KHL - Kinohit - Kinokomedija - Kinomiks - Kinopokaz - Kinopremyera - Kinosemja - Kinoserija - Kinosvidanie - Kino TV - Komediynoe - Konniy Mir - Krik TV - Kto est kto - Kuban 24 Orbita - Kuhnya TV - Kurai TV - KVN TV - La Minor - LDPR TV - Len TV 24 - Luxe TV - Luxury - Lyubimoe - Malysh TV - Mama - Match! - Match! Arena - Match! Boets - Match! Futbol 1 - Match! Futbol 2 - Match! Futbol 3 - Match! Igra - Match! Planeta - MCM Top Russia - Mezzo - Mezzo Live HD - Mir - Mir 24 - Mir Belogorya TV - Mir Seriala - Moskva Telekanal - Moskva 24 - Moya Planeta - MTV Hits Europe - MTV Live HD - MTV Russia - Mult - Museum - Music Box Russia - Muzhskoe Kino - Muzhskoy - Muzika Pervogo - Muz Soyuz - Muz TV - MyZen TV - Nano TV - Nashe Novoe Kino - Nash Kinoroman - National Geographic Russia - National Geographic Wild Russia - Nauka - NHK World Japan - Nickelodeon CIS - Nick Jr CIS - Nika TV - Nostalgia - Noviy Mir - Novoe Radio - NST - NTV - NTV Pravo - NTV Serial - NTV Styl - Telekanal O! - O!2 - Ocean TV - Ohotnik i Rybolov - Okhota i Rybalka - Oruzhie - Ostrosyuzhetnoye - Otkritiy Mir - OTR - Paramount Channel Russia - Paramount Comedy Russia - Pobeda - Poehali! - Priklyucheniya - Prodvizhenie Moskva - Psikhologiya 21 - Radost Moya - Ratnik - RBK TV - Krasnaya Liniya - REN TV - Retro - Rodnoe Kino - RT News - RTД - RT Doc - RTG HD - RTG International - RTG TV - RTR Planeta - Rossiya 1 - Rossiya 24 - Rossiya K - Russkij Extrem - Russkiy Bestseller - Russkiy Detektiv - Russkiy Illusion - Russkiy Roman - Ru TV - Rybolov - Ryzhiy - RZD TV - Sankt Peterburg - Sarafan - Setanta Sports Ukraine - Shanson TV - Shot TV - Sony Channel Russia - Sony Sci-Fi Russia - Sony Turbo - Soyuz - Telekanal Spas - TV Start - Stingray CMusic - Stingray IConcerts - Strana FM TV - T24 - Tayny Galaktiki - TBN Rossiya - TDK - Telecafé - Telekanal Teatr - Teleputeshestviya - TLC Russia - TNT - TNT 4 - TNT International - TNT Music - TNV Planeta - TNV Tatarstan - Tochka TV - Sovershenno Sekretno TV - Travel Channel Europe - Travel + Adventure - TV 1000 Action - TV 1000 East - TV 1000 Russkoe Kino - TV 3 - TV5Monde Europe - TV Centr - TV Guberniya - TVMChannel - Dozhd - TV XXI - U - Udmurtiya - Ugra TV - Usadba - Uspeh - Vetta 24 - VH1 Europe - Viasat Explore Russia - Viasat History - Viasat Nature East - Viasat Sport East - VIP Comedy - VIP Megahit - VIP Premiere - Vmeste RF - V mire zhivotnykh - Voprosy i Otvety - Vremya - World Fashion Channel Russia - Yamal Region - Yurgan - Zagorodnaya Zhizn - Zagorodny - Zdorovoe TV - Zee TV Russia - Zhara TV - Zhar Ptitsa - Zhivaya Planeta - Zhivaya Priroda - Zhivi! - Zoo Park - Zoo TV - Telekanal Zvezda - - \ No newline at end of file + + 1HD Music TV + Telekanal 2x2 + 31 Kanal + Telekanal 360° + 365 dnei TV + Tri Angela + 7 TV + 9 Volna + A1 + A2 + Ajara TV + Almaty TV + Amedia Hit + Amedia Premium + Anekdot TV + Animal Planet Rossiya + Arkhyz 24 + Atameken Business + Auto Plus + BBC Entertainment Europe + BBC News + BBC World News Europe + Belarus 24 + BelRos + Bolshaya Aziya + Bloomberg TV Europe + Bober + Boks TV + Bollywood HD + Boomerang Central & Eastern Europe + Bridge TV + Bridge TV Russkiy Hit + Cartoon Network Russia & South East Europe + CBS Reality Europe + 5 Kanal + Perviy kanal + Che! + ChePe Info + Club MTV + CNBC Europe + CNN International Europe + 24 Krim + STS + STS International + STS Love + RGVK Dagestan + Da Vinci + Discovery Channel East + Discovery Channel Rossiya + Discovery Science Rossiya + Kanal Disney + Telekanal Doktor + DocuBox HD + Domashnie Zhivotnye + Domashniy + Dom Kino + Dom Kino Premium + Draiv + DTX Rossiya + DW English + Eda + Eda Premium + English Club TV + E TV + Europa Plus TV + Eurosport 1 Rossiya + Eurosport 2 Rossiya + Evrokino + Extreme Sports Channel + FashionBox HD + Fashion One Europe + FashionTV Russia + Fast & FunBox HD + Feniks plus Kino + FilmBox Arthouse Worldwide + Food Network Russia + Telekanal Futbol + Fox Life Russia + Fox Russia + France 24 English + Pyatnitsa! + Fuel TV + HDL + History 2 Asia + History Russia + HITV + Hollywood HD + Telekanal Nadezhda + Illusion + + Indijskoe Kino + Insight UHD + Istoriya + Izvestia TV + Kaleidoskop TV + Kapitan Fantastika + Karusel + Khabar 24 + KHL + Kinohit + Kinokomedija + Kinomiks + Kinopokaz + Kinopremyera + Kinosemja + Kinoserija + Kinosvidanie + Kino TV + Komediynoe + Konniy Mir + Krik TV + Kto est kto + Kuban 24 Orbita + Kuhnya TV + Kurai TV + KVN TV + La Minor + LDPR TV + Len TV 24 + Luxe TV + Luxury + Lyubimoe + Malysh TV + Mama + Match! + Match! Arena + Match! Boets + Match! Futbol 1 + Match! Futbol 2 + Match! Futbol 3 + Match! Igra + Match! Planeta + MCM Top Russia + Mezzo + Mezzo Live HD + Mir + Mir 24 + Mir Belogorya TV + Mir Seriala + Moskva Telekanal + Moskva 24 + Moya Planeta + MTV Hits Europe + MTV Live HD + MTV Russia + Mult + Museum + Music Box Russia + Muzhskoe Kino + Muzhskoy + Muzika Pervogo + Muz Soyuz + Muz TV + MyZen TV + Nano TV + Nashe Novoe Kino + Nash Kinoroman + National Geographic Russia + National Geographic Wild Russia + Nauka + NHK World Japan + Nickelodeon CIS + Nick Jr CIS + Nika TV + Nostalgia + Noviy Mir + Novoe Radio + NST + NTV + NTV Pravo + NTV Serial + NTV Styl + Telekanal O! + O!2 + Ocean TV + Ohotnik i Rybolov + Okhota i Rybalka + Oruzhie + Ostrosyuzhetnoye + Otkritiy Mir + OTR + Paramount Channel Russia + Paramount Comedy Russia + Pobeda + Poehali! + Priklyucheniya + Prodvizhenie Moskva + Psikhologiya 21 + Radost Moya + Ratnik + RBK TV + Krasnaya Liniya + REN TV + Retro + Rodnoe Kino + RT News + RTД + RT Doc + RTG HD + RTG International + RTG TV + RTR Planeta + Rossiya 1 + Rossiya 24 + Rossiya K + Russkij Extrem + Russkiy Bestseller + Russkiy Detektiv + Russkiy Illusion + Russkiy Roman + Ru TV + Rybolov + Ryzhiy + RZD TV + Sankt Peterburg + Sarafan + Setanta Sports Ukraine + Shanson TV + Shot TV + Sony Channel Russia + Sony Sci-Fi Russia + Sony Turbo + Soyuz + Telekanal Spas + TV Start + Stingray CMusic + Stingray IConcerts + Strana FM TV + T24 + Tayny Galaktiki + TBN Rossiya + TDK + Telecafé + Telekanal Teatr + Teleputeshestviya + TLC Russia + TNT + TNT 4 + TNT International + TNT Music + TNV Planeta + TNV Tatarstan + Tochka TV + Sovershenno Sekretno TV + Travel Channel Europe + Travel + Adventure + TV 1000 Action + TV 1000 East + TV 1000 Russkoe Kino + TV 3 + TV5Monde Europe + TV Centr + TV Guberniya + TVMChannel + Dozhd + TV XXI + U + Udmurtiya + Ugra TV + Usadba + Uspeh + Vetta 24 + VH1 Europe + Viasat Explore Russia + Viasat History + Viasat Nature East + Viasat Sport East + VIP Comedy + VIP Megahit + VIP Premiere + Vmeste RF + V mire zhivotnykh + Voprosy i Otvety + Vremya + World Fashion Channel Russia + Yamal Region + Yurgan + Zagorodnaya Zhizn + Zagorodny + Zdorovoe TV + Zee TV Russia + Zhara TV + Zhar Ptitsa + Zhivaya Planeta + Zhivaya Priroda + Zhivi! + Zoo Park + Zoo TV + Telekanal Zvezda + \ No newline at end of file diff --git a/sites/tv.yandex.ru/tv.yandex.ru.config.js b/sites/tv.yandex.ru/tv.yandex.ru.config.js index f76371d9..c5883e4c 100644 --- a/sites/tv.yandex.ru/tv.yandex.ru.config.js +++ b/sites/tv.yandex.ru/tv.yandex.ru.config.js @@ -32,7 +32,7 @@ module.exports = { } function parseContent(content) { - const [_, initialState] = content.match(/window.__INITIAL_STATE__ = (.*);/i) || [null, null] + const [, initialState] = content.match(/window.__INITIAL_STATE__ = (.*);/i) || [null, null] if (!initialState) return null const data = JSON.parse(initialState) if (!data) return null diff --git a/sites/tv.yandex.ru/tv.yandex.ru.test.js b/sites/tv.yandex.ru/tv.yandex.ru.test.js index b331145b..74112b07 100644 --- a/sites/tv.yandex.ru/tv.yandex.ru.test.js +++ b/sites/tv.yandex.ru/tv.yandex.ru.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tv.yandex.ru/tv.yandex.ru.config.js --channels=sites/tv.yandex.ru/tv.yandex.ru.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.yandex.ru const { parser, url, request } = require('./tv.yandex.ru.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '162#31-kanal-429', xmltv_id: '31Kanal.kz' } -const content = ` ` +const content = + ' ' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -38,7 +39,7 @@ it('can parse response', () => { { start: '2021-11-24T23:00:00.000Z', stop: '2021-11-24T23:58:00.000Z', - title: `Ризамын (каз.).`, + title: 'Ризамын (каз.).', category: 'досуг', description: 'kLX6FVKAIiDCGBFE' } @@ -49,7 +50,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv.yettel.hu/tv.yettel.hu.channels.xml b/sites/tv.yettel.hu/tv.yettel.hu.channels.xml index c42c6382..5465e0d6 100644 --- a/sites/tv.yettel.hu/tv.yettel.hu.channels.xml +++ b/sites/tv.yettel.hu/tv.yettel.hu.channels.xml @@ -1,79 +1,77 @@ - - - BBC World News - CNN - Euronews - MTV 80s - MTV90s - MTV Hits - AMC - Animal Planet - Arena4 - ATV - BBC Earth - Boomerang - Cartoon Network - Comedy Central Family - Comedy Central - Cool - Da Vinci - Discovery Channel - Discovery Science - Disney Channel - DTX - Duna - Duna World - FEM3 - FilmCafe - Film+ - Food Network - Hír TV - Investigation Discovery - Izaura TV - JimJam - Jocky TV - LifeTv - M1 - M2 - M4 Sport - M5 - Minimax - Mozi+ - Moziverzum - MTV 00s - MTV Hungary - Muzsika TV - National Geographic - National Geographic Wild - Nickelodeon - Nick Junior - OzoneTv - Paramount Channel - Prime - RTL Gold - RTL KETTŐ - RTL HÁROM - RTL - Sorozat+ - Spektrum Home - Spektrum - Spíler1 TV - Spíler2 TV - Sport1 - Sport2 - Super TV2 - TeenNick - TLC - Travel Channel - TV2 - TV2 Comedy - TV2 Kids - TV2 Séf - TV Paprika - Viasat Explore - Viasat History - Viasat Nature - Zenebutik - - + + BBC World News + CNN + Euronews + MTV 80s + MTV90s + MTV Hits + AMC + Animal Planet + Arena4 + ATV + BBC Earth + Boomerang + Cartoon Network + Comedy Central Family + Comedy Central + Cool + Da Vinci + Discovery Channel + Discovery Science + Disney Channel + DTX + Duna + Duna World + FEM3 + FilmCafe + Film+ + Food Network + Hír TV + Investigation Discovery + Izaura TV + JimJam + Jocky TV + LifeTv + M1 + M2 + M4 Sport + M5 + Minimax + Mozi+ + Moziverzum + MTV 00s + MTV Hungary + Muzsika TV + National Geographic + National Geographic Wild + Nickelodeon + Nick Junior + OzoneTv + Paramount Channel + Prime + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + Sorozat+ + Spektrum Home + Spektrum + Spíler1 TV + Spíler2 TV + Sport1 + Sport2 + Super TV2 + TeenNick + TLC + Travel Channel + TV2 + TV2 Comedy + TV2 Kids + TV2 Séf + TV Paprika + Viasat Explore + Viasat History + Viasat Nature + Zenebutik + diff --git a/sites/tv.yettel.hu/tv.yettel.hu.config.js b/sites/tv.yettel.hu/tv.yettel.hu.config.js index cacbad45..9e54b779 100644 --- a/sites/tv.yettel.hu/tv.yettel.hu.config.js +++ b/sites/tv.yettel.hu/tv.yettel.hu.config.js @@ -28,7 +28,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://dev.mytvback.com/api/19/default/hu-HU/content/CHA_LIVE_MYTV2_HU/children`) + .get('https://dev.mytvback.com/api/19/default/hu-HU/content/CHA_LIVE_MYTV2_HU/children') .then(r => r.data) .catch(console.log) diff --git a/sites/tv.yettel.hu/tv.yettel.hu.test.js b/sites/tv.yettel.hu/tv.yettel.hu.test.js index b28d7ed1..f283d71c 100644 --- a/sites/tv.yettel.hu/tv.yettel.hu.test.js +++ b/sites/tv.yettel.hu/tv.yettel.hu.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tv.yettel.hu/tv.yettel.hu.config.js --output=./sites/tv.yettel.hu/tv.yettel.hu.channels.xml -// npx epg-grabber --config=sites/tv.yettel.hu/tv.yettel.hu.config.js --channels=sites/tv.yettel.hu/tv.yettel.hu.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv.yettel.hu const { parser, url } = require('./tv.yettel.hu.config.js') const dayjs = require('dayjs') @@ -77,7 +77,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"Content":[],"HttpStatusCode":200,"StatusCode":0,"StatusMessage":"OK","Severity":1}` + content: '{"Content":[],"HttpStatusCode":200,"StatusCode":0,"StatusMessage":"OK","Severity":1}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tv24.co.uk/tv24.co.uk.channels.xml b/sites/tv24.co.uk/tv24.co.uk.channels.xml index 24c4ccad..0d827ae3 100644 --- a/sites/tv24.co.uk/tv24.co.uk.channels.xml +++ b/sites/tv24.co.uk/tv24.co.uk.channels.xml @@ -1,110 +1,108 @@ - - - 4Seven - 5 Action - 5SELECT - 5USA - Al Arabiya - Al Jazeera English - ARISE - Babestation - BBC Four - BBC News - BBC One HD (England) - BBC One London - BBC Parliament - BBC Red Button 1 - BBC Three - BBC Two - CBBC - CBeebies - CBS Reality - Challenge TV - Channel 4 - Channel 4 +1 - Channel 5 - Channel 5+1 - Create and Craft (Freeview) - Dave Ja Vu - Dave - DMAX - Drama - E4 - Film4 - Food Network - GB News - HGTV - Ideal World (Freeview) - ITV2 - ITV3 - ITV4 - ITV BE - Kiss - London Live - More 4 - Planet Knowledge - Pop - Quest Red - Quest Red +1 - Quest - QVC Style (Freeview) - Really - Sky Arts - Sky News - Smithsonian Channel SD - Talking Pictures TV - TBN UK - Together - xxXpanded TV - Yesterday - Yesterday +1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 4Seven + 5 Action + 5SELECT + 5USA + Al Arabiya + Al Jazeera English + ARISE + Babestation + BBC Four + BBC News + BBC One HD (England) + BBC One London + BBC Parliament + BBC Red Button 1 + BBC Three + BBC Two + CBBC + CBeebies + CBS Reality + Challenge TV + Channel 4 + Channel 4 +1 + Channel 5 + Channel 5+1 + Create and Craft (Freeview) + Dave + Dave Ja Vu + DMAX + Drama + E4 + Film4 + Food Network + GB News + HGTV + Ideal World (Freeview) + ITV2 + ITV3 + ITV4 + ITV BE + Kiss + London Live + More 4 + Planet Knowledge + Pop + Quest Red + Quest Red +1 + Quest + QVC Style (Freeview) + Really + Sky Arts + Sky News + Smithsonian Channel SD + Talking Pictures TV + TBN UK + Together + xxXpanded TV + Yesterday + Yesterday +1 + diff --git a/sites/tv24.co.uk/tv24.co.uk.config.js b/sites/tv24.co.uk/tv24.co.uk.config.js index 2f01769e..6a9a7ff9 100644 --- a/sites/tv24.co.uk/tv24.co.uk.config.js +++ b/sites/tv24.co.uk/tv24.co.uk.config.js @@ -40,7 +40,7 @@ module.exports = { }, async channels() { let html = await axios - .get(`https://tv24.co.uk/x/settings/addremove`) + .get('https://tv24.co.uk/x/settings/addremove') .then(r => r.data) .catch(console.log) let $ = cheerio.load(html) @@ -48,7 +48,7 @@ module.exports = { .toArray() .map(item => $(item).data('channel')) html = await axios - .get(`https://tv24.co.uk`, { + .get('https://tv24.co.uk', { headers: { Cookie: `selectedChannels=${nums.join(',')}` } @@ -61,7 +61,7 @@ module.exports = { return items.map(item => { const name = $(item).find('h3').text().trim() const link = $(item).find('.channel').attr('href') - const [_, site_id] = link.match(/\/channel\/(.*)/) || [null, null] + const [, site_id] = link.match(/\/channel\/(.*)/) || [null, null] return { site_id, diff --git a/sites/tv24.co.uk/tv24.co.uk.test.js b/sites/tv24.co.uk/tv24.co.uk.test.js index 564ed0c8..3a569ab2 100644 --- a/sites/tv24.co.uk/tv24.co.uk.test.js +++ b/sites/tv24.co.uk/tv24.co.uk.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tv24.co.uk/tv24.co.uk.config.js --output=./sites/tv24.co.uk/tv24.co.uk.channels.xml -// npx epg-grabber --config=sites/tv24.co.uk/tv24.co.uk.config.js --channels=sites/tv24.co.uk/tv24.co.uk.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv24.co.uk const { parser, url } = require('./tv24.co.uk.config.js') const fs = require('fs') diff --git a/sites/tv24.se/tv24.se.channels.xml b/sites/tv24.se/tv24.se.channels.xml index bb70f19a..84bbcd09 100644 --- a/sites/tv24.se/tv24.se.channels.xml +++ b/sites/tv24.se/tv24.se.channels.xml @@ -1,307 +1,305 @@ - - - 3sat - The Adult Channel - Al Arabiya - Al Jazeera (Arabic) - Al Jazeera (English) - Animal Planet - ATG Live - Axess TV - BBC Brit - BBC Earth - BBC World News - Blue Hustler - Boomerang - Canal 24H - Cartoon Network - CBS Reality - CCTV-4 - CGTN - Classica HD - C More First - C More Fotboll - C More Hits - C More Hockey - C More Live - C More Live 2 - C More Live 3 - C More Live 4 - C More Live 5 - C More Mix - C More Series - C More Sport SF-Kanalen - C More Stars - CNBC - CNN International - Das Erste - Discovery Channel - Discovery+ Extra 1 - Discovery+ Extra 2 - Discovery+ Extra 3 - Discovery+ Extra 4 - Discovery+ Extra 5 - Discovery+ Extra 6 - Discovery+ Extra 7 - Discovery Science - Disney Channel - Disney Junior - Di TV HD - DR1 - DR2 - DR Ramasjang - Duna TV - eSportsTV HD - Eurosport 1 - Eurosport 2 - Extreme Sports Channel - FTV HD - Fight Sports - Food Network - France 2 - France 24 English HD - France 24 - Fuel TV - GINX eSports TV - Godare - God - Gospel Channel - Hayat Plus - H2 - History - Horse & Country (UK) - - HRT1 - Hustler TV - ID - Kanal 10 - Kanal 11 - Kanal 4 - Kanal 5 - Kanal 9 - Kunskapskanalen - Las Estrellas - Magnolia Network HD - MBC - Mezzo - Mezzo Live HD - Motorvision TV - MTV 00s Europe - MTV3 - MTV 80s - MTV 90s - MTV Hits International - MTV Live HD - Manchester United Television HD - National Geographic - National Geographic Wild - Nautical Channel - NHK World TV - Nickelodeon - Nick JR - Nicktoons - NRK1 Norge - NRK2 Norge - NRK3 - NRK Super/NRK3 - NRK Super - OBN - OUTtv - Pink Extra - Pink Plus - Playboy TV - ProSieben - Pro TV int - Rai 1 - Rai 2 - Rai 3 - RTL - RTLZWEI - RTP Internacional Europe - RTR Planeta - SF Kanalen - Sjuan - Sky Cinema Premiere +1 - Sky History 2 HD - Sky News - Sky Showtime 1 - Sky Showtime 2 - Sportkanalen - Djazz HD - Super RTL - SVT1 - SVT2 - SVT24 - SVT Barn - SVT Barn/SVT24 - TBN Europe - TLC - Trace Urban HD - Travel Channel - TRT 1 - TRT Turk - TV10 - TV12 - TV2 Danmark - TV2 Norge - TV2 Charlie - TV2 News - TV 2 Nyheter (NORWAY) - TV 2 Zebra - TV2 Zulu - TV3 - TV3 Danmark - TV3 Plus - TV3 Sport - TV4 - TV4 Fakta - TV4 Film - TV4 Guld - TV5 Monde Europe - TV6 - TV8 - TVCG Sat - TV Chile - TVE Internacional - TVNorge - TVP Polonia - Visjon Norge HD - V Film Action HD - V Film Family - V Film Hits HD - V Film Premiere HD - Viasat Explore - Viasat History - Viasat Nature - Viasat Sport - VOX - Viasat Series - V Sport Extra - V Sport Fotboll HD - V Sport Golf HD - V Sport Motor HD - V Sport Premium HD - V Sport Ultra HD - V Sport Vinter - Yle Teema & Fem HD - Yle TV1 - Yle TV2 - ZDF - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Motorvision TV + Al Jazeera (Arabic) + Al Jazeera (English) + BBC Brit + BBC Earth + BBC World News + Blue Hustler + CBS Reality + CGTN + CNBC + CNN International + Fight Sports + Food Network + GINX eSports TV + God + Horse & Country (UK) + Magnolia Network HD + MTV 00s Europe + MTV 80s + MTV 90s + MTV Hits International + MTV Live HD + OUTtv + Sky Cinema Premiere +1 + Sky History 2 HD + Sky News + Travel Channel + France 24 English HD + TV5 Monde Europe + Rai 1 + Rai 2 + Rai 3 + 3sat + The Adult Channel + Al Arabiya + Animal Planet + ATG Live + Axess TV + Boomerang + Canal 24H + Cartoon Network + CCTV-4 + Classica HD + C More First + C More Fotboll + C More Hits + C More Hockey + C More Live + C More Live 2 + C More Live 3 + C More Live 4 + C More Live 5 + C More Mix + C More Series + C More Sport SF-Kanalen + C More Stars + Das Erste + Discovery Channel + Discovery+ Extra 1 + Discovery+ Extra 2 + Discovery+ Extra 3 + Discovery+ Extra 4 + Discovery+ Extra 5 + Discovery+ Extra 6 + Discovery+ Extra 7 + Discovery Science + Disney Channel + Disney Junior + Di TV HD + DR1 + DR2 + DR Ramasjang + Duna TV + eSportsTV HD + Eurosport 1 + Eurosport 2 + Extreme Sports Channel + FTV HD + France 2 + France 24 + Fuel TV + Godare + Gospel Channel + Hayat Plus + H2 + History + HRT1 + Hustler TV + ID + Kanal 10 + Kanal 11 + Kanal 4 + Kanal 5 + Kanal 9 + Kunskapskanalen + Las Estrellas + MBC + Mezzo + Mezzo Live HD + MTV3 + Manchester United Television HD + National Geographic + National Geographic Wild + Nautical Channel + NHK World TV + Nickelodeon + Nick JR + Nicktoons + NRK1 Norge + NRK2 Norge + NRK3 + NRK Super/NRK3 + NRK Super + OBN + Pink Extra + Pink Plus + Playboy TV + ProSieben + Pro TV int + RTL + RTLZWEI + RTP Internacional Europe + RTR Planeta + SF Kanalen + Sjuan + Sky Showtime 1 + Sky Showtime 2 + Sportkanalen + Djazz HD + Super RTL + SVT1 + SVT2 + SVT24 + SVT Barn + SVT Barn/SVT24 + TBN Europe + TLC + Trace Urban HD + TRT 1 + TRT Turk + TV10 + TV12 + TV2 Danmark + TV2 Norge + TV2 Charlie + TV2 News + TV 2 Nyheter (NORWAY) + TV 2 Zebra + TV2 Zulu + TV3 + TV3 Danmark + TV3 Plus + TV3 Sport + TV4 + TV4 Fakta + TV4 Film + TV4 Guld + TV6 + TV8 + TVCG Sat + TV Chile + TVE Internacional + TVNorge + TVP Polonia + Visjon Norge HD + V Film Action HD + V Film Family + V Film Hits HD + V Film Premiere HD + Viasat Explore + Viasat History + Viasat Nature + Viasat Sport + VOX + Viasat Series + V Sport Extra + V Sport Fotboll HD + V Sport Golf HD + V Sport Motor HD + V Sport Premium HD + V Sport Ultra HD + V Sport Vinter + Yle Teema & Fem HD + Yle TV1 + Yle TV2 + ZDF + diff --git a/sites/tv24.se/tv24.se.config.js b/sites/tv24.se/tv24.se.config.js index 9b2c4f3f..1e981cc2 100644 --- a/sites/tv24.se/tv24.se.config.js +++ b/sites/tv24.se/tv24.se.config.js @@ -47,7 +47,7 @@ module.exports = { }, async channels() { let html = await axios - .get(`https://tv24.se/x/settings/addremove`) + .get('https://tv24.se/x/settings/addremove') .then(r => r.data) .catch(console.log) let $ = cheerio.load(html) @@ -55,7 +55,7 @@ module.exports = { .toArray() .map(item => $(item).data('channel')) html = await axios - .get(`https://tv24.se`, { + .get('https://tv24.se', { headers: { Cookie: `selectedChannels=${nums.join(',')}` } @@ -68,7 +68,7 @@ module.exports = { return items.map(item => { const name = $(item).find('h3').text().trim() const link = $(item).find('.channel').attr('href') - const [_, site_id] = link.match(/\/kanal\/(.*)/) || [null, null] + const [, site_id] = link.match(/\/kanal\/(.*)/) || [null, null] return { lang: 'sv', @@ -101,13 +101,13 @@ async function loadProgramDetails($item) { function parseIcon($) { const style = $('.image > .actual').attr('style') - const [_, url] = style.match(/background-image\: url\('([^']+)'\)/) + const [, url] = style.match(/background-image: url\('([^']+)'\)/) return url } function parseSeason($) { - const [_, season] = $('.sub-title') + const [, season] = $('.sub-title') .text() .trim() .match(/Säsong (\d+)/) || [null, ''] @@ -116,7 +116,7 @@ function parseSeason($) { } function parseEpisode($) { - const [_, episode] = $('.sub-title') + const [, episode] = $('.sub-title') .text() .trim() .match(/Avsnitt (\d+)/) || [null, ''] @@ -125,7 +125,7 @@ function parseEpisode($) { } function parseSubTitle($) { - const [_, subtitle] = $('.sub-title').text().trim().split(': ') + const [, subtitle] = $('.sub-title').text().trim().split(': ') return subtitle } diff --git a/sites/tv24.se/tv24.se.test.js b/sites/tv24.se/tv24.se.test.js index c15692d1..8cd14fac 100644 --- a/sites/tv24.se/tv24.se.test.js +++ b/sites/tv24.se/tv24.se.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tv24.se/tv24.se.config.js --output=./sites/tv24.se/tv24.se.channels.xml -// npx epg-grabber --config=sites/tv24.se/tv24.se.config.js --channels=sites/tv24.se/tv24.se.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tv24.se const { parser, url } = require('./tv24.se.config.js') const fs = require('fs') @@ -26,7 +26,7 @@ it('can generate valid url', () => { it('can parse response', async () => { const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.html')) - axios.get.mockImplementation((url, data) => { + axios.get.mockImplementation(url => { if (url === 'https://tv24.se/x/b/rh7f40-1hkm/0/0') { return Promise.resolve({ data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/program1.json'))) diff --git a/sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml b/sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml index 0698dae2..2f60a81c 100644 --- a/sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml +++ b/sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml @@ -1,281 +1,279 @@ - - - 24 Kitchen - 360 Tune Box - 3sat - Agro TV - Al Jazeera Balk - Alsat-M - AMC HD - Anixe HD Serie - Arena Esport - Arena Fight - Arena Sport 1 - Arena Sport 2 - Arena Sport 3 - Arena Sport 4 - ARTE Français - ATM TV - B92 - Baby TV - Balkan Erotic HD - Balkanika Music TV - Balkan Trip - BBC Earth HD - BBC First HD - BHT 1 - BK TV - Bliss 4K - BN Music - BN 2 - Boomerang - Boom TV - Brio - CBS Reality - CGTN - Perviy kanal - CineStar TV 1 - CineStar TV Action - CineStar TV Comedy - CineStar TV Fantasy - CineStar TV Premiere 1 - CineStar TV Premiere 2 - Club MTV - CMC TV - CNN - Crime + Investigation UK - Das Erste - Da Vinci - Diva - DM Sat - DocuBox HD - Dom Kino - Dorcel TV XXX HD - Dr. Fit - - Duna TV - Duna World - Dusk - E! Europe - Elta 2 - Elta TV - Epic Drama - ePosavje TV - Erox HD - Eroxxx HD - ETV - EuroNews HD - Eurosport HD - Eurosport 1 (NEM) - Eurosport 2 HD - Eurosport 4K - EWTN Europe - Exodus TV - Extasy 4K - Extreme HD - Extreme Sports Channel - FashionBox HD - FashionTV Europe - Fast & FunBox HD - Federalna TV - Fen Folk - Fen TV - FightBox HD - FilmBox Arthouse - FilmBox Extra HD - FilmBox Stars - Fox Crime - Fox Life - Fox Movies - Fox - France 2 - France 24 English - France 24 Français - FunBox UHD - Gametoon - Gea TV - Gold TV - Golica TV - Happy - Hayat - Hayat Folk - Hema TV - HGTV - H2 HD - Hot Pleasure HD - Hot XXL HD - HRT 1 - HRT 2 - Hustler TV HD - Hustler TV - JimJam - Jugoton TV - Kabel Eins - Kanal 5 - Kanal A - Kanali 7 - Karusel - K CN 1 - K CN 2 - K CN 3 - Kino - Klasik TV - Koroška TV - Legal HD - Ljubljana TV - M1 - M2 - M5 - Mezzo - Mezzo Live HD - Milf TV HD - Minimax - Mreža TV - MRT 1 - MRT 2 - MTV 00s - MTV 80s - MTV 90s - MTV Global - MTV Hits - MTV Live - Muzika Pervogo - MyZen TV - MyZen TV 4K - Narodna TV - National Geographic Channel HD - National Geographic Wild HD - Naughty HD - Net TV - Net XXL - NHK World Japan - Nickelodeon - Nick Jr - Nova 24 TV - Nova 24 TV 2 - NTV IC Kakanj - OBN - O Kanal - ORF 1 HD - ORF 2 HD - Oron TV - Oto - OTV - OTV Valentino - PeTV - Pink Extra - Pink Film - Pink Folk 1 - Pink Hits - Pink Music - Pink Plus - Pink Reality - Pink SI - Pink World - Pink Zabava - Planet Earth - Planet Eva - Planet TV - Planet TV 2 - Play House HD - Pop TV - Pro 7 - Prva Srpska TV - Rai 1 - Rai 2 - Rai 3 - RED xxx HD - RT - RTK 1 - RTL 2 HR - RTL - RTL Deutschland - RTL KETTŐ - RTL Kockica - RTL Living - RTRS TV - RTS 1 - RTS 2 - RTS Klasika - RTVi Europe - RTV Vikom - Sat. 1 - Scifi Srbija - Servus TV Österreich - Sexation HD - SIP TV - Sitel TV - Sky News - Sport 1 - Sport TV 1 - Sport TV 2 - Sport TV 3 - Stingray Festival 4K - S-TV Skledar - SuperOne HD - Super RTL - T-2 Info - Telecafé - Telma - TLC - Tlnovelas - TNT Comedy - TNT Music - Top TV - Toxic TV - Trace Sport Stars - Trace Urban - Travel Channel - Travelxp HD - Travelxp 4K - Tring Action - Tring Shqip - Tring Tring - Tržič TV - TV1000 - TV 24 - TV 3 - TV 8 - TV Arena - TV AS - TV Celje - TV Centr - TVCG Sat - TV Duga + - TVE - TV Galeja - TV IDEA - TV Jadran - TV Komenda - TV Koper-Capodistria - TV Maribor - TV Miklavž - TVSA - TV Slon Extra - TV Slovenija 1 - TV Slovenija 2 - TV Slovenija 3 - TV Vijesti - Vaš Kanal - Veseljak TV - Viasat Explore HD - Viasat History HD - Viasat Nature HD - Vitel - Vivid Red HD - Vivid TV - Vizion Plus - VOX - Vremya - VTV - vŽIVO.si - Welt - Woman - Z1 - ZDF - Zdrava TV HD - Zdrava Televizija - - - \ No newline at end of file + + + + 24 Kitchen + 360 Tune Box + 3sat + Agro TV + Al Jazeera Balk + Alsat-M + AMC HD + Anixe HD Serie + Arena Esport + Arena Fight + Arena Sport 1 + Arena Sport 2 + Arena Sport 3 + Arena Sport 4 + ARTE Français + ATM TV + B92 + Baby TV + Balkan Erotic HD + Balkanika Music TV + Balkan Trip + BBC Earth HD + BBC First HD + BHT 1 + BK TV + Bliss 4K + BN Music + BN 2 + Boomerang + Boom TV + Brio + CBS Reality + CGTN + Perviy kanal + CineStar TV 1 + CineStar TV Action + CineStar TV Comedy + CineStar TV Fantasy + CineStar TV Premiere 1 + CineStar TV Premiere 2 + Club MTV + CMC TV + CNN + Crime + Investigation UK + Das Erste + Da Vinci + Diva + DM Sat + DocuBox HD + Dom Kino + Dorcel TV XXX HD + Dr. Fit + Duna TV + Duna World + Dusk + E! Europe + Elta 2 + Elta TV + Epic Drama + ePosavje TV + Erox HD + Eroxxx HD + ETV + EuroNews HD + Eurosport HD + Eurosport 1 (NEM) + Eurosport 2 HD + Eurosport 4K + EWTN Europe + Exodus TV + Extasy 4K + Extreme HD + Extreme Sports Channel + FashionBox HD + FashionTV Europe + Fast & FunBox HD + Federalna TV + Fen Folk + Fen TV + FightBox HD + FilmBox Arthouse + FilmBox Extra HD + FilmBox Stars + Fox Crime + Fox Life + Fox Movies + Fox + France 2 + France 24 English + France 24 Français + FunBox UHD + Gametoon + Gea TV + Gold TV + Golica TV + Happy + Hayat + Hayat Folk + Hema TV + HGTV + H2 HD + Hot Pleasure HD + Hot XXL HD + HRT 1 + HRT 2 + Hustler TV HD + Hustler TV + JimJam + Jugoton TV + Kabel Eins + Kanal 5 + Kanal A + Kanali 7 + Karusel + K CN 1 + K CN 2 + K CN 3 + Kino + Klasik TV + Koroška TV + Legal HD + Ljubljana TV + M1 + M2 + M5 + Mezzo + Mezzo Live HD + Milf TV HD + Minimax + Mreža TV + MRT 1 + MRT 2 + MTV 00s + MTV 80s + MTV 90s + MTV Global + MTV Hits + MTV Live + Muzika Pervogo + MyZen TV + MyZen TV 4K + Narodna TV + National Geographic Channel HD + National Geographic Wild HD + Naughty HD + Net TV + Net XXL + NHK World Japan + Nickelodeon + Nick Jr + Nova 24 TV + Nova 24 TV 2 + NTV IC Kakanj + OBN + O Kanal + ORF 1 HD + ORF 2 HD + Oron TV + Oto + OTV + OTV Valentino + PeTV + Pink Extra + Pink Film + Pink Folk 1 + Pink Hits + Pink Music + Pink Plus + Pink Reality + Pink SI + Pink World + Pink Zabava + Planet Earth + Planet Eva + Planet TV + Planet TV 2 + Play House HD + Pop TV + Pro 7 + Prva Srpska TV + Rai 1 + Rai 2 + Rai 3 + RED xxx HD + RT + RTK 1 + RTL 2 HR + RTL + RTL Deutschland + RTL KETTŐ + RTL Kockica + RTL Living + RTRS TV + RTS 1 + RTS 2 + RTS Klasika + RTVi Europe + RTV Vikom + Sat. 1 + Scifi Srbija + Servus TV Österreich + Sexation HD + SIP TV + Sitel TV + Sky News + Sport 1 + Sport TV 1 + Sport TV 2 + Sport TV 3 + Stingray Festival 4K + S-TV Skledar + SuperOne HD + Super RTL + T-2 Info + Telecafé + Telma + TLC + Tlnovelas + TNT Comedy + TNT Music + Top TV + Toxic TV + Trace Sport Stars + Trace Urban + Travel Channel + Travelxp HD + Travelxp 4K + Tring Action + Tring Shqip + Tring Tring + Tržič TV + TV1000 + TV 24 + TV 3 + TV 8 + TV Arena + TV AS + TV Celje + TV Centr + TVCG Sat + TV Duga + + TVE + TV Galeja + TV IDEA + TV Jadran + TV Komenda + TV Koper-Capodistria + TV Maribor + TV Miklavž + TVSA + TV Slovenija 1 + TV Slovenija 2 + TV Slovenija 3 + TV Slon Extra + TV Vijesti + Vaš Kanal + Veseljak TV + Viasat Explore HD + Viasat History HD + Viasat Nature HD + Vitel + Vivid Red HD + Vivid TV + Vizion Plus + VOX + Vremya + VTV + vŽIVO.si + Welt + Woman + Z1 + ZDF + Zdrava TV HD + Zdrava Televizija + \ No newline at end of file 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 8a0940b7..2d69860d 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 @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/tv2go.t-2.net/tv2go.t-2.net.config.js --output=./sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml -// npx epg-grabber --config=sites/tv2go.t-2.net/tv2go.t-2.net.config.js --channels=sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/tv2go.t-2.net/tv2go.t-2.net.config.js --output=./sites/tv2go.t-2.net/tv2go.t-2.net.channels.xml +// npm run grab -- --site=tv2go.t-2.net const { parser, url, request } = require('./tv2go.t-2.net.config.js') const dayjs = require('dayjs') @@ -39,7 +39,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `{"entries":[{"channelId":1000259,"startTimestamp":"1637283000000","endTimestamp":"1637284500000","name":"Dnevnik Slovencev v Italiji","nameSingleLine":"Dnevnik Slovencev v Italiji","description":"Informativni","images":[{"url":"/static/media/img/epg/max_crop/EPG_IMG_2927405.jpg","width":1008,"height":720,"averageColor":[143,147,161]}],"show":{"id":51991133,"title":"Dnevnik Slovencev v Italiji","originalTitle":"Dnevnik Slovencev v Italiji","shortDescription":"Dnevnik Slovencev v Italiji je informativna oddaja, v kateri novinarji poročajo predvsem o dnevnih dogodkih med Slovenci v Italiji.","longDescription":"Pomembno ogledalo vsakdana, v katerem opozarjajo na težave, s katerimi se soočajo, predstavljajo pa tudi pestro kulturno, športno in družbeno življenje slovenske narodne skupnosti. V oddajo so vključene tudi novice iz matične domovine.","type":{"id":10,"name":"Show"},"productionFrom":"1609502400000","countries":[{"id":"SI","name":"Slovenija"}],"languages":[{"languageId":2,"name":"Slovenščina"}],"genres":[{"id":1000002,"name":"Informativni"}]}}]}` + const content = + '{"entries":[{"channelId":1000259,"startTimestamp":"1637283000000","endTimestamp":"1637284500000","name":"Dnevnik Slovencev v Italiji","nameSingleLine":"Dnevnik Slovencev v Italiji","description":"Informativni","images":[{"url":"/static/media/img/epg/max_crop/EPG_IMG_2927405.jpg","width":1008,"height":720,"averageColor":[143,147,161]}],"show":{"id":51991133,"title":"Dnevnik Slovencev v Italiji","originalTitle":"Dnevnik Slovencev v Italiji","shortDescription":"Dnevnik Slovencev v Italiji je informativna oddaja, v kateri novinarji poročajo predvsem o dnevnih dogodkih med Slovenci v Italiji.","longDescription":"Pomembno ogledalo vsakdana, v katerem opozarjajo na težave, s katerimi se soočajo, predstavljajo pa tudi pestro kulturno, športno in družbeno življenje slovenske narodne skupnosti. V oddajo so vključene tudi novice iz matične domovine.","type":{"id":10,"name":"Show"},"productionFrom":"1609502400000","countries":[{"id":"SI","name":"Slovenija"}],"languages":[{"languageId":2,"name":"Slovenščina"}],"genres":[{"id":1000002,"name":"Informativni"}]}}]}' const result = parser({ content, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -50,9 +51,10 @@ it('can parse response', () => { { start: '2021-11-19T00:50:00.000Z', stop: '2021-11-19T01:15:00.000Z', - title: `Dnevnik Slovencev v Italiji`, + title: 'Dnevnik Slovencev v Italiji', category: ['Informativni'], - description: `Dnevnik Slovencev v Italiji je informativna oddaja, v kateri novinarji poročajo predvsem o dnevnih dogodkih med Slovenci v Italiji.`, + 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' } ]) @@ -62,7 +64,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `Invalid API client identifier` + content: 'Invalid API client identifier' }) expect(result).toMatchObject([]) }) diff --git a/sites/tva.tv/tva.tv.channels.xml b/sites/tva.tv/tva.tv.channels.xml index ab0b4107..62440b20 100644 --- a/sites/tva.tv/tva.tv.channels.xml +++ b/sites/tva.tv/tva.tv.channels.xml @@ -1,33 +1,31 @@ - - - Doc TV - Hamedan TV - IRIB 1 - IRIB 2 - IRIB 3 - IRIB 4 - IRIB 5 - IRINN - Irkala TV - Jame-Jam TV Network 1 - Khorasan Razavi TV - Namayesh TV - Nasim - Omid TV - Salaam TV - Sepehr - Taban TV - TVA 1 - TVA 2 - TVA Avand - TVA Bourse - TVA Film - TVA Kids - TVA Mahfel - TVA Nava - TVA Sport - TVA Sport 2 - Velayat TV Network - - \ No newline at end of file + + Doc TV + Hamedan TV + IRIB 1 + IRIB 2 + IRIB 3 + IRIB 4 + IRIB 5 + Omid TV + IRINN + Irkala TV + Jame-Jam TV Network 1 + Khorasan Razavi TV + Namayesh TV + Nasim + Salaam TV + Sepehr + Taban TV + TVA 1 + TVA 2 + TVA Avand + TVA Bourse + TVA Film + TVA Kids + TVA Mahfel + TVA Nava + TVA Sport + TVA Sport 2 + Velayat TV Network + \ No newline at end of file diff --git a/sites/tva.tv/tva.tv.config.js b/sites/tva.tv/tva.tv.config.js index 3c101ed5..f2a6a670 100644 --- a/sites/tva.tv/tva.tv.config.js +++ b/sites/tva.tv/tva.tv.config.js @@ -3,14 +3,13 @@ const dayjs = require('dayjs') module.exports = { site: 'tva.tv', - skip: true, // NOTE: the server is not responsible for the given time (https://github.com/iptv-org/epg/actions/workflows/tva.tv.yml) days: 2, url: function ({ date, channel }) { return `https://api.ott.tva.tv/v2/epg/program_events.json?channel_id=${ channel.site_id }&pivot_date=${date.format('YYYY-MM-DD')}` }, - parser: function ({ content, date, channel }) { + parser: function ({ content }) { const programs = [] const items = parseItems(content) items.forEach(item => { @@ -24,10 +23,10 @@ module.exports = { return programs }, - async channels({ country, lang }) { + async channels() { const data = await axios .get( - `https://api.ott.tva.tv/v1/channels?client_id=66797942-ff54-46cb-a109-3bae7c855370&client_version=0.0.1&expand%5Bchannel%5D=images&locale=en-GB&page%5Blimit%5D=100&page%5Boffset%5D=0&timezone=10800`, + 'https://api.ott.tva.tv/v1/channels?client_id=66797942-ff54-46cb-a109-3bae7c855370&client_version=0.0.1&expand%5Bchannel%5D=images&locale=en-GB&page%5Blimit%5D=100&page%5Boffset%5D=0&timezone=10800', { headers: { Origin: 'https://tva.tv' diff --git a/sites/tva.tv/tva.tv.test.js b/sites/tva.tv/tva.tv.test.js index 3552b412..bd9504f1 100644 --- a/sites/tva.tv/tva.tv.test.js +++ b/sites/tva.tv/tva.tv.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/tva.tv/tva.tv.config.js --output=./sites/tva.tv/tva.tv.channels.xml -// npx epg-grabber --config=sites/tva.tv/tva.tv.config.js --channels=sites/tva.tv/tva.tv.channels.xml --output=guide.xml --timeout=30000 --days=2 +// npm run channels:parse -- --config=./sites/tva.tv/tva.tv.config.js --output=./sites/tva.tv/tva.tv.channels.xml +// npm run grab -- --site=tva.tv const { parser, url } = require('./tva.tv.config.js') const dayjs = require('dayjs') @@ -13,7 +13,8 @@ const channel = { site_id: '6fcc0a2e-1135-482c-b054-08a96e68b758', xmltv_id: 'IRIB2.ir' } -const content = `{"data":[{"id":"c0667229-eaf8-472f-8ba7-ad4417348baf","start_at":"2021-11-24T00:20:39.000Z","end_at":"2021-11-24T00:32:11.000Z","description":"تلفن های شبکه 5 سیما: تلفن: 23511000 -تلفن گویا:2786500 نمابر:23511289","name":"میان برنامه","subtitle":"","season_number":null,"episode_number":null,"channel_id":"6fcc0a2e-1135-482c-b054-08a96e68b758","program_id":"e495c06e-80de-46ee-9120-619631f554d9","competition_id":null,"object":"program_event","cast_members":[],"genres":[],"images":[],"program_type":null,"certification_ratings":[]}]}` +const content = + '{"data":[{"id":"c0667229-eaf8-472f-8ba7-ad4417348baf","start_at":"2021-11-24T00:20:39.000Z","end_at":"2021-11-24T00:32:11.000Z","description":"تلفن های شبکه 5 سیما: تلفن: 23511000 -تلفن گویا:2786500 نمابر:23511289","name":"میان برنامه","subtitle":"","season_number":null,"episode_number":null,"channel_id":"6fcc0a2e-1135-482c-b054-08a96e68b758","program_id":"e495c06e-80de-46ee-9120-619631f554d9","competition_id":null,"object":"program_event","cast_members":[],"genres":[],"images":[],"program_type":null,"certification_ratings":[]}]}' it('can generate valid url', () => { expect(url({ channel, date })).toBe( @@ -32,7 +33,7 @@ it('can parse response', () => { { start: '2021-11-24T00:20:39.000Z', stop: '2021-11-24T00:32:11.000Z', - title: `میان برنامه`, + title: 'میان برنامه', description: 'تلفن های شبکه 5 سیما: تلفن: 23511000 -تلفن گویا:2786500 نمابر:23511289' } ]) @@ -42,7 +43,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"errors":[{"id":"ebbebfb7-ffb0-4e0b-bcfb-1d9cd3e6c03c","code":"not_found","links":{"about":{"href":"https://app.bugsnag.com/jeytv/API/errors?filters[event.since][]=30d&filters[user.name][]=ebbebfb7-ffb0-4e0b-bcfb-1d9cd3e6c03c"}},"title":"Requested resource was not found","fallback_message":null,"object":"error"}],"meta":{"status":404}}` + content: + '{"errors":[{"id":"ebbebfb7-ffb0-4e0b-bcfb-1d9cd3e6c03c","code":"not_found","links":{"about":{"href":"https://app.bugsnag.com/jeytv/API/errors?filters[event.since][]=30d&filters[user.name][]=ebbebfb7-ffb0-4e0b-bcfb-1d9cd3e6c03c"}},"title":"Requested resource was not found","fallback_message":null,"object":"error"}],"meta":{"status":404}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvarenasport.com/tvarenasport.com.channels.xml b/sites/tvarenasport.com/tvarenasport.com.channels.xml index a5e8e5ee..c5ec42fc 100644 --- a/sites/tvarenasport.com/tvarenasport.com.channels.xml +++ b/sites/tvarenasport.com/tvarenasport.com.channels.xml @@ -1,17 +1,15 @@ - - - Arena Sport Premium 1 Serbia - Arena Sport Premium 2 Serbia - Arena Sport Premium 3 Serbia - Arena Sport 1 Serbia - Arena Sport 2 Serbia - Arena Sport 3 Serbia - Arena Sport 4 Serbia - Arena Sport 5 Serbia - Arena Sport 6 Serbia - Arena Sport 7 Serbia - Arena Sport 8 Serbia - Arena Sport 1x2 Serbia - - + + Arena Sport Premium 1 Serbia + Arena Sport 1 Serbia + Arena Sport 1x2 Serbia + Arena Sport Premium 2 Serbia + Arena Sport 2 Serbia + Arena Sport Premium 3 Serbia + Arena Sport 3 Serbia + Arena Sport 4 Serbia + Arena Sport 5 Serbia + Arena Sport 6 Serbia + Arena Sport 7 Serbia + Arena Sport 8 Serbia + diff --git a/sites/tvarenasport.com/tvarenasport.com.config.js b/sites/tvarenasport.com/tvarenasport.com.config.js index afc71981..53d91cf1 100644 --- a/sites/tvarenasport.com/tvarenasport.com.config.js +++ b/sites/tvarenasport.com/tvarenasport.com.config.js @@ -4,7 +4,7 @@ const dayjs = require('dayjs') module.exports = { site: 'tvarenasport.com', days: 2, - url: function ({ channel, date }) { + url: function ({ date }) { return `https://www.tvarenasport.com/api/schedule?date=${date.format('DD-MM-YYYY')}` }, parser: function ({ content, channel }) { @@ -24,7 +24,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.tvarenasport.com/api/schedule`) + .get('https://www.tvarenasport.com/api/schedule') .then(r => r.data) .catch(console.log) diff --git a/sites/tvarenasport.com/tvarenasport.com.test.js b/sites/tvarenasport.com/tvarenasport.com.test.js index 29f96a30..9460a3a6 100644 --- a/sites/tvarenasport.com/tvarenasport.com.test.js +++ b/sites/tvarenasport.com/tvarenasport.com.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/tvarenasport.com/tvarenasport.com.config.js --output=./sites/tvarenasport.com/tvarenasport.com.channels.xml --set=country:rs -// npx epg-grabber --config=sites/tvarenasport.com/tvarenasport.com.config.js --channels=sites/tvarenasport.com/tvarenasport.com.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/tvarenasport.com/tvarenasport.com.config.js --output=./sites/tvarenasport.com/tvarenasport.com.channels.xml --set=country:rs +// npm run grab -- --site=tvarenasport.com const { parser, url } = require('./tvarenasport.com.config.js') const dayjs = require('dayjs') @@ -19,7 +19,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"items":[{"id":2857,"title":"Crvena zvezda mts - Partizan NIS","start":"2021-11-16T23:30:00Z","end":"2021-11-17T01:30:00Z","sport":"ABA LIGA","league":"Ko\u0161arka","group":"380","isLive":false,"doNotMiss":false,"domain":"srb"},{"id":3155,"title":"Sao Paulo - Flamengo","start":"2021-11-17T00:00:00Z","end":"2021-11-17T02:00:00Z","sport":"BRAZILSKA LIGA","league":"Fudbal","group":"381","isLive":false,"doNotMiss":false,"domain":"srb"}]}` + const content = + '{"items":[{"id":2857,"title":"Crvena zvezda mts - Partizan NIS","start":"2021-11-16T23:30:00Z","end":"2021-11-17T01:30:00Z","sport":"ABA LIGA","league":"Ko\u0161arka","group":"380","isLive":false,"doNotMiss":false,"domain":"srb"},{"id":3155,"title":"Sao Paulo - Flamengo","start":"2021-11-17T00:00:00Z","end":"2021-11-17T02:00:00Z","sport":"BRAZILSKA LIGA","league":"Fudbal","group":"381","isLive":false,"doNotMiss":false,"domain":"srb"}]}' const result = parser({ channel, content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -41,7 +42,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"channels":[]}` + content: '{"channels":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvarenasport.hr/tvarenasport.hr.channels.xml b/sites/tvarenasport.hr/tvarenasport.hr.channels.xml index 8c833c0d..204c7acb 100644 --- a/sites/tvarenasport.hr/tvarenasport.hr.channels.xml +++ b/sites/tvarenasport.hr/tvarenasport.hr.channels.xml @@ -1,15 +1,13 @@ - - - Arena Sport 1 Hrvatska - Arena Sport 2 Hrvatska - Arena Sport 3 Hrvatska - Arena Sport 4 Hrvatska - Arena Sport 5 Hrvatska - Arena Sport 6 Hrvatska - Arena Sport 7 Hrvatska - Arena Sport 8 Hrvatska - Arena Sport 9 Hrvatska - Arena Sport 10 Hrvatska - - + + Arena Sport 10 Hrvatska + Arena Sport 1 Hrvatska + Arena Sport 2 Hrvatska + Arena Sport 3 Hrvatska + Arena Sport 4 Hrvatska + Arena Sport 5 Hrvatska + Arena Sport 6 Hrvatska + Arena Sport 7 Hrvatska + Arena Sport 8 Hrvatska + Arena Sport 9 Hrvatska + diff --git a/sites/tvarenasport.hr/tvarenasport.hr.config.js b/sites/tvarenasport.hr/tvarenasport.hr.config.js index 464cde62..518d97c4 100644 --- a/sites/tvarenasport.hr/tvarenasport.hr.config.js +++ b/sites/tvarenasport.hr/tvarenasport.hr.config.js @@ -4,8 +4,7 @@ const dayjs = require('dayjs') module.exports = { site: 'tvarenasport.hr', days: 2, - skip: true, // there is no current program on the website - url: function ({ channel, date }) { + url: function ({ date }) { return `https://www.tvarenasport.hr/api/schedule?date=${date.format('DD-MM-YYYY')}` }, parser: function ({ content, channel }) { @@ -23,9 +22,9 @@ module.exports = { return programs }, - async channels({ country, lang }) { + async channels() { const data = await axios - .get(`https://www.tvarenasport.hr/api/schedule`) + .get('https://www.tvarenasport.hr/api/schedule') .then(r => r.data) .catch(console.log) diff --git a/sites/tvarenasport.hr/tvarenasport.hr.test.js b/sites/tvarenasport.hr/tvarenasport.hr.test.js index 0d55103d..30cf22e2 100644 --- a/sites/tvarenasport.hr/tvarenasport.hr.test.js +++ b/sites/tvarenasport.hr/tvarenasport.hr.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/tvarenasport.hr/tvarenasport.hr.config.js --output=./sites/tvarenasport.hr/tvarenasport.hr.channels.xml -// npx epg-grabber --config=sites/tvarenasport.hr/tvarenasport.hr.config.js --channels=sites/tvarenasport.hr/tvarenasport.hr.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/tvarenasport.hr/tvarenasport.hr.config.js --output=./sites/tvarenasport.hr/tvarenasport.hr.channels.xml +// npm run grab -- --site=tvarenasport.hr const { parser, url } = require('./tvarenasport.hr.config.js') const dayjs = require('dayjs') @@ -19,7 +19,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"items":[{"id":6104,"title":"NAJAVA PROGRAMA","start":"2021-11-16T23:00:00Z","end":"2021-11-17T23:00:00Z","sport":"Najava programa","league":"NAJAVA PROGRAMA","group":"1294","isLive":false,"doNotMiss":false,"domain":"cro"},{"id":6000,"title":" DIJON - UNICAJA","start":"2021-11-16T23:30:00Z","end":"2021-11-17T01:00:00Z","sport":"Košarka","league":" LIGA PRVAKA","group":"380","isLive":false,"doNotMiss":false,"domain":"cro"}]}` + const content = + '{"items":[{"id":6104,"title":"NAJAVA PROGRAMA","start":"2021-11-16T23:00:00Z","end":"2021-11-17T23:00:00Z","sport":"Najava programa","league":"NAJAVA PROGRAMA","group":"1294","isLive":false,"doNotMiss":false,"domain":"cro"},{"id":6000,"title":" DIJON - UNICAJA","start":"2021-11-16T23:30:00Z","end":"2021-11-17T01:00:00Z","sport":"Košarka","league":" LIGA PRVAKA","group":"380","isLive":false,"doNotMiss":false,"domain":"cro"}]}' const result = parser({ channel, content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -41,7 +42,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"channels":[]}` + content: '{"channels":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.channels.xml b/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.channels.xml index 19ba5569..853b443e 100644 --- a/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.channels.xml +++ b/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.channels.xml @@ -1,15 +1,13 @@ - - - Cubavisión Nacional - Tele Rebelde - Canal Educativo - Canal Educativo 2 - Canal Multivisión - Canal Clave - Canal Caribe - Cubavisión Internacional - Canal Habana - Cubavisión Plus - - \ No newline at end of file + + Canal Caribe + Canal Clave + Canal Educativo + Canal Educativo 2 + Canal Habana + Canal Multivisión + Cubavisión Internacional + Cubavisión Nacional + Cubavisión Plus + Tele Rebelde + \ No newline at end of file diff --git a/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.config.js b/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.config.js index a420c5ca..8aecfdfd 100644 --- a/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.config.js +++ b/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.config.js @@ -35,11 +35,13 @@ function parseStop(item) { return dayjs.tz(item.eventEndDateTime, 'America/Havana') } -function parseItems(content, channel) { +function parseItems(content) { let data try { data = JSON.parse(content) - } catch (e) {} + } catch (error) { + return [] + } if (!data || !Array.isArray(data)) return [] return data diff --git a/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.test.js b/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.test.js index dbb015d6..d04759db 100644 --- a/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.test.js +++ b/sites/tvcubana.icrt.cu/tvcubana.icrt.cu.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/tvcubana.icrt.cu/tvcubana.icrt.cu.config.js --channels=sites/tvcubana.icrt.cu/tvcubana.icrt.cu.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvcubana.icrt.cu -const { parser, url, request } = require('./tvcubana.icrt.cu.config.js') +const { parser, url } = require('./tvcubana.icrt.cu.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -12,7 +12,8 @@ const channel = { site_id: 'cv', xmltv_id: 'CubavisionNacional.cu' } -const content = `[{"eventId":"6169c2300ad38b0a8d9e3760","title":"CARIBE NOTICIAS","description":"EMISI\\u00d3N DE CIERRE.","eventInitialDate":"2021-11-22T00:00:00","eventEndDate":"2021-11-22T00:00:00","idFromEprog":"5c096ea5bad1b202541503cf","extendedDescription":"","transmission":"Estreno","pid":"","space":"CARIBE NOTICIAS","eventStartTime":{"value":{"ticks":24000000000,"days":0,"hours":0,"milliseconds":0,"minutes":40,"seconds":0,"totalDays":0.027777777777777776,"totalHours":0.6666666666666666,"totalMilliseconds":2400000,"totalMinutes":40,"totalSeconds":2400},"hasValue":true},"eventEndTime":{"value":{"ticks":30000000000,"days":0,"hours":0,"milliseconds":0,"minutes":50,"seconds":0,"totalDays":0.034722222222222224,"totalHours":0.8333333333333334,"totalMilliseconds":3000000,"totalMinutes":50,"totalSeconds":3000},"hasValue":true},"eventDuration":"00:10:00","channelName":"Cubavisi\\u00f3n","eventInitialDateTime":"2021-11-22T00:40:00","eventEndDateTime":"2021-11-22T00:50:00","isEventWithNegativeDuration":false,"isEventWithDurationOver24Hrs":false,"isEventWithTextOverLength":false,"created":"2021-11-22T10:32:27.476824","id":5309687}]` +const content = + '[{"eventId":"6169c2300ad38b0a8d9e3760","title":"CARIBE NOTICIAS","description":"EMISI\\u00d3N DE CIERRE.","eventInitialDate":"2021-11-22T00:00:00","eventEndDate":"2021-11-22T00:00:00","idFromEprog":"5c096ea5bad1b202541503cf","extendedDescription":"","transmission":"Estreno","pid":"","space":"CARIBE NOTICIAS","eventStartTime":{"value":{"ticks":24000000000,"days":0,"hours":0,"milliseconds":0,"minutes":40,"seconds":0,"totalDays":0.027777777777777776,"totalHours":0.6666666666666666,"totalMilliseconds":2400000,"totalMinutes":40,"totalSeconds":2400},"hasValue":true},"eventEndTime":{"value":{"ticks":30000000000,"days":0,"hours":0,"milliseconds":0,"minutes":50,"seconds":0,"totalDays":0.034722222222222224,"totalHours":0.8333333333333334,"totalMilliseconds":3000000,"totalMinutes":50,"totalSeconds":3000},"hasValue":true},"eventDuration":"00:10:00","channelName":"Cubavisi\\u00f3n","eventInitialDateTime":"2021-11-22T00:40:00","eventEndDateTime":"2021-11-22T00:50:00","isEventWithNegativeDuration":false,"isEventWithDurationOver24Hrs":false,"isEventWithTextOverLength":false,"created":"2021-11-22T10:32:27.476824","id":5309687}]' it('can generate valid url', () => { expect(url({ channel, date })).toBe('https://www.tvcubana.icrt.cu/cartv/cv/lunes.php') @@ -35,7 +36,7 @@ it('can parse response', () => { start: '2021-11-22T05:40:00.000Z', stop: '2021-11-22T05:50:00.000Z', title: 'CARIBE NOTICIAS', - description: `EMISIÓN DE CIERRE.` + description: 'EMISIÓN DE CIERRE.' } ]) }) @@ -44,7 +45,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: + '' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvgids.nl/tvgids.nl.channels.xml b/sites/tvgids.nl/tvgids.nl.channels.xml index 97d72441..287400fa 100644 --- a/sites/tvgids.nl/tvgids.nl.channels.xml +++ b/sites/tvgids.nl/tvgids.nl.channels.xml @@ -1,122 +1,120 @@ - - - 24Kitchen - 3Sat - Al Jazeera Engels - Animal Planet - ARTE - AT5 - BBC Entertainment - BBC First - BBC World - Beleef KPN - Boomerang - BVN - Canvas - Cartoon Network - CBS Reality - CNBC - CNN - Comedy Central Extra - Comedy Central - Crime + Investigation - Discovery - Disney Channel - Disney XD - Eén - ESPN 2 - ESPN 3 - ESPN 4 - ESPN - Eurosport 1 - Eurosport 2 - Extreme Sports Channel - Film1 Action - Film1 Drama - Film1 Family - Film 1 Premiere - Filmbox.nl - Fox - HISTORY - INPLUS - Investigation Discovery - VRT Ketnet - L1 TV - RTBF La 1 - Love Nature - Mezzo - MTV - National Geographic - Nat Geo Wild - NDR Fernsehen - NET 5 - NH - Nickelodeon - Nick Jr. - NPO 1 - NPO 1 extra - NPO 2 - NPO 2 extra - NPO 3 - NPO Politiek - Omroep Brabant - Omroep Flevoland - Omroep Gelderland - Omroep Zeeland - Omrop Fryslân - Ons - OUTtv - Pebble TV - Play4 - PRO 7 - Rai Uno - RTL 4 - RTL 5 - RTL 7 - RTL 8 - Rtl crime - RTL Lounge - RTL Telekids - RTL Z - RTV Drenthe - RTV Oost - RTV Rijnmond - RTV Utrecht - SBS 6 - SBS 9 - ShortsTV - Stingray Classica - RTBF La 2 - TLC - TRT World - TV 538 - TV5MONDE - TV E - TV Noord - Oranje TV - RTV West - Veronica - Veronica/Disney XD - XITE - ZDF - Ziggo Sport - Ziggo Sport Docu - Ziggo Sport Golf - Ziggo Sport Racing - Ziggo Sport Select - Ziggo Sport Tennis - Ziggo Sport Voetbal - - - - - - - - - - - - - + + + + + + + + + + + + + 24Kitchen + 3Sat + Al Jazeera Engels + Animal Planet + ARTE + AT5 + BBC Entertainment + BBC First + BBC World + Beleef KPN + Boomerang + BVN + Canvas + Cartoon Network + CBS Reality + CNBC + CNN + Comedy Central Extra + Comedy Central + Crime + Investigation + Discovery + Disney Channel + Disney XD + Eén + ESPN 2 + ESPN 3 + ESPN 4 + ESPN + Eurosport 1 + Eurosport 2 + Extreme Sports Channel + Film1 Action + Film1 Drama + Film1 Family + Film 1 Premiere + Filmbox.nl + Fox + HISTORY + INPLUS + Investigation Discovery + VRT Ketnet + L1 TV + RTBF La 1 + Love Nature + Mezzo + MTV + National Geographic + Nat Geo Wild + NDR Fernsehen + NET 5 + NH + Nickelodeon + Nick Jr. + NPO 1 + NPO 1 extra + NPO 2 + NPO 2 extra + NPO 3 + NPO Politiek + Omroep Brabant + Omroep Flevoland + Omroep Gelderland + Omroep Zeeland + Omrop Fryslân + Ons + OUTtv + Pebble TV + Play4 + PRO 7 + Rai Uno + RTL 4 + RTL 5 + RTL 7 + RTL 8 + Rtl crime + RTL Lounge + RTL Telekids + RTL Z + RTV Drenthe + RTV Oost + RTV Rijnmond + RTV Utrecht + SBS 6 + SBS 9 + ShortsTV + Stingray Classica + RTBF La 2 + TLC + TRT World + TV 538 + TV5MONDE + TV E + TV Noord + Oranje TV + RTV West + Veronica + Veronica/Disney XD + XITE + ZDF + Ziggo Sport + Ziggo Sport Docu + Ziggo Sport Golf + Ziggo Sport Racing + Ziggo Sport Select + Ziggo Sport Tennis + Ziggo Sport Voetbal + diff --git a/sites/tvgids.nl/tvgids.nl.config.js b/sites/tvgids.nl/tvgids.nl.config.js index 2ebb1726..8c2e13f4 100644 --- a/sites/tvgids.nl/tvgids.nl.config.js +++ b/sites/tvgids.nl/tvgids.nl.config.js @@ -42,7 +42,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.tvgids.nl/gids/`) + .get('https://www.tvgids.nl/gids/') .then(r => r.data) .catch(console.log) const $ = cheerio.load(data) diff --git a/sites/tvgids.nl/tvgids.nl.test.js b/sites/tvgids.nl/tvgids.nl.test.js index 64aa394f..d30af52b 100644 --- a/sites/tvgids.nl/tvgids.nl.test.js +++ b/sites/tvgids.nl/tvgids.nl.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tvgids.nl/tvgids.nl.config.js --output=./sites/tvgids.nl/tvgids.nl.channels.xml -// npx epg-grabber --config=sites/tvgids.nl/tvgids.nl.config.js --channels=sites/tvgids.nl/tvgids.nl.channels.xml --output=guide.xml +// npm run grab -- --site=tvgids.nl const { parser, url } = require('./tvgids.nl.config.js') const fs = require('fs') @@ -54,7 +54,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: ``, + content: '', date }) expect(result).toMatchObject([]) diff --git a/sites/tvguide.com/tvguide.com.channels.xml b/sites/tvguide.com/tvguide.com.channels.xml index a5838cc5..843c0111 100644 --- a/sites/tvguide.com/tvguide.com.channels.xml +++ b/sites/tvguide.com/tvguide.com.channels.xml @@ -1,90 +1,88 @@ - - - A&E East - AMC East - Animal Planet East - BBC America East - BET East - Bravo East - Cartoon Network East - CBS East - Cinemax East - CMT East - CNBC US - CNN USA - Comedy Central East - Discovery Channel East - Discovery Life Channel - Disney Channel East - Disney XD East - DIY Network USA - E! East - ESPN - ESPN 2 US - ESPN Classic USA - ESPNU - FanDuel TV - Flix East - Food Network East - Fox East - Fox News Channel - Fox Sports 1 - Freeform East - Fuse East - FX East - FX Movie Channel - FXX East - FYI East - Game Show Network East - Golf Channel US - Hallmark Channel East - HBO 2 East - HBO East - HBO Signature East - HGTV East - History East - IFC East - Investigation Discovery East - ION TV East - Lifetime East - Lifetime Movies East - Lifetime Real Women - MoreMax East - MSNBC - MTV East - National Geographic East - NBC East - NBCSN - NewsNation East - Nickelodeon East - Oprah Winfrey Network East - Oxygen East - Paramount Network East - PBS East - Pop East - QVC US - Reelz - Science - Showtime 2 East - Showtime East - Smithsonian Channel East - Starz East - Starz Encore East - Sundance TV East - Syfy East - TBS East - TCM US - Telemundo Este - The CW East - The Movie Channel East - TLC East - TNT East - truTV East - TV Land East - Univisión Este - USA Network East - VH1 East - We TV East - - + + A&E East + AMC East + Animal Planet East + BBC America East + BET East + Bravo East + Cartoon Network East + CBS East + Cinemax East + CMT East + CNBC US + CNN USA + Comedy Central East + Discovery Channel East + Discovery Life Channel + Disney Channel East + Disney XD East + DIY Network USA + E! East + ESPN + ESPN 2 US + ESPN Classic USA + ESPNU + FanDuel TV + Flix East + Food Network East + Fox East + Fox News Channel + Fox Sports 1 + Freeform East + Fuse East + FX East + FX Movie Channel + FXX East + FYI East + Game Show Network East + Golf Channel US + Hallmark Channel East + HBO 2 East + HBO East + HBO Signature East + HGTV East + History East + IFC East + Investigation Discovery East + ION TV East + Lifetime East + Lifetime Movies East + Lifetime Real Women + MoreMax East + MSNBC + MTV East + National Geographic East + NBC East + NBCSN + NewsNation East + Nickelodeon East + Oprah Winfrey Network East + Oxygen East + Paramount Network East + PBS East + Pop East + QVC US + Reelz + Science + Showtime 2 East + Showtime East + Smithsonian Channel East + Starz East + Starz Encore East + Sundance TV East + Syfy East + TBS East + TCM US + Telemundo Este + The CW East + The Movie Channel East + TLC East + TNT East + truTV East + TV Land East + Univisión Este + USA Network East + VH1 East + We TV East + diff --git a/sites/tvguide.com/tvguide.com.config.js b/sites/tvguide.com/tvguide.com.config.js index d1a3d301..c9a1f8e7 100644 --- a/sites/tvguide.com/tvguide.com.config.js +++ b/sites/tvguide.com/tvguide.com.config.js @@ -17,7 +17,7 @@ module.exports = { return url }, - async parser({ content, channel }) { + async parser({ content }) { const programs = [] const items = parseItems(content) for (let item of items) { diff --git a/sites/tvguide.com/tvguide.com.test.js b/sites/tvguide.com/tvguide.com.test.js index fc7911fb..3010d454 100644 --- a/sites/tvguide.com/tvguide.com.test.js +++ b/sites/tvguide.com/tvguide.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvguide.com/tvguide.com.config.js --channels=sites/tvguide.com/tvguide.com.channels.xml --output=guide.xml +// npm run grab -- --site=tvguide.com const { parser, url } = require('./tvguide.com.config.js') const fs = require('fs') diff --git a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml index f6e6a99d..80193e14 100644 --- a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml +++ b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml @@ -1,139 +1,137 @@ - - - Animal Planet Japan - Animax Japan - Asia Dramatic TV - AT-X - AXN Japan - AXN Mystery - BBC World News Asia Pacific - BS 11 - BS 12 - BS Asahi - BS Asahi 4K - BS Fuji - BS Fuji 4K - BS Nippon TV - BS Nippon TV 4K - BS松竹東急/BS Shochiku Tokyu - BS-TBS - BS-TBS 4K - BS TV Tokyo - BS TV Tokyo 4K - BSよしもと/BS Yoshimoto - Cable 4K - Cartoon Network Japan - CCTV Daifu - Channel Ginga - Channel Neco - CNN USA - CNN J - Dance Channel - Discovery Channel Japan - Disney Channel Japan - ディズニージュニア - Eisei Gekijo - Entermei Tele - Family Gekijyo - Fighting TV Samurai! - Fishing Vision - Fox Japan - Fuji TV Next - Fuji TV One - Fuji TV Two - Gaora Sports - Golf Network - Green Channel - Green Channel 2 - GSTV - The History Channel Japan - Home Drama Channel - Igo Shogi Channel - J:COM Higashi Kanto - J:COM Premier Channel - J:COM TV - Jidaigeki Senmon Channel - Japan Leisure Channel - Nippon TV - ABCテレビ/Asahi Broadcasting Kansai - テレビ大阪/TV Osaka - KBS京都/Kyoto Broadcasting System - Fuji TV (JOCX-DTV) - カンテレ/Kansai TV - TV Asahi - 読売テレビ/Yomiuri TV - TV Kanagawa - Tokyo MX (JOMX-DTV) - MBS毎日放送/Mainichi Broadcasting Osaka - TBS (JORX-DTV) - TV Tokyo (JOTX-DTV) - サンテレビジョン/Sun Television - TV Saitama - J Sports 1 - J Sports 2 - J Sports 3 - J Sports 4 - Kayo Pops - KBS World Japan - Kids Station - KNTV - LaLa TV - Midnight Blue - Mnet Japan - Mondo TV - Movie Plus - MTV Japan - Music Air - Music On! TV - National Geographic Japan - NHK BS 1 - NHK BS 4K - NHK BS Premium - NHK Educational TV - NHK General TV - NHK World Japan - Nihon Eiga Senmon Channel - Nihon Jidai 4K - Nikkei CNBC - Nittele G+ - Nittele Plus - NTV News 24 - Pachinko Pachislo TV - Paradise TV - Playboy Channel Japan - PPV Choice 940 - PPV Choice 941 - QVC Japan - Red Cherry - Shop Channel - Sky A - Space Shower TV - Space Shower TV Plus - Speed Channel 1 - Sports Live + - Star 1 - Star 2 - Star 3 - Star BS10 - Super! Drama TV - Tabi Channel - Takarazuka Sky Stage - TBS Channel 1 - TBS Channel 2 - TBS News - The Cinema - The Cinema 4K - Toei Channel - TV5Monde Pacifique - TV Asahi Channel 1 - TV Asahi Channel 2 - V Paradise - Wowow 4K - Wowow Cinema - Wowow Live - Wowow Plus - Wowow Prime - Yose Channel - - + + Animal Planet Japan + Animax Japan + Asia Dramatic TV + AT-X + AXN Japan + AXN Mystery + BBC World News Asia Pacific + BS 11 + BS 12 + BS Asahi + BS Asahi 4K + BS Fuji + BS Fuji 4K + BS Nippon TV + BS Nippon TV 4K + BS松竹東急/BS Shochiku Tokyu + BS-TBS + BS-TBS 4K + BS TV Tokyo + BS TV Tokyo 4K + BSよしもと/BS Yoshimoto + Cable 4K + Cartoon Network Japan + CCTV Daifu + Channel Ginga + Channel Neco + CNN USA + CNN J + Dance Channel + Discovery Channel Japan + Disney Channel Japan + ディズニージュニア + Eisei Gekijo + Entermei Tele + Family Gekijyo + Fighting TV Samurai! + Fishing Vision + Fox Japan + Fuji TV Next + Fuji TV One + Fuji TV Two + Gaora Sports + Golf Network + Green Channel + Green Channel 2 + GSTV + The History Channel Japan + Home Drama Channel + Igo Shogi Channel + J:COM Higashi Kanto + J:COM Premier Channel + J:COM TV + Jidaigeki Senmon Channel + Japan Leisure Channel + Nippon TV + ABCテレビ/Asahi Broadcasting Kansai + テレビ大阪/TV Osaka + KBS京都/Kyoto Broadcasting System + Fuji TV (JOCX-DTV) + カンテレ/Kansai TV + TV Asahi + 読売テレビ/Yomiuri TV + TV Kanagawa + Tokyo MX (JOMX-DTV) + MBS毎日放送/Mainichi Broadcasting Osaka + TBS (JORX-DTV) + TV Tokyo (JOTX-DTV) + サンテレビジョン/Sun Television + TV Saitama + J Sports 1 + J Sports 2 + J Sports 3 + J Sports 4 + Kayo Pops + KBS World Japan + Kids Station + KNTV + LaLa TV + Midnight Blue + Mnet Japan + Mondo TV + Movie Plus + MTV Japan + Music Air + Music On! TV + National Geographic Japan + NHK BS 1 + NHK BS 4K + NHK BS Premium + NHK Educational TV + NHK General TV + NHK World Japan + Nihon Eiga Senmon Channel + Nihon Jidai 4K + Nikkei CNBC + Nittele G+ + Nittele Plus + NTV News 24 + Pachinko Pachislo TV + Paradise TV + Playboy Channel Japan + PPV Choice 940 + PPV Choice 941 + QVC Japan + Red Cherry + Shop Channel + Sky A + Space Shower TV + Space Shower TV Plus + Speed Channel 1 + Sports Live + + Star 1 + Star 2 + Star 3 + Star BS10 + Super! Drama TV + Tabi Channel + Takarazuka Sky Stage + TBS Channel 1 + TBS Channel 2 + TBS News + The Cinema + The Cinema 4K + Toei Channel + TV5Monde Pacifique + TV Asahi Channel 1 + TV Asahi Channel 2 + V Paradise + Wowow 4K + Wowow Cinema + Wowow Live + Wowow Plus + Wowow Prime + Yose Channel + diff --git a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js index ff574b9f..adbb0c13 100644 --- a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js +++ b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js @@ -10,9 +10,6 @@ dayjs.extend(customParseFormat) module.exports = { site: 'tvguide.myjcom.jp', - request: { - timeout: 30000 // 30 seconds - }, days: 2, url: function ({ date, channel }) { const id = `${channel.site_id}_${date.format('YYYYMMDD')}` @@ -38,19 +35,19 @@ module.exports = { async channels() { const requests = [ axios.get( - `https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=2&area=108&channelGenre&course&chart&is_adult=true` + 'https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=2&area=108&channelGenre&course&chart&is_adult=true' ), axios.get( - `https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=3&area=108&channelGenre&course&chart&is_adult=true` + 'https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=3&area=108&channelGenre&course&chart&is_adult=true' ), axios.get( - `https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=5&area=108&channelGenre&course&chart&is_adult=true` + 'https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=5&area=108&channelGenre&course&chart&is_adult=true' ), axios.get( - `https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=120&area=108&channelGenre&course&chart&is_adult=true` + 'https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=120&area=108&channelGenre&course&chart&is_adult=true' ), axios.get( - `https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=200&area=108&channelGenre&course&chart&is_adult=true` + 'https://tvguide.myjcom.jp/api/mypage/getEpgChannelList/?channelType=200&area=108&channelGenre&course&chart&is_adult=true' ) ] diff --git a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js index 022e27d4..3f3b7c35 100644 --- a/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js +++ b/sites/tvguide.myjcom.jp/tvguide.myjcom.jp.test.js @@ -1,5 +1,5 @@ -// node ./scripts/channels.js --config=./sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js --output=./sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml -// npx epg-grabber --config=sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js --channels=sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml --output=guide.xml +// npm run channels:parse -- --config=./sites/tvguide.myjcom.jp/tvguide.myjcom.jp.config.js --output=./sites/tvguide.myjcom.jp/tvguide.myjcom.jp.channels.xml +// npm run grab -- --site=tvguide.myjcom.jp const { parser, url } = require('./tvguide.myjcom.jp.config.js') const dayjs = require('dayjs') @@ -14,7 +14,8 @@ const channel = { name: 'Star Channel 1', xmltv_id: 'StarChannel1.jp' } -const content = `{"120_200_4_20220114":[{"@search.score":1,"cid":"120_7305523","serviceCode":"200_4","channelName":"スターチャンネル1","digitalNo":195,"eventId":"181","title":"[5.1]フードロア:タマリンド","commentary":"HBO(R)アジア製作。日本の齊藤工などアジアの監督が、各国の食をテーマに描いたアンソロジーシリーズ。(全8話)(19年 シンガポール 56分)","attr":["5.1","hd","cp1"],"sortGenre":"31","hasImage":1,"imgPath":"\/monomedia\/si\/2022\/20220114\/7305523\/image\/7743d17b655b8d2274ca58b74f2f095c.jpg","isRecommended":null,"programStart":20220114050000,"programEnd":20220114060000,"programDate":20220114,"programId":568519,"start_time":"00","duration":60,"top":300,"end_time":"20220114060000","channel_type":"120","is_end":false,"show_remoterec":true}]}` +const content = + '{"120_200_4_20220114":[{"@search.score":1,"cid":"120_7305523","serviceCode":"200_4","channelName":"スターチャンネル1","digitalNo":195,"eventId":"181","title":"[5.1]フードロア:タマリンド","commentary":"HBO(R)アジア製作。日本の齊藤工などアジアの監督が、各国の食をテーマに描いたアンソロジーシリーズ。(全8話)(19年 シンガポール 56分)","attr":["5.1","hd","cp1"],"sortGenre":"31","hasImage":1,"imgPath":"/monomedia/si/2022/20220114/7305523/image/7743d17b655b8d2274ca58b74f2f095c.jpg","isRecommended":null,"programStart":20220114050000,"programEnd":20220114060000,"programDate":20220114,"programId":568519,"start_time":"00","duration":60,"top":300,"end_time":"20220114060000","channel_type":"120","is_end":false,"show_remoterec":true}]}' it('can generate valid url', () => { const result = url({ date, channel }) @@ -33,7 +34,8 @@ it('can parse response', () => { start: '2022-01-13T20:00:00.000Z', stop: '2022-01-13T21:00:00.000Z', title: '[5.1]フードロア:タマリンド', - description: `HBO(R)アジア製作。日本の齊藤工などアジアの監督が、各国の食をテーマに描いたアンソロジーシリーズ。(全8話)(19年 シンガポール 56分)`, + description: + 'HBO(R)アジア製作。日本の齊藤工などアジアの監督が、各国の食をテーマに描いたアンソロジーシリーズ。(全8話)(19年 シンガポール 56分)', icon: 'https://tvguide.myjcom.jp/monomedia/si/2022/20220114/7305523/image/7743d17b655b8d2274ca58b74f2f095c.jpg', category: 'ドラマ' } @@ -44,7 +46,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"120_200_3_20220114":[]}` + content: '{"120_200_3_20220114":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvhebdo.com/tvhebdo.com.channels.xml b/sites/tvhebdo.com/tvhebdo.com.channels.xml index 7203d1fb..7499e356 100644 --- a/sites/tvhebdo.com/tvhebdo.com.channels.xml +++ b/sites/tvhebdo.com/tvhebdo.com.channels.xml @@ -1,237 +1,235 @@ - - - - CPAC English - 2M - SPARK - addikTV - Adult Swim SD - A&E - ALJAZEERA - ALPHA - American Hero Channel - AMI-Télé - The Accessible Channel - Animal Planet - Aboriginal Peoples Television Network - Art America - Assemblée Nationale - ASIAN TELEVISION NETWORK - AZ Mundo - BBC Earth - BBC World - Be In Sports - BeIN Sports ESP SD - BLACK ENTERTAINMENT - BNN Bloomberg - D - Canal Vie - Caracol TV - Cartoon Network SD - CASA - CBC News Network - CBFT - CBVU-TV - CBUFT - CBUT-2 - CCT3 - CCTV - CFCF - Omni 1 - CFTM - Savm - CHAN - TFO - CICA - CIII (Hull-Ottawa) HD - Cine Latino - Ciné-pop - CITY - CIVM - CIVT - CJNT (Metro 14) - CJON - CKMI (Montréal) - Classica - COUNTRY MUSIC TELEVISION - CNBC - CNN HD - CNN - Cooking Channel SD - Cottage Life - CPAC - Crave 1 - Crime + Investigation - CTV Comedy SD - CTV Drama SD - CTV LIFE SD - CTVN - CTV SCIFI SD - Déjà View - TDC - Discovery Science - Discovery Velocity - Disney Channel - Disney Jr SD - Disney XD SD - Documentary Channel - DTOUR - Deutsche Welle - STAR! - Elle Fictions SD - ERT World OTN2 - ESPN classics - Euronews - Évasion - EWTN - FAIR - FAMILY - Family Jr SD - Fight Network - FOOD - FOX Newsworld - FOX Sports Racing - Festival Portuguese Television - France 24 - Frissons TV - FX Canada - FXX SD - GAME SHOW NETWORK - GAME TV - Super Channel 4 - GOLF - Haïti HD - HBO - HGTV - Historia - H2 - HISTORY - CNN HEADLINE NEWS - Artv - Explora - RDI - Investigation - Investigation Discovery Canada - KCPQ - KING - KIRO - KOMO - KTLA - KTLA HD - La chaîne Disney - LCN - LIFETIME SD - Oasis HD - DIY - MAMTL - MAX SD - MBC (USA) - MBCM (Masr) - Mediaset Italia - METEO - Mezzo - MLB Network SD - MOI ET CIE - MovieTime - MSNBC - Razer - MTV Canada - MuchMusic - National Geographic Canada - National Geographic Wild - NBA TV - NFL Network - Nickelodeon - NVSMT - OTN - OUTDOOR LIFE - Out TV - OWN Canada - Paramount SD - Planète - PLAYBOY - Hard - Prise 2 - RAI News - RDS - RDS2 - RDS Info - REVT - Rewind - Saint-Pierre-et-Miquelon - Saisons - Salt + Light TV - Séries Plus - SHOW - Silver Screen Classics - SkyNews HD - Slice - Sportsman Canada - The Score - Sports Net EST - Sports Net One - Sports Net Ontario - Sports Net Pacifique - Sports Net West - Sportsnet World - STARZ1 - STVI - StudioCanal SD - Super Channel 1 - Super Channel 2 - Super Channel 3 - SE - SE 2 - SE 3 - SE 4 - Turner Classic Movie 1 - Télémagino SD - TLN Ninos - TOONF - TGCOM 24 - The Shopping Channel - WTHR - TLC - TLAT - Travel & Escape - TREE - TSN1 - TSN2 - TSN3 - TSN4 - TSN (5) - TV5 - TVA Sports - TVA Sports 2 - Tv Chile international - TVE1 - RAI Nettuno Sat Uno - UNIS - Univision Canada - VISION - Vrak TV - WCAX - WCFE - WETK - WETK HD - WFFF - WGN TV 9 - WGN9 HD - CHRGD SD - Wild - WTN - Peachtree HD - WPCH-TV - WPIX - WPTZ - WSBK - WVNDT - WWE - YOOPA - YTV - Z - Zeste - Z HD - - + + + CPAC English + 2M + SPARK + addikTV + Adult Swim SD + A&E + ALJAZEERA + ALPHA + American Hero Channel + AMI-Télé + The Accessible Channel + Animal Planet + Aboriginal Peoples Television Network + Art America + Assemblée Nationale + ASIAN TELEVISION NETWORK + AZ Mundo + BBC Earth + BBC World + Be In Sports + BeIN Sports ESP SD + BLACK ENTERTAINMENT + BNN Bloomberg + D + Canal Vie + Caracol TV + Cartoon Network SD + CASA + CBC News Network + CBFT + CBVU-TV + CBUFT + CBUT-2 + CCT3 + CCTV + CFCF + Omni 1 + CFTM + Savm + CHAN + TFO + CICA + CIII (Hull-Ottawa) HD + Cine Latino + Ciné-pop + CITY + CIVM + CIVT + CJNT (Metro 14) + CJON + CKMI (Montréal) + Classica + COUNTRY MUSIC TELEVISION + CNBC + CNN HD + CNN + Cooking Channel SD + Cottage Life + CPAC + Crave 1 + Crime + Investigation + CTV Comedy SD + CTV Drama SD + CTV LIFE SD + CTVN + CTV SCIFI SD + Déjà View + TDC + Discovery Science + Discovery Velocity + Disney Channel + Disney Jr SD + Disney XD SD + Documentary Channel + DTOUR + Deutsche Welle + STAR! + Elle Fictions SD + ERT World OTN2 + ESPN classics + Euronews + Évasion + EWTN + FAIR + FAMILY + Family Jr SD + Fight Network + FOOD + FOX Newsworld + FOX Sports Racing + Festival Portuguese Television + France 24 + Frissons TV + FX Canada + FXX SD + GAME SHOW NETWORK + GAME TV + Super Channel 4 + GOLF + Haïti HD + HBO + HGTV + Historia + H2 + HISTORY + CNN HEADLINE NEWS + Artv + Explora + RDI + Investigation + Investigation Discovery Canada + KCPQ + KING + KIRO + KOMO + KTLA + KTLA HD + La chaîne Disney + LCN + LIFETIME SD + Oasis HD + DIY + MAMTL + MAX SD + MBC (USA) + MBCM (Masr) + Mediaset Italia + METEO + Mezzo + MLB Network SD + MOI ET CIE + MovieTime + MSNBC + Razer + MTV Canada + MuchMusic + National Geographic Canada + National Geographic Wild + NBA TV + NFL Network + Nickelodeon + NVSMT + OTN + OUTDOOR LIFE + Out TV + OWN Canada + Paramount SD + Planète + PLAYBOY + Hard + Prise 2 + RAI News + RDS + RDS2 + RDS Info + REVT + Rewind + Saint-Pierre-et-Miquelon + Saisons + Salt + Light TV + Séries Plus + SHOW + Silver Screen Classics + SkyNews HD + Slice + Sportsman Canada + The Score + Sports Net EST + Sports Net One + Sports Net Ontario + Sports Net Pacifique + Sports Net West + Sportsnet World + STARZ1 + STVI + StudioCanal SD + Super Channel 1 + Super Channel 2 + Super Channel 3 + SE + SE 2 + SE 3 + SE 4 + Turner Classic Movie 1 + Télémagino SD + TLN Ninos + TOONF + TGCOM 24 + The Shopping Channel + WTHR + TLC + TLAT + Travel & Escape + TREE + TSN1 + TSN2 + TSN3 + TSN4 + TSN (5) + TV5 + TVA Sports + TVA Sports 2 + Tv Chile international + TVE1 + RAI Nettuno Sat Uno + UNIS + Univision Canada + VISION + Vrak TV + WCAX + WCFE + WETK + WETK HD + WFFF + WGN TV 9 + WGN9 HD + CHRGD SD + Wild + WTN + Peachtree HD + WPCH-TV + WPIX + WPTZ + WSBK + WVNDT + WWE + YOOPA + YTV + Z + Zeste + Z HD + diff --git a/sites/tvhebdo.com/tvhebdo.com.config.js b/sites/tvhebdo.com/tvhebdo.com.config.js index abd7adb9..28932384 100644 --- a/sites/tvhebdo.com/tvhebdo.com.config.js +++ b/sites/tvhebdo.com/tvhebdo.com.config.js @@ -5,7 +5,6 @@ const { DateTime } = require('luxon') module.exports = { site: 'tvhebdo.com', days: 2, - timeout: 30000, // 30s url: function ({ channel, date }) { return `https://www.tvhebdo.com/horaire-tele/${channel.site_id}/date/${date.format( 'YYYY-MM-DD' @@ -64,7 +63,7 @@ module.exports = { 'alt' ) const url = $item('.gr_row_head > div > div.gr_row_head_poste > a').attr('href') - const [_, site_id] = url.match(/horaire-tele\/(.*)/) || [null, null] + const [, site_id] = url.match(/horaire-tele\/(.*)/) || [null, null] return { lang: 'fr', site_id, diff --git a/sites/tvhebdo.com/tvhebdo.com.test.js b/sites/tvhebdo.com/tvhebdo.com.test.js index e28a6138..960112b1 100644 --- a/sites/tvhebdo.com/tvhebdo.com.test.js +++ b/sites/tvhebdo.com/tvhebdo.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tvhebdo.com/tvhebdo.com.config.js --output=./sites/tvhebdo.com/tvhebdo.com.channels.xml -// npx epg-grabber --config=sites/tvhebdo.com/tvhebdo.com.config.js --channels=sites/tvhebdo.com/tvhebdo.com.channels.xml --output=guide.xml +// npm run grab -- --site=tvhebdo.com const { parser, url } = require('./tvhebdo.com.config.js') const fs = require('fs') diff --git a/sites/tvheute.at/tvheute.at.channels.xml b/sites/tvheute.at/tvheute.at.channels.xml index 1877a47a..c2fc5fca 100644 --- a/sites/tvheute.at/tvheute.at.channels.xml +++ b/sites/tvheute.at/tvheute.at.channels.xml @@ -1,57 +1,55 @@ - - - 3sat - ARTE Deutsch - ATV - ATV 2 - Bayerisches Fernsehen Süd - Das Erste - DAZN 1 Deutschland - Disney Channel Deutschland - DMAX Austria - Eurosport 1 Germany - HR Fernsehen - Kabel Eins Austria - KIKA - MDR Fernsehen Sachsen-Anhalt - NDR Fernsehen Niedersachsen - Nickelodeon Austria - Nitro Austria - N-TV Austria - Oe24 TV - One - ORF 1 - ORF 2 - ORF III - ORF Sport + - Phoenix - ProSieben Austria - ProSieben Maxx Austria - Puls 4 - RBB Berlin - RTL Austria - RTL Crime Deutschland - RTL Living Deutschland - RTL Zwei Austria - Sat. 1 Gold Österreich - Sat. 1 Österreich - Servus TV Österreich - Sixx Austria - Sky Cinema Premieren - Sky Sport 1 - Sky Sport 2 - Sky Sport Austria 1 - Sky Sport Bundesliga 1 - Sport 1 - Super RTL Austria - SWR Fernsehen Baden-Württemberg - Tele 5 - Vox Austria - WDR Fernsehen Köln - Welt - ZDF - ZDF Info - ZDF Neo - - \ No newline at end of file + + 3sat + ARTE Deutsch + ATV + ATV 2 + Bayerisches Fernsehen Süd + Das Erste + DAZN 1 Deutschland + Disney Channel Deutschland + DMAX Austria + Eurosport 1 Germany + HR Fernsehen + Kabel Eins Austria + KIKA + MDR Fernsehen Sachsen-Anhalt + NDR Fernsehen Niedersachsen + Nickelodeon Austria + Nitro Austria + N-TV Austria + Oe24 TV + One + ORF 1 + ORF 2 + ORF III + ORF Sport + + Phoenix + ProSieben Austria + ProSieben Maxx Austria + Puls 4 + RBB Berlin + RTL Crime Deutschland + RTL Austria + RTL Living Deutschland + RTL Zwei Austria + Sat. 1 Österreich + Sat. 1 Gold Österreich + Servus TV Österreich + Sixx Austria + Sky Cinema Premieren + Sky Sport 1 + Sky Sport 2 + Sky Sport Austria 1 + Sky Sport Bundesliga 1 + Sport 1 + Super RTL Austria + SWR Fernsehen Baden-Württemberg + Tele 5 + Vox Austria + WDR Fernsehen Köln + Welt + ZDF + ZDF Info + ZDF Neo + \ No newline at end of file diff --git a/sites/tvheute.at/tvheute.at.config.js b/sites/tvheute.at/tvheute.at.config.js index f9021b14..f1796a36 100644 --- a/sites/tvheute.at/tvheute.at.config.js +++ b/sites/tvheute.at/tvheute.at.config.js @@ -9,7 +9,7 @@ module.exports = { 'DD-MM-YYYY' )}` }, - parser: function ({ content, channel, date }) { + parser: function ({ content }) { let programs = [] const items = parseItems(content) items.forEach(item => { diff --git a/sites/tvheute.at/tvheute.at.test.js b/sites/tvheute.at/tvheute.at.test.js index 1978d6e1..c513936f 100644 --- a/sites/tvheute.at/tvheute.at.test.js +++ b/sites/tvheute.at/tvheute.at.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/tvheute.at/tvheute.at.config.js --channels=sites/tvheute.at/tvheute.at.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvheute.at -const { parser, url, request } = require('./tvheute.at.config.js') +const { parser, url } = require('./tvheute.at.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') diff --git a/sites/tvim.tv/tvim.tv.channels.xml b/sites/tvim.tv/tvim.tv.channels.xml index 0bcc6ac5..fe925637 100644 --- a/sites/tvim.tv/tvim.tv.channels.xml +++ b/sites/tvim.tv/tvim.tv.channels.xml @@ -1,35 +1,33 @@ - - - Arena Sport 1 - Arena Sport 2 - Arena Sport 3 - Arena Sport 4 - Arena Sport 5 - ART Doku 1 - ART Doku 2 - Episode - Eurosport 1 - FOX Life - ART Kino 1 - ART Kino 2 - Klan Kosova - Kohavision - K Sport 1 - K Sport 2 - K Sport 3 - K Sport 4 - K Sport 5 - NBA TV - Prime TV - RTV 21 - ART Sport 1 - ART Sport 2 - ART Sport 3 - ART Sport 4 - ART Sport 5 - ART Sport 6 - T7 - Arta News - - + + Arena Sport 1 + Arena Sport 2 + Arena Sport 3 + Arena Sport 4 + Arena Sport 5 + ART Doku 1 + ART Doku 2 + Episode + Eurosport 1 + FOX Life + ART Kino 1 + ART Kino 2 + Klan Kosova + Kohavision + K Sport 1 + K Sport 2 + K Sport 3 + K Sport 4 + K Sport 5 + NBA TV + Prime TV + RTV 21 + ART Sport 1 + ART Sport 2 + ART Sport 3 + ART Sport 4 + ART Sport 5 + ART Sport 6 + T7 + Arta News + diff --git a/sites/tvim.tv/tvim.tv.config.js b/sites/tvim.tv/tvim.tv.config.js index 30f12a6a..9d0b4095 100644 --- a/sites/tvim.tv/tvim.tv.config.js +++ b/sites/tvim.tv/tvim.tv.config.js @@ -8,7 +8,7 @@ module.exports = { channel.site_id }&server_time=true` }, - parser: function ({ content, channel, date }) { + parser: function ({ content }) { let programs = [] const items = parseItems(content) items.forEach(item => { @@ -36,7 +36,7 @@ function parseStop(item) { return dayjs.unix(item.end_utc) } -function parseItems(content, channel) { +function parseItems(content) { const parsed = JSON.parse(content) return parsed.data.prog || [] diff --git a/sites/tvim.tv/tvim.tv.test.js b/sites/tvim.tv/tvim.tv.test.js index f3d987f3..5d639978 100644 --- a/sites/tvim.tv/tvim.tv.test.js +++ b/sites/tvim.tv/tvim.tv.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvim.tv/tvim.tv.config.js --channels=sites/tvim.tv/tvim.tv.channels.xml --days=2 --output=guide.xml +// npm run grab -- --site=tvim.tv const { parser, url } = require('./tvim.tv.config.js') const dayjs = require('dayjs') @@ -9,7 +9,8 @@ dayjs.extend(utc) const date = dayjs.utc('2021-10-24', 'YYYY-MM-DD').startOf('d') const channel = { site_id: 'T7', xmltv_id: 'T7.rs' } -const content = `{"response":"ok","data":{"thumb":"https://mobile-api.tvim.tv/images/chan_logos/70x25/T7.png","thumb_rel":"https://mobile-api.tvim.tv/images/chan_logos/70x25/T7.png","thumb_large_rel":"https://mobile-api.tvim.tv/images/chan_logos/120x60/T7.png","thumb_http":"http://mobile-api.tvim.tv/images/chan_logos/70x25/T7.png","thumb_large":"http://mobile-api.tvim.tv/images/chan_logos/120x60/T7.png","server_time":1635100951,"catchup_length":2,"_id":"T73","ind":2,"genre":"national","name":"T7","epg_id":"T7","chan":"T7","prog":[{"id":"T7-1635026400","title":"Programi i T7","from":1635026400,"end":1635040800,"starting":"00:00","from_utc":1635026400,"end_utc":1635040800,"desc":"Programi i T7","genre":"test","chan":"T7","epg_id":"T7","eng":""}]}}` +const content = + '{"response":"ok","data":{"thumb":"https://mobile-api.tvim.tv/images/chan_logos/70x25/T7.png","thumb_rel":"https://mobile-api.tvim.tv/images/chan_logos/70x25/T7.png","thumb_large_rel":"https://mobile-api.tvim.tv/images/chan_logos/120x60/T7.png","thumb_http":"http://mobile-api.tvim.tv/images/chan_logos/70x25/T7.png","thumb_large":"http://mobile-api.tvim.tv/images/chan_logos/120x60/T7.png","server_time":1635100951,"catchup_length":2,"_id":"T73","ind":2,"genre":"national","name":"T7","epg_id":"T7","chan":"T7","prog":[{"id":"T7-1635026400","title":"Programi i T7","from":1635026400,"end":1635040800,"starting":"00:00","from_utc":1635026400,"end_utc":1635040800,"desc":"Programi i T7","genre":"test","chan":"T7","epg_id":"T7","eng":""}]}}' it('can generate valid url', () => { const result = url({ date, channel }) @@ -25,7 +26,7 @@ it('can parse response', () => { start: 'Sat, 23 Oct 2021 22:00:00 GMT', stop: 'Sun, 24 Oct 2021 02:00:00 GMT', title: 'Programi i T7', - description: `Programi i T7`, + description: 'Programi i T7', category: 'test' } ]) @@ -35,7 +36,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"response":"ok","data":{"server_time":1635100927}}` + content: '{"response":"ok","data":{"server_time":1635100927}}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tving.com/tving.com.channels.xml b/sites/tving.com/tving.com.channels.xml index fc8dea81..37428d25 100644 --- a/sites/tving.com/tving.com.channels.xml +++ b/sites/tving.com/tving.com.channels.xml @@ -1,35 +1,33 @@ - - - 채널a - 채널a plus - 중화TV - 히스토리 - jtbc - jtbc2 - jtbc4 - MBN - MBN Plus - Mnet - OCN - Ch. CGV - super Action - OGN - Olive - Onstyle - OtvN - Tooniverse - tv조선 - c time - tvN - Xtvn - 연합뉴스 - YTN - YTN life - YTN science - - - - - - + + + + + + 채널a + 채널a plus + 중화TV + 히스토리 + jtbc + jtbc2 + jtbc4 + MBN + MBN Plus + Mnet + OCN + Ch. CGV + super Action + OGN + Olive + Onstyle + OtvN + Tooniverse + tv조선 + c time + tvN + Xtvn + 연합뉴스 + YTN + YTN life + YTN science + diff --git a/sites/tving.com/tving.com.config.js b/sites/tving.com/tving.com.config.js index 4eb4f684..57cb04b4 100644 --- a/sites/tving.com/tving.com.config.js +++ b/sites/tving.com/tving.com.config.js @@ -38,7 +38,7 @@ module.exports = { }, async channels() { let items = await axios - .get(`https://m.tving.com/guide/schedule.tving`) + .get('https://m.tving.com/guide/schedule.tving') .then(r => r.data) .then(html => { let $ = cheerio.load(html) @@ -51,7 +51,7 @@ module.exports = { let $item = cheerio.load(item) let [, site_id] = $item('a') .attr('href') - .match(/\?id\=(.*)/) || [null, null] + .match(/\?id=(.*)/) || [null, null] let name = $item('img').attr('alt') return { @@ -68,11 +68,11 @@ function parseIcon(item) { } function parseStart(item) { - return dayjs.tz(item.broadcast_start_time.toString(), `YYYYMMDDHHmmss`, 'Asia/Seoul') + return dayjs.tz(item.broadcast_start_time.toString(), 'YYYYMMDDHHmmss', 'Asia/Seoul') } function parseStop(item) { - return dayjs.tz(item.broadcast_end_time.toString(), `YYYYMMDDHHmmss`, 'Asia/Seoul') + return dayjs.tz(item.broadcast_end_time.toString(), 'YYYYMMDDHHmmss', 'Asia/Seoul') } function parseCategories(item) { diff --git a/sites/tving.com/tving.com.test.js b/sites/tving.com/tving.com.test.js index 2086e0ff..31a9dd39 100644 --- a/sites/tving.com/tving.com.test.js +++ b/sites/tving.com/tving.com.test.js @@ -1,7 +1,7 @@ // npm run channels:parse -- --config=./sites/tving.com/tving.com.config.js --output=./sites/tving.com/tving.com.channels.xml -// npx epg-grabber --config=sites/tving.com/tving.com.config.js --channels=sites/tving.com/tving.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tving.com -const { parser, url, request } = require('./tving.com.config.js') +const { parser, url } = require('./tving.com.config.js') const fs = require('fs') const path = require('path') const dayjs = require('dayjs') @@ -18,7 +18,7 @@ const channel = { it('can generate valid url', () => { expect(url({ channel, date })).toBe( - `https://api.tving.com/v2/media/schedules/C00551/20230123?callback=cb&pageNo=1&pageSize=500&screenCode=CSSD0200&networkCode=CSND0900&osCode=CSOD0900&teleCode=CSCD0900&apiKey=4263d7d76161f4a19a9efe9ca7903ec4` + 'https://api.tving.com/v2/media/schedules/C00551/20230123?callback=cb&pageNo=1&pageSize=500&screenCode=CSSD0200&networkCode=CSND0900&osCode=CSOD0900&teleCode=CSCD0900&apiKey=4263d7d76161f4a19a9efe9ca7903ec4' ) }) diff --git a/sites/tvmi.mt/tvmi.mt.channels.xml b/sites/tvmi.mt/tvmi.mt.channels.xml index 5e39d478..527b2bfa 100644 --- a/sites/tvmi.mt/tvmi.mt.channels.xml +++ b/sites/tvmi.mt/tvmi.mt.channels.xml @@ -1,8 +1,6 @@ - - - TVM - TVMnews+ - TVMsport+ - - + + TVM + TVMnews+ + TVMsport+ + diff --git a/sites/tvmi.mt/tvmi.mt.config.js b/sites/tvmi.mt/tvmi.mt.config.js index f527ccae..075f23b4 100644 --- a/sites/tvmi.mt/tvmi.mt.config.js +++ b/sites/tvmi.mt/tvmi.mt.config.js @@ -64,7 +64,7 @@ function parseStart($item, date) { ) .text() .trim() - const [_, HH, mm] = timeString.match(/^(\d{2}):(\d{2})/) || [null, null, null] + const [, HH, mm] = timeString.match(/^(\d{2}):(\d{2})/) || [null, null, null] if (!HH || !mm) return null return dayjs.tz(`${date.format('YYYY-MM-DD')} ${HH}:${mm}`, 'YYYY-MM-DD HH:mm', 'Europe/Malta') diff --git a/sites/tvmi.mt/tvmi.mt.test.js b/sites/tvmi.mt/tvmi.mt.test.js index 20da3b83..675ff2c6 100644 --- a/sites/tvmi.mt/tvmi.mt.test.js +++ b/sites/tvmi.mt/tvmi.mt.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvmi.mt/tvmi.mt.config.js --channels=sites/tvmi.mt/tvmi.mt.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvmi.mt const { parser, url } = require('./tvmi.mt.config.js') const fs = require('fs') @@ -46,7 +46,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: ``, + content: '', channel }) expect(result).toMatchObject([]) diff --git a/sites/tvmusor.hu/tvmusor.hu.channels.xml b/sites/tvmusor.hu/tvmusor.hu.channels.xml index e463bdf0..58e46b8e 100644 --- a/sites/tvmusor.hu/tvmusor.hu.channels.xml +++ b/sites/tvmusor.hu/tvmusor.hu.channels.xml @@ -1,95 +1,93 @@ - - - BBC World News - CNN - EuroNews - Sky News International - AMC - Animal Planet - ATV - AXN - BBC Earth - Boomerang - Cartoon Network - Cinemax - Comedy Central Family - Comedy Central - Cool - Da Vinci - Digi Animal World - Digi Life - Digi Sport 1 - Digi Sport 2 - Digi World - Discovery Channel - Discovery Science - Disney Channel - Duck TV - Duna TV - Duna World - Eurosport 1 - Eurosport 2 - FEM3 - Film Café - Film Mánia - Film Now - Film+ - Food Network - Hatoscsatorna - HBO 2 - HBO 3 - HBO - Hír TV - H!t Music Channel - Izaura TV - JimJam - Life TV - M1 - M2 - M4 Sport - M5 - Minimax - Mozi+ - MTV Global - Music Channel Hungary - Muzsika TV - National Geographic - National Geographic Wild - Nickelodeon - Nick Jr - Ozone TV - Paramount Network - Prime - RTL Gold - RTL KETTŐ - RTL HÁROM - RTL - Sláger TV - Sorozat+ - Spektrum - Spíler1 TV - Sport1 - Sport2 - Story5 - Super TV2 - TeenNick - The Fishing & Hunting Channel - TLC Pan Regional - Travel Channel - TV2 - TV2 Kids - TV2 Séf - Story4 - TV Paprika - VH1 - Viasat2 - Viasat3 - Viasat6 - Viasat Explore - Viasat Film - Viasat History - Viasat Nature - - - + + + BBC World News + CNN + EuroNews + Sky News International + AMC + Animal Planet + ATV + AXN + BBC Earth + Boomerang + Cartoon Network + Cinemax + Comedy Central Family + Comedy Central + Cool + Da Vinci + Digi Animal World + Digi Life + Digi Sport 1 + Digi Sport 2 + Digi World + Discovery Channel + Discovery Science + Disney Channel + Duck TV + Duna TV + Duna World + Eurosport 1 + Eurosport 2 + FEM3 + Film Café + Film Mánia + Film Now + Film+ + Food Network + Hatoscsatorna + HBO 2 + HBO 3 + HBO + Hír TV + H!t Music Channel + Izaura TV + JimJam + Life TV + M1 + M2 + M4 Sport + M5 + Minimax + Mozi+ + MTV Global + Music Channel Hungary + Muzsika TV + National Geographic + National Geographic Wild + Nickelodeon + Nick Jr + Ozone TV + Paramount Network + Prime + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + Sláger TV + Sorozat+ + Spektrum + Spíler1 TV + Sport1 + Sport2 + Story5 + Super TV2 + TeenNick + The Fishing & Hunting Channel + TLC Pan Regional + Travel Channel + TV2 + TV2 Kids + TV2 Séf + Story4 + TV Paprika + VH1 + Viasat2 + Viasat3 + Viasat6 + Viasat Explore + Viasat Film + Viasat History + Viasat Nature + diff --git a/sites/tvmusor.hu/tvmusor.hu.config.js b/sites/tvmusor.hu/tvmusor.hu.config.js index 475e7b87..9672ab61 100644 --- a/sites/tvmusor.hu/tvmusor.hu.config.js +++ b/sites/tvmusor.hu/tvmusor.hu.config.js @@ -48,11 +48,11 @@ module.exports = { }, async channels() { const data = await axios - .get(`http://www.tvmusor.hu/most/`) + .get('http://www.tvmusor.hu/most/') .then(r => r.data) .catch(console.log) - const [_, channelData] = data.match(/const CHANNEL_DATA = (.*);/) + const [, channelData] = data.match(/const CHANNEL_DATA = (.*);/) const json = channelData.replace('},}', '}}').replace(/(\d+):/g, '"$1":') const channels = JSON.parse(json) diff --git a/sites/tvmusor.hu/tvmusor.hu.test.js b/sites/tvmusor.hu/tvmusor.hu.test.js index 69832a06..d04630d2 100644 --- a/sites/tvmusor.hu/tvmusor.hu.test.js +++ b/sites/tvmusor.hu/tvmusor.hu.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/tvmusor.hu/tvmusor.hu.config.js --output=./sites/tvmusor.hu/tvmusor.hu.channels.xml -// npx epg-grabber --config=sites/tvmusor.hu/tvmusor.hu.config.js --channels=sites/tvmusor.hu/tvmusor.hu.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvmusor.hu const { parser, url, request } = require('./tvmusor.hu.config.js') const fs = require('fs') @@ -47,7 +47,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2022-11-18T23:30:00.000Z', stop: '2022-11-19T00:55:00.000Z', - title: `Rövidpályás Úszó Országos Bajnokság`, + 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' @@ -56,7 +56,7 @@ it('can parse response', () => { expect(results[1]).toMatchObject({ start: '2022-11-19T00:55:00.000Z', stop: '2022-11-19T01:10:00.000Z', - title: `Sportlövészet`, + title: 'Sportlövészet', category: 'sportműsor' }) }) @@ -65,7 +65,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"status":"error","reason":"invalid blocks"}` + content: '{"status":"error","reason":"invalid blocks"}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvpassport.com/tvpassport.com.channels.xml b/sites/tvpassport.com/tvpassport.com.channels.xml index 2c80b67c..08d5f7a7 100644 --- a/sites/tvpassport.com/tvpassport.com.channels.xml +++ b/sites/tvpassport.com/tvpassport.com.channels.xml @@ -1,918 +1,916 @@ - - - - Star Jalsha - Odyssey - 3ABN English - 5 StarMax East - 5StarMax West - ABC Central - ABC Eastern - ABC Mountain - ABC News Live - ABC Spark - ABC Pacific - AccuWeather - Action - East - Actionmax Eastern - Actionmax Pacific HD - A&E East - A&E West - AMC East - AMC+ - AMC West - American Heroes Channel - AMI-tv East - Animal Planet Canada - Animal Planet East - Animal Planet West - Antenna - Network - Aspire - ATN - Aapka Colors - ATN - AASTHA - ATN - ARY Digital (Canada) - ARY Musik - ARY News - ARY Zauq - ATN - B4U Movies (Hindi) - ATN - B4U Music - ATN - Brit. Asia - ATN - The ATN Channel - ATN - Bangla - ATN - Cricket Plus - ATN - Food Food - ATN - Jaya TV (Tamil) - ATN - Movies OK - ATN - SAB TV (Hindi) - Set Max - ATN - Sikh - ATN - Times Now (English) - ATN - Zoom (Hindi) - AT&ET SportsNet Pittsburgh - AWE - Bally Sports Arizona - Bally Sports Arizona Extra - Bally Sports Detroit - Bally Sports Detroit Extra - Bally Sports Great Lakes - Bally Sports Indiana - Bally Sports Kansas City - Bally Sports Midwest - Bally Sports Midwest Iowa - Bally Sports Midwest Nebraska - Bally Sports New Orleans - Bally Sports North - Bally Sports Ohio - Bally Sports Oklahoma - Bally Sports San Diego - Bally Sports SoCal - Bally Sports South - Bally Sports Southeast - Bally Sports South South Carolinas - Bally Sports Southwest - Bally Sports Wisconsin - BBC America East - BBC World News North America - beIN Sport Canada HD - BET - Canada - BET East - BET West - Bloomberg TV - Boomerang US - Bravo East - Bravo West - Cars.TV - Cartoon Network Canada - Cartoon Network East US - Cartoon Network West US - CBC (CBAT) Fredericton, NB HD - CBC News Network - CBC (CBET) Windsor, ON - CBC (CBHT) Halifax, NS - CBC (CBLT) Toronto, ON - CBC (CBMT) Montreal, QC - CBN (Commonwealth Broadcasting Network) - CBC (CBNT) St-John's, NL - CBC (CBOT) Ottawa, ON - CBC (CBRT) Calgary, AB - CBS Eastern - CBS Sports Network Canada - CBS Pacific - CBC (CBUT) Vancouver, BC - CBC (CBWT) Winnipeg, MB - CBC (CBXT) Edmonton, AB - CHCH Hamilton, ON - CHEK Vancouver Island, BC - Global (CHEX) Peterborough, ON - TVO (TV Ontario) - Global (CIHF) Dartmouth - Global (CIII) Ontario HD - Global (CIII-DT-41) Toronto - Cinemax Eastern - Cinemax Pacific - Yes TV (CITS) Burlington, ON - CJON (NTV) St-John, NL - Global (CKWS) Kingston, ON - CMT Canada - CMT East - CNBC - CNN - CNN International North America - Comedy Central East - Comedy Central West - Cottage Life - CP24 (CablePulse 24) - CPAC Ottawa - Crave 1 - Crave 2 - Crave 3 - Crave 4 - Crime + Investigation - C-SPAN - C-SPAN 2 - C-SPAN 3 - CTV2 Atlantic - CTV News Channel - DD Bharati (Doordarshan) - DD India (Doordarshan) - DD News (Doordarshan) - DD Urdu (Doordarshan) - Deja View - Discovery Channel (CAN) - Discovery Channel (US) Eastern Feed - Discovery Channel (US) Pacific Feed - Discovery Family (US) - Discovery Science Canada - Discovery Velocity - Disney Channel USA Eastern Feed - Disney Junior USA Eastern Feed - Disney XD USA Eastern Feed - Disney XD USA Pacific Feed - Do It Yourself Network (Canada) - Documentary Channel (Canada) - DTOUR - E! Canada - ESPN - ESPN 2 - ESPN Classic Canada - ESPN College Extra 1 - ESPN College Extra 2 - ESPN College Extra 3 - ESPN College Extra 4 - ESPN College Extra 5 - ESPN College Extra 6 - ESPN College Extra 7 - ESPN College Extra 8 - ESPNU - E! West - Fairchild TV - East - Fairchild TV - Pacific - Fairchild TV 2 HD - Family Channel Canada - East - Family Channel Canada - West - Family CHRGD - Family Jr. - Fight Network Canada - Flix East - Flix West - Food Network Canada - Food Network East - Food Network West - Fox Business - FOX Eastern - FOX News - Fox Sports Racing - FOX Pacific - Freeform - Freeform West - Fuse East - FX Networks Canada - FX East - FX Movie Channel - FX West - FXX Canada - FXX East - FXX West - FYI East - Game Show Network - East - Global BC - GolTV US - Great American Family (GAC) - Great American Living - Grit - Halla Bol! - Hallmark Channel East - Hallmark Channel West - Hallmark Drama - Hallmark Movies & Mysteries East - HBO 2 East - HBO 2 West - HBO Canada 1 - HBO Canada 2 - HBO Comedy East - HBO Comedy West - HBO East - HBO Family East - HBO Family West - HBO Signature East - HBO Signature West - HBO West - HBO Zone East - HBO Zone West - HD Net Movies - HGTV Canada - HGTV East - HGTV USA HD Pacific Feed - H2 Canada - History Canada East - History East - HLN - Hollywood Suite 00s - Hollywood Suite 70s - Hollywood Suite 80s - Hollywood Suite 90s - HSN 2 - IFC East - IndiePlex East - IndiePlex West - Investigation Discovery Canada - Investigation Discovery West - ION TV East - ABC (KAAL) Austin, MN - THIS (KAAL) Austin, MN - ABC (KABC) Los Angeles, CA - ABC (KAKE) Wichita, KS - MeTV (KAKE-DT2) Wichita, KS - NBC (KARE) Minneapolis, MN - CW (KASW) Phoenix, AZ - ABC (KATV) Little Rick, AR - Comet (KATV-DT2) Little Rick, AR - Charge (KATV-DT3) Little Rick, AR - TBD (KATV-DT4) Little Rick, AR - Me TV (KAZA) Los Angeles, CA - CW (KBCW) San Francisco, CA - Comet (KBCW-DT2) San Francisco, CA - MeTV (KCBW-DT3) San Francisco, CA - TBD (KCBW-DT4) San Francisco, CA - Circle (KCBW-DT5) San Francisco, CA - ABC (KBMT) Beaumont, TV - NBC (KBMT-DT2) Beaumont, TV - Cozi (KBMT-DT3) Beaumont, TV - MeTV (KBMT-DT4) Beaumont, TV - KCAL 9 (KCAL) Los Angeles, CA - CBS (KCBS) Los Angeles, CA - KCET (KCET) Los Angeles, CA - CBS (KCNC-TV) Denver, CO - KCOP (KCOP) Los Angeles, CA - FOX (KCPQ) Tacoma, WA - NBC (KCRA) Sacramento, CA - PBS (KCTS) Seattle, WA - CBS (KDKA-TV) Pittsburgh, PA - Start TV (KDKA-TV2) Pittsburgh, PA - DABL (KDKA-TV3) Pittsburgh, PA - FOX (KDLT-DT2) Sioux Falls, SD - FOX (KDVR) Denver, CO - NBC (KECI-TV) Missoula, MT - ABC (KEYT) Santa Barbara, CA - CBS (KEYT-DT2) Santa Barbara, CA - MNT (KEYT-DT3) Santa Barbara, CA - FOX (KFJX) Pittsburg, KS - FOX (KFNB) Casper, WY - ABC (KFSN) Fresno, CA - FOX (KGAN-DT2) Cedar Rapids, IA - CBS (KGMB) Honolulu, HI - ABC (KGO) San Francisco, CA - NBC (KHNL) Honolulu, HI - CBS (KHON) Honolulu, HI - CW (KHON-DT2) Honolulu, HI - NBC (KING) Seattle, WA - CBS (KION) Salinas, CA - FOX (KION-TV2) Monterey, CA - ION (KION-TV3) Monterey, CA - CBS (KIRO) Seattle, WA - ABC (KITV) Honolulu, HI - PBS Kids (KLCS2) Los Angeles, CA - Create (KLCS3) Los Angeles, CA - ABC (KMBC) Kansas City, MO - MeTV (KMBC-DT2) Kansas City, MO - ABC (KMGH) Denver, CO - NBC (KNBC) Los Angeles, CA - NBC (KNTV) San Francisco, CA - ABC (KNXV) Phoenix, AZ - PBS (KOCE) Huntington Beach, CA - ABC (KOMO) Seattle, WA - CBS (KOVR) Sacramento, CA - CBS (KPAX-TV) Missoula, MT - CW (KPAX-DT2) Missoula, MT - CBS (KPHO) Phoenix, AZ - CBS (KPIX) San Francisco, CA - Start TV (KPIX-DT2) San Francisco, CA - DABL (KPIX-DT3) San Francisco, CA - Fave TV (KPIX-DT4) San Francisco, CA - NBC (KPNX) Phoenix, AZ - FOX (KRIV) Houston, TX - NBC (KRNV) Reno, NV - FOX (KRXI) Reno, NV - ABC (KSAT) San Antonio, TX - MeTV (KSAT-DT2) San Antonio, TX - Movies! (KSAT-DT3) San Antonio, TX - H&I (KSAT-DT4) San Antonio, TX - Start TV (KSAT-DT5) San Antonio, TX - FOX (KSAZ) Phoenix, AZ - H&I (KSFV-CD2) Los Angeles, CA - KTLA 5 (KTLA) Los Angeles, CA - ABC (KTMF) Missoula, MT - FOX (KTMF-DT2) Missoula, MT - SWX (KTMF-DT3) Missoula, MT - ABC (KTRK) Houston, TX - FOX (KTTV) Los Angeles, CA - MNT (KTVD) Denver, CO - NBC (KTVF) Fairbanks, AK - NBC (KTVH) Los Angeles,CA - CBS (KTVN) Reno, NV - CW (KTVQ-DT2) Billings, MT - FOX (KTVU) San Francisco, CA - FOX (KTXL) Sacramento, CA - PBS (KUFM-TV) Missoula, MT - CBS (KWCH) Wichita, KS - Circle (KWCH-DT4) Wichita, KS - CBS (KXDF-CD) Fairbanks, AK - ABC (KXTV) Sacramento, CA - MeTV Plus (KYAZ-DT2) Houston TX - Ontario Legislature - Lifetime East - Logo East - Logo West - Love Nature - LS Times - Magnolia East - Makeful - MeTV Network - MGM+ Drive-In - MGM+ East - MGM+ Hits East - MGM+ Marquee - MGM+ Pacific - MoreMax Eastern - Moremax Pacific HD - MovieMax Eastern - MovieMax West - MoviePlex East - MoviePlex West - MovieTime - MSG - MSG 2 - MSG Plus - MSNBC - MTV 2 - East - MTV Canada - Much - National Geographic Canada - National Geographic West - NBA TV Canada - NBC Network Eastern - NBC Sports Boston - NBC Network Pacific - NDTV Good Times - News12 Conneticut - News12 Long Island - Newsmax TV - NewsNation East - NFL Network - NFL RedZone - NFL Sunday Ticket 1 - NFL Sunday Ticket 10 - NFL Sunday Ticket 11 - NFL Sunday Ticket 12 - NFL Sunday Ticket 13 - NFL Sunday Ticket 14 - NFL Sunday Ticket 2 - NFL Sunday Ticket 3 - NFL Sunday Ticket 4 - NFL Sunday Ticket 5 - NFL Sunday Ticket 6 - NFL Sunday Ticket 7 - NFL Sunday Ticket 8 - NFL Sunday Ticket 9 - NHL Center Ice 1 - NHL Center Ice 10 - NHL Center Ice 2 - NHL Center Ice 3 - NHL Center Ice 4 - NHL Center Ice 5 - NHL Center Ice 6 - NHL Center Ice 7 - NHL Center Ice 8 - NHL Center Ice 9 - NHL Network - Nickelodeon Canada - Nickelodeon East - Nickelodeon West - Nick Jr East - Nicktoons East - ONE AMERICAN NEWS NETWORK - OuterMax Eastern - OUTtv - Oprah Winfrey Network Canada - Paramount Network East - PBS East - Penthouse TV Canada - Red Hot TV - Reelz - RetroPlex East - RetroPlex West - ScreenPix - ScreenPix Action - ScreenPix Voices - ScreenPix Westerns - Showcase Canada - Showtime 2 East - Showtime 2 West - Showtime East - Showtime Extreme East - Showtime Extreme West - Showtime Family Zone East - Showtime Family Zone West - Showtime Next East - Showtime Next West - Showtime Showcase East - Showtime Showcase West - Showtime West - Showtime Women East - Showtime Women West - Shox Bet East - SHOXBET HD Pacific - Silver Screen Classics - Slice - Smithsonian Channel Canada - Smithsonian Channel USA Pacific - Sony Movies - SportsGrid - Sportsnet 360 - Sportsnet (East) - Satellite/Digital - Sportsnet One - Sportsnet (Ontario) - Sportsnet (Pacific) - Satellite/Digital - Sportsnet (West) - Satellite/Digital - Sportsnet World - Star India Gold - Starz 1 East - Starz Cinema East - Starz Cinema Pacific - Starz Comedy East - Starz Comedy Pacific - Starz East - Starz Edge East - Starz Edge Pacific - Starz Encore Action Eastern - Starz Encore Action Pacific - Starz Encore Black East - Starz Encore Black HD Pacific - Starz Encore Classic East - Starz Encore Classic HD Pacific - Starz Encore East - Starz Encore Family East - Starz Encore Family HD Pacific - Starz Encore Suspense East - Starz Encore Suspense HD Pacific - Starz Encore West - Starz In Black East - Starz In Black Pacific - Starz Kids Family East - Starz Kids & Family Pacific - Starz West - SundanceTV East - Super Channel 1 - Super Channel 2 - Super Channel 3 - Super Channel 4 - Syfy East - Syfy West - Talentvision - TBS East - TBS West - Turner Classic Movies Canada - Turner Classic Movies USA - Teen Nick East - Télémagino - Telemundo East - Telemundo West - TFC - The Filipino Channel - The Movie Channel East - The Movie Channel Xtra East - The Weather Channel - Weather Network - Thrillermax Eastern - Thrillermax Pacific - TLC East - TLC USA HD Pacific - TNT East - TNT West - Travel Channel East - Treehouse - truTV East - truTV USA Pacific HD - TSN1 - TSN2 - TSN3 - TSN4 - TSN5 - TV Land East - TV Land West - TV One - Up TV - USA Network East - USA Network West - VH1 West - Vice - Vision TV - Vivid TV Canada (English) - Hope Channel (W20CQ-D) Hempstead, NY - ABC (WABC) New York, NY - Localish (WABC-DT2) New York, NY - THIS (WABC-TV3) New York, NY - HSN (WABC-TV4) New York, NY - MNT (WADL) Mount Clemens, MI - NBC (WBAL-TV) Baltimore, MD - MeTV (WBAL-DT2) Baltimore, MD - The Grio (WBAL-DT4) Baltimore, MD - CBS (WBBM) Chicago, IL - Independent (WBBZ-TV) Springville, NY - FOX (WBFF) Baltimore, MD - MNT (WBFF-DT2) Baltimore, MD - TBD (WBFF-DT3) Baltimore, MD - Charge (WBFF-DT4) Baltimore, MD - PBS (WBGU-TV) Bowling Green, OH - CW (WBKP) Calumet, MI - CW (WBSF) Bay City, MI - ABC (WBUP) Ishpeming, MI - CBS (WBZ) Boston, MA - CBS (WCAX) Burlington, VT - CBS (WCBI) Colombus, MS - CBS (WCBS) New York, NY - Start TV (WCBS-TV2) New York, NY - DABL (WCBS-TV3) New York, NY - CBS (WCCO) Minneapolis, MN - CW (WCCT) Hartford, CT - Grit (WCCT-DT2) Hartford, CT - Comet (WCCT-DT3) Hartford, CT - PBS (WCFE) Plattsburgh, NY - CW (WCIU) Chicago, IL - Story (WCIU-DT5) Chicago, IL - PBS (WCMU-TV) Mount Pleasant, MI - CBS (WCSC) Charleston, SC - NBC (WCSH) Portland, ME - True Crime Network (WCSH-DT2) Portland, ME - Court TV (WCSH-DT3) Portland, ME - ABC (WCVB-TV) Boston, MA - MeTV (WCVB-DT2) Boston, MA - CW (WCWJ) Jacksonville, FL - FOX (WDAF) Kansas City, MO - MNT (WDCA) District of Columbia - PBS (WDCQ-TV) Bad Axe, MI - NBC (WDIV) Detroit, MI - The Country Network (WDVB) Edison, NJ - SSTN (WDVB-CD2) Edison, NJ - Connecticut Public Television (WEDW) Bridgeport - CPTV Spirit (WEDW-DT3) Bridgeport, CT - NBC (WESH-DT1) Daytona Beach, FL - PBS (WETA-TV) Washington DC - PBS (WETK) Colchester, VT - CBS (WEVV) Evansville, IN - FOX (WEVV-DT2) Evansville, IN - ABC (WEWS-TV) Cleveland, OH - NBC (WEYI-TV) Saginaw, MI - ABC (WFAA) Dallas, TX - AccuWeather (WFAA-DT2) Dallas, TX - True Crime Network (WFAA-DT3) Dallas, TX - Quest (WFAA-DT4) Dallas, TX - FOX (WFFF) Burlington, VT - FOX (WFLD) Chicago, IL - FOX (WFQX-TV) Cadillac, MI - CW (WFQX-DT2) Cadillac, MI - CBS (WFSB) Hartford, CT - ION Mystery (WFSB-DT2) Hartford, CT - Laff (WFSB-DT3) Hartford, CT - CBS (WFSB-DT4) Fairfield County, CT - ABC (WFTV-DT1) Orlando, FL - True Crime Network (WFTY) Smithtown, NY - ION Mystery (WFTY-DT4) Smithtown, NY - True Crime Network (WFUT-DT2) Newark, NJ - GetTV (WFUT-DT3) Newark, NJ - ION Mystery (WFUT-DT4) Newark, NJ - FOX (WFXT) Boston, MA - CBS (WGME) Portland, ME - NBC (WGRZ) Buffalo, NY - ABC (WGTQ) Sault Ste. Marie, MI - ABC (WGTU) Traverse City, MI - PBS (WGVU-TV) Grand Rapids, MI - ABC (WHAM) Rochester, NY - FOX (WHBQ) Memphis, TN - Independent (WHDH) Boston, MA - THIS (WHDH) Boston, MA - NBC (WHEC) Rochester, NY - NewsNet (WHNE-LD9) Detroit, MI - NBC (WICU) Erie, PA - Wild TV - CBS (WIVB) Buffalo, NY - NBC (WJAC-TV) Johnstown, PA - Charge (WJAC-TV2) Johnstown, PA - Comet TV (WJAC-TV3) Johnstown, PA - CW+ (WJAC-TV4) Johnstown, PA - NBC (WJAR) Cranston, RI - Comet TV (WJAR-DT3) Cranston, RI - CBS (WJAX) Jacksonville, FL - FOX (WJBK) Detroit, MI - ABC (WJLA) District of Columbia - MeTV (WJLP) New Jersey - Laff (WJLP2) New Jersey - Grit TV (WJLP3) New Jersey/New York - ION Mystery (WJLP4) New Jersey/New York - Retro TV (WJLP5) Middletown Township, NJ - Heartland (WJLP6) Middletown Township, NJ - Story (WJLP7) Middletown Township, NJ - MNT (WJMN-TV) Escanaba, MI - ABC (WJRT-TV) Flint, MI - FOX (WJW) Cleveland, OH - ABC (WJXX) Jacksonville, FL - CBS (WJZ) Baltimore, MD - Start TV (WJZ-DT2) Baltimore, MD - DABL (WJZ-DT3) Baltimore, MD - Fave TV (WJZ-DT4) Baltimore, MD - PBS (WKAR-TV) East Lansing, MI - ABC (WKBW) Buffalo, NY - CW (WKCF-DT1) Orlando, FL - CBS (WKMG-DT1) Orlando, FL - Azteca (WKOB) New York, NY - Peace TV (WKOB-LD3) New York, NY - SonLife Network (WKOB-LD5) New York, NY - Shop LC (WKOB-DT7) New York, NY - ONTV4U (WKOB-DT8) New York, NY - ABC (WKRN) Nashville, TN - NBC (WLBZ) Bangor, ME - PBS (WLIW) Long Island, NY - Create (WLIW2) Long Island, NY - PBS World (WLIW3) Long Island, NY - All Arts (WLIW-DT4) Garden City, NY - ABC (WLNE) Providence, RI - Grit TV (WLNE-DT2) Providence, RI - ION Mystery (WLNE-DT3) Providence, RI - Defy TV (WLNE-DT4) Providence, RI - TV10-55 (WLNY-TV) Riverhead, NY - Comet TV (WLNY-TV2) Riverhead, NY - Stadium (WLNY-TV3) Riverhead, NY - THIS (WLNY-TV4) Riverhead, NY - Circle (WLNY-TV5) Riverhead, NY - NBC (WLUC-TV) Marquette, MI - FOX (WLUC-DT2) Marquette, MI - PBS (WMAE) Booneville, MS - NBC (WMAQ) Chicago, IL - ABC (WMAR) Baltimore, MD - Grit TV (WMAR-DT2) Baltimore, MD - Bounce (WMAR-DT3) Baltimore, MD - ION Mystery (WMAR-DT4) Baltimore, MD - Court TV (WMAR-DT5) Baltimore, MD - Independent (WMBC-TV) Newton, NJ - Quest (WMBC-TV2) Newton, NJ - New Tang Dynasty TV (WMBC-DT5) Newton, NJ - Azteca (WMBC-TV6) Newton, NJ - Biz-TV (WMBQ-CD) New York, NY - Hope Channel (WMBQ-CD2) New York, NY - NBC (WMC) Memphis, TN - The U (WMEU-CD) Chicago, IL - ABC (WMTW) Auburn, ME - MeTV (WMTW-DT2) Auburn, ME - ABC (WMUR) Manchester, NH - MeTV (WMUR-DT2) Manchester, NH - Independent (WMYD) Detroit, MI - DABL (WNAB) Nashville, TN - Stadium (WNAB-DT2) Nashville, TN - Charge (WNAB-DT3) Nashville, TN - FOX (WNAC) Providence, RI - CW (WNAC-DT2) Providence, RI - Rewind TV (WNAC-DT3) Providence, RI - Antenna TV (WNAC-DT3) Providence, RI - NBC (WNBC) New York, NY - Cozi (WNBC-DT2) New York, NY - FNX (WNDT-CD) Manhattan, NY - PBS (WNED) Buffalo, NY - PBS (WNET) New York, NY - PBS Kids (WNET-DT2) New York, NY - W (WTN) - East - NJ PBS (WNJB) New Brunswick, NJ - NJ PBS (WNJN) Montclair, NJ - NJ PBS (WNJT) Trenton, NJ - NHK World (WNJT-TV2) Trenton, NJ - Infomercials (WNMF) New York, NY - Jewelry TV (WNMF-LD2) New York, NY - PBS (WNMU) Marquette, MI - CW (WNNE) Hanover, NH - NBC (WNWO-TV) Toledo, OH - CGTN (WNXY-LD) New York, NY - CCTV-4 (WNXY-LD2) New York, NY - NYC Life (WNYE-DT1) New York, NY - NYC Gov (WNYE-DT2) New York, NY - CUNY (WNYE-DT3) New York, NY - France 24 (WNYJ-DT3) West Milford, NJ - Azteca (WNYN) New York, NY - Azteca (WNYN-LD3) New York, NY - MNT (WNYO) Buffalo, NY - FOX (WNYW) New York, NY - Movies! (WNYW2) New York, NY - MNT (WNYW3) New York, NY - The Grio (WNYW4) New York, NY - Decades (WNYW5) New York, NY - CGTN (WNYX-LD) New York, NY - CCTV-4 (WNYX-LD2) New York, NY - REV'N (WNYX-LD4) New York, NY - Retro TV (WNYX-LD5) New York, NY - FOX (WOFL-DT1) Orlando, FL - ABC (WOI) Des Moines, IA - World Fishing Network - PBS (WPBS) Watertown, NY - CW (WPCW) Pittsburgh, PA - H&I (WPCW-DT2) Pittsburgh, PA - Grit TV (WPCW-DT3) Pittsburgh, PA - Circle (WPCW-DT4) Pittsburgh, PA - The Grio (WPCW-DT5) Pittsburgh, PA - FOX (WPFO) Portland, ME - FOX (WPGH) Pittsburgh, PA - Antenna (WPGH-DT2) Pittsburgh, PA - Charge (WPGH-DT3) Pittsburgh, PA - CW (WPIX) New York, NY - Antenna (WPIX2) New York, NY - Court TV (WPIX3) New York, NY - Rewind TV US (WPIX4) New York, NY - ABC (WPLG) Miami, FL - CBS (WPRI) Providence, RI - MNT (WPRI-DT2) Providence, RI - True Crime Network (WPRI-DT3) Providence, RI - DABL (WPRI-DT4) Providence, RI - NBC (WPTZ) Plattsburg, NY - ABC (WPVI) Philadelphia, PA - Localish (WPVI-DT2) Philadelphia, PA - THIS (WPVI-TV3) Philadelphia, PA - NBC (WPXI) Pittsburgh, PA - MeTV (WPXI-DT2) Pittsburgh, PA - Laff (WPXI-DT3) Pittsburgh, PA - ION (WPXN) New York, NY - Bounce (WPXN-TV2) New York, NY - ION Mystery (WPXN-TV3) New York, NY - Defy (WPXN-TV4) New York, NY - Laff (WPXN-TV5) New York, NY - TrueReal (WPXN-TV6) New York, NY - Newsy (WPXN-TV7) New York, NY - América TeVé (WPXO-LD) East Orange, NJ - CW (WPXT) Portland, ME - ION (WPXU) Jacksonville, NC - Court TV (WPXU-TV2) Jacksonville, NC - Grit TV (WPXU-TV3) Jacksonville, NC - Laff (WPXU-TV4) Jacksonville, NC - QVC (WPXU-TV5) Jacksonville, NC - My TV 65 / FOX 35 Plus (WRBW-DT1) Orlando, FL - Telemundo (WRDQ-DT3) Orlando, FL - CBS (WREG) Memphis, TN - Circle (WRNN-TV2) New York - Canal de La Fe (WRNN-DT3) New York, NY - QVC2 (WRNN-TV4) New York, NY - CBS (WROC) Rochester, NY - ABC (WRTV) Indianapolis, IN - ABC (WSB) Atlanta, GA - PBS (WSBE) Providence, RI - PBS Learn (WSBE-DT2) Providence, RI - WSBK (TV-38) Boston - FOX (WSMH) Flint, MI - NBC (WSMV) Nashville, TN - ABC (WTAE) Pittsburgh, PA - Cozi (WTAE-DT2) Pittsburgh, PA - FOX (WTAT) Charleston, SC - TBN (WTBY) New York, NY - Smile (WTBY-TV2) New York, NY - PosiTiV (WTBY-TV4) New York, NY - FOX (WTIC-TV) Hartford, CT - Antenna TV (WTIC-TV2) Hartford, CT - GetTV (WTIC-TV3) Hartford, CT - True Crime Network (WTIC-TV4) Hartford, CT - Twist (WTIC-TV5) Hartford, CT - H&I (WTLH) Tallahassee, FL - CW (WTLH-DT2) Bainbridge, GA - Comet (WTLH-DT3) Tallahassee, FL - NBC (WTLV) Jacksonville, FL - ABC (WTNH) SD New Haven, CT - Rewind TV US (WTNH2) New Haven, CT - CBS (WTOL) Toledo, OH - ABC (WTVD) Raleigh, NC - CBS (WTVF) Nashville, TN - ABC (WTVG) Toledo, OH - CW (WTVG-DT2) Toledo, OH - PBS (WTVS) Detroit, MI - Michigan Learning Channel (WTVS-DT5) Detroit, MI - FOX (WTVT) Tampa Bay, FL - FOX (WUHF) Rochester, NY - FOX (WUTV) Buffalo, NY - NBC (WVIT) Hartford, CT - Cozi (WVIT-DT2) Hartford, CT - ABC (WVNY) Burlington, VT - FOX (WVUE) New Orleans, LA - CBS (WWAY2) Wilmington, NC - WWE Network - CBS (WWJ) Detroit, MI - Fave TV (WWJ-DT4) Detroit, MI - MNT (WWOR) New York, NY - Circle (WWOR-TV2) New York, NY - Buzzr TV (WWOR-TV3) New York, NY - H&I (WWOR-DT4) New York, NY - FOX (WXIN) Indianapolis, IN - CGTN (WXNY-LD) New York, NY - CCTV-4 (WXNY-LD2) New York, NY - Retro TV (WXNY-LD4) New York, NY - Retro TV (WXNY-LD5) New York, NY - Bounce (WXTV-DT2) Paterson, NJ - Twist (WXTV-DT3) Paterson, NJ - Grit TV (WXTV-DT4) Paterson, NJ - PBS (WXXI) Rochester, NY - ABC (WXYZ) Detroit, MI - CGTN (WYXN-LD) New York, NY - CBS (WZMQ-DT2) Marquette, MI - FOX (WZTV) Nashville, TN - CW (WZTV-DT2) Nashville, TN - Antenna (WZTV3) Nashville, TN - YES Network - Youtoo America - Network - YTV (Youth Television) - East - YTV (Youth Television) - Pacific - Galavision West - Univision (KMEX) Los Angeles, CA - UniMás (KMEX-DT2) Los Angeles, CA - Telemundo (KVEA) Los Angeles, CA - TV Chile - Univision Canada - Esperanza (W20CQ-D2) Hempstead, NY - Estrella (WASA-LD) Port Jervis, NY - ABC (WATN) Memphis, TN - UniMás (WFTY-DT2) New York, NY - GetTV (WFTY-DT3) Los Angeles, CA - UniMás (WFUT) New York, NY - Daystar (WKOB-LD2) New York, NY - Estrella (WKOB-DT6) New York, NY - Aliento Vision (WMBC-TV7) Newton, NJ - V-Me (WNET-DT3) New York, NY - Telemundo (WNJU) Teterboro, NJ - TeleXitos (WNJU2) Teterboro, NJ - CGTN Spanish (WNXY-LD3) New York, NY - CGTN Spanish (WNYX-LD3) New York, NY - Telemundo (WRIW-CA) Providence, RI - Enlace (WTBY-TV3) New York, NY - CGTN Spanish (WXNY-LD3) New York, NY - UNI (WXTV) Teaneck, NJ - Addik TV - AMI-télé - APTN - East - APTN HD - Assemblee nationale du Quebec - AZ Mundo - Canal D - Canal M - Canal Vie - CASA - SRC (CBAFT) Moncton, NB - SRC (CBFT) Montreal, QC - SRC (CBLFT) Toronto HD - SRC (CBUFT) Vancouver, BC - V (CFJP) Montreal, QC - TVA (CFTM) Montreal, QC - Cinépop - Tele-Quebec (CIVM) Montreal - CPAC (Francais) - Canal Evasion - FPTV (Festival Portuguese TV) - Historia - ARTV - Explora - RDI (News) - La Chaine Disney - LCN - Meteo-Media Montreal - Prise 2 - RDS (Réseau des sports) - RDS 2 - RDS Info - Salt & Light - Series + - Super Ecran - Super Ecran 2 - Super Ecran 3 - Super Ecran 4 - TéléTOON - français - TFO - Chaine Francaise - TVA Sports - Vivid TV Canada (Français) - VRAK - Yoopa - Z - Zeste - ERT World (Canada) - Mediaset Italia - - + + + Star Jalsha + Odyssey + 3ABN English + 5 StarMax East + 5StarMax West + ABC Central + ABC Eastern + ABC Mountain + ABC News Live + ABC Spark + ABC Pacific + AccuWeather + Action - East + Actionmax Eastern + Actionmax Pacific HD + A&E East + A&E West + AMC East + AMC+ + AMC West + American Heroes Channel + AMI-tv East + Animal Planet Canada + Animal Planet East + Animal Planet West + Antenna - Network + Aspire + ATN - Aapka Colors + ATN - AASTHA + ATN - ARY Digital (Canada) + ARY Musik + ARY News + ARY Zauq + ATN - B4U Movies (Hindi) + ATN - B4U Music + ATN - Brit. Asia + ATN - The ATN Channel + ATN - Bangla + ATN - Cricket Plus + ATN - Food Food + ATN - Jaya TV (Tamil) + ATN - Movies OK + ATN - SAB TV (Hindi) + Set Max + ATN - Sikh + ATN - Times Now (English) + ATN - Zoom (Hindi) + AT&ET SportsNet Pittsburgh + AWE + Bally Sports Arizona + Bally Sports Arizona Extra + Bally Sports Detroit + Bally Sports Detroit Extra + Bally Sports Great Lakes + Bally Sports Indiana + Bally Sports Kansas City + Bally Sports Midwest + Bally Sports Midwest Iowa + Bally Sports Midwest Nebraska + Bally Sports New Orleans + Bally Sports North + Bally Sports Ohio + Bally Sports Oklahoma + Bally Sports San Diego + Bally Sports SoCal + Bally Sports South + Bally Sports Southeast + Bally Sports South South Carolinas + Bally Sports Southwest + Bally Sports Wisconsin + BBC America East + BBC World News North America + beIN Sport Canada HD + BET - Canada + BET East + BET West + Bloomberg TV + Boomerang US + Bravo East + Bravo West + Cars.TV + Cartoon Network Canada + Cartoon Network East US + Cartoon Network West US + CBC (CBAT) Fredericton, NB HD + CBC News Network + CBC (CBET) Windsor, ON + CBC (CBHT) Halifax, NS + CBC (CBLT) Toronto, ON + CBC (CBMT) Montreal, QC + CBN (Commonwealth Broadcasting Network) + CBC (CBNT) St-John's, NL + CBC (CBOT) Ottawa, ON + CBC (CBRT) Calgary, AB + CBS Eastern + CBS Sports Network Canada + CBS Pacific + CBC (CBUT) Vancouver, BC + CBC (CBWT) Winnipeg, MB + CBC (CBXT) Edmonton, AB + CHCH Hamilton, ON + CHEK Vancouver Island, BC + Global (CHEX) Peterborough, ON + TVO (TV Ontario) + Global (CIHF) Dartmouth + Global (CIII) Ontario HD + Global (CIII-DT-41) Toronto + Cinemax Eastern + Cinemax Pacific + Yes TV (CITS) Burlington, ON + CJON (NTV) St-John, NL + Global (CKWS) Kingston, ON + CMT Canada + CMT East + CNBC + CNN + CNN International North America + Comedy Central East + Comedy Central West + Cottage Life + CP24 (CablePulse 24) + CPAC Ottawa + Crave 1 + Crave 2 + Crave 3 + Crave 4 + Crime + Investigation + C-SPAN + C-SPAN 2 + C-SPAN 3 + CTV2 Atlantic + CTV News Channel + DD Bharati (Doordarshan) + DD India (Doordarshan) + DD News (Doordarshan) + DD Urdu (Doordarshan) + Deja View + Discovery Channel (CAN) + Discovery Channel (US) Eastern Feed + Discovery Channel (US) Pacific Feed + Discovery Family (US) + Discovery Science Canada + Discovery Velocity + Disney Channel USA Eastern Feed + Disney Junior USA Eastern Feed + Disney XD USA Eastern Feed + Disney XD USA Pacific Feed + Do It Yourself Network (Canada) + Documentary Channel (Canada) + DTOUR + E! Canada + ESPN + ESPN 2 + ESPN Classic Canada + ESPN College Extra 1 + ESPN College Extra 2 + ESPN College Extra 3 + ESPN College Extra 4 + ESPN College Extra 5 + ESPN College Extra 6 + ESPN College Extra 7 + ESPN College Extra 8 + ESPNU + E! West + Fairchild TV - East + Fairchild TV - Pacific + Fairchild TV 2 HD + Family Channel Canada - East + Family Channel Canada - West + Family CHRGD + Family Jr. + Fight Network Canada + Flix East + Flix West + Food Network Canada + Food Network East + Food Network West + Fox Business + FOX Eastern + FOX News + Fox Sports Racing + FOX Pacific + Freeform + Freeform West + Fuse East + FX Networks Canada + FX East + FX Movie Channel + FX West + FXX Canada + FXX East + FXX West + FYI East + Game Show Network - East + Global BC + GolTV US + Great American Family (GAC) + Great American Living + Grit + Halla Bol! + Hallmark Channel East + Hallmark Channel West + Hallmark Drama + Hallmark Movies & Mysteries East + HBO 2 East + HBO 2 West + HBO Canada 1 + HBO Canada 2 + HBO Comedy East + HBO Comedy West + HBO East + HBO Family East + HBO Family West + HBO Signature East + HBO Signature West + HBO West + HBO Zone East + HBO Zone West + HD Net Movies + HGTV Canada + HGTV East + HGTV USA HD Pacific Feed + H2 Canada + History Canada East + History East + HLN + Hollywood Suite 00s + Hollywood Suite 70s + Hollywood Suite 80s + Hollywood Suite 90s + HSN 2 + IFC East + IndiePlex East + IndiePlex West + Investigation Discovery Canada + Investigation Discovery West + ION TV East + ABC (KAAL) Austin, MN + THIS (KAAL) Austin, MN + ABC (KABC) Los Angeles, CA + ABC (KAKE) Wichita, KS + MeTV (KAKE-DT2) Wichita, KS + NBC (KARE) Minneapolis, MN + CW (KASW) Phoenix, AZ + ABC (KATV) Little Rick, AR + Comet (KATV-DT2) Little Rick, AR + Charge (KATV-DT3) Little Rick, AR + TBD (KATV-DT4) Little Rick, AR + Me TV (KAZA) Los Angeles, CA + CW (KBCW) San Francisco, CA + Comet (KBCW-DT2) San Francisco, CA + MeTV (KCBW-DT3) San Francisco, CA + TBD (KCBW-DT4) San Francisco, CA + Circle (KCBW-DT5) San Francisco, CA + ABC (KBMT) Beaumont, TV + NBC (KBMT-DT2) Beaumont, TV + Cozi (KBMT-DT3) Beaumont, TV + MeTV (KBMT-DT4) Beaumont, TV + KCAL 9 (KCAL) Los Angeles, CA + CBS (KCBS) Los Angeles, CA + KCET (KCET) Los Angeles, CA + CBS (KCNC-TV) Denver, CO + KCOP (KCOP) Los Angeles, CA + FOX (KCPQ) Tacoma, WA + NBC (KCRA) Sacramento, CA + PBS (KCTS) Seattle, WA + CBS (KDKA-TV) Pittsburgh, PA + Start TV (KDKA-TV2) Pittsburgh, PA + DABL (KDKA-TV3) Pittsburgh, PA + FOX (KDLT-DT2) Sioux Falls, SD + FOX (KDVR) Denver, CO + NBC (KECI-TV) Missoula, MT + ABC (KEYT) Santa Barbara, CA + CBS (KEYT-DT2) Santa Barbara, CA + MNT (KEYT-DT3) Santa Barbara, CA + FOX (KFJX) Pittsburg, KS + FOX (KFNB) Casper, WY + ABC (KFSN) Fresno, CA + FOX (KGAN-DT2) Cedar Rapids, IA + CBS (KGMB) Honolulu, HI + ABC (KGO) San Francisco, CA + NBC (KHNL) Honolulu, HI + CBS (KHON) Honolulu, HI + CW (KHON-DT2) Honolulu, HI + NBC (KING) Seattle, WA + CBS (KION) Salinas, CA + FOX (KION-TV2) Monterey, CA + ION (KION-TV3) Monterey, CA + CBS (KIRO) Seattle, WA + ABC (KITV) Honolulu, HI + PBS Kids (KLCS2) Los Angeles, CA + Create (KLCS3) Los Angeles, CA + ABC (KMBC) Kansas City, MO + MeTV (KMBC-DT2) Kansas City, MO + ABC (KMGH) Denver, CO + NBC (KNBC) Los Angeles, CA + NBC (KNTV) San Francisco, CA + ABC (KNXV) Phoenix, AZ + PBS (KOCE) Huntington Beach, CA + ABC (KOMO) Seattle, WA + CBS (KOVR) Sacramento, CA + CBS (KPAX-TV) Missoula, MT + CW (KPAX-DT2) Missoula, MT + CBS (KPHO) Phoenix, AZ + CBS (KPIX) San Francisco, CA + Start TV (KPIX-DT2) San Francisco, CA + DABL (KPIX-DT3) San Francisco, CA + Fave TV (KPIX-DT4) San Francisco, CA + NBC (KPNX) Phoenix, AZ + FOX (KRIV) Houston, TX + NBC (KRNV) Reno, NV + FOX (KRXI) Reno, NV + ABC (KSAT) San Antonio, TX + MeTV (KSAT-DT2) San Antonio, TX + Movies! (KSAT-DT3) San Antonio, TX + H&I (KSAT-DT4) San Antonio, TX + Start TV (KSAT-DT5) San Antonio, TX + FOX (KSAZ) Phoenix, AZ + H&I (KSFV-CD2) Los Angeles, CA + KTLA 5 (KTLA) Los Angeles, CA + ABC (KTMF) Missoula, MT + FOX (KTMF-DT2) Missoula, MT + SWX (KTMF-DT3) Missoula, MT + ABC (KTRK) Houston, TX + FOX (KTTV) Los Angeles, CA + MNT (KTVD) Denver, CO + NBC (KTVF) Fairbanks, AK + NBC (KTVH) Los Angeles,CA + CBS (KTVN) Reno, NV + CW (KTVQ-DT2) Billings, MT + FOX (KTVU) San Francisco, CA + FOX (KTXL) Sacramento, CA + PBS (KUFM-TV) Missoula, MT + CBS (KWCH) Wichita, KS + Circle (KWCH-DT4) Wichita, KS + CBS (KXDF-CD) Fairbanks, AK + ABC (KXTV) Sacramento, CA + MeTV Plus (KYAZ-DT2) Houston TX + Ontario Legislature + Lifetime East + Logo East + Logo West + Love Nature + LS Times + Magnolia East + Makeful + MeTV Network + MGM+ Drive-In + MGM+ East + MGM+ Hits East + MGM+ Marquee + MGM+ Pacific + MoreMax Eastern + Moremax Pacific HD + MovieMax Eastern + MovieMax West + MoviePlex East + MoviePlex West + MovieTime + MSG + MSG 2 + MSG Plus + MSNBC + MTV 2 - East + MTV Canada + Much + National Geographic Canada + National Geographic West + NBA TV Canada + NBC Network Eastern + NBC Sports Boston + NBC Network Pacific + NDTV Good Times + News12 Conneticut + News12 Long Island + Newsmax TV + NewsNation East + NFL Network + NFL RedZone + NFL Sunday Ticket 1 + NFL Sunday Ticket 10 + NFL Sunday Ticket 11 + NFL Sunday Ticket 12 + NFL Sunday Ticket 13 + NFL Sunday Ticket 14 + NFL Sunday Ticket 2 + NFL Sunday Ticket 3 + NFL Sunday Ticket 4 + NFL Sunday Ticket 5 + NFL Sunday Ticket 6 + NFL Sunday Ticket 7 + NFL Sunday Ticket 8 + NFL Sunday Ticket 9 + NHL Center Ice 1 + NHL Center Ice 10 + NHL Center Ice 2 + NHL Center Ice 3 + NHL Center Ice 4 + NHL Center Ice 5 + NHL Center Ice 6 + NHL Center Ice 7 + NHL Center Ice 8 + NHL Center Ice 9 + NHL Network + Nickelodeon Canada + Nickelodeon East + Nickelodeon West + Nick Jr East + Nicktoons East + ONE AMERICAN NEWS NETWORK + OuterMax Eastern + OUTtv + Oprah Winfrey Network Canada + Paramount Network East + PBS East + Penthouse TV Canada + Red Hot TV + Reelz + RetroPlex East + RetroPlex West + ScreenPix + ScreenPix Action + ScreenPix Voices + ScreenPix Westerns + Showcase Canada + Showtime 2 East + Showtime 2 West + Showtime East + Showtime Extreme East + Showtime Extreme West + Showtime Family Zone East + Showtime Family Zone West + Showtime Next East + Showtime Next West + Showtime Showcase East + Showtime Showcase West + Showtime West + Showtime Women East + Showtime Women West + Shox Bet East + SHOXBET HD Pacific + Silver Screen Classics + Slice + Smithsonian Channel Canada + Smithsonian Channel USA Pacific + Sony Movies + SportsGrid + Sportsnet 360 + Sportsnet (East) - Satellite/Digital + Sportsnet One + Sportsnet (Ontario) + Sportsnet (Pacific) - Satellite/Digital + Sportsnet (West) - Satellite/Digital + Sportsnet World + Star India Gold + Starz 1 East + Starz Cinema East + Starz Cinema Pacific + Starz Comedy East + Starz Comedy Pacific + Starz East + Starz Edge East + Starz Edge Pacific + Starz Encore Action Eastern + Starz Encore Action Pacific + Starz Encore Black East + Starz Encore Black HD Pacific + Starz Encore Classic East + Starz Encore Classic HD Pacific + Starz Encore East + Starz Encore Family East + Starz Encore Family HD Pacific + Starz Encore Suspense East + Starz Encore Suspense HD Pacific + Starz Encore West + Starz In Black East + Starz In Black Pacific + Starz Kids Family East + Starz Kids & Family Pacific + Starz West + SundanceTV East + Super Channel 1 + Super Channel 2 + Super Channel 3 + Super Channel 4 + Syfy East + Syfy West + Talentvision + TBS East + TBS West + Turner Classic Movies Canada + Turner Classic Movies USA + Teen Nick East + Télémagino + Telemundo East + Telemundo West + TFC - The Filipino Channel + The Movie Channel East + The Movie Channel Xtra East + The Weather Channel + Weather Network + Thrillermax Eastern + Thrillermax Pacific + TLC East + TLC USA HD Pacific + TNT East + TNT West + Travel Channel East + Treehouse + truTV East + truTV USA Pacific HD + TSN1 + TSN2 + TSN3 + TSN4 + TSN5 + TV Land East + TV Land West + TV One + Up TV + USA Network East + USA Network West + VH1 West + Vice + Vision TV + Vivid TV Canada (English) + Hope Channel (W20CQ-D) Hempstead, NY + ABC (WABC) New York, NY + Localish (WABC-DT2) New York, NY + THIS (WABC-TV3) New York, NY + HSN (WABC-TV4) New York, NY + MNT (WADL) Mount Clemens, MI + NBC (WBAL-TV) Baltimore, MD + MeTV (WBAL-DT2) Baltimore, MD + The Grio (WBAL-DT4) Baltimore, MD + CBS (WBBM) Chicago, IL + Independent (WBBZ-TV) Springville, NY + FOX (WBFF) Baltimore, MD + MNT (WBFF-DT2) Baltimore, MD + TBD (WBFF-DT3) Baltimore, MD + Charge (WBFF-DT4) Baltimore, MD + PBS (WBGU-TV) Bowling Green, OH + CW (WBKP) Calumet, MI + CW (WBSF) Bay City, MI + ABC (WBUP) Ishpeming, MI + CBS (WBZ) Boston, MA + CBS (WCAX) Burlington, VT + CBS (WCBI) Colombus, MS + CBS (WCBS) New York, NY + Start TV (WCBS-TV2) New York, NY + DABL (WCBS-TV3) New York, NY + CBS (WCCO) Minneapolis, MN + CW (WCCT) Hartford, CT + Grit (WCCT-DT2) Hartford, CT + Comet (WCCT-DT3) Hartford, CT + PBS (WCFE) Plattsburgh, NY + CW (WCIU) Chicago, IL + Story (WCIU-DT5) Chicago, IL + PBS (WCMU-TV) Mount Pleasant, MI + CBS (WCSC) Charleston, SC + NBC (WCSH) Portland, ME + True Crime Network (WCSH-DT2) Portland, ME + Court TV (WCSH-DT3) Portland, ME + ABC (WCVB-TV) Boston, MA + MeTV (WCVB-DT2) Boston, MA + CW (WCWJ) Jacksonville, FL + FOX (WDAF) Kansas City, MO + MNT (WDCA) District of Columbia + PBS (WDCQ-TV) Bad Axe, MI + NBC (WDIV) Detroit, MI + The Country Network (WDVB) Edison, NJ + SSTN (WDVB-CD2) Edison, NJ + Connecticut Public Television (WEDW) Bridgeport + CPTV Spirit (WEDW-DT3) Bridgeport, CT + NBC (WESH-DT1) Daytona Beach, FL + PBS (WETA-TV) Washington DC + PBS (WETK) Colchester, VT + CBS (WEVV) Evansville, IN + FOX (WEVV-DT2) Evansville, IN + ABC (WEWS-TV) Cleveland, OH + NBC (WEYI-TV) Saginaw, MI + ABC (WFAA) Dallas, TX + AccuWeather (WFAA-DT2) Dallas, TX + True Crime Network (WFAA-DT3) Dallas, TX + Quest (WFAA-DT4) Dallas, TX + FOX (WFFF) Burlington, VT + FOX (WFLD) Chicago, IL + FOX (WFQX-TV) Cadillac, MI + CW (WFQX-DT2) Cadillac, MI + CBS (WFSB) Hartford, CT + ION Mystery (WFSB-DT2) Hartford, CT + Laff (WFSB-DT3) Hartford, CT + CBS (WFSB-DT4) Fairfield County, CT + ABC (WFTV-DT1) Orlando, FL + True Crime Network (WFTY) Smithtown, NY + ION Mystery (WFTY-DT4) Smithtown, NY + True Crime Network (WFUT-DT2) Newark, NJ + GetTV (WFUT-DT3) Newark, NJ + ION Mystery (WFUT-DT4) Newark, NJ + FOX (WFXT) Boston, MA + CBS (WGME) Portland, ME + NBC (WGRZ) Buffalo, NY + ABC (WGTQ) Sault Ste. Marie, MI + ABC (WGTU) Traverse City, MI + PBS (WGVU-TV) Grand Rapids, MI + ABC (WHAM) Rochester, NY + FOX (WHBQ) Memphis, TN + Independent (WHDH) Boston, MA + THIS (WHDH) Boston, MA + NBC (WHEC) Rochester, NY + NewsNet (WHNE-LD9) Detroit, MI + NBC (WICU) Erie, PA + Wild TV + CBS (WIVB) Buffalo, NY + NBC (WJAC-TV) Johnstown, PA + Charge (WJAC-TV2) Johnstown, PA + Comet TV (WJAC-TV3) Johnstown, PA + CW+ (WJAC-TV4) Johnstown, PA + NBC (WJAR) Cranston, RI + Comet TV (WJAR-DT3) Cranston, RI + CBS (WJAX) Jacksonville, FL + FOX (WJBK) Detroit, MI + ABC (WJLA) District of Columbia + MeTV (WJLP) New Jersey + Laff (WJLP2) New Jersey + Grit TV (WJLP3) New Jersey/New York + ION Mystery (WJLP4) New Jersey/New York + Retro TV (WJLP5) Middletown Township, NJ + Heartland (WJLP6) Middletown Township, NJ + Story (WJLP7) Middletown Township, NJ + MNT (WJMN-TV) Escanaba, MI + ABC (WJRT-TV) Flint, MI + FOX (WJW) Cleveland, OH + ABC (WJXX) Jacksonville, FL + CBS (WJZ) Baltimore, MD + Start TV (WJZ-DT2) Baltimore, MD + DABL (WJZ-DT3) Baltimore, MD + Fave TV (WJZ-DT4) Baltimore, MD + PBS (WKAR-TV) East Lansing, MI + ABC (WKBW) Buffalo, NY + CW (WKCF-DT1) Orlando, FL + CBS (WKMG-DT1) Orlando, FL + Azteca (WKOB) New York, NY + Peace TV (WKOB-LD3) New York, NY + SonLife Network (WKOB-LD5) New York, NY + Shop LC (WKOB-DT7) New York, NY + ONTV4U (WKOB-DT8) New York, NY + ABC (WKRN) Nashville, TN + NBC (WLBZ) Bangor, ME + PBS (WLIW) Long Island, NY + Create (WLIW2) Long Island, NY + PBS World (WLIW3) Long Island, NY + All Arts (WLIW-DT4) Garden City, NY + ABC (WLNE) Providence, RI + Grit TV (WLNE-DT2) Providence, RI + ION Mystery (WLNE-DT3) Providence, RI + Defy TV (WLNE-DT4) Providence, RI + TV10-55 (WLNY-TV) Riverhead, NY + Comet TV (WLNY-TV2) Riverhead, NY + Stadium (WLNY-TV3) Riverhead, NY + THIS (WLNY-TV4) Riverhead, NY + Circle (WLNY-TV5) Riverhead, NY + NBC (WLUC-TV) Marquette, MI + FOX (WLUC-DT2) Marquette, MI + PBS (WMAE) Booneville, MS + NBC (WMAQ) Chicago, IL + ABC (WMAR) Baltimore, MD + Grit TV (WMAR-DT2) Baltimore, MD + Bounce (WMAR-DT3) Baltimore, MD + ION Mystery (WMAR-DT4) Baltimore, MD + Court TV (WMAR-DT5) Baltimore, MD + Independent (WMBC-TV) Newton, NJ + Quest (WMBC-TV2) Newton, NJ + New Tang Dynasty TV (WMBC-DT5) Newton, NJ + Azteca (WMBC-TV6) Newton, NJ + Biz-TV (WMBQ-CD) New York, NY + Hope Channel (WMBQ-CD2) New York, NY + NBC (WMC) Memphis, TN + The U (WMEU-CD) Chicago, IL + ABC (WMTW) Auburn, ME + MeTV (WMTW-DT2) Auburn, ME + ABC (WMUR) Manchester, NH + MeTV (WMUR-DT2) Manchester, NH + Independent (WMYD) Detroit, MI + DABL (WNAB) Nashville, TN + Stadium (WNAB-DT2) Nashville, TN + Charge (WNAB-DT3) Nashville, TN + FOX (WNAC) Providence, RI + CW (WNAC-DT2) Providence, RI + Rewind TV (WNAC-DT3) Providence, RI + Antenna TV (WNAC-DT3) Providence, RI + NBC (WNBC) New York, NY + Cozi (WNBC-DT2) New York, NY + FNX (WNDT-CD) Manhattan, NY + PBS (WNED) Buffalo, NY + PBS (WNET) New York, NY + PBS Kids (WNET-DT2) New York, NY + W (WTN) - East + NJ PBS (WNJB) New Brunswick, NJ + NJ PBS (WNJN) Montclair, NJ + NJ PBS (WNJT) Trenton, NJ + NHK World (WNJT-TV2) Trenton, NJ + Infomercials (WNMF) New York, NY + Jewelry TV (WNMF-LD2) New York, NY + PBS (WNMU) Marquette, MI + CW (WNNE) Hanover, NH + NBC (WNWO-TV) Toledo, OH + CGTN (WNXY-LD) New York, NY + CCTV-4 (WNXY-LD2) New York, NY + NYC Life (WNYE-DT1) New York, NY + NYC Gov (WNYE-DT2) New York, NY + CUNY (WNYE-DT3) New York, NY + France 24 (WNYJ-DT3) West Milford, NJ + Azteca (WNYN) New York, NY + Azteca (WNYN-LD3) New York, NY + MNT (WNYO) Buffalo, NY + FOX (WNYW) New York, NY + Movies! (WNYW2) New York, NY + MNT (WNYW3) New York, NY + The Grio (WNYW4) New York, NY + Decades (WNYW5) New York, NY + CGTN (WNYX-LD) New York, NY + CCTV-4 (WNYX-LD2) New York, NY + REV'N (WNYX-LD4) New York, NY + Retro TV (WNYX-LD5) New York, NY + FOX (WOFL-DT1) Orlando, FL + ABC (WOI) Des Moines, IA + World Fishing Network + PBS (WPBS) Watertown, NY + CW (WPCW) Pittsburgh, PA + H&I (WPCW-DT2) Pittsburgh, PA + Grit TV (WPCW-DT3) Pittsburgh, PA + Circle (WPCW-DT4) Pittsburgh, PA + The Grio (WPCW-DT5) Pittsburgh, PA + FOX (WPFO) Portland, ME + FOX (WPGH) Pittsburgh, PA + Antenna (WPGH-DT2) Pittsburgh, PA + Charge (WPGH-DT3) Pittsburgh, PA + CW (WPIX) New York, NY + Antenna (WPIX2) New York, NY + Court TV (WPIX3) New York, NY + Rewind TV US (WPIX4) New York, NY + ABC (WPLG) Miami, FL + CBS (WPRI) Providence, RI + MNT (WPRI-DT2) Providence, RI + True Crime Network (WPRI-DT3) Providence, RI + DABL (WPRI-DT4) Providence, RI + NBC (WPTZ) Plattsburg, NY + ABC (WPVI) Philadelphia, PA + Localish (WPVI-DT2) Philadelphia, PA + THIS (WPVI-TV3) Philadelphia, PA + NBC (WPXI) Pittsburgh, PA + MeTV (WPXI-DT2) Pittsburgh, PA + Laff (WPXI-DT3) Pittsburgh, PA + ION (WPXN) New York, NY + Bounce (WPXN-TV2) New York, NY + ION Mystery (WPXN-TV3) New York, NY + Defy (WPXN-TV4) New York, NY + Laff (WPXN-TV5) New York, NY + TrueReal (WPXN-TV6) New York, NY + Newsy (WPXN-TV7) New York, NY + América TeVé (WPXO-LD) East Orange, NJ + CW (WPXT) Portland, ME + ION (WPXU) Jacksonville, NC + Court TV (WPXU-TV2) Jacksonville, NC + Grit TV (WPXU-TV3) Jacksonville, NC + Laff (WPXU-TV4) Jacksonville, NC + QVC (WPXU-TV5) Jacksonville, NC + My TV 65 / FOX 35 Plus (WRBW-DT1) Orlando, FL + Telemundo (WRDQ-DT3) Orlando, FL + CBS (WREG) Memphis, TN + Circle (WRNN-TV2) New York + Canal de La Fe (WRNN-DT3) New York, NY + QVC2 (WRNN-TV4) New York, NY + CBS (WROC) Rochester, NY + ABC (WRTV) Indianapolis, IN + ABC (WSB) Atlanta, GA + PBS (WSBE) Providence, RI + PBS Learn (WSBE-DT2) Providence, RI + WSBK (TV-38) Boston + FOX (WSMH) Flint, MI + NBC (WSMV) Nashville, TN + ABC (WTAE) Pittsburgh, PA + Cozi (WTAE-DT2) Pittsburgh, PA + FOX (WTAT) Charleston, SC + TBN (WTBY) New York, NY + Smile (WTBY-TV2) New York, NY + PosiTiV (WTBY-TV4) New York, NY + FOX (WTIC-TV) Hartford, CT + Antenna TV (WTIC-TV2) Hartford, CT + GetTV (WTIC-TV3) Hartford, CT + True Crime Network (WTIC-TV4) Hartford, CT + Twist (WTIC-TV5) Hartford, CT + H&I (WTLH) Tallahassee, FL + CW (WTLH-DT2) Bainbridge, GA + Comet (WTLH-DT3) Tallahassee, FL + NBC (WTLV) Jacksonville, FL + ABC (WTNH) SD New Haven, CT + Rewind TV US (WTNH2) New Haven, CT + CBS (WTOL) Toledo, OH + ABC (WTVD) Raleigh, NC + CBS (WTVF) Nashville, TN + ABC (WTVG) Toledo, OH + CW (WTVG-DT2) Toledo, OH + PBS (WTVS) Detroit, MI + Michigan Learning Channel (WTVS-DT5) Detroit, MI + FOX (WTVT) Tampa Bay, FL + FOX (WUHF) Rochester, NY + FOX (WUTV) Buffalo, NY + NBC (WVIT) Hartford, CT + Cozi (WVIT-DT2) Hartford, CT + ABC (WVNY) Burlington, VT + FOX (WVUE) New Orleans, LA + CBS (WWAY2) Wilmington, NC + WWE Network + CBS (WWJ) Detroit, MI + Fave TV (WWJ-DT4) Detroit, MI + MNT (WWOR) New York, NY + Circle (WWOR-TV2) New York, NY + Buzzr TV (WWOR-TV3) New York, NY + H&I (WWOR-DT4) New York, NY + FOX (WXIN) Indianapolis, IN + CGTN (WXNY-LD) New York, NY + CCTV-4 (WXNY-LD2) New York, NY + Retro TV (WXNY-LD4) New York, NY + Retro TV (WXNY-LD5) New York, NY + Bounce (WXTV-DT2) Paterson, NJ + Twist (WXTV-DT3) Paterson, NJ + Grit TV (WXTV-DT4) Paterson, NJ + PBS (WXXI) Rochester, NY + ABC (WXYZ) Detroit, MI + CGTN (WYXN-LD) New York, NY + CBS (WZMQ-DT2) Marquette, MI + FOX (WZTV) Nashville, TN + CW (WZTV-DT2) Nashville, TN + Antenna (WZTV3) Nashville, TN + YES Network + Youtoo America - Network + YTV (Youth Television) - East + YTV (Youth Television) - Pacific + Galavision West + Univision (KMEX) Los Angeles, CA + UniMás (KMEX-DT2) Los Angeles, CA + Telemundo (KVEA) Los Angeles, CA + TV Chile + Univision Canada + Esperanza (W20CQ-D2) Hempstead, NY + Estrella (WASA-LD) Port Jervis, NY + ABC (WATN) Memphis, TN + UniMás (WFTY-DT2) New York, NY + GetTV (WFTY-DT3) Los Angeles, CA + UniMás (WFUT) New York, NY + Daystar (WKOB-LD2) New York, NY + Estrella (WKOB-DT6) New York, NY + Aliento Vision (WMBC-TV7) Newton, NJ + V-Me (WNET-DT3) New York, NY + Telemundo (WNJU) Teterboro, NJ + TeleXitos (WNJU2) Teterboro, NJ + CGTN Spanish (WNXY-LD3) New York, NY + CGTN Spanish (WNYX-LD3) New York, NY + Telemundo (WRIW-CA) Providence, RI + Enlace (WTBY-TV3) New York, NY + CGTN Spanish (WXNY-LD3) New York, NY + UNI (WXTV) Teaneck, NJ + Addik TV + AMI-télé + APTN - East + APTN HD + Assemblee nationale du Quebec + AZ Mundo + Canal D + Canal M + Canal Vie + CASA + SRC (CBAFT) Moncton, NB + SRC (CBFT) Montreal, QC + SRC (CBLFT) Toronto HD + SRC (CBUFT) Vancouver, BC + V (CFJP) Montreal, QC + TVA (CFTM) Montreal, QC + Cinépop + Tele-Quebec (CIVM) Montreal + CPAC (Francais) + Canal Evasion + FPTV (Festival Portuguese TV) + Historia + ARTV + Explora + RDI (News) + La Chaine Disney + LCN + Meteo-Media Montreal + Prise 2 + RDS (Réseau des sports) + RDS 2 + RDS Info + Salt & Light + Series + + Super Ecran + Super Ecran 2 + Super Ecran 3 + Super Ecran 4 + TéléTOON - français + TFO - Chaine Francaise + TVA Sports + Vivid TV Canada (Français) + VRAK + Yoopa + Z + Zeste + ERT World (Canada) + Mediaset Italia + diff --git a/sites/tvpassport.com/tvpassport.com.config.js b/sites/tvpassport.com/tvpassport.com.config.js index 508962df..2478da47 100644 --- a/sites/tvpassport.com/tvpassport.com.config.js +++ b/sites/tvpassport.com/tvpassport.com.config.js @@ -56,7 +56,7 @@ module.exports = { }, async channels() { const content = await axios - .get(`https://www.tvpassport.com/tv-listings`, { + .get('https://www.tvpassport.com/tv-listings', { headers: { Cookie: 'cisession=317b3a464bfe449650b7cc4b16ccf900a6646d88;' } @@ -152,5 +152,5 @@ function parseItems(content) { if (!content) return [] const $ = cheerio.load(content) - return $(`.station-listings .list-group-item`).toArray() + return $('.station-listings .list-group-item').toArray() } diff --git a/sites/tvpassport.com/tvpassport.com.test.js b/sites/tvpassport.com/tvpassport.com.test.js index c95aac03..9e33be7d 100644 --- a/sites/tvpassport.com/tvpassport.com.test.js +++ b/sites/tvpassport.com/tvpassport.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvpassport.com/tvpassport.com.config.js --channels=sites/tvpassport.com/tvpassport.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvpassport.com // npm run channels:parse -- --config=./sites/tvpassport.com/tvpassport.com.config.js --output=./sites/tvpassport.com/tvpassport.com.channels.xml const { parser, url, request } = require('./tvpassport.com.config.js') diff --git a/sites/tvplus.com.tr/tvplus.com.tr.channels.xml b/sites/tvplus.com.tr/tvplus.com.tr.channels.xml index bf17f5a1..38f6c147 100644 --- a/sites/tvplus.com.tr/tvplus.com.tr.channels.xml +++ b/sites/tvplus.com.tr/tvplus.com.tr.channels.xml @@ -1,150 +1,148 @@ - - - DW Deutsch - Aljazeera Channel - Aljazeera English - Baby TV Europe - DW English - Edge Sport - EuroNews English - France 24 English - Sky News Arabia - TRT Arabi - TRT World - France 24 Arabic - TV5Monde Europe - 24 Kitchen Türkiye - 24 TV - 360 - A2 - Ada TV - A Haber - Akilli TV - Akit TV - Animaux - A Para - A Spor - ATV Türkiye - Automoto la chaîne - Bengü Türk - Beyaz TV - Bizimev TV - Bloomberg HT - BRT 1 - BRT 2 - Cartoon Network Türkiye - Cem TV - Chasse & Pêche - Çiftçi TV - CNN Türk - Da Vinci - Discovery Channel Türkiye - Discovery Science Türkiye - Disney Channel Türkiye - Diyanet TV - DMAX Türkiye - Dream Türk - Duck TV HD - EBA TV Ilkokul - EBA TV Lise - EBA TV Ortaokul - Ekotürk - English Club TV - Epic Drama - Eurosport 1 - Eurosport 2 - Fashion One Europe - FB TV - FM TV - Fox Crime Türkiye - Fox Türkiye - FX Türkiye - Haber Global - Habertürk - Halk TV - Kadirga TV - Kanal 23 - Kanal 26 - Kanal 33 - Kanal 7 - Kanal D - Kanal Sim - Kanal V - Kibris Genç TV - Kibris Kanal T - Kibris TV - Kon TV - KRT - Love Nature - Meltem TV - Minika Çocuk - Minika Go - MyZen TV - National Geographic Türkiye - National Geographic Wild Türkiye - NBA TV - Nicktoons Türkiye - NTV - Number 1 Aşk - Number 1 Damar - Number 1 Dance - Number 1 Türk - Number 1 TV - On 6 - Power Türk TV - Power TV - Quran TV - RT Arabic - RT Español - Semerkand TV - Show TV - Sinema 1001 - Sinema 1002 - Sinema 2 - Sinema Aile - Sinema Aile 2 - Sinema Aksiyon - Sinema Aksiyon 2 - Sinema Komedi - Sinema TV - Sinema Yerli - Sinema Yerli 2 - Sports TV - S Sport - S Sport 2 - Star TV - Sunna TV - Tarim TV - Tele 1 - Teve 2 - TGRT Haber - TJK TV - TLC Türkiye - TMB - TR 35 - TRT 1 - TRT 2 - TRT 3 - TRT Avaz - TRT Belgesel - TRT Çocuk - TRT Haber - TRT Kurdî - TRT Müzik - TRT Spor - TRT Spor Yildiz - TRT Türk - TV 100 - TV 4 - TV 8 - TV 8.5 - TV Net - UçanKus TV - Ülke TV - Ulusal Kanal - Vav TV - Viasat Explore - Viasat History HD - - + + DW Deutsch + Aljazeera Channel + Aljazeera English + Baby TV Europe + DW English + Edge Sport + EuroNews English + France 24 English + Sky News Arabia + TRT Arabi + TRT World + France 24 Arabic + TV5Monde Europe + 24 Kitchen Türkiye + 24 TV + 360 + A2 + Ada TV + A Haber + Akilli TV + Akit TV + Animaux + A Para + A Spor + ATV Türkiye + Automoto la chaîne + Bengü Türk + Beyaz TV + Bizimev TV + Bloomberg HT + BRT 1 + BRT 2 + Cartoon Network Türkiye + Cem TV + Chasse & Pêche + Çiftçi TV + CNN Türk + Da Vinci + Discovery Channel Türkiye + Discovery Science Türkiye + Disney Channel Türkiye + Diyanet TV + DMAX Türkiye + Dream Türk + Duck TV HD + EBA TV Ilkokul + EBA TV Lise + EBA TV Ortaokul + Ekotürk + English Club TV + Epic Drama + Eurosport 1 + Eurosport 2 + Fashion One Europe + FB TV + FM TV + Fox Crime Türkiye + Fox Türkiye + FX Türkiye + Haber Global + Habertürk + Halk TV + Kadirga TV + Kanal 23 + Kanal 26 + Kanal 33 + Kanal 7 + Kanal D + Kanal Sim + Kanal V + Kibris Genç TV + Kibris Kanal T + Kibris TV + Kon TV + KRT + Love Nature + Meltem TV + Minika Çocuk + Minika Go + MyZen TV + National Geographic Türkiye + National Geographic Wild Türkiye + NBA TV + Nicktoons Türkiye + NTV + Number 1 Aşk + Number 1 Damar + Number 1 Dance + Number 1 Türk + Number 1 TV + On 6 + Power Türk TV + Power TV + Quran TV + RT Arabic + RT Español + Semerkand TV + Show TV + Sinema 1001 + Sinema 1002 + Sinema 2 + Sinema Aile + Sinema Aile 2 + Sinema Aksiyon + Sinema Aksiyon 2 + Sinema Komedi + Sinema TV + Sinema Yerli + Sinema Yerli 2 + Sports TV + S Sport + S Sport 2 + Star TV + Sunna TV + Tarim TV + Tele 1 + Teve 2 + TGRT Haber + TJK TV + TLC Türkiye + TMB + TR 35 + TRT 1 + TRT 2 + TRT 3 + TRT Avaz + TRT Belgesel + TRT Çocuk + TRT Haber + TRT Kurdî + TRT Müzik + TRT Spor + TRT Spor Yildiz + TRT Türk + TV 100 + TV 4 + TV 8 + TV 8.5 + TV Net + UçanKus TV + Ülke TV + Ulusal Kanal + Vav TV + Viasat Explore + Viasat History HD + diff --git a/sites/tvplus.com.tr/tvplus.com.tr.test.js b/sites/tvplus.com.tr/tvplus.com.tr.test.js index 5398fd77..820762c4 100644 --- a/sites/tvplus.com.tr/tvplus.com.tr.test.js +++ b/sites/tvplus.com.tr/tvplus.com.tr.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvplus.com.tr/tvplus.com.tr.config.js --channels=sites/tvplus.com.tr/tvplus.com.tr.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvplus.com.tr const { parser, url, request } = require('./tvplus.com.tr.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: '32', xmltv_id: '24TV.tr' } -const content = `{"counttotal":"23","playbilllist":[{"country":"","starttime":"20211107000000","type":"PROGRAM","isBlackout":"0","rerun":"0","ppvsubscribed":"0","foreignsn":"134383557","isLive":"0","ratingid":"0","episodeTotalCount":"0","id":"134383557","keyword":"24 Portre","contentType":"0","isnpvr":"1","slsType":"0","iscpvr":"0","advisory":[],"genreIds":["1179"],"istvod":"0","name":"24 Portre","tvodStatus":"0","pictures":[{"href":"https://izmottvsc23.tvplus.com.tr:33207/CPS/images/universal/film/program/202111/20211104/35/20211104000026695lh5.jpg","resolution":["null","null"],"imageType":"0"}],"externalContentCode":"105445035962202111070300","genres":"Yaşam","visittimes":"0","issubscribed":"0","programType":"program","gapFiller":"0","introduce":"Kendi alanında büyük başarılar elde etmiş insanların kendi ağzından hayat hikayeleri ekrana geliyor.","priceType":[{"value":"0","key":"BTV"},{"value":"0","key":"TVOD"}],"endtime":"20211107010000","seasonTotalCount":"0","recordedMediaIds":[],"picture":{},"isLoyalty":"0","isppv":"0","mainGenre":"0","contentRight":"[{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"13\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"14\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"15\\",\\"enable\\":\\"1\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"13\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"14\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"15\\",\\"enable\\":\\"1\\"}]","channelid":"32"}],"playbillVersion":[{"channelId":"32","date":"20211108","version":"20211106000043"},{"channelId":"32","date":"20211107","version":"20211105000027"}]}` +const content = + '{"counttotal":"23","playbilllist":[{"country":"","starttime":"20211107000000","type":"PROGRAM","isBlackout":"0","rerun":"0","ppvsubscribed":"0","foreignsn":"134383557","isLive":"0","ratingid":"0","episodeTotalCount":"0","id":"134383557","keyword":"24 Portre","contentType":"0","isnpvr":"1","slsType":"0","iscpvr":"0","advisory":[],"genreIds":["1179"],"istvod":"0","name":"24 Portre","tvodStatus":"0","pictures":[{"href":"https://izmottvsc23.tvplus.com.tr:33207/CPS/images/universal/film/program/202111/20211104/35/20211104000026695lh5.jpg","resolution":["null","null"],"imageType":"0"}],"externalContentCode":"105445035962202111070300","genres":"Yaşam","visittimes":"0","issubscribed":"0","programType":"program","gapFiller":"0","introduce":"Kendi alanında büyük başarılar elde etmiş insanların kendi ağzından hayat hikayeleri ekrana geliyor.","priceType":[{"value":"0","key":"BTV"},{"value":"0","key":"TVOD"}],"endtime":"20211107010000","seasonTotalCount":"0","recordedMediaIds":[],"picture":{},"isLoyalty":"0","isppv":"0","mainGenre":"0","contentRight":"[{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"13\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"14\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"3000435\\",\\"businessType\\":\\"15\\",\\"enable\\":\\"1\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"13\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"14\\",\\"enable\\":\\"0\\"},{\\"mediaId\\":\\"100067919\\",\\"businessType\\":\\"15\\",\\"enable\\":\\"1\\"}]","channelid":"32"}],"playbillVersion":[{"channelId":"32","date":"20211108","version":"20211106000043"},{"channelId":"32","date":"20211107","version":"20211105000027"}]}' it('can generate valid url', () => { expect(url).toBe('https://izmottvsc23.tvplus.com.tr:33207/EPG/JSON/PlayBillList') @@ -37,7 +38,8 @@ it('can parse response', () => { title: '24 Portre', category: 'Yaşam', icon: '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.` + description: + 'Kendi alanında büyük başarılar elde etmiş insanların kendi ağzından hayat hikayeleri ekrana geliyor.' } ]) }) @@ -46,7 +48,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"counttotal":"0","playbilllist":[],"playbillVersion":[{"channelId":"10000","date":"20211108","version":"20211107163253"},{"channelId":"10000","date":"20211107","version":"20211107163253"}]}` + content: + '{"counttotal":"0","playbilllist":[],"playbillVersion":[{"channelId":"10000","date":"20211108","version":"20211107163253"},{"channelId":"10000","date":"20211107","version":"20211107163253"}]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/tvprofil.com/tvprofil.com.channels.xml b/sites/tvprofil.com/tvprofil.com.channels.xml index 0635b596..ad3c5cf9 100644 --- a/sites/tvprofil.com/tvprofil.com.channels.xml +++ b/sites/tvprofil.com/tvprofil.com.channels.xml @@ -1,571 +1,569 @@ - - - - 24 Kitchen Bulgaria - Action+ - Agro TV - Alfa TV - Animal Planet Rossiya - AXN Black - AXN Bulgaria - AXN White - B1B Box - Barely Legal TV - Bloomberg TV Bulgaria - BNT 1 - BNT 2 - BNT 3 - BNT 4 - Box TV - BTV - BTV Action - BTV Cinema - BTV Comedy - BTV Lady - Bulgaria 24 - Bulgaria On Air - Cinema+ - City TV - Diema - Diema Family - Diema Sport - Diema Sport 2 - Disney Channel Bulgaria - EKids - Evrokom - Fen Folk - Fen TV - FilmBox Stars Adria - Folklor TV - Fox Bulgaria - Fox Crime Bulgaria - Fox Life Bulgaria - HBO - Hobby TV - Kino Nova - Magic TV - Max Sport 1 - Max Sport 2 - Max Sport 3 - Max Sport 4 - Movie Star - National Geographic Bulgaria - National Geographic Wild Bulgaria - Nicktoons Hungary - Nova News - Nova Sport - Nova TV - Planeta Folk - Rodina - SKAT - Sport+ HD - Tiankov Folk - Travel TV - Travelxp HD Europe - TV 1 - TV Evropa - TV+ - Vivacom Arena - VTK - Wness TV - BG Music Channel - Fuel TV - Passion XXX - The Voice TV - XXL - 24 Kitchen Srbija - 360 Tune Box - 3 Plus - 4 Fun Dance - 4 Fun Kids - 4 Fun TV - Agro TV - Alfa TV - Aljazeera Balkans - Aljazeera English - Alpha TV - Alsat M - AMC Magyarország - Ant1 Europe - Apostol TV - Arena4 - Arena Esport Serbia - Arena Fight Serbia - Arena Sport 10 Croatia - Arena Sport 1 Bosnia and Herzegovina - Arena Sport 1 Croatia - Arena Sport 1 Premium Serbia - Arena Sport 1 Premium Slovenia - Arena Sport 1 Serbia - Arena Sport 1 Slovenia - Arena Sport 1x2 Serbia - Arena Sport 2 Bosnia and Herzegovina - Arena Sport 2 Croatia - Arena Sport 2 Premium Serbia - Arena Sport 2 Serbia - Arena Sport 2 Slovenia - Arena Sport 3 Bosnia and Herzegovina - Arena Sport 3 Croatia - Arena Sport 3 Premium Serbia - Arena Sport 3 Serbia - Arena Sport 3 Slovenia - Arena Sport 4 Bosnia and Herzegovina - Arena Sport 4 Croatia - Arena Sport 4 Serbia - Arena Sport 4 Slovenia - Arena Sport 5 Croatia - Arena Sport 5 Serbia - Arena Sport 6 Croatia - Arena Sport 6 Serbia - Arena Sport 7 Croatia - Arena Sport 7 Serbia - Arena Sport 8 Croatia - Arena Sport 8 Serbia - Arena Sport 9 Croatia - ARTE Deutsch - ATV - ATV - ATV Avrupa - Aurora TV - AXN - AXN Central Europe - AXN Spin - B1 - B92 - Balkanika Music TV - Balkan Trip - BBC Earth - BBC News - BBC World News Europe - BN Music - BN 2 - Boomerang Central & Eastern Europe - Brainz TV - Brazzers TV - Brio - Canale 5 - CBS Reality Europe - CGTN Documentary - Cinemania - CineStar TV 1 - CineStar TV 1 Srbija - CineStar TV 2 - CineStar TV Action - CineStar TV Action Srbija - CineStar TV Comedy - CineStar TV Fantasy - CineStar TV Premiere 1 - CineStar TV Premiere 2 - CNN International Europe - CNN Türk - Comedy Central Family Hungary - Comedy Central Hungary - Cool - Crime + Investigation UK - Çufo - d1 TV - Das Erste - Da Vinci - Decija TV - Dexy TV - Digi Animal World - Digi Life Hungary - Digi Sport 1 Hungary - Digi Sport 2 Hungary - Digi Sport 3 Hungary - Digi World Hungary - Discovery Channel Hungary - Discovery Science - Disney Channel Hungary - DM Sat - DocuBox HD - Doku TV - Doma Hrvatska - Dorcel TV - Dox TV - Dr. Fit Channel - Duck TV HD - Dusk - DW English - E! Europe - English Club TV - Epic Drama - Erox HD - Eroxxx HD - Eska TV - ETV HD - Eurochannel - Euro D - EuroNews Albania - Eurosport 1 - Eurosport 2 - Explorer Histori - Explorer Natyra - Explorer Shkencë - Extreme Sports Channel - Face TV - FashionBox HD - FashionTV Europe - Fast & FunBox HD - FEM3 - FightBox HD - Fight Network - Film4 - Film Aksion - FilmBox Arthouse Worldwide - FilmBox Stars Hungary - Film Café Hungary - Film Dramë - Film Dy HD - Film Hits - Film Klub - Film Klub Extra - Film Komedi - Film Mánia - Film Një HD - Film Now Hungary - Film+ Hungary - Film Thriller - Food Network EMEA - Fox Crime Srbija - Fox Türkiye - France 2 - France 24 Arabic - France 24 English - France 24 Français - France 3 - France 5 - Galaxy4 - Gametoon - Ginx eSports TV International - Gold UK - Golica TV - Grand - Habertürk - Ha Ha - Hayat - Hayat Folk - Hayat Music - Hayatovci - Hayat Plus - HBO Hungary - HGTV UK - Hír TV - History 2 - HNTV - HRT 1 - HRT 2 - HRT 3 - HRT 4 - HRT International - H!t Music Channel Hungary - IDJ TV - In TV - Investigation Discovery Europe - Italia 1 - Izaura TV - JimJam Europe - Jocky TV - Jugoton TV - K3 - Kanal 5 - Kanal A - Kanal D - Kazbuka - K CN 1 - K CN 2 - K CN 3 - Kino - Kino TV - Kitchen TV - Klan Kosova - Klan Macedonia - Klasik TV - Kohavision - Kreator TV - Kurir TV - La 7 - Laudato TV - Life TV - Living HD - Lol - Lov i ribolov - M1 Film - M1 Gold - Mediaset Italia - Mezzo - Mezzo Live HD - Minimax Romania - Mini TV - Mozi+ - Moziverzum - MRT 1 - MRT 2 Sat - MTV Hungary - MTV Live HD - Muzsika TV - MyZen TV - N1 Bosna i Hercegovina - N1 Hrvatska - N1 Serbia - National Geographic Hungary - National Geographic Wild Hungary - NBA TV - Nick Jr Hungary - Nitro Deutschland - Nova 24 TV - Nova BH - Nova Cinema - Nova M - Nova S - Nova Sport - Nova TV - Nova World - Novosadska TV - OBN - O Kanal - One - Oto - Pax TV - Pickbox TV - Pikaboo - Pink Action - Pink BH - Pink Classic - Pink Comedy - Pink Crime & Mystery - Pink Family - Pink Fashion - Pink Folk 2 - Pink Hits - Pink Horror - Pink Koncert - Pink Kuvar - Pink M - Pink Movies - Pink n Roll - Pink Pedia - Pink Premium - Pink Romance - Pink Sci-Fi & Fantasy - Pink Srbija - Pink Serije - Pink Show - Pink Soap - Pink Style - Pink Super Kids - Pink Thriller - Pink Western - Pink World - Pink World Cinema - Pink Zabava - Planeta TV - Planet Earth - Planet TV - Playboy TV Europe - Pop TV - Power Türk TV - Power TV - Prime - Private TV - ProSieben - ProSieben Fun - ProSieben Maxx - Prva Files - Prva Kick - Prva Life - Prva Max - Prva Plus - Prva Srpska TV - Prva TV Crna Gora - Prva World - Puls 4 - QVC Style Deutschland - QVC Style UK - Radio Bremen Fernsehen - Rai 1 - Rai 2 - Rai 3 - Rai Gulp - Rai News 24 - Rai Sport - Rai Storia - Real Time Italia - Red TV - Rete 4 - RT News - RT Documentary - RTK 1 - RTK 2 - RTL Crime Hrvatska - RTL Deutschland - RTL Gold - RTL HÁROM - RTL - RTL KETTŐ - RTL Living Hrvatska - RTL Passion Hrvatska - RTRS Plus - RTS 1 - RTS 2 - RTS 3 - RTS Drama - RTS Kolo - RTS Muzika - RTS Poletarac - RTS Svet - RTS Trezor - RTV 1 - RTV 2 - RTV 21 Sat - Rossiya 24 - Sat. 1 - Sat. 1 Gold - SBN International - Scifi Srbija - Show Turk - Sitel TV - Sky News International - Sláger TV - Sorozat+ - Spektrum Home - Spektrum - Spíler1 TV - Spíler2 TV - Sport 1 - Sport1 Hungary - Sport2 Hungary - Sport Klub 1 Croatia - Sport Klub 1 Serbia - Sport Klub 1 Slovenia - Sport Klub 2 Croatia - Sport Klub 2 Serbia - Sport Klub 2 Slovenia - Sport Klub 3 Serbia - Sport Klub 4 Serbia - Sport Klub 5 Serbia - Sport Klub 6 Serbia - Sport Klub Esports Serbia - Sport Klub Golf Serbia - Sport Klub HD Serbia - Sportska TV - Sport TV 1 - Sport TV 1 - Sport TV 2 - Sport TV 2 - Stars TV - Star TV - Stingray IConcerts - Story4 - Studio B - Super RTL - Superstar TV - Super Tennis - Super TV2 - TGCom 24 - The Fishing & Hunting Channel - TLC - Toggo Plus - Trace Urban - Travel Channel - TRT 1 - TRT 2 - TRT Arabi - TRT Avaz - TRT Belgesel - TRT Çocuk - TRT Haber - TRT Müzik - TRT Spor - TRT Türk - TRT World - TV 1000 Balkan - TV 1000 Russkoe Kino - TV 1000 World Kino - TV2 - TV2 Comedy - TV2 Kids - TV2 Séf - TV 3 - TV4 - TV Arena - TV Belle Amie - TVCG 1 - TVCG 2 - TVCG MNE - TV Galaksija 32 - TV Hram - TV Koper-Capodistria - TVN - TVN 24 - TV Novi Pazar - TV Paprika - TVP Polonia - TV Slovenija 1 - TV Slovenija 2 - TV Slovenija 3 - TV Sonce - TV Vijesti - Ülke TV - Vavoom - Viasat2 - Viasat3 - Viasat6 - Viasat Explore East - Viasat Film - Viasat History - Viasat Nature East - Vox - Woman - World Fashion Channel - Z1 - ZDF - Zenebutik - Muse - News 24 - Ora News - Report TV - RTSH 1 - RTSH 2 - RTSH 24 - RTSH 3 - RTSH Plus - RTSH Shkollë - RTSH Shqip - RTSH Sport - Smile - Stinët - STV Folk - SuperSport 1 - SuperSport 2 - SuperSport 3 - SuperSport 4 - SuperSport 5 - SuperSport 6 - Tip TV - Top Channel - Top News - Tring Action - Tring Classic - Tring Comedy - Tring Family - Tring Fantasy - Tring History - Tring International - Tring Jolly HD - Tring Kids - Tring Life - Tring Planet - Tring Shqip - Tring Sport 1 - Tring Sport 2 - Tring Sport 3 - Tring Sport News - Tring Super - Tring Tring - Tring World - TV Klan - Vizion Plus - - + + + + 24 Kitchen Bulgaria + Action+ + Agro TV + Alfa TV + Animal Planet Rossiya + AXN Black + AXN Bulgaria + AXN White + B1B Box + Barely Legal TV + Bloomberg TV Bulgaria + BNT 1 + BNT 2 + BNT 3 + BNT 4 + Box TV + BTV + BTV Action + BTV Cinema + BTV Comedy + BTV Lady + Bulgaria 24 + Bulgaria On Air + Cinema+ + City TV + Diema + Diema Family + Diema Sport + Diema Sport 2 + Disney Channel Bulgaria + EKids + Evrokom + Fen Folk + Fen TV + FilmBox Stars Adria + Folklor TV + Fox Bulgaria + Fox Crime Bulgaria + Fox Life Bulgaria + HBO + Hobby TV + Kino Nova + Magic TV + Max Sport 1 + Max Sport 2 + Max Sport 3 + Max Sport 4 + Movie Star + National Geographic Bulgaria + National Geographic Wild Bulgaria + Nicktoons Hungary + Nova News + Nova Sport + Nova TV + Planeta Folk + Rodina + SKAT + Sport+ HD + Tiankov Folk + Travel TV + Travelxp HD Europe + TV 1 + TV Evropa + TV+ + Vivacom Arena + VTK + Wness TV + BG Music Channel + Fuel TV + Passion XXX + The Voice TV + XXL + 24 Kitchen Srbija + 360 Tune Box + 3 Plus + 4 Fun Dance + 4 Fun Kids + 4 Fun TV + Agro TV + Alfa TV + Aljazeera Balkans + Aljazeera English + Alpha TV + Alsat M + AMC Magyarország + Ant1 Europe + Apostol TV + Arena4 + Arena Esport Serbia + Arena Fight Serbia + Arena Sport 10 Croatia + Arena Sport 1 Bosnia and Herzegovina + Arena Sport 1 Croatia + Arena Sport 1 Premium Serbia + Arena Sport 1 Premium Slovenia + Arena Sport 1 Serbia + Arena Sport 1 Slovenia + Arena Sport 1x2 Serbia + Arena Sport 2 Bosnia and Herzegovina + Arena Sport 2 Croatia + Arena Sport 2 Premium Serbia + Arena Sport 2 Serbia + Arena Sport 2 Slovenia + Arena Sport 3 Bosnia and Herzegovina + Arena Sport 3 Croatia + Arena Sport 3 Premium Serbia + Arena Sport 3 Serbia + Arena Sport 3 Slovenia + Arena Sport 4 Bosnia and Herzegovina + Arena Sport 4 Croatia + Arena Sport 4 Serbia + Arena Sport 4 Slovenia + Arena Sport 5 Croatia + Arena Sport 5 Serbia + Arena Sport 6 Croatia + Arena Sport 6 Serbia + Arena Sport 7 Croatia + Arena Sport 7 Serbia + Arena Sport 8 Croatia + Arena Sport 8 Serbia + Arena Sport 9 Croatia + ARTE Deutsch + ATV + ATV + ATV Avrupa + Aurora TV + AXN + AXN Central Europe + AXN Spin + B1 + B92 + Balkanika Music TV + Balkan Trip + BBC Earth + BBC News + BBC World News Europe + BN Music + BN 2 + Boomerang Central & Eastern Europe + Brainz TV + Brazzers TV + Brio + Canale 5 + CBS Reality Europe + CGTN Documentary + Cinemania + CineStar TV 1 + CineStar TV 1 Srbija + CineStar TV 2 + CineStar TV Action + CineStar TV Action Srbija + CineStar TV Comedy + CineStar TV Fantasy + CineStar TV Premiere 1 + CineStar TV Premiere 2 + CNN International Europe + CNN Türk + Comedy Central Family Hungary + Comedy Central Hungary + Cool + Crime + Investigation UK + Çufo + d1 TV + Das Erste + Da Vinci + Decija TV + Dexy TV + Digi Animal World + Digi Life Hungary + Digi Sport 1 Hungary + Digi Sport 2 Hungary + Digi Sport 3 Hungary + Digi World Hungary + Discovery Channel Hungary + Discovery Science + Disney Channel Hungary + DM Sat + DocuBox HD + Doku TV + Doma Hrvatska + Dorcel TV + Dr. Fit Channel + Duck TV HD + Dusk + DW English + E! Europe + English Club TV + Epic Drama + Erox HD + Eroxxx HD + Eska TV + ETV HD + Eurochannel + Euro D + EuroNews Albania + Eurosport 1 + Eurosport 2 + Explorer Histori + Explorer Natyra + Explorer Shkencë + Extreme Sports Channel + Face TV + FashionBox HD + FashionTV Europe + Fast & FunBox HD + FEM3 + FightBox HD + Fight Network + Film4 + Film Aksion + FilmBox Arthouse Worldwide + FilmBox Stars Hungary + Film Café Hungary + Film Dramë + Film Dy HD + Film Hits + Film Klub + Film Klub Extra + Film Komedi + Film Mánia + Film Një HD + Film Now Hungary + Film+ Hungary + Film Thriller + Food Network EMEA + Fox Crime Srbija + Fox Türkiye + France 2 + France 24 Arabic + France 24 English + France 24 Français + France 3 + France 5 + Galaxy4 + Gametoon + Ginx eSports TV International + Gold UK + Golica TV + Grand + Habertürk + Ha Ha + Hayat + Hayat Folk + Hayat Music + Hayatovci + Hayat Plus + HBO Hungary + HGTV UK + Hír TV + History 2 + HNTV + HRT 1 + HRT 2 + HRT 3 + HRT 4 + HRT International + H!t Music Channel Hungary + IDJ TV + In TV + Investigation Discovery Europe + Italia 1 + Izaura TV + JimJam Europe + Jocky TV + Jugoton TV + K3 + Kanal 5 + Kanal A + Kanal D + Kazbuka + K CN 1 + K CN 2 + K CN 3 + Kino + Kino TV + Kitchen TV + Klan Kosova + Klan Macedonia + Klasik TV + Kohavision + Kreator TV + Kurir TV + La 7 + Laudato TV + Life TV + Living HD + Lol + Lov i ribolov + M1 Film + M1 Gold + Mediaset Italia + Mezzo + Mezzo Live HD + Minimax Romania + Mini TV + Mozi+ + Moziverzum + MRT 1 + MRT 2 Sat + MTV Hungary + MTV Live HD + Muzsika TV + MyZen TV + N1 Bosna i Hercegovina + N1 Hrvatska + N1 Serbia + National Geographic Hungary + National Geographic Wild Hungary + NBA TV + Nick Jr Hungary + Nitro Deutschland + Nova 24 TV + Nova BH + Nova Cinema + Nova M + Nova S + Nova Sport + Nova TV + Nova World + Novosadska TV + OBN + O Kanal + One + Oto + Pax TV + Pickbox TV + Pikaboo + Pink Action + Pink BH + Pink Classic + Pink Comedy + Pink Crime & Mystery + Pink Family + Pink Fashion + Pink Folk 2 + Pink Hits + Pink Horror + Pink Koncert + Pink Kuvar + Pink M + Pink Movies + Pink n Roll + Pink Pedia + Pink Premium + Pink Romance + Pink Sci-Fi & Fantasy + Pink Srbija + Pink Serije + Pink Show + Pink Soap + Pink Style + Pink Super Kids + Pink Thriller + Pink Western + Pink World + Pink World Cinema + Pink Zabava + Planeta TV + Planet Earth + Planet TV + Playboy TV Europe + Pop TV + Power Türk TV + Power TV + Prime + Private TV + ProSieben + ProSieben Fun + ProSieben Maxx + Prva Files + Prva Kick + Prva Life + Prva Max + Prva Plus + Prva Srpska TV + Prva TV Crna Gora + Prva World + Puls 4 + QVC Style Deutschland + QVC Style UK + Radio Bremen Fernsehen + Rai 1 + Rai 2 + Rai 3 + Rai Gulp + Rai News 24 + Rai Sport + Rai Storia + Real Time Italia + Red TV + Rete 4 + RT News + RT Documentary + RTK 1 + RTK 2 + RTL Crime Hrvatska + RTL Deutschland + RTL Gold + RTL HÁROM + RTL + RTL KETTŐ + RTL Living Hrvatska + RTL Passion Hrvatska + RTRS Plus + RTS 1 + RTS 2 + RTS 3 + RTS Drama + RTS Kolo + RTS Muzika + RTS Poletarac + RTS Svet + RTS Trezor + RTV 1 + RTV 2 + RTV 21 Sat + Rossiya 24 + Sat. 1 + Sat. 1 Gold + SBN International + Scifi Srbija + Show Turk + Sitel TV + Sky News International + Sláger TV + Sorozat+ + Spektrum Home + Spektrum + Spíler1 TV + Spíler2 TV + Sport 1 + Sport1 Hungary + Sport2 Hungary + Sport Klub 1 Croatia + Sport Klub 1 Serbia + Sport Klub 1 Slovenia + Sport Klub 2 Croatia + Sport Klub 2 Serbia + Sport Klub 2 Slovenia + Sport Klub 3 Serbia + Sport Klub 4 Serbia + Sport Klub 5 Serbia + Sport Klub 6 Serbia + Sport Klub Esports Serbia + Sport Klub Golf Serbia + Sport Klub HD Serbia + Sportska TV + Sport TV 1 + Sport TV 1 + Sport TV 2 + Sport TV 2 + Stars TV + Star TV + Stingray IConcerts + Story4 + Studio B + Super RTL + Superstar TV + Super Tennis + Super TV2 + TGCom 24 + The Fishing & Hunting Channel + TLC + Toggo Plus + Trace Urban + Travel Channel + TRT 1 + TRT 2 + TRT Arabi + TRT Avaz + TRT Belgesel + TRT Çocuk + TRT Haber + TRT Müzik + TRT Spor + TRT Türk + TRT World + TV 1000 Balkan + TV 1000 Russkoe Kino + TV 1000 World Kino + TV2 + TV2 Comedy + TV2 Kids + TV2 Séf + TV 3 + TV4 + TV Arena + TV Belle Amie + TVCG 1 + TVCG 2 + TVCG MNE + TV Galaksija 32 + TV Hram + TV Koper-Capodistria + TVN + TVN 24 + TV Novi Pazar + TV Paprika + TVP Polonia + TV Slovenija 1 + TV Slovenija 2 + TV Slovenija 3 + TV Sonce + TV Vijesti + Ülke TV + Vavoom + Viasat2 + Viasat3 + Viasat6 + Viasat Explore East + Viasat Film + Viasat History + Viasat Nature East + Vox + Woman + World Fashion Channel + Z1 + ZDF + Zenebutik + Muse + News 24 + Ora News + Report TV + RTSH 1 + RTSH 2 + RTSH 24 + RTSH 3 + RTSH Plus + RTSH Shkollë + RTSH Shqip + RTSH Sport + Smile + Stinët + STV Folk + SuperSport 1 + SuperSport 2 + SuperSport 3 + SuperSport 4 + SuperSport 5 + SuperSport 6 + Tip TV + Top Channel + Top News + Tring Action + Tring Classic + Tring Comedy + Tring Family + Tring Fantasy + Tring History + Tring International + Tring Jolly HD + Tring Kids + Tring Life + Tring Planet + Tring Shqip + Tring Sport 1 + Tring Sport 2 + Tring Sport 3 + Tring Sport News + Tring Super + Tring Tring + Tring World + TV Klan + Vizion Plus + diff --git a/sites/tvprofil.com/tvprofil.com.config.js b/sites/tvprofil.com/tvprofil.com.config.js index d3581236..6cf2f80d 100644 --- a/sites/tvprofil.com/tvprofil.com.config.js +++ b/sites/tvprofil.com/tvprofil.com.config.js @@ -74,7 +74,7 @@ function buildQuery(site_id, date) { const query = { datum: date.format('YYYY-MM-DD'), kanal: site_id, - callback: `cb` + callback: 'cb' } const a = query.datum + query.kanal diff --git a/sites/tvprofil.com/tvprofil.com.test.js b/sites/tvprofil.com/tvprofil.com.test.js index 1796b7eb..47af3e75 100644 --- a/sites/tvprofil.com/tvprofil.com.test.js +++ b/sites/tvprofil.com/tvprofil.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvprofil.com/tvprofil.com.config.js --channels=sites/tvprofil.com/tvprofil.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=tvprofil.com const { parser, url, request } = require('./tvprofil.com.config.js') const fs = require('fs') @@ -17,7 +17,7 @@ const channel = { it('can generate valid url', () => { expect(url({ channel, date })).toBe( - `https://tvprofil.com/bg/tv-programa/program/?datum=2023-01-12&kanal=24kitchen-bg&callback=cb&b55=747917` + 'https://tvprofil.com/bg/tv-programa/program/?datum=2023-01-12&kanal=24kitchen-bg&callback=cb&b55=747917' ) }) diff --git a/sites/tvtv.us/tvtv.us.channels.xml b/sites/tvtv.us/tvtv.us.channels.xml index 8c8b6682..5f94708b 100644 --- a/sites/tvtv.us/tvtv.us.channels.xml +++ b/sites/tvtv.us/tvtv.us.channels.xml @@ -1,2301 +1,2299 @@ - - - - - 3ABN English - 5 StarMax East - Aaj Tak - Aastha Bhajan - ABC East - ABC News Live - ABC Spark - ACC Network - AccuWeather - ActionMax East - ActionMax West - Adrenalina Sports Network - [adult swim]East - [adult swim]West - A&E East - A&E West - AFN Spectrum - AFN Sports - AFN Sports 2 - Al Resalah - Altitude Sports - AMC East - AMC Plus - AMC West - American Heroes Channel - America's Auction Channel - AMI-tv - AMP2 - Animal Planet East - Animal Planet West - ANT1 Satellite - Antenna TV - Arirang World - ART America - ARY Zauq - A.Side - Aspire TV - ATN Colors Rishtey - ATN Movies - ATN Punjabi 5 - ATN Punjabi Plus - ATN Zoom - AT&T SportsNet Pittsburgh - AT&T SportsNet Rocky Mountain - AT&T SportsNet Rocky Mountain Utah - AT&T SportsNet Rocky Mountain West - AT&T SportsNet Southwest - AT&T SportsNet Southwest Plus - AWE - AXS TV - AyM Sports - Azteca 7 - B4U Music USA - BabyFirst TV - Bally Sports Arizona - Bally Sports Arizona Extra - Bally Sports Detroit - Bally Sports Detroit Extra - Bally Sports Florida - Bally Sports Great Lakes - Bally Sports Indiana - Bally Sports Kansas City - Bally Sports New Orleans - Bally Sports Ohio - Bally Sports Ohio+ - Bally Sports Oklahoma - Bally Sports San Diego - Bally Sports SoCal - Bally Sports South - Bally Sports Southeast - Bally Sports Southeast Georgia - Bally Sports Southeast North Carolina - Bally Sports Southeast South Carolina - Bally Sports Southeast Tennessee - Bally Sports South Georgia - Bally Sports Southwest - Bally Sports Sun - Bally Sports West - Bally Sports Wisconsin - Bandamax - BBC America East - BBC World News (North America) - beIN SPORTS 3 - beIN SPORTS 4 - beIN SPORTS 5 - beIN SPORTS 6 - beIN SPORTS 7 - beIN SPORTS 8 - BeIn Sports en Español - BeIn Sports USA - beIN Sports Xtra USA - beIN Sports Xtra En Espanol - BET East - BET Gospel - BET Her - BET Jams - BET Soul - BET West - Big Ten Network - Big Ten Network Alternate - Big Ten Network Overflow 2 - Big Ten Network Overflow 3 - Big Ten Network Overflow 4 - Blaze - Bloomberg Television - Boomerang - Bounce - Bravo East - Bravo West - Brazzers TV - Buzzr - CaribVision - Cars.TV - Cartoon Network Canada - Cartoon Network East - Cartoon Network West - Catholic Faith Network - CBC News Network - CBC Windsor - CBC Halifax - CBC Toronto - CBC Montreal - CBC Ottawa - CBC Calgary - CBS East - CBS News Live - CBS Sports Network Canada - CBS Sports Network - CBC Winnipeg - CBC Edmonton - CentroAmérica TV - ICI (CFHD-DT) Montréal, QC - CTV2 (CFPL-DT) London ON - CTV (CFTO-DT) Toronto ON - CGTN America - Channel i - Charge! - Global (CHBC-DT-2) Vernon, BC - Cheddar News - Global (CHKM) Kamloops, BC - CTV2 (CHWI-DT) Wheatley ON - TVOntario (CICA-DT) Toronto - Cine Estelar - Cinemax East - Cinemax West - Cine Sony - Circle - CTV (CKCO-DT) Kitchener ON - CTV2 (CKVR-DT) Barrie ON - Classic Arts Showcase - Cleo TV - CMT East - CMT Music - CNBC - CNBC World - CNN - CNN en Español - CNN International Asia - CNN International Latin America - CNN International - Colors Bangla - Comedy Central East - Comedy Central West - Comedy.TV - Comet - CONtv - Cooking Channel - Court TV Mystery - Cozi TV - CPAC - Create - C-SPAN - C-SPAN2 - C-SPAN3 - CTV Sci-Fi Channel - CW East - Dabl - Daystar TV - Decades - Deja View - De Pelicula Clasico - De Pelicula - Destination America - Discovery Channel East - Discovery Channel West - Discovery Channel en Español - Discovery Familia - Discovery Family - Discovery Life - Disney Channel Canada West - Disney Channel East - Disney Channel West - Disney Junior East - Disney Junior West - Disney XD East - Disney XD West - Classic Doctor Who - DocuBox HD - Docurama - Dog TV - Dream 2 - Dust - DW Deutsch+ - DW English OTA - E! East - Electric Now - Enlace - Esperanza TV - ESPN - ESPN 2 - ESPN College Extra 1 - ESPN College Extra 2 - ESPN College Extra 3 - ESPN College Extra 4 - ESPN College Extra 5 - ESPN College Extra 6 - ESPN College Extra 7 - ESPN College Extra 8 - ESPN Deportes - ESPNEWS - ESPNU - Estrella TV - ESTV - Entertainment Tonight Live - ETTV America - ETTV China - ETTV Drama - ETTV Global - ETTV News - Euronews English - Euronews Français - E! West - EWTN - Fairchild TV 2 - FanDuel Racing - FanDuel TV - FETV - Fight Network - Flix East - Flix West - Folk TV - Food Network East - Food Network West - Fox Business - Fox Deportes - Fox East - FOX News - Fox Soccer Plus - Fox Sports 1 - Fox Sports 2 - FOX Weather - France 24 English - Freeform East - Freeform West - Free Speech TV - Frissons TV - Fuse East - Fuse West - Fusion - FX East - FX Movie Channel - FX West - FXX East - FXX West - FYI East - FYI West - Galavisión Este - Galavisión Oeste - Game Show Central - Game Show Network East - Game Show Network West - Gem Shopping Network - GetTV - GMA Life TV - GMA News - GMA Pinoy TV - GodTV - Golf Channel - Gol TV - Great American Country - Grit - Hallmark Channel East - Hallmark Channel West - Hallmark Drama - Hallmark Movies & Mysteries East - Hallmark Movies & Mysteries West - HBO2 East - HBO2 West - HBO Comedy East - HBO Comedy West - HBO East - HBO Family East - HBO Family Latinoamérica - HBO Family West - HBO Signature East - HBO Signature West - HBO West - HBO Zone East - HBO Zone West - HDNet Movies - HGTV East - HGTV West - Hillsong Channel - History2 Canada - History East - History en Español - History West - HITN - HLN - Hollywood Suite 00s Movies - Hollywood Suite 70s Movies - Hollywood Suite 80s Movies - Hollywood Suite 90s Movies - Hope Channel - HSN - HSN2 - HTV - Hum TV - i24 News English - IFC East - IFC West - Impact Network - IndiePlex East - IndiePlex West - INSP - Investigation - Investigation Discovery East - Investigation Discovery West - ION Plus East - ION TV East - IVC - Jaya Plus - JBS - Jewelry TV - Jewish Life Television - Johnny Carson - 360 North (K05FW-D3) Girdwood, AK - Three Angels (K08MM) Bakersfield, CA - Comet TV (K11LC-D2) Prescott, AZ - FOX (K13AV-DT3) Denver, CO - THIS (K13AV) Denver, CO - NASA (K13AV-DT6) Denver, CO - Movies! (K14HC-D2) Prescott, AZ - Buzzr TV (K14HC-D3) Prescott, AZ - World Harvest (K14JS-DT2) Denver, CO - Daystar (K14JS-D3) Denver, CO - CHARGE! (K14JS-D4) Denver, CO - PosiTiV (K14JS-DT5) Denver, CO - Smile (K14JS-DT6) Denver, CO - UniMas (K15HJ-D) Ridgecrest, CA - Three Angels (K17JI) Fresno, CA - 3ABN Proclaim (K17JI-D2) Fresno, CA - 3ABN Dare to Dream (K17JI-D3) Fresno, CA - 3ABN Latino (K17JI-DT4) Fresno, CA - Movies! (K18DR-DT4) Cortez, CO - PBS (K18HD) Fresno, CA - Antenna (K19KV-D2) Prescott, AZ - Court TV (K19KV-D4) Prescott, AZ - Three Angels (K21DO) Palm Springs, CA - 3ABN Proclaim (K21DO-D2) Palm Springs, CA - 3ABN Latino (K21DO-DT4) Palm Springs, CA - CW (K21LC-DT5) Cortez, CO - MyNetworkTV (K23DT-D) Tahoe City, CA - HSN (K25OM-D2) Prescott, AZ - H&I (K25OM-D3) Prescott, AZ - Grit TV (K25OM-D5) Prescott, AZ - Family Channel USA (K26CI-DT3) Cortex, CO - Retro TV (K26CI-DT5) Cortez, CO - REV'N (K26CI-DT7) Cortez, CO - CHARGE! (K26GS-D2) Harrison, AR - Court TV Mystery (K26GS-D3) Harrison, AR - Gospel Broadcasting (K26GS-DT8) Harrison, AR - Movies! (K28CW-D2) Flagstaff, AZ - Buzzr TV (K28CW-D3) Flagsttaff, AZ - FOX (K28CW) Flagstaff, AZ - DABL (K30JD-D3) Prescott, AZ - 3ABN Latino (K31NF-D2) Verde Valley, Etc., AZ - Amazing Facts TV (K31NF-D4) Verde Valley, Etc., AZ - 3ABN Proclaim (K32LO-D3) Prescott, AZ - Ace TV (K38IZ-D2) Phoenix, AZ - AMG-TV (K38IZ-D4) Phoenix, AZ - REV'N (K38IZ-D7) Phoenix, AZ - MCAETv (K38JP-D3) Monterey, CA - PBS Life (K43LW-D) Prescott, Etc., AZ - Azteca (K46LG) Monterey, CA - Infomercials (K46LG-D2) Monterey, CA - Jewelry Television (K46LG-DT3) Monterey, CA - Infomercials (K46LG-D4) Monterey, CA - FNX (K48MN-D2) Boulder, CO - Antenna (KAAP-LD3) Santa Cruz, CA - NewsNet (KAAP-LD) Santa Cruz, CA - Jewelry TV (KAAP-LD8) Santa Cruz, CA - ABC (KABC) Los Angeles, CA - Localish (KABC-TV2) Los Angeles, CA - THIS (KABC-TV3) Los Angeles, CA - PBS (KAET-DT1) Arizona PX - PBS Arizona Life (KAET-DT2) Arizona PX - PBS World (KAET-DT3) Arizona PX - PBS Kids (KAET-DT4) Arizona PX - CBN News Channel (KAHC-LD) Sacramento, CA - Shop LC (KAHC-LD4) Sacramento, CA - QVC (KAHC-LD5) Sacramento, CA - QVC2 (KAHC-LD6) Sacramento, CA - Infomercials (KAHC-LD7) Sacramento, CA - TCT (KAIL) Fresno, CA - The Grio (KAIL-DT2) Fresno, CA - H&I (KAIL3) Fresno, CA - UniMas (KAKW-DT2) Austin, TX - Daystar (KAKZ-LD2) Palm Springs, CA - Azteca (KAKZ-LD3) Palm Springs, CA - QVC (KAKZ-DT4) Palm Springs, CA - Kanal D - NBC (KARE-DT1) St Paul, MN - Court TV (KARE-DT2) St Paul, MN - True Crime Network (KARE-DT3) St Paul, MN - Quest (KARE-DT4) St Paul, MN - Circle (KARE-DT5) St Paul, MN - CW (KASW-DT1) Arizona PX - Grit (KASW-DT2) Arizona PX - NBC (KATH-LD1) Juneau, AK - CBS (KAUU-DT1) Anchorage, AK - Decades (KAXT-CD2) San Francisco, CA - Story Television (KAZA-DT2) Avalon, CA - MeTV (KAZT-CD2) Phoenix, AZ - HSN (KAZT-CD3) Phoenix, AZ - CHARGE! (KAZT-CD4) Phoenix, AZ - MeTV (KAZT-DT2) Prescott, AZ - HSN (KAZT-DT3) Prescott, AZ - CHARGE! (KAZT-DT4) Prescott, AZ - CW (KBCW) San Francisco, CA - Comet TV (KBCW2) San Francisco, CA - MeTV (KBCW-DT3) San Francisco, CA - TBD TV (KBCW-DT4) San Francisco, CA - Circle (KBCW5) San Francisco, CA - KBFD TV (KBFD-DT) Honolulu, HI - FOX (KBFX) Bakersfield, CA - TBD TV (KBFX-DT2) Bakersfield, CA - Comet TV (KBFX-CD3) Bakersfield, CA - Al Jazeera (KBID-LP) Coalinga, CA - DW English (KBID-DT2) Fresno, CA - Al Mayadeen (KBID-LP3) Fresno, CA - Jewelry Television (KBID-DT4) Fresno, CA - amga TV (KBID-LP5) Fresno, CA - Noor TV (KBID-DT7) Fresno, CA - SAB TV (KBID-DT8) Fresno, CA - UNI (KBNT) San Diego, CA - LATV (KBNT-CD2) San Diego, CA - Stadium (KBNT-CD3) San Diego, CA - Comet TV (KBNT4) San Diego, CA - CBS (KBOI-TV) Boise, ID - CW (KBOI-DT2) Boise, ID - UniMás (KBTF) Bakersfield, CA - GetTV (KBTF-CD2) Bakersfield, CA - Court TV Mystery (KBTF-CD3) Bakersfield, CA - ONTV4U (KBTV-CA2) Sacramento, CA - SonLife Network (KBTV-CA3) Sacramento, CA - Bold TV (KBTV-CD4) Sacramento, CA - Retro TV (KBTV-CA5) Sacramento, CA - Mainstreet TV (KBTV-CA6) Sacramento, CA - REV'N (KBTV-CA7) Sacramento, CA - FOX (KBVU) Eureka, CA - Comet TV (KBVU2) Eureka, CA - CHARGE! (KBVU3) Eureka, CA - Stadium (KBVU-DT3) Eureka, CA - FOX (KCBA) Salinas, CA - DABL (KCBS-TV3) Los Angeles, CA - FAVE TV (KCBS-TV4) Los Angeles, CA - Estrella (KCBT) Bakersfield, CA - KCET (KCET) Los Angeles, CA - Create (KCET2) Los Angeles, CA - NHK World (KCET-DT3) Los Angeles, CA - CBS (KCNC-TV) Denver, CO - ShopHQ (KCNS) San Francisco, CA - SonLife (KCNS-DT3) San Francisco, CA - Estrella TV (KCNS-DT4) San Francisco, CA - New Tang Dynasty TV (KCNS-DT5) San Francisco, CA - NTD Eng! (KCNS-DT6) San Francisco, CA - LATV (KCNZ-CD) San Francisco, CA - QVC2 (KCNZ-CD2) San Francisco, CA - Shop LC (KCNZ-CD6) San Francisco, CA - Majestadtv (KCNZ-CD7) San Francisco, CA - MyNetworkTV (KCOP) Los Angeles, CA - Buzzr TV (KCOP-TV2) Los Angeles, CA - Movies! (KCOP-DT3) Los Angeles, CA - H&I (KCOP-TV4) Los Angeles, CA - NewsChannel 12 OEYT (KCOY) Santa Maria, CA - FOX (KCOY-DT2) Santa Maria, CA - Grit TV (KCOY-TV3) Santa Maria, CA - FOX (KCPQ-DT1) Seattle WA - Court TV (KCPQ-DT2) Seattle, WA - Court TV Mystery (KCPQ-DT3) Seattle, WA - Stadium (KCPQ-DT4) Seattle, WA - NBC (KCRA) Sacramento, CA - MeTV (KCRA-DT2) Sacramento, CA - ABC (KCRG-DT1) Cedar Rapids, IA - Telemundo (KCSO) Sacramento, CA - MeTV (KCSO-DT2) Sacramento, CA - TeleXitos (KCSO-DT3) Sacramento, CA - LX Network (KCSO-LD5) Sacramento, CA - FOX (KCVU) Chico, CA - Comet TV (KCVU2) Chico, CA - CHARGE! (KCVU3) Chico, CA - Stadium (KCVU-DT4) Chico, CA - DABL (KCVU5) Chico, CA - CW (KCWQ) Palm Springs, CA - CW (KDAF-DT1) Dallas, TX - Antenna TV (KDAF-DT2) Dallas, TX - Court TV (KDAF-DT3) Dallas, TX - Charge! (KDAF-DT4) Dallas, TX - Corner Store (KDBK-LP2) Bakersfield, CA - The Walk TV (KDEO-DT6) Denver, CO - FOX (KDFW-DT1) Dallas, TX - MyNetwork TV (KDFW-DT2) Dallas, TX - Heores and Icons (KDFW-DT3) Dallas, TX - GetTV (KDFW-DT4) Dallas, TX - FOX (KDFX) Palm Springs, CA - PBS (KDIN-TV) Des Moines, IA - UniMás (KDJT) Monterey, CA - CBS (KDKA-DT1) Pittsburgh, PA - Start TV (KDKA-DT2) Pittsburgh, PA - Dabl (KDKA-DT3) Pittsburgh, PA - ABC (KDNL-DT1) St Louis, MO - TBD. (KDNL-DT1) St Louis, MO - Charge (KDNL-DT1) St Louis, MO - Stadium (KDNL-DT1) St Louis MO - KDOC (KDOC) Los Angeles, CA - ESNE (KDOC-TV2) Los Angeles, CA - MeTV (KDOC-DT3) Los Angeles, CA - Comet TV (KDOC-TV4) Los Angeles, CA - VGNTV (KDOC-DT5) Los Angeles, CA - Local Now (KDOC-DT6) Los Angeles, CA - CHARGE! (KDOC-TV8) Anaheim, CA - Daystar (KDPH-LD2) Phoenix, AZ - Jewelry Television (KDPH-DT4) Phoenix, AZ - FOX (KDSM-TV) Des Moines, IA - UniMás (KDTF) San Diego, CA - Daystar (KDTS) Stockton, CA - UNI (KDTV-CD) Santa Rosa, CA - UniMás (KDTV-CD2) San Francisco, CA - GetTV (KDTV-CD3) San Francisco, CA - Court TV Mystery (KDTV-CD4) San Francisco, CA - True Crime Network (KDTV-CD5) San Francisco, CA - UNI (KDTV) San Francisco, CA - GetTV (KDTV-DT3) San Francisco, CA - Court TV Mystery (KDTV-DT4) San Francisco, CA - FOX (KDVR) Denver, CO - Corner Store (KEBK-LD2) Bakersfield, CA - CW+ (KECA) Eureka, CA - MyNetworkTV (KECA-DT2) Eureka, CA - NBC (KECI-TV) Missoula MT - Telemundo (KECY-DT4) El Centro, CA - PBS North Coast (KEET) Eureka, CA - PBS North Coast Kids (KEET-DT2) Eureka, CA - North Coast Create (KEET3) Eureka, CA - FNX (KEET4) Eureka, CA - PBS North Coast World (KEET-TV5) Eureka, CA - MeTV Plus (KEJR-LD2) Phoenix, AZ - PBS (KERA-DT1) Dallas, TX - PBS Kids (KERA-DT2) Dallas, TX - Create (KERA-DT3) Dallas, TX - World (KERA-DT4) Dallas, TX - ABC (KERO) Bakersfield, CA - Court TV (KERO-TV2) Bakersfield, CA - MeTV (KERO-DT3) Bakersfield, CA - ABC (KESQ) Palm Springs, CA - Telemundo (KESQ-DT8) Palm Springs, CA - PBS (KETC-DT1) St Louis, MO - PBS Kids (KETC-DT2) St Louis, MO - PBS World (KETC-DT3) St Louis, MO - Create (KETC-DT4) St Louis, MO - UNI (KEUV) Eureka, CA - UNI (KEVC) Indio, CA - UniMás (KEVC-DT2) Santa Barbara, CA - LATV (KEVC-DT3) Palm Springs, CA - UniMás (KEXT) Modesto, CA - ABC (KEYT) Santa Barbara, CA - MyNetworkTV (KEYT-DT2) Santa Barbara, CA - Bounce (KEYT-TV3) Santa Barbara, CA - UNI (KEZT) Stockton, CA - Decades (KFAZ-CA2) Fresno, CA - NewsNet (KFLA) Los Angeles, CA - The Country Network (KFLA-LD2) Los Angeles, CA - Corner Store (KFLA-LD3) Los Angeles, CA - Biz-TV (KFLA-LD4) Los Angeles, CA - Jewelry Television (KFLA-LD5) Los Angeles, CA - CBS (KFMB) San Diego, CA - CW (KFMB-TV2) San Diego, CA - Grit TV (KFMB-TV3) San Diego, CA - True Crime Network (KFMB-TV4) San Diego, CA - Quest (KFMB-TV5) San Diego, CA - Infomercials (KFMS-LD) Keyes, CA - Cheddar (KFMS-LD3) Sacramento, CA - Revenue Frontier (KFMS-LD4) Sacramento, CA - AAN (KFMS-LD5) Sacramento, CA - Newsmax TV (KFMS-LD6) Sacramento, CA - THIS (KFPB-LD3) Globe, AZ - Stadium (KFPB-LD6) Globe, AZ - TBD TV (KFPB-LD7) Globe, AZ - GetTV (KFPH-CD3) Phoenix, AZ - Court TV Mystery (KFPH-CD4) Phoenix, AZ - CW (KFRE) Fresno, CA - CHARGE! (KFRE-TV2) Fresno, CA - TBD TV (KFRE-TV3) Fresno, CA - UniMás (KFSF) San Francisco, CA - UNI (KFSF-DT2) San Francisco, CA - Bounce (KFSF-DT3) Vallejo, CA - Grit TV (KFSF-DT4) San Francisco, CA - True Crime Network (KFSF-DT5) Vallejo, CA - Twist (KFSF-DT6) San Francisco, CA - ABC (KFSN) Fresno, CA - Localish (KFSN-TV2) Fresno, CA - THIS (KFSN-TV3) Fresno, CA - UniMás (KFTR) Ontario, CA - GetTV (KFTR-DT2) Ontario, CA - Court TV Mystery (KFTR-DT3) Ontario, CA - Grit TV (KFTR-DT4) Ontario, CA - Quest (KFTR-DT5) Ontario, CA - UNI (KFTU-DT2) Douglas, AZ - UNI (KFTV) Fresno, CA - GetTV (KFTV-DT2) Hanford, CA - Court TV Mystery (KFTV-DT3) Hanford, CA - Grit TV (KFTV-DT4) Hanford, CA - LATV (KFUL) Los Angeles, CA - Retro TV (KGEC) Redding, CA - Action (KGEC-DT2) Redding, CA - Family Channel USA (KGEC-DT3) Redding, CA - NASA (KGEC-DT4) Redding, CA - NBC (KGET) Bakersfield, CA - CW (KGET-TV2) Bakersfield, CA - CBS (KGMB) Honolulu, HI - Estrella (KGMC) Clovis, CA - Daystar (KGMC-DT3) Clovis, CA - HSN (KGMC4) Clovis, CA - Antenna (KGMC5) Clovis, CA - MeTV (KGMC-DT6) Fresno, CA - ABC (KGO-DT1) San Francisco, CA - Localish (KGO-DT2) San Francisco, CA - This TV (KGO-DT3) San Francisco, CA - HSN (KGO-DT4) San Francisco, CA - CBS (KGPE) Fresno, CA - Court TV Mystery (KGPE2) Fresno, CA - ABC (KGTV) San Diego, CA - MeTV (KGTV2) San Diego, CA - Laff (KGTV3) San Diego, CA - Court TV Mystery (KGTV4) San Diego, CA - Bounce (KGTV5) San Diego, CA - Newsy (KGTV6) San Diego, CA - ABC (KGUN-DT1) Tucson, AZ - CBS (KGWC-DT1) Casper, WY - ABC (KGWC-DT2) Casper, WY - SonLife Network (KHDT-DT3) Denver, CO - PBS (KHET) Honolulu, HI - MyNetworkTV (KHII-TV) Honolulu, HI - Court TV (KHIZ) Victorville, CA - Laff (KHIZ-LD2) Los Angeles, CA - Grit TV (KHIZ-LD3) Los Angeles, CA - Infomercials (KHIZ-LD4) Los Angeles, CA - Shop LC (KHIZ-LD5) Los Angeles, CA - SSTN (KHIZ-LD6) Los Angeles, CA - CBN News (KHIZ-LD7) Los Angeles, CA - NBC (KHNL) Honolulu, HI - K5 (KHNL-DT2) Honolulu, HI - FOX (KHON-TV) Honolulu, HI - CW (KHON-DT2) Honolulu, HI - CBS (KHOU-DT1) Houston, TX - Shop LC (KHOU-DT2) Houston, TX - True Crime Network (KHOU-DT3) Houston, TX - Twist (KHOU-DT4) Houston, TX - Circle (KHOU-DT5) Houston, TX - NBC (KHQ-DT1) Spokane, WA - SWX Collage Sports (KHQ-DT2) Spokane, WA - Real Estate (KHSC-DT2) Fresno, CA - Revenue Frontier (KHSC-DT3) Fresno, CA - SonLife Network (KHSC-DT4) Fresno, CA - Estrella (KHSC-DT5) Fresno, CA - CBS (KHSL) Chico, CA - CW (KHSL-DT2) Chico, CA - MeTV+ (KHTV-CD) Los Angeles, CA - CW (KIAH-DT1) Houston, TX - Antenna TV (KIAH-DT2) Houston, TX - Comet (KIAH-DT3) Houston, TX - TBD (KIAH-DT4) Houston, TX - Court TV (KIAH-DT5) Houston, TX - KTVU Plus (KICU-TV) San Jose, CA - CGTN (KICU-TV3) San Jose, CA - Decades (KICU-TV4) San Jose, CA - The Grio (KICU-TV5) San Jose, CA - NBC (KIEM) Eureka, CA - US Armenia (KIIO-LD) Los Angeles, CA - KIKU (KIKU) Honolulu, HI - Bounce (KILM) Los Angeles, CA - True Crime Network (KING-DT2) Seattle, WA - Quest (KING-DT3) Seattle, WA - Twist (KING-DT4) Seattle, WA - CW (KION-TV2) Monterey, CA - ION (KION-TV3) Monterey, CA - CBS (KIRO-DT1) Seattle, WA - Cozi TV (KIRO-DT2) Seattle, WA - Laff (KIRO-DT3) Seattle, WA - ABC (KITV) Honolulu, HI - MeTV (KITV-DT2) Honolulu, HI - Hawaii TV (KITV-DT3) Honolulu, HI - ABC (KIVI-DT1) Boise, ID - PBS (KIXE) Redding, CA - Create (KIXE-TV2) Redding, CA - PBS World (KIXE-DT3) Redding, CA - Bounce (KJEO-LP) Fresno, CA - QVC (KJEO-DT2) Fresno, CA - AMG-TV (KJEO-LD3) Fresno, CA - Mana Vision 3 (KJEO-DT4) Fresno, CA - Hmong TV USA (KJEO-DT6) Fresno, CA - PBS (KJHP-LP) Morongo Valley, CA - Empire PBS (KJHP-LP3) Morongo Valley, CA - Create (KJHP-LP4) Morongo Valley, CA - Azteca (KJLA) Los Angeles, CA - VBS (KJLA-DT6) Los Angeles, CA - ZWTV (KJLA-DT9) Los Angeles, CA - MeTV (KKAF-CD2) Siloam Springs, AR - Telemundo (KKEY) Bakersfield, CA - FOX (KKFX) Santa Barbara, CA - CBS (KKFX-DT2) Santa Barbara, CA - Three Angels (KKPM-CD) Chico, CA - CMC-TV (KKPM-CD10) Chico, CA - God TV (KKPM-DT2) Sacramento, CA - Daystar (KKPM-CD3) Clovis, CA - (KKPM-CD4) Sacramento, CA - QVC (KKPM-DT5) Sacramento, CA - The Walk (KKPM-DT6) Chico, CA - ION (KKPX) San Francisco, CA - Bounce (KKPX-TV2) San Francisco, CA - Court TV (KKPX-TV3) San Francisco, CA - Defy (KKPX-TV4) San Francisco, CA - Laff (KKPX-TV5) San Francisco, CA - TrueReal (KKPX-TV6) San Francisco, CA - UniMás (KKTF-LD) Chico, CA - PBS (KLCS) Los Angeles, CA - PBS Kids (KLCS-DT2) Los Angeles, CA - Three Angels (KLFB-LD) Salinas, CA - 3ABN Latino (KLFB-LD2) Salinas, CA - 3ABN Proclaim (KLFB-LD3) Salinas, CA - ABC (KLKN-DT1) Lincoln, NE - Decades (KLPD-LD2) Denver, CO - Retro TV (KLRA-CD4) Little Rock, AR - PBS (KLRU-DT1) Austin, TX - Create (KLRU-DT2) Austin, TX - World (KLRU-DT3) Austin, TX - PBS Kids (KLRU-DT4) Austin, TX - CW (KMAX) Sacramento, CA - Laff (KMAX-TV2) Sacramento, CA - Comet TV (KMAX-TV3) Sacramento, CA - CHARGE! (KMAX-TV4) Sacramento, CA - Circle (KMAX-TV5) Sacramento, CA - TeleXitos (KMBY-LD2) Monterey, CA - Daystar (KMBY-LD3) Monterey, CA - UNI (KMEX) Los Angeles, CA - UniMás (KMEX-DT2) Los Angeles, CA - Bounce (KMEX-DT3) Los Angeles, CA - True Crime Network (KMEX-DT4) Los Angeles, CA - ABC (KMGH-DT1) Denver, CO - NBC (KMIR) Palm Springs, CA - MeTV (KMIR-DT2) Palm Springs, CA - Movies! (KMIR-DT3) Palm Springs, CA - Infomercials (KMMC) San Francisco, CA - Court TV (KMMD-CD) Salinas, CA - Bounce (KMMD-CD2) Salinas, CA - The Grio (KMMD-CD3) Salinas, CA - Grit TV (KMMD-CD4) Salinas, CA - Court TV Mystery (KMMD-CD5) Salinas, CA - Laff (KMMD-CD6) Salinas, CA - Laff (KMMD-CD7) Salinas, CA - Telemundo (KMMW-LD) Stockton, CA - CBS (KMOV-DT1) St Louis MO - Cozi TV (KMOV-DT2) St Louis MO - MyNetwork (KMOV-DT3) St Louis MO - Laff (KMOV-DT4) St Louis MO - Circle (KMOV-DT4) St Louis MO - FOX (KMPH-CD) Fresno, CA - FOX (KMPH) Fresno, CA - DABL (KMPH-TV2) Fresno, CA - Comet TV (KMPH-CD3) Los Angeles, CA - Azteca (KMSG-LD2) Visalia, CA - Daystar (KMSG-LD3) Fresno, CA - The Country Network (KMSG-DT5) Fresno, CA - (KMTP) San Francisco, CA - World Channel (KMTP-TV2) San Francisco, CA - WTV (KMTP-TV4) San Francisco, CA - NTD TV (KMTP-DT5) San Francisco, CA - Telemundo (KMUM-CD) Sacramento, CA - Telemundo (KMUV) Monterey, CA - SSTN (KMYA-DT2) Little Rock, AR - NBC (KNBC) Los Angeles, CA - Cozi TV (KNBC2) Los Angeles, CA - LX Network (KNBC-DT3) Los Angeles, CA - HSN (KNET) Los Angeles, CA - HSN (KNLA) Los Angeles, CA - DIYA TV (KNLA-CD3) Los Angeles, CA - MeTV (KNLC-DT1) St Louis, MO - NLEC (KNLC-DT2) St Louis, MO - Heroes and Icons (KNLC-DT3) St Louis, MO - Movies (KNLC-DT4) St Louis MO - Decades (KNLC-DT5) St Louis MO - Start TV (KNLC-DT6) St Louis MO - MeTV Plus (KNLC-DT7) St Louis MO - NBC (KNSD) San Diego, CA - Cozi TV (KNSD2) San Diego, CA - Telemundo (KNSO) Fresno, CA - TeleXitos (KNSO-DT2) Fresno, CA - ION (KNSO3) Fresno, CA - NBC (KNTV) San Francisco, CA - Cozi TV (KNTV2) San Francisco, CA - Telemundo (KNTV-DT3) San Francisco, CA - LX Network (KNTV-DT5) San Francisco, CA - NBC (KNVN) Chico, CA - Telemundo (KNVN-DT2) Chico, CA - AccuWeather (KNVN5) Chico, CA - KNXT (KNXT) Fresno, CA - ABC (KNXV-DT1) Arizona, PX - Antenna TV(KNXV-DT2) Arizona, PX - Laff (KNXV-DT3) Arizona, PX - QVC (KNXV-DT4) Arizona, PX - PBS SoCal1 (KOCE) Huntington Beach, CA - PBS SoCal2 (KOCE-TV2) Huntington Beach, CA - Daystar (KOCE-TV3) Los Angeles, CA - PBS World (KOCE-DT4) Huntington Beach, CA - PBS (KODG-LP) Palm Springs, CA - CHARGE! (KOFY-DT2) San Francisco, CA - PosiTiv (KOFY-DT3) San Francisco, CA - ABC (KOLO-DT1) Reno, NV - ABC (KOMO-DT1) Seattle, WA - Comet (KOMO-DT2) Seattle, WA - Charge (KOMO-DT3) Seattle, WA - MyNetworkTV (KOTR) Monterey, CA - CBS (KOVR) Sacramento, CA - Start TV (KOVR2) Sacramento, CA - DABL (KOVR3) Stockton, CA - FAVE TV (KOVR4) Stockton, CA - CBS (KPAX-TV) Missoula MT - PBS (KPBS) San Diego, CA - PBS World (KPBS-DT2) San Diego, CA - Create (KPBS3) San Diego, CA - PBS Kids (KPBS-DT4) San Diego, CA - ONTV4U (KPDF-CA6) Phoenix, AZ - Smart Lifestyle TV (KPHE-DT5) Phoenix, AZ - CBS (KPHO-DT1) Arizona, PX - Cozi TV (KPHO-DT2) Arizona, PX - Dabl (KPHO-DT3) Arizona, PX - Shop LC (KPHO-DT4) Arizona, PX - CBS (KPIX) San Francisco, CA - Start TV (KPIX-TV2) San Francisco, CA - DABL (KPIX-TV3) San Francisco, CA - FAVE TV (KPIX-TV4) San Francisco, CA - DW English (KPJK-DT4) San Mateo, CA - FNX (KPJK-TV5) San Mateo, CA - CW (KPLR-DT1) St Louis MO - Court TV (KPLR-DT2) St Louis MO - Comet (KPLR-DT3) St Louis MO - Rewind TV (KPLR-DT4) St Louis MO - KPMF-LD7 Paragould, AR - UNI (KPMR) Santa Barbara, CA - UniMás (KPMR-DT2) Santa Barbara, CA - LATV (KPMR-DT3) Santa Barbara, CA - NBC (KPNX-DT1) Arizona, PX - Shop LC (KPNX-DT2) Arizona, PX - True Crime Network (KPNX-DT3) Arizona, PX - Quest (KPNX-DT4) Arizona, PX - Twist (KPNX-DT5) Arizona, PX - Ion Television (KPPX-DT1) Arizona, PX - Bounce (KPPX-DT2) Arizona, PX - Court TV(KPPX-DT3) Arizona, PX - NewsY (KPPX-DT4) Arizona, PX - Defy TV (KPPX-DT5) Arizona, PX - TrueReal (KPPX-DT6) Arizona, PX - NBC (KPRC-DT1) Houston TX - Start TV (KPRC-DT2) Houston TX - Heroes and Icons (KPRC-DT3) Houston TX - MyNetworkTV (KPSE) Palm Springs, CA - Grit TV (KPSE-LD2) Palm Springs, CA - Bounce (KPSE-LD3) Palm Springs, CA - Weather (KPSN-LD2) Payson, AZ - True Crime Network (KPSN-LD3) Payson, AZ - CBS (KPSP-TV2) Palm Springs, CA - Ion (KPXD-DT1) Dallas, TX - ION (KPXN) Los Angeles, CA - Court TV (KPXN-TV2) Los Angeles, CA - Defy (KPXN-TV3) Los Angeles, CA - TrueReal (KPXN-TV4) Los Angeles, CA - Laff (KPXN-TV5) Los Angeles, CA - HSN (KPXN-TV6) Los Angeles, CA - MyNetworkTV (KQCA) Sacramento, CA - H&I (KQCA2) Sacramento, CA - Estrella (KQCA-DT3) Sacramento, CA - PBS (KQED) San Francisco, CA - PBS Plus (KQED2) San Jose, CA - PBS World (KQED3) San Francisco, CA - PBS Kids (KQED4) San Francisco, CA - PBS Plus (KQEH) San Jose, CA - PBS (KQEH-DT2) San Francisco, CA - PBS World (KQEH3) San Jose, CA - PBS Kids (KQEH4) San Jose, CA - PBS (KQET) Salinas, CA - PBS Plus (KQET2) San Francisco, CA - PBS World (KQET3) Watsonville, CA - PBS Kids (KQET4) Watsonville, CA - 3ABN Latino (KQMM-CD) Santa Maria, CA - Infomercials (KQRM-LP) Petaluma, CA - Three Angels (KQRO-LD) Morgan Hill, CA - CMC-TV (KQRO-LD3) Morgan Hill, CA - TLN (KQRO-LD4) Morgan Hill, CA - QVC (KQRO-LD5) Morgan Hill, CA - Daystar (KQRO-LD6) Morgan Hill, CA - IND (KQRO-LD8) Morgan Hill, CA - Heartland (KQRO-LD9) Morgan Hill, CA - KQSL-DT (KQSL-DT) Fort Bragg, CA - MeTV (KRAH-CD2) Paris, AR - Estrella (KRCA) Los Angeles, CA - KRCA-DT4 (KRCA-DT4) Los Angeles, CA - PBS (KRCB) Cotati, CA - Create (KRCB2) Cotati, CA - NHK World (KRCB-DT3) Cotati, CA - ABC (KRCR) Redding, CA - MeTV (KRCR-DT2) Redding, CA - Movies! (KRCR-DT3) Redding, CA - Daystar (KRDT-CD3) Redding, CA - QVC (KRDT-DT5) Redding, CA - H&I (KRET) Palm Springs, CA - THIS (KRET-DT2) Palm Springs, CA - Estrella (KRET-DT3) Palm Springs, CA - Antenna (KRET-CD4) Palm Springs, CA - Azteca (KRHT-LP) Redding, CA - FOX (KRIV-DT1) Houston TX - Decades (KRIV-DT2) Houston TX - KRON (KRON) San Francisco, CA - SportsGrid (KRON-DT3) San Francisco, CA - Quest (KRON-TV4) San Francisco, CA - Shop LC (KRON-TV5) San Francisco, CA - MyNetworkTV (KRVU) Chico, CA - Azteca (KSAO) Sacramento, CA - THIS (KSAO-DT2) Sacramento, CA - Buzzr TV (KSAO-LD3) Sacramento, CA - Shop LC (KSAO-DT5) Sacramento, CA - SonLife Network (KSAO-DT6) Sacramento, CA - The Country Network (KSAO-DT7) Sacramento, CA - FOX (KSAZ-DT1) Arizona, PX - Heroes and Icons (KSAZ-DT2) Arizona, PX - the Grio TV (KSAZ-DT3) Arizona, PX - CBS (KSBB-CD) Santa Barbara, CA - Azteca (KSBO) Santa Maria, CA - QVC (KSBS-CD3) Denver, CO - Jewelry TV (KSBS-DT5) Denver, CO - Estrella (KSBT-DT2) Los Angeles, CA - NBC (KSBW) Monterey, CA - ABC (KSBW-DT2) Monterey, CA - Estrella (KSBW-DT3) Monterey, CA - NBC (KSBY) Santa Barbara, CA - CW (KSBY2) Santa Barbara, CA - Laff (KSBY3) San Luis Obispo, CA - Court TV (KSBY4) San Luis Obispo, CA - KSCI (KSCI) Los Angeles, CA - SBS (KSCI-DT2) Long Beach, CA - Telemax (KSDI) Fresno, CA - NBC (KSDK-DT1) St Louis MO - GetTV (KSDK-DT2) St Louis MO - True Crime Network (KSDK-DT3) St Louis MO - Quest (KSDK-DT4) St Louis MO - Twist (KSDK-DT5) St Louis MO - This TV (KSDK-DT6) St Louis MO - Estrella (KSDX) San Diego, CA - Milenio (KSDY) San Diego, CA - Bounce (KSDY-LD2) San Diego, CA - Bounce (KSEE2) Fresno, CA - LATV (KSEE-DT3) Fresno, CA - Mana (KSFV-CD2) Los Angeles, CA - ABC (KSFY-DT1) Sioux Falls, SD - beIN Sports Xtra (KSKJ-CD) Los Angeles, CA - SSTN (KSKJ-DT2) Los Angeles, CA - Infomercials (KSKJ-CD3) Los Angeles, CA - Infomercials (KSKJ-CD4) Los Angeles, CA - Three Angels (KSKJ-DT5) Los Angeles, CA - UNI (KSMS) Monterey, CA - UniMás (KSMS-DT2) Monterey, CA - LATV (KSMS-DT3) Monterey, CA - Tai Shan TV (KSMV-LD10) Los Angeles, CA - Fil Am TV (KSMV-LD3) Los Angeles, CA - Hope Channel (KSMV-LD6) Los Angeles, CA - CGTN (KSMV-LD9) Los Angeles, CA - ION (KSPX) Sacramento-Modesto, CA - Court TV (KSPX-TV2) Sacramento-Modesto, CA - Laff (KSPX-TV3) Sacramento-Modesto, CA - Bounce (KSPX-TV4) Sacramento-Modesto, CA - Defy (KSPX-TV5) Sacramento-Modesto, CA - TrueReal (KSPX-TV6) Sacramento, CA - Telemundo (KSPX-TV9) Sacramento, CA - 45tv (KSTC-DT2) St Paul, MN - MeTV (KSTC-DT3) St Paul, MN - Antenna TV (KSTC-DT4) St Paul, MN - ABC (KSTP-DT1) St Paul, MN - True Real (KSTP-DT5) St Paul, MN - Heroes and Icons (KSTP-DT7) St Paul, MN - UniMas (KSTR-DT1) Dallas, TX - Telemundo (KSTS) San Jose, CA - TeleXitos (KSTS-DT2) San Jose, CA - NBC (KSTS-DT3) San Francisco, CA - Cozi TV (KSTS4) San Jose, CA - LX Network (KSTS-DT5) San Francisco, CA - Azteca (KSTV) Sacramento, CA - Circle (KSTW-DT5) Seattle, WA - Telemundo (KTAS) Santa Barbara, CA - Almavision (KTAV-LD) Los Angeles, CA - CBN News Channel (KTAV-LD2) Los Angeles, CA - Peace TV (KTAV-LD6) Altadena, CA - TBN (KTBN) Los Angeles, CA - Hillsong (KTBN-TV2) Santa Ana, CA - Smile (KTBN-TV3) Santa Ana, CA - Enlace (KTBN-TV4) Los Angeles, CA - PosiTiV (KTBN-TV5) Los Angeles, CA - PBS (KTCA-DT1) St Paul, MN - PBS Kids (KTCA-DT4) St Paul, MN - UniMás (KTFF) Porterville, CA - UNI (KTFF-DT2) Porterville, CA - Quest (KTFF-DT3) Porterville, CA - UniMas (KTFF-LD) Fresno, CA - UniMás (KTFK) Sacramento, CA - UNI (KTFK-DT13) Sacramento, CA - GetTV (KTFK-DT3) Sacramento, CA - Grit TV (KTFK-DT4) Stockton, CA - KTLA 5 (KTLA) Los Angeles, CA - Antenna (KTLA2) Los Angeles, CA - Court TV (KTLA3) Los Angeles, CA - H&I (KTLN-TV) San Rafael, CA - MeTV (KTLN-DT2) Novato, CA - MeTV (KTLN-TV3) Novato, CA - MeTV Plus (KTLN-DT4) San Francisco, CA - Telemundo (KTMD-DT1) Houston, TX - Telexitos (KTMD-DT2) Houston, TX - NBCLX (KTMD-DT3) Houston, TX - Cozi TV (KTMD-DT4) Houston, TX - ABC (KTMF) Missoula, MT - FOX (KTMF-DT2) Missoula, MT - TCT (KTNC) San Francisco, CA - Canal de La Fe (KTNC-TV2) San Francisco, CA - ABC (KTNV-DT1) Las Vegas, NV - ABC (KTRK-DT1) Houston TX - Localish (KTRK-DT2) Houston, TX - This TV (KTRK-DT3) Houston, TX - QVC (KTRK-DT4) Houston, TX - UniMás (KTSB) Santa Barbara, CA - UniMás (KTSB-DT2) Santa Barbara, CA - LATV (KTSB-DT3) Santa Barbara, CA - KTSF (KTSF) Bisbane, CA - KBS World (KTSF-DT3) San Francisco, CA - Viet Today TV (KTSF-DT5) San Francisco, CA - FOX (KTTV) Los Angeles, CA - The Grio (KTTV-DT3) Los Angeles, CA - Decades (KTTV4) Los Angeles, CA - MyNetworkTV (KTVD-DT1) Denver, CO - FOX (KTVI-DT1) St Louis, MO - Antenna TV (KTVI-DT2) St Louis, MO - Ion Mystery (KTVI-DT3) St Louis, MO - Dabl (KTVI-DT4) St Louis, MO - NBC (KTVM-DT1) Butte, MT - ABC (KTVO-DT1) Kirskville, MO - Shop LC (KTVP-LD3) Phoenix, AZ - CBS (KTVQ-DT1) Billings, MT - CW (KTVQ-DT2) Billings, MT - CBS (WFAA-DT1) Dallas, TX - Start TV (WFAA-DT2) Dallas, TX - Dabl (WFAA-DT3) Dallas, TX - Fave TV (WFAA-DT4) Dallas, TX - FOX (KTVU) San Francisco, CA - LATV (KTVU-DT2) San Francisco, CA - Movies! (KTVU-DT3) San Francisco, CA - Buzzr TV (KTVU4) Oakland, CA - Digi TV (KTVW-DT5) Phoenix, AZ - MyNetwork (KTXH-DT1) Houston TX - Movies! (KTXH-DT2) Houston TX - Buzzr (KTXH-DT3) Houston TX - the GrioTV (KTXH-DT4) Houston TX - FOX (KTXL) Sacramento, CA - Antenna (KTXL2) Sacramento, CA - Court TV (KTXL3) Sacramento, CA - TBD TV (KTXL-DT4) Sacramento, CA - Telemundo (KUAN) San Diego, CA - TeleXitos (KUAN-LD2) Poway, CA - UNI (KUCO) Chico, CA - PBS (KUFM-TV) Missoula, MT - PBS (KUHT-DT1) Houston, TX - Create (KUHT-DT2) Houston, TX - PBS Kids (KUHT-DT3) Houston, TX - PBS World (KUHT-DT4) Houston, TX - CMC-TV (KUKR-LD3) Santa Rosa, CA - Telemundo (KUNA) Palm Desert, CA - CatholicTV (KUPU) Waimanalo, HI - CMC-TV (KURK-LD) San Francisco, CA - Three Angels (KURK-LD3) San Francisco, CA - Vida Mejor TV (KURK-LD4) Santa Rosa, CA - KUSI (KUSI) San Diego, CA - My Nework TV (KUTP-DT1) Arizona, PX - Movies! (KUTP-DT2) Arizona, PX - Buzzr (KUTP-DT3) Arizona, PX - Decades (KUTP-DT4) Arizona, PX - Start TV (KUTP-DT5) Arizona, PX - Court TV Mystery (KUVE-CD4) Tucson, AZ - Court TV Mystery (KUVE-DT4) Tucson, AZ - MyNetworkTV (KUVI) Bakersfield, CA - UNI (KUVI-DT2) Bakersfield, CA - UniMás (KUVI-DT3) Bakersfield, CA - Court TV (KUVI-DT5) Bakersfield, CA - Univision (KUVN-DT1) Dallas, TX - UNI (KUVS) Modesto, CA - UniMás (KUVS-DT2) Sacramento, CA - Bounce (KUVS-DT3) Sacramento, CA - Court TV Mystery (KUVS-DT4) Modesto, CA - MeTV (KVBC) Fresno, CA - Start TV (KVBC-DT2) Reedley, CA - Movies! (KVBC-DT3) Reedley, CA - Market (KVBC-DT4) Reedley, CA - True Crime Network (KVBC-DT5) Reedley, CA - Heartland (KVBC-LP6) Reedley, CA - Buzzr TV (KVBC-LP7) Fresno, CA - NewsNet (KVBC-LD9) Fresno, CA - PBS (KVCR) San Bernardino, CA - FNX (KVCR-DT2) San Bernardino, CA - Empire PBS (KVCR-DT3) San Bernardino, CA - Create (KVCR-DT4) San Bernardino, CA - Telemundo (KVEA) Los Angeles, CA - TeleXitos (KVEA-DT2) Los Angeles, CA - UNI (KVES) Palm Springs, CA - Local Programming (KVHD-LD2) Los Angeles, CA - TV Guide (KVHF-LD) Fresno, CA - Infomercials (KVHF-LD13) Fresno, CA - Right Now TV (KVHF-LD2) Fresno, CA - REV'N (KVHF-LD4) Clovis, CA - Jewelry Television (KVHF-LD5) Fresno, CA - Biz-TV (KVHF-LD6) Fresno, CA - Deals (KVHF-LD7) Fresno, CA - PBS (KVIE) Sacramento, CA - PBS World (KVIE3) Sacramento, CA - PBS Kids (KVIE4) San Francisco, CA - CBS (KVIQ) Eureka, CA - LATV (KVMD) Twentynine Palms, CA - Tai Shan TV (KVMD-DT10) Twentynine Palms, CA - Jewelry Television (KVMD-DT3) Twentynine Palms, CA - Shop LC (KVMD-DT5) Twentynine Palms, CA - FaithTV (KVMD-DT6) Twentynine Palms, CA - Infomercials (KVMD7) Twentynine Palms, CA - CGTN (KVMD9) Twentynine Palms, CA - H&I (KVME) Bishop, CA - Infomercials (KVMM-CD2) Santa Barbara, CA - Shop LC (KVPA-LD2) Phoenix, AZ - PBS (KVPT) Fresno, CA - PBS Kids (KVPT-DT2) Fresno, CA - Create (KVPT3) Fresno, CA - PBS World (KVPT-DT4) Fresno, CA - ABC (KVUE-DT1) Austin, TX - Azteca (KVVG-LD) Porterville, CA - CW (KWGN-DT1) Denver, CO - Canal 22 (KWHY-TV) Los Angeles, CA - Heartland (KWHY-TV2) Los Angeles, CA - KWHY-DT3 (KWHY-DT3) Los Angeles, CA - Majestadtv (KWHY-DT5) Los Angeles, CA - Infomercials (KWMO-LD2) Hot Springs, AR - ABC (KWYB-DT1) Butte, MT - NBC (KXAN-DT1) Austin, TX - NBC (KXAS-DT1) Dallas TX - Cozi TV (KXAS-DT2) Dallas TX - NBCLX (KXAS-DT3) Dallas TX - LATV (KXBF-LD2) Bakersfield, CA - CBS (KXDF-CD1) Fairbanks, AK - KXLA (KXLA) Los Angeles, CA - amga TV (KXLA10) Los Angeles, CA - Infomercials (KXLA12) Los Angeles, CA - KXLA-DT2 (KXLA-DT2) Los Angeles, CA - Sky Link TV (KXLA-DT3) Los Angeles, CA - SonLife (KXLA-DT6) Los Angeles, CA - New Tang Dynasty TV (KXLA-DT7) Los Angeles, CA - Univision (KXLN-DT1) Houston, TX - Unimas (KXLN-DT2) Houston, TX - Ion Mystery (KXLN-DT3) Houston, TX - Bounce (KXTU-LD2) Colorado Springs, CO - Laff (KXTU-LD3) Colorado Springs, CO - Antenna (KXTU-LD4) Colorado Springs, CO - ABC (KXTV) Sacramento, CA - True Crime Network (KXTV-DT2) Sacramento, CA - Bounce (KXTV3) Sacramento, CA - Quest (KXTV4) Sacramento, CA - Twist (KXTV5) Sacramento, CA - Telemundo (KXTX-DT1) Dallas, TX - Antenna (KXVU-LP) Chico, CA - Azteca (KYAV) Palm Springs, CA - MeTV (KYAZ-DT1) Houston TX - MeTV Plus (KYAZ-DT2) Houston TX - Azteca America (KYAZ-DT3) Houston TX - Estrella TV (KYMA-DT3) Yuma, AZ - MeTV (KYMB-LD) Monterey, CA - THIS (KYMB-LD2) Monterey, CA - GetTV (KYMB-LD3) Monterey, CA - Buzzr TV (KYMB-LD4) Monterey, CA - SonLife Network (KYMB-LD5) Monterey, CA - The Country Network (KYMB-LD6) Monterey, CA - CBS (KYW-DT1) Philadelphia, PA - Start TV (KYW-DT2) Philadelphia, PA - Dabl (KYW-DT3) Philadelphia, PA - Azteca (KZDF) Santa Barbra, CA - Jewelry Television (KZDN-DT4) Denver, CO - Heartland (KZGN) Los Angeles, CA - Corner Store (KZGN-LD3) Los Angeles, CA - Azteca (KZKC-LP) Bakersfield, CA - SHOPHQ (KZMM-CD2) Fresno, CA - SonLife Network (KZMM-CD3) Fresno, CA - Infomercials (KZMM-CD4) Fresno, CA - MeTV (KZSD) San Diego, CA - MyNetworkTV (KZTC) San Diego, CA - MyNetworkTV (KZVU) Chico, CA - Laff - Law & Crime - Leafs Nation Network - Lifetime East - LMN East - LMN West - Lifetime Real Women East - Lifetime West - Link TV - LiveNow From FOX - Living Faith TV - Logo East - Logo West - Longhorn Network - Love Nature - Magnolia Network East - Makeful - Marquee Sports Network - MASN - MASN2 - MavTV - MBC America - MCAETv - Mediaset Italia - Mega TV - Melody Aflam - Melody Drama - Melody Hits - MeTV - Mezzo Live HD - MGM+ Drive-In - MGM+ East - MGM+ Hits East - MGM+ Marquee - MGM+ West - Military History Channel - MLB Extra Innings 1 - MLB Extra Innings 10 - MLB Extra Innings 2 - MLB Extra Innings 3 - MLB Extra Innings 4 - MLB Extra Innings 5 - MLB Extra Innings 6 - MLB Extra Innings 7 - MLB Extra Innings 8 - MLB Extra Innings 9 - MLB Network - MLB Strike Zone - MNT East - MoreMax East - MoreMax West - Motortrend - MovieMax East - MovieMax West - MoviePlex East - MoviePlex West - MSG - MSG Plus - MSNBC - MTV2 East - MTV2 West - MTV Classic East - MTV Classic West - MTV East - MTV Live (International) - MTV Live - MTV Tr3s East - MTV Tr3s West - MTV U - Music Choice 70s - Music Choice 80s - Music Choice 90s - Music Choice Alternative - Music Choice Classic Rock - Music Choice Country Hits - Music Choice Dance/EDM - Music Choice Gospel - Music Choice Hip-Hop and R&B - Music Choice Hit List - Music Choice Indie - Music Choice Jazz - Music Choice Kids Only! - Music Choice Love Songs - Music Choice Max - Music Choice Metal - Music Choice Mexicana - Music Choice Musica Urbana - Music Choice Pop & Country - Music Choice Pop Hits - Music Choice Pop Latino - Music Choice Rap - Music Choice R&B Classics - Music Choice R&B Soul - Music Choice Reggae - Music Choice Rock - Music Choice Smooth Jazz - Music Choice Soft Rock - Music Choice Teen Beats - Music Choice Throwback Jamz - Music Choice Today's Country - Music Choice Toddler Tunes - Music Choice Tropicales - Music Choice Y2K - MyDestination.TV - Mystery Science Theater 3000 - NASA TV - NASA TV UHD - Nat Geo Mundo - National Geographic East - National Geographic West - National Geographic Wild East - NBA League Pass 1 - NBA League Pass 10 - NBA League Pass 2 - NBA League Pass 3 - NBA League Pass 4 - NBA League Pass 5 - NBA League Pass 6 - NBA League Pass 7 - NBA League Pass 8 - NBA League Pass 9 - NBA TV - NBC East - NBCLX (National) - NBC News Now - NBC Sports Boston - NBC Sports California - NBC Sports Chicago - NBC Sports Chicago Plus - NBC Sports Chicago Plus 2 - NBC Sports Philadelphia - NBC Sports Washington - NBC Universo East - NBC Universo West - NDTV 24x7 - NDTV Good Times - NECN - NESN - NESN Plus - News12 Bronx - News12 Brooklyn - News12 Conneticut - News12 Hudson Valley - News12 Long Island - News12 New Jersey - News12 Westchester - Newsmax TV - NewsNation East - Newsnet - Newsy - NFL Network - NFL Red Zone - NHK World (US-National) - NHL Center Ice 1 - NHL Center Ice 10 - NHL Center Ice 2 - NHL Center Ice 3 - NHL Center Ice 4 - NHL Center Ice 5 - NHL Center Ice 6 - NHL Center Ice 7 - NHL Center Ice 8 - NHL Center Ice 9 - NHL Network - Nickelodeon East - Nickelodeon West - Nick Jr East - Nick Jr West - NickMusic - Nicktoons East - Nicktoons West - NRBTV - NTD TV - NTV - Nuestra Visión - One America News Network - One Caribbean Television - OnTV4U - OSN Ya Hala - Outdoor Channel - OuterMax East - OuterMax West - Ovation - Oprah Winfrey Network East - Oxygen East - Oxygen West - Pac-12 Arizona - Pac-12 Bay Area - Pac-12 Los Angeles - Pac-12 Mountain - Pac-12 Networks - Pac-12 Oregon - Pac-12 Washington - Paramount Network East - Pasiones US - PBS East (National Feed) - PBS Kids East (National Feed) - PBS West (National Feed) - People TV - Perú Mágico - Pets.TV - PixL TV - Playboy TV Latin America - Pop East - Pop West - Positiv TV - Prime Asia TV - Pursuit Channel - Pursuit Up - Qello Concerts by Stingray - Quest - QVC - QVC2 - QVC3 - Rai News 24 - Reelz - RetroPlex East - RetroPlex West - Revenue Frontier - Rev'n - Revolt - RFD-TV - Root Sports Northwest - Rotana Classic - Rotana Khalijia - RT America - RTR Planeta - Saisons Canada - SonLife Broadcasting Network - Science - ScreenPix - ScreenPix Action - ScreenPix Voices - ScreenPix Westerns - SEC Network - SET International - Pay Per View 1 - Pay Per View 2 - Pay Per View 3 - Pay Per View 4 - Pay Per View 5 - Pay Per View 6 - Pay Per View 7 - Pay Per View 8 - Shepherd's Chapel - ShopHQ - Shop LC - Shop TV - Shout Factory TV - Showtime 2 East - Showtime East - Showtime Extreme East - Showtime Extreme West - Showtime Family Zone East - Showtime Family Zone West - Showtime Next East - Showtime Next West - Showtime Showcase East - Showtime Showcase West - Showtime West - Showtime Women East - Showtime Women West - SHOxBET East - SHOxBET West - Sky Link TV - Sky News Arabia - Sky News for US Streaming - Smart LifeStyle TV - Smile TV - Smithsonian - Sony Mix - Sony Movies - Sony SAB TV USA - So Yummy! - Spectrum OC16 - Spectrum SportsNet - Spectrum SportsNet LA - Sportsman Channel - Sportsman Channel Canada - SportsNet East - SportsNet New York - SportsNet One - SportsNet Pacific - SportsNet West - SportsNet World - Stadium - Stadium College Sports Atlantic - Stadium College Sports Central - Stadium College Sports Pacific - Star Bharat - Start TV - Starz 1 East - Starz 1 West - Starz 2 East - Starz 2 West - Starz Cinema East - Starz Cinema West - Starz Comedy East - Starz Comedy West - Starz East - Starz Edge East - Starz Edge West - Starz Encore Action East - Starz Encore Action West - Starz Encore Black East - Starz Encore Black West - Starz Encore Classic East - Starz Encore Classic West - Starz Encore East - Starz Encore Family East - Starz Encore Family West - Starz Encore Suspense East - Starz Encore Suspense West - Starz Encore West - Starz Encore Westerns East - Starz Encore Westerns West - Starz In Black East - Starz In Black West - Starz Kids & Family East - Starz Kids & Family West - Starz West - Stingray Broadway - Stingray Classic R&B - Stingray Classic Rock - Stingray Easy Listening - Stingray Festival 4K - Stingray Flashback 70s - Stingray Franco Fêtes - Stingray Gospel - Stingray Greatest Hits - Stingray Hit List - Stingray Hot Country - Stingray Karaoke - Stingray Naturescape - Stingray No Fences - Stingray Nothin' But 90's - Stingray Pop Adult - Stingray Remember the 80's - Stingray Rock Alternative - Stingray Romance Latino - Stingray Smooth Jazz - Stingray Soul Storm - Stingray Exitos del Momento - Stingray Hip-Hop/R&B - StudioCanal - SundanceTV East - SundanceTV West - Syfy East - Syfy West - Tastemade - TBN East - TBN Inspire - TBS East - TBS West - TCM - TeenNick - Telebimbi - TeleHit - Telemundo East (National Feed) - Telemundo West (National Feed) - Televisión Dominicana - TeleXitos - Tennis Channel - The Africa Channel - The Carol Burnett Show - The Country Network - The Cowboy Channel - CW Plus Central (National Feed) - CW Plus East (National Feed) - CW Plus Mountain (National Feed) - CW Plus Pacific (National Feed) - The Family Channel - The First - The Grio - The Israeli Network - The Movie Channel East - The Movie Channel West - The Movie Channel Extra East - The Movie Channel Extra West - The Weather Channel - The Word Network - This TV - ThrillerMax East - ThrillerMax West - TLC East - TLC West - TNT East - TNT West - Toku - The Travel Channel - True Crime Network - TruTV East - TruTV West - TSN1 - TSN2 - TSN3 - TSN4 - TSN5 - TUDN - TVA Sports 3 - TVE Internacional América - TV Guide - TV Japan - TVK2 - TV Land East - TV Land West - TV One - TVP Polonia - TyC Sports - TYT Network - Ultra Familia - UniMás Central - UniMás Este - Unimas West (National Feed) - Universal Kids - Univision East (National Feed) - Univision Tlnovelas - Univision West (National Feed) - UPtv - USA Network East - USA Network West - Venevisión Plus - VH1 East - VH1 West - Vice - ViendoMovies - VisionTV - Vme Kids - VSiN - GetTV (W34EY-D3) Huntsville, AL - Three Angels (W34EY-D6) Huntsville, AL - ABC (WABC-DT1) New York, NY - Localish (WABC-DT2) New York, NY - This TV (WABC-DT3) New York, NY - HSN (WABC-DT4) New York, NY - WACP4 (WACP-DT1) Atlantic City, NJ - Ace TV (WACP-DT2) Atlantic City, NJ - Heartland (WACP-DT3) Atlantic City, NJ - Shop LC (WACP-DT4) Atlantic City, NJ - Jewelry Television (WACP-DT5) Atlantic City, NJ - The Family Channel (WACP-DT6) Atlantic City, NJ - Fun Roads (WACP-DT7) Atlantic City, NJ - My Network TV (WADL-DT1) Mount Clemens, MI - FOX (WAGA-DT1) Atanta, GA - Movies (WAGA-DT2) Atanta, GA - Buzzr (WAGA-DT3) Atanta, GA - the GrioTV (WAGA-DT4) Atanta, GA - Decades (WAGA-DT5) Atanta, GA - Laff (WALE-LD2) Montgomery, AL - Jewelry TV (WALE-LD4) Montgomery, AL - WAPA America - WAPA Deportes - EstrellaTV (WASA-LD1) Port Jervis, NY - ABC (WATE) KNOXVILLE - Water Television Network - My Network TV (WATL-DT1) Atlanta, GA - This TV (WATL-DT2) Atlanta, GA - ABC (WATM1) Altoona, PA - FOX (WATM2) Altoona, PA - Cozi TV (WATM3) Altoona, PA - TV 64 (WAXN-DT1) Kannapolis, NC - NBC (WBAL-DT1) Baltimore, MD - MeTV (WBAL-DT2) Baltimore, MD - ABC (WBAY-DT1) Green Bay, WI - CBS (WBBM-DT1) Chicago, IL - Start TV (WFMZ-DT2) Chicago, IL - Dabl (WFMZ-DT3) Chicago, IL - MeTV (WBBZ-TV) Springville, NY - YouToo America (WBCF-LD2) Florence, AL - FOX (WBFF-DT1) Baltimore, MD - My TV (WBFF-DT2) Baltimore, MD - Decades (WBGT-CD5) Rochester, NY - Movies! (WBGT-CD7) Rochester, NY - PBS (WBGU-TV) Toledo, OH - NBC (WBIR) KNOXVILLE - WBNX-TV 55 (WBNX-DT1) Akron, OH - AMG TV (WBON-LD) Richmond, KY - Buzzr TV (WBON-LD2) Richmond, KY - Heartland (WBON-LD3) Richmond, KY - Retro TV (WBON-LD4) Richmond, KY - ABC (WBRZ-DT1) Baton Rouge, LA - CW (WBSF) Bay City, MI - Cozi TV (WBTS-CD2) Boston, MA - CBS (WBTW) Florence, SC - MyNetworkTV (WBTW-DT2) Florence, SC - ABC (WBUP) Ishpeming, MI - NewsNet (WBXZ-LP11) Buffalo, NY - THIS (WBXZ-LP12) Buffalo, NY - Jewelry TV (WBXZ-LP3) Buffalo, NY - Corner Store (WBXZ-LP7) Buffalo, NY - CBS (WBZ-DT1) Boston, MA - Start TV (WBZ-DT2) Boston, MA - Dabl (WBZ-DT3) Boston, MA - NBC (WCAU-DT1) Philadelphia, PA - Cozi (WCAU-DT2) Philadelphia, PA - LX (WCAU-DT3) Philadelphia, PA - CBS (WCBS-DT1) New York, NY - Start TV (WCBS-DT2) New York, NY - Dabl (WCBS-DT3) New York, NY - FAVE TV (WCBS-DT4) New York, NY - CBS (WCCO-DT1) St Paul, MN - Start TV (WCCO-DT2) St Paul, MN - Dabl (WCCO-DT3) St Paul, MN - Fave TV (WCCO-DT4) St Paul, MN - CW (WCCT-DT1) Hartford, CT - Court TV (WCCT-DT2) Hartford, CT - Comet (WCCT-DT3) Hartford, CT - Quest (WCCT-DT4) Hartford, CT - CW (WCIU-DT1) Chicago, IL - The U (WCIU-DT2) Chicago, IL - MeTV (WCIU-DT3) Chicago, IL - Heroes and Icons (WCIU-DT4) Chicago, IL - MeTV Plus (WCIU-DT5) Chicago, IL - Decades (WCIU-DT6) Chicago, IL - PBS (WCMU-TV) Mount Pleasant, MI - PBS (WCNY-TV) Syracuse, NY - ABC (WCTI-DT1) New Bern, NC - CBS (WCTV1) Tallahassee, FL - MeTV (WCTV2) Tallahassee, FL - Circle (WCTV3) Tallahassee, FL - ION Television (WCTV4) Tallahassee, FL - True Crime Network (WCTV5) Tallahassee, FL - MyNetwork (WCTX-DT1) Hartford, CT - Comet (WCTX-DT2) Hartford, CT - ABC (WCVB-DT1) Boston, MA - MeTV (WCVB-DT2) Boston, MA - PBS (WCVE-DT) Richmond, VA - Create (WCVE-DT2) Richmond, VA - PBS World (WCVE-DT3) Richmond, VA - PBS Kids (WCVE-DT4) Richmond, VA - CW (WCWN-DT1) Albany, NY - My Network TV (WDCA-DT1) Washington D.C. - Movies! (WDCA-DT2) Washington D.C. - Heroes and Icons (WDCA-DT3) Washington D.C. - PBS (WDCQ-TV) Bad Axe, MI - CW (WDCW-DT1) Washington D.C. - ABC (WDIO-DT1) Duluth, MN - NBC (WDIV-DT1) Detroit, MI - Telemundo (WDNI-CD1) Indianapolis, IN - MeTV (WDPN-DT1) Philadelphia, PA - Grit (WDPN-DT2) Philadelphia, PA - Court TV Mystery (WDPN-DT3) Philadelphia, PA - Heroes and Icons (WDPN-DT4) Philadelphia, PA - Retro TV (WDPN-DT5) Philadelphia, PA - WeatherNation - NBC (WECT) Wilmington, NC - PBS (WEDH-DT1) Hartford, CT - PBS Kids (WEDH-DT2) Hartford, CT - CPTV Spilit (WEDH-DT3) Hartford, CT - WEFS (WEFS-DT1) Cocoa, FL - NBC 2 (WESH-DT1) Orlando, FL - MeTV (WESH-DT2) Orlando, FL - PBS (WETA-DT1) Washington D.C. - WETA UK (WETA-DT2) Washington D.C. - PBS Kids (WETA-DT3) Washington D.C. - PBS World (WETA-DT4) Washington D.C. - We TV East - We TV West - ABC (WEWS-DT1) Cleveland, OH - Grit (WEWS-DT2) Cleveland, OH - Laff (WEWS-DT3) Cleveland, OH - HSN (WEWS-DT5) Cleveland, OH - NBC (WEYI-TV) Saginaw, MI - ABC (WFAA-DT1) Dallas, TX - Accuweather (WFAA-DT2) Dallas, TX - True Crime Network (WFAA-DT3) Dallas, TX - Quest (WFAA-DT4) Dallas, TX - FOX (WFLD-DT1) Chicago, IL - Movies! (WFLD-DT2) Chicago, IL - The GrioTV (WFLD-DT4) Chicago, IL - WFMZ69 (WFMZ-DT1) Allentown, PA - WFMZ Weathers (WFMZ-DT2) Allentown, PA - MeTV (WFMZ-DT3) Allentown, PA - CBS (WFOR-DT1) Miami, FL - Start TV (WFOR-DT2) Miami, FL - Dabl (WFOR-DT3) Miami, FL - FAVE TV (WFOR-DT4) Miami, FL - Unimas (WFPA-CD1) Philadelphia, PA - FOX (WFQX-TV) Cadillac, MI - CW (WFQX-DT2) Cadillac, MI - CBS (WFSB-DT1) Hartford, CT - ION Mystery (WFSB-DT2) Hartford, CT - Laff (WFSB-DT3) Hartford, CT - PBS (WFSU1) Tallahassee, FL - The Florida Channel (WFSU2) - Create (WFSU3) Tallahassee, FL - PBS Kids (WFSU4) Tallahassee, FL - ABC 9 (WFTV-DT1) Orlando, FL - UniMas (WFUT-DT1) New York, NY - True Crime Network (WFUT-DT2) New York, NY - getTV (WFUT-DT3) New York, NY - FOX (WFXB) Myrtle Beach, SC - FOX (WFXT-DT1) Boston MI - Court TV Mystery (WFXT-DT2) Boston MI - Laff (WFXT-DT3) Boston MI - PBS (WFYI-DT1) Indianapolis, IN - Create (WFYI-DT3) Indianapolis, IN - Univision (WGBO-DT1) Chicago, IL - Laff (WGBO-DT2) Chicago, IL - GetTV (WGBO-DT3) Chicago, IL - True Crime Network (WGBO-DT4) Chicago, IL - Grit (WGBO-DT5) Chicago, IL - Grit TV (WGCE-CD2) Rochester, NY - Buzzr TV (WGCE-CD5) Rochester, NY - CBS (WGCL-DT1) Atanta, GA - Grit (WGCL-DT3) Atanta, GA - WGN9 (WGN-DT1) Chicago, IL - Antenna TV (WGN-DT2) Chicago, IL - Court TV (WGN-DT3) Chicago, IL - Rewind TV (WGN-DT4) Chicago, IL - TBD. (WGN-DT5) Chicago, IL - NBC (WGRZ1) Buffalo, NY - Antenna TV (WGRZ2) Buffalo, NY - True Crime Network (WGRZ3) Buffalo, NY - Quest (WGRZ4) Buffalo, NY - Twist (WGRZ5) Buffalo, NY - PBS (WGTE-TV) Toledo, OH - ABC (WGTU) Traverse City, MI - PBS (WUPA-DT1) Atlanta, GA - Create (WUPA-DT2) Atlanta, GA - PBS World(WUPA-DT3) Atlanta, GA - PBS Kids(WUPA-DT4) Atlanta, GA - PBS (WGVU-TV) Grand Rapids, MI - MeTV (WHCT-LD1) Hartford, CT - Heroes and Icons (WHCT-LD2) Hartford, CT - StartTV (WHCT-LD3) Hartford, CT - Movies (WHCT-LD4) Hartford, CT - Decades (WHCT-LD5) Hartford, CT - NewsNet (WHNE-LD9) Detroit, MI - WHPR TV Detroit Live (WHPS-CD2) Highland Park, MI - Ion Television (WHPX-DT1) Hartford, CT - Bounce (WHPX-DT2) Hartford, CT - Court TV (WHPX-DT3) Hartford, CT - Grit (WHPX-DT4) Hartford, CT - DEFY TV (WHPX-DT5) Hartford, CT - ABC (WHSV-DT1) Harrisonburg, VA - PBS (WHUT-DT1) Washington, DC - My NetworkTV (WHVL-LD1) State Collage PA - Buzzr (WHVL-LD2) State Collage PA - PBS (WHYY-DT1) Philadelphia, PA - PBS World (WHYY-DT2) Philadelphia, PA - PBS Kids (WHYY-DT2) Philadelphia, PA - Family CHRGD - Willow - WILM-TV10 (WILM-LD) Wilmington, NC - ION Television (WINP-DT1) Pittsburgh, PA - Bounce (WINP-DT2) Pittsburgh, PA - Court TV (WINP-DT3) Pittsburgh, PA - ION Mystery (WINP-DT4) Pittsburgh, PA - DEFY TV (WINP-DT5) Pittsburgh, PA - TrueReal (WINP-DT6) Pittsburgh, PA - NewsY (WINP-DT7) Pittsburgh, PA - CW (WISH-DT1) Indianapolis, IN - GetTV (WISH-DT2) Indianapolis, IN - Twist (WISH-DT3) Indianapolis, IN - ABC (WISN-DT1) Milwaukee, WI - CBS (WIVB1) Buffalo, NY - NBC (WJAC1) Altoona, PA - MeTV (WJAC2) Altoona, PA - Comet (WJAC3) Altoona, PA - CW (WJAC4) Altoona, PA - ABC (WJBF-DT1) Augusta, GA - FOX (WJBK-DT1) Detroit, MI - ABC (WJLA-DT1) Washington, DC - MeTV (WJLP-DT1) New York, NY - Laff (WJLP-DT2) New York, NY - Grit (WJLP-DT3) New York, NY - ION Mystery (WJLP-DT4) New York, NY - Retro TV (WJLP-DT5) New York, NY - Heartland Network (WJLP-DT6) New York, NY - Story Television (WJLP-DT7) New York, NY - MeTV Plus (WJLP-DT8) New York, NY - ABC (WJRT-TV) Flint MI - FOX (WJW-DT1) Cleveland, OH - Antenna TV (WJW-DT2) Cleveland, OH - Comet (WJW-DT3) Cleveland, OH - Charge (WJW-DT4) Cleveland, OH - CBS (WJZ-DT1) Baltimore, MD - Punto 2 (WKAQ-DT) San Juan, PR - PBS (WKAR-TV) East Lansing, MI - CW (WKBD-TV) Detroit, MI - ABC (WKBW1) Buffalo, NY - Bounce (WKBW2) Buffalo, NY - Court TV Mystery (WKBW3) Buffalo, NY - Grit (WKBW4) Buffalo, NY - HSN (WKBW5) Buffalo, NY - CW 18(WKCF-DT1) Orlando, FL - CBS 6 (WKMG-DT1) Orlando, FL - Azteca (WKOB-LD1) New York, NY - Daystar (WKOB-LD2) New York, NY - SonLife (WKOB-LD5) New York, NY - EstrellaTV (WKOB-LD6) New York, NY - Shop LC (WKOB-LD7) New York, NY - Novelisima (WKOB-LD8) New York, NY - ION (WKOI-DT) Richmond, IN - Hillsong (WKOI-DT2) Richmond, IN - PosiTiV (WKOI-DT3) Richmond, IN - Enlace (WKOI-DT4) Richmond, IN - Smile (WKOI-DT5) Richmond, IN - ABC (WKRN-DT1) Nashville, TN - NBC (WKYC-DT1) Cleveland, OH - True Crime Network (WKYC-DT2) Cleveland, OH - Cozi TV (WKYC-DT3) Cleveland, OH - Quest (WKYC-DT4) Cleveland, OH - Twist (WKYC-DT5) Cleveland, OH - Shop LC (WKYC-DT6) Cleveland, OH - PBS (WLIW-DT1) New York, NY - PBS Create (WLIW-DT2) New York, NY - PBS World (WLIW-DT3) New York, NY - All Arts (WLIW-DT4) New York, NY - WLNY 10/55 (WLNY-DT1) New York, NY - Comet (WLNY-DT2) New York, NY - Stadium (WLNY-DT3) New York, NY - Start TV (WLNY-DT4) New York, NY - Circle (WLNY-DT5) New York, NY - ABC (WLS-DT1) Chicago, IL - Localish (WLS-DT2) Chicago, IL - This TV (WLS-DT3) Chicago, IL - NBC (WLUC-TV) Marquette, MI - FOX (WLUC-DT2) Marquette, MI - CW (WLVI-DT1) Boston, MA - Buzzr (WLVI-DT2) Boston, MA - PBS (WLVT-DT1) Allentown, PA - Create (WLVT-DT2) Bethlehem, PA - France 24 (WLVT-DT3) Bethlehem, PA - MeTV (WLWT-DT2) Cincinnati OH - NBC (WMAQ-DT1) Chicago, IL - Cozi TV (WMAQ-DT2) Chicago, IL - ABC (WMAR-DT1) Washington D.C. - Grit (WMAR-DT2) Washington D.C. - Bounce (WMAR-DT3) Washington D.C. - Court TV Mystery (WMAR-DT4) Washington D.C. - Court TV (WMAR-DT5) Washington D.C. - ABC (WMBB-DT1) Panama City, FL - WMBC (WMBC-DT1) Newton, NJ - Quest (WMBC-DT2) Newton, NJ - TBD (WMBC-DT3) Newton, NJ - SinoVision (WMBC-DT4) Newton, NJ - New Tang Dynasty (WMBC-DT5) Newton, NJ - Aliento Vision (WMBC-DT7) Newton, NJ - NBC (WMBF-TV) Myrtle Beach, SC - FNX (WMBQ-CD) New York, NY - WMCN44/ShopHQ (WMCN-DT1) Princeton, NJ - The U (WMEU-CD1) Chicago, IL - True Crime Network (WMGM-DT1) Wildwood, PA - REV'N (WMJN-LD4) Huntsville, AL - NewsNet (WMNN-LD1) Lake City, MI - My Network TV (WMNT-CD1) Toledo, OH - NBC (WNBC-DT1) New York, NY - Cozi TV (WNBC-DT2) New York, NY - FNX (WNDT-CD) New York, NY - PBS (WNED1) Buffalo, NY - Create (WNED21) Buffalo, NY - PBS Kids (WNED3) Buffalo, NY - PBS (WNET-DT1) New York, NY - PBS Kids (WNET-DT2) New York, NY - PBS (WNJB-DT1) New Brunswick, NJ - PBS (WNJN-DT1) Montclair, NJ - NHK World (WNJN-DT2) Montclair, NJ - PBS (WNJS-DT1) Camden, NJ - NHK World (WNJS-DT2) Camden, NJ - PBS (WNJT-DT1) Trenton, NJ - Telemundo (WNJU-DT1) New York, NY - TeleXitos (WNJU-DT2) New York, NY - CW (WNLO1) Buffalo, NY - Rewind TV (WNLO2) Buffalo, NY - PBS (WNMU) Marquette, MI - Create (WNPI-DT2) Watertown, NY - NBC (WNWO-TV) Toledo, OH - Local Now (WNWT-LD1) New York, NY - CCTV 4 America (WNXY-LD2) New York, NY - CGTN Español (WNXY-LD3) New York, NY - NYC Life (WNYE-DT1) New York, NY - NYC GOV (WNYE-DT2) New York, NY - CUNY TV (WNYE-DT3) New York, NY - Jewelry Television (WNYJ-LD1) New York, NY - FOX (WNYW-DT1) New York, NY - Movies! (WNYW-DT2) New York, NY - FOX Weather OTA (WNYW-DT3) New York, NY - The Grio TV (WNYW-DT4) New York, NY - Decades (WNYW-DT5) New York, NY - Retro TV (WNYX-DT5) New York, NY - FOX 35 (WOFL-DT1) Orlando, FL - CBS (WOIO-DT1) Cleveland, OH - MeTV /My Network TV (WOIO-DT2) Cleveland, OH - Dabl (WOIO-DT3) Cleveland, OH - Rewind TV (WOIO-DT4) Cleveland, OH - NBC (WOOD-DT1) Grand Rapids, MI - Rewind TV (WOOD-DT2) Grand Rapids, MI - SportsGrid (WOOD-DT3) Grand Rapids, MI - World Harvest TV - World Poker Tour - ABC (WOTV-DT1) Battle Creek, MI - NBC (WPBN-TV) Traverse City, MI - ABC (WPBN-DT2) Traverse City, MI - PBS Kids (WPBS-DT4) Watertown, NY - PBS (WPBT-DT1) Miami, FL - Create (WPBT-DT2) Miami, FL - Health (WPBT-DT3) Miami, FL - PBS Kids (WPBT-DT4) Miami, FL - The CW (WPCW-DT1) Pittsburgh, PA - Heroes and Icons (WPCW-DT2) Pittsburgh, PA - Grit (WPCW-DT3) Pittsburgh, PA - Circle (WPCW-DT4) Pittsburgh, PA - ABC (WPDE-TV) Florence, SC - CW (WPDE-DT2) Florence, SC - Weather on the 15s (WPDE-DT4) Florence, SC - FOX (WPGH-DT1) Pittsburgh, PA - Antenna TV (WPGH-DT2) Pittsburgh, PA - Charge! (WPGH-DT3) Pittsburgh, PA - Antenna TV (WPHL-DT2) Philadelphia, PA - Court TV (WPHL-DT3) Philadelphia, PA - CW (WPIX-DT1) NY - Antenna TV (WPIX-DT2) NY - Court TV (WPIX-DT3) NY - Rewind TV (WPIX-DT4) NY - ABC (WPLG-DT1) Miami, FL - MeTV (WPLG-DT2) Miami, FL - Heroes and Icons (WPLG-DT3) Miami, FL - Ion Television (WPPX-DT1) Philadelphia, PA - Bounce (WPPX-DT2) Philadelphia, PA - Grit (WPPX-DT3) Philadelphia, PA - Truereal (WPPX-DT4) Philadelphia, PA - Laff (WPPX-DT5) Philadelphia, PA - Defy TV (WPPX-DT6) Philadelphia, PA - CW (WPSG-DT1) Philadelphia, PA - Charge (WPSG-DT2) Philadelphia, PA - Comet (WPSG-DT3) Philadelphia, PA - TBD (WPSG-DT4) Philadelphia, PA - Circle (WPSG-DT5) Philadelphia, PA - PBS (WPSU1) Altoona, PA - Create (WPSU2) Altoona, PA - PBS World (WPSU3) Altoona, PA - PBS Kids (WPSU4) Altoona, PA - ABC (WPVI-DT1) Philadelphia, PA - Localish (WPVI-DT2) Philadelphia, PA - This TV (KYW-DT3) Philadelphia, PA - My Network TV (WPWR-DT) Chicago, IL - NBC (WPXI-DT1) Pittsburgh, PA - MeTV (WPXI-DT1) Pittsburgh, PA - Laff (WPXI-DT1) Pittsburgh, PA - ION (WPXN-DT1) New York, NY - Bounce (WPXN-DT2) New York, NY - ION Mystery (WPXN-DT3) New York, NY - DEFY (WPXN-DT4) New York, NY - Laff (WPXN-DT5) New York, NY - TrueReal (WPXN-DT6) New York, NY - Newsy (WPXN-DT7) New York, NY - América TeVé (WPXO-LD1) East Orange, NJ - PBS (WQED-DT1) Pittsburgh, PA - Create (WQED-DT2) Pittsburgh, PA - PBS World (WQED-DT3) Pittsburgh, PA - WQED Showcase (WQED-DT4) Pittsburgh, PA - PBS Kids (WQED-DT5) Pittsburgh, PA - My65 / FOX 35 Plus (WRBW-DT1) Orlando, FL - NBC (WRC-DT1) Washington D.C. - Cozi TV(WRC-DT2) Washington D.C. - NBCLX (WRC-DT5) Washington D.C. - Telemundp (WRC-DT4) Washington D.C. - UniMás 29 (WRCF-CD1) Orlando, FL - TV27 (WRDQ-DT1) Orlando, FL - ABC (WRIC-DT) Richmond, VA - ION (WRIC-DT2) Richmond, VA - Cozi TV (WRIC-DT3) Richmond, VA - FOX (WRLH-DT) Richmond, KY - MyNetworkTV (WRLH-DT2) Richmond, KY - Comet TV (WRLH-DT3) Richmond, KY - CHARGE! (WRLH-DT4) Richmond, KY - Dabl (WRLH-DT5) Richmond, KY - PBS (WRLK-TV) Columbia, SC - Create (WRLK-DT2) Columbia, SC - World (WRLK-DT3) Columbia, SC - WRNN/ShopHQ (WRNN-DT1) New Rochelle, NY - Circle (WRNN-DT2) Kingston, NY - Canal de La Fe (WRNN-DT3) New York, NY - QVC (WRNN-DT4) New York, NY - Family Channel USA (WRTD-DT3) Birmingham, AL - Telemundo (WRTD-LD5) Tuscaloosa, AL - ABC (WRTV-DT1) Indianapolis, IN - Grit (WRTV-DT2) Indianapolis, IN - Laff (WRTV-DT3) Indianapolis, IN - QVC (WRTV-DT4) Indianapolis, IN - ABC (WSB-DT1) Atanta, GA - Bounce (WSB-DT2) Atanta, GA - Dabl (WSB-DT3) Atanta, GA - My Network TV (WSBK-DT1) Boston, MA - Heroes and Icons (WSBK-DT2) Boston, MA - Comet (WSBK-DT3) Boston, MA - Charge! (WSBK-DT4) Boston, MA - Telemundo (WSCV-DT1) Fort Lauderdale, FL - TeleXitos (WSCV-DT2) Fort Lauderdale, FL - Telemundo (WSCV-DT4) Fort Lauderdale, FL - The Cowboy Channel (WSFG-DT2) Berry, AL - Smile (WSFG-DT3) Berry, AL - Hillsong (WSFG-LD4) Berry, AL - Family Channel USA (WSFG-DT5) Berry, AL - CW (WSFL-DT1) Miami, FL - Court TV (WSFL-DT2) Miami, FL - Antenna TV (WSFL-DT3) Miami, FL - TrueReal (WSFL-DT4) Miami, FL - FOX (WSFX-TV) Wilmington, NC - FOX (WSMH) Flint MI - Telemundo (WSNS-DT1) Chicago, IL - TeleXitos (WSNS-DT2) Chicago, IL - ABC (WSOC-DT1) Charlotte, NC - The Cowboy Channel (WSSF-LD2) Fayette, AL - Smile (WSSF-LD3) Fayette, AL - TBN (WSSF-LD6) Fayette, AL - NBC (WSTM-TV) Syracuse, NY - CW (WSTM-DT2) Syracuse, NY - FOX (WSVN-DT1) Miami, FL - The Grio TV (WSVN-DT2) Miami, FL - ABC (WSYR-TV) Syracuse, NY - FOX (WSYT) Syracuse, NY - ABC (WSYX-DT1) Columbus, OH - ABC (WTAE-DT1) Pittsburgh, PA - Cozi TV (WTAE-DT2) Pittsburgh, PA - CBS (WTAJ1) Altoona, PA - Court TV Mystery (WTAJ2) Altoona, PA - Laff (WTAJ3) Altoona, PA - Grit (WTAJ4) Altoona, PA - ABC (WTEN-DT1) Albany NY - NBC (WTHR-DT1) Indianapolis, IN - Dabl (WTHR-DT2) Indianapolis, IN - MeTV (WTHR-DT3) Indianapolis, IN - True Crime Network (WTHR-DT4) Indianapolis, IN - Quest (WTHR-DT5) Indianapolis, IN - Circle (WTHR-DT6) Indianapolis, IN - FOX (WTIC-DT1) Hartford, CT - Antenna TV (WTIC-DT2) Hartford, CT - Comet (WTLF2) Tallahassee, FL - TBD. (WTLF3) Tallahassee, FL - WOSC (WTLW-DT2) Findlay, OH - Telemundo 31 (WTMO-CD1) Orlando, FL - FOX (WTNZ) KNOXVILLE - ABC (WTOK-DT1) Meridian, MS - CBS (WTOL) Toledo, OH - Burzzr (WTTG-DT2) Washington D.C. - MeTV (WTTG-DT3) Washington D.C. - CBS (WTTV-DT1) Indianapolis, IN - the Dot (WTTV-DT2) Indianapolis, IN - Comet (WTTV-DT3) Indianapolis, IN - PBS (WTTW-DT1) Chicago, IL - WTTW Prime (WTTW-DT2) Chicago, IL - Create and World (WTTW-DT3) Chicago, IL - ABC (WTVD-DT1) Durham, NC - TVE51/Infomercials (WTVE-DT1) Reading, PA - Timeless/Infomercials (WTVE-DT2) Reading, PA - CBS (WTVF-DT1) Nashville, TN - Newschannel 5+ (WTVF-DT2) Nashville, TN - ABC (WTVG) Toledo, OH - CW (WTVG-DT2) Toledo, OH - CBS (WTVH) Syracuse, NY - NBC (WTVJ-DT1) Miami, FL - Cozi TV (WTVJ-DT2) Miami, FL - NBCLX (WTVJ-DT3) Miami, FL - CBS (WTVR-DT) Richmond, KY - Antenna TV (WTVR-DT2) Richmond, KY - Court TV (WTVR-DT4) Richmond, KY - PBS (WTVS-DT1) Detroit, MI - Michigan Learning Channel (WTVS-DT5) Detroit, MI - H&I (WTVU-CD3) Syracuse, NY - Decades (WTVU-CD5) Syracuse, NY - Movies! (WTVU-CD6) Syracuse, NY - NBC (WCTV1) Tallahassee, FL - FOX (WCTV2) Tallahassee, FL - FOX (WTXF-DT1) Philadelphia, PA - Movies!(WTXF-DT2) Philadelphia, PA - The Griotv (WTXF-DT3) Philadelphia, PA - ABC (WTXL1) Tallahassee, FL - Bounce (WTXL2) Tallahassee, FL - Geit (WTXL3) Tallahassee, FL - Court TV Mystery (WTXL4) Tallahassee, FL - Court TV (WTXL5) Tallahassee, FL - CW (WUAB-DT1) Cleveland, OH - Bounce (WUAB-DT2) Cleveland, OH - Circle (WUAB-DT3) Cleveland, OH - SonLife Network (WUCB-DT4) Albany, NY - CW (WUCW-DT1) St Paul, MN - Comet (WUCW-DT2) St Paul, MN - Charge (WUCW-DT3) St Paul, MN - TBD (WUCW-DT4) St Paul, MN - Rewind TV (WUCW-DT5) St Paul, MN - PBS (WUNC-TV) Chapel Hill, NC - Explorer Channel (WUNC-DT3) Chapel Hill, NC - North Carolina Channel (WUNC-DT4) Chapel Hill, NC - Court TV Mystery (WUOA-LD3) Birminghamg, AL - GetTV (WUOA-LD4) Birmingham, AL - QVC (WUOA-LD5) Birmingham, AL - Shop LC (WUOA-LD6) Birmingham, AL - QVC2 (WUOA-LD7) Birmingham, AL - CW (WUPA-DT1) Atanta, GA - Start TV (WUPA-DT2) Atanta, GA - Comet (WUPA-DT3) Atanta, GA - MeTV (WUPA-DT4) Atanta, GA - Start TV(WUPA-DT5) Atanta, GA - FOX (WUPW) Toledo, OH - CBS (WUSA-DT1) Washington D.C. - True Crime Network (WUSA-DT2) Washington D.C. - Twist (WUSA-DT4) Washington D.C. - FOX (WUTV1) Buffalo, NY - TBD. (WUTV2) Buffalo, NY - Charge! (WUTV3) Buffalo, NY - Univision (WUVN-DT1) Hartford, CT - LATV (WUVN-DT4) Hartford, CT - Univision 43 (WVEN-DT1) Orlando, FL - NBC (WVIT-DT1) Hartford, CT - Cozi TV (WVIT-DT2) Hartford, CT - PBS (WVIZ-DT1) Cleveland, OH - The Ohio Channel (WVIZ-DT2) Cleveland, OH - PBS World (WVIZ-DT3) Cleveland, OH - PBS Create (WVIZ-DT4) Cleveland, OH - PBS Kids (WVIZ-DT5) Cleveland, OH - CBS (WVLT) KNOXVILLE - Infomercials (WVTT-CD4) Olean, NY - Cornerstone (WVVC-LD2) Utica, NY - ABC (WWAY) Wilmington, NC - CBS (WWAY-DT2) Wilmington, NC - CW (WWAY-DT3) Wilmington, NC - NBC (WWBT-DT) Richmond, KY - MeTV (WWBT-DT2) Richmond, KY - Circle (WWBT-DT3) Richmond, KY - Ion Mystery (WWBT-DT4) Richmond, KY - True Crime Network (WWBT-DT5) Richmond, KY - WWE Network - CBS (WWJ-DT1) Detroit, MI - Start TV (WWJ-DT2) Detroit, MI - Dabl (WWJ-DT3) Detroit, MI - Fave TV (WWJ-DT4) Detroit, MI - CBS (WWMT-DT1) Kalamazoo, MI - CW (WWMT-DT2) Kalamazoo, MI - My Network TV (WWOR-DT1) NY - Buzzr (WWOR-DT3) NY - Telemundo (WWSI-DT1) Philadelphia, PA - CBS (WWTV-DT1) Cadillac, MI - NBC (WXIA-DT1) Atanta, GA - Quest (WXIA-DT4) Atanta, GA - FOX (WXMI-DT1) Grand Rapids, MI - Antenna TV (WXMI-DT2) Grand Rapids, MI - Bounce (WXMI-DT3) Grand Rapids, MI - Ion Mystery (WXMI-DT4) Grand Rapids, MI - CCTV 4 America (WXNY-LD2) New York, NY - Retro TV (WXNY-LD4) New York, NY - Retro TV (WXNY-DT5) New York, NY - My Network TV (WXSP-CD1) Grand Rapids MI - Univision Nueva York (WXTV-DT1) NY - Bounce (WXTV-DT2) NY - Twist (WXTV-DT3) NY - WXXA-TV4 - ABC (WXYZ-DT1) Detroit, MI - Bounce (WXYZ-DT2) Detroit, MI - Laff (WXYZ-DT3) Detroit, MI - Court TV (WXYZ-DT4) Detroit, MI - Azteca (WYAM-LD2) Huntsville, AL - Retro TV (WYBN-LD2) Albany, NY - THIS (WYBN-LD3) Albany, NY - Action (WYBN-LD7) Albany, NY - NewsNet (WYBN-LD8) Albany, NY - Telemundo (WZDC-CD1) Washington, DC - Story Television (WZME-DT1) New York, NY - MeTV Plus (WZME-DT2) New York, NY - Telemundo (WZTD-LD) Richmond, KY - ABC (WZZM-DT1) Grand Rapids, MI - LATV (XHAS-DT2) San Diego, CA - YES2 Overflow - YES Network - YourTV Milton - YurView California - Zee Bangla - Zee Marathi - Zee Salaam - Zee Tamil - Zee TV USA - Zee Zest - Telemundo (WSOC-DT2) Charlotte, NC - Ici Radio-Canada Télé - TVA - Télé-Québec - ICI RDI - LCN - Noovo - - + + + + 3ABN English + 5 StarMax East + Aaj Tak + Aastha Bhajan + ABC East + ABC News Live + ABC Spark + ACC Network + AccuWeather + ActionMax East + ActionMax West + Adrenalina Sports Network + [adult swim]East + [adult swim]West + A&E East + A&E West + AFN Spectrum + AFN Sports + AFN Sports 2 + Al Resalah + Altitude Sports + AMC East + AMC Plus + AMC West + American Heroes Channel + America's Auction Channel + AMI-tv + AMP2 + Animal Planet East + Animal Planet West + ANT1 Satellite + Antenna TV + Arirang World + ART America + ARY Zauq + A.Side + Aspire TV + ATN Colors Rishtey + ATN Movies + ATN Punjabi 5 + ATN Punjabi Plus + ATN Zoom + AT&T SportsNet Pittsburgh + AT&T SportsNet Rocky Mountain + AT&T SportsNet Rocky Mountain Utah + AT&T SportsNet Rocky Mountain West + AT&T SportsNet Southwest + AT&T SportsNet Southwest Plus + AWE + AXS TV + AyM Sports + Azteca 7 + B4U Music USA + BabyFirst TV + Bally Sports Arizona + Bally Sports Arizona Extra + Bally Sports Detroit + Bally Sports Detroit Extra + Bally Sports Florida + Bally Sports Great Lakes + Bally Sports Indiana + Bally Sports Kansas City + Bally Sports New Orleans + Bally Sports Ohio + Bally Sports Ohio+ + Bally Sports Oklahoma + Bally Sports San Diego + Bally Sports SoCal + Bally Sports South + Bally Sports Southeast + Bally Sports Southeast Georgia + Bally Sports Southeast North Carolina + Bally Sports Southeast South Carolina + Bally Sports Southeast Tennessee + Bally Sports South Georgia + Bally Sports Southwest + Bally Sports Sun + Bally Sports West + Bally Sports Wisconsin + Bandamax + BBC America East + BBC World News (North America) + beIN SPORTS 3 + beIN SPORTS 4 + beIN SPORTS 5 + beIN SPORTS 6 + beIN SPORTS 7 + beIN SPORTS 8 + BeIn Sports en Español + BeIn Sports USA + beIN Sports Xtra USA + beIN Sports Xtra En Espanol + BET East + BET Gospel + BET Her + BET Jams + BET Soul + BET West + Big Ten Network + Big Ten Network Alternate + Big Ten Network Overflow 2 + Big Ten Network Overflow 3 + Big Ten Network Overflow 4 + Blaze + Bloomberg Television + Boomerang + Bounce + Bravo East + Bravo West + Brazzers TV + Buzzr + CaribVision + Cars.TV + Cartoon Network Canada + Cartoon Network East + Cartoon Network West + Catholic Faith Network + CBC News Network + CBC Windsor + CBC Halifax + CBC Toronto + CBC Montreal + CBC Ottawa + CBC Calgary + CBS East + CBS News Live + CBS Sports Network Canada + CBS Sports Network + CBC Winnipeg + CBC Edmonton + CentroAmérica TV + ICI (CFHD-DT) Montréal, QC + CTV2 (CFPL-DT) London ON + CTV (CFTO-DT) Toronto ON + CGTN America + Channel i + Charge! + Global (CHBC-DT-2) Vernon, BC + Cheddar News + Global (CHKM) Kamloops, BC + CTV2 (CHWI-DT) Wheatley ON + TVOntario (CICA-DT) Toronto + Cine Estelar + Cinemax East + Cinemax West + Cine Sony + Circle + CTV (CKCO-DT) Kitchener ON + CTV2 (CKVR-DT) Barrie ON + Classic Arts Showcase + Cleo TV + CMT East + CMT Music + CNBC + CNBC World + CNN + CNN en Español + CNN International Asia + CNN International Latin America + CNN International + Colors Bangla + Comedy Central East + Comedy Central West + Comedy.TV + Comet + CONtv + Cooking Channel + Court TV Mystery + Cozi TV + CPAC + Create + C-SPAN + C-SPAN2 + C-SPAN3 + CTV Sci-Fi Channel + CW East + Dabl + Daystar TV + Decades + Deja View + De Pelicula Clasico + De Pelicula + Destination America + Discovery Channel East + Discovery Channel West + Discovery Channel en Español + Discovery Familia + Discovery Family + Discovery Life + Disney Channel Canada West + Disney Channel East + Disney Channel West + Disney Junior East + Disney Junior West + Disney XD East + Disney XD West + Classic Doctor Who + DocuBox HD + Docurama + Dog TV + Dream 2 + Dust + DW Deutsch+ + DW English OTA + E! East + Electric Now + Enlace + Esperanza TV + ESPN + ESPN 2 + ESPN College Extra 1 + ESPN College Extra 2 + ESPN College Extra 3 + ESPN College Extra 4 + ESPN College Extra 5 + ESPN College Extra 6 + ESPN College Extra 7 + ESPN College Extra 8 + ESPN Deportes + ESPNEWS + ESPNU + Estrella TV + ESTV + Entertainment Tonight Live + ETTV America + ETTV China + ETTV Drama + ETTV Global + ETTV News + Euronews English + Euronews Français + E! West + EWTN + Fairchild TV 2 + FanDuel Racing + FanDuel TV + FETV + Fight Network + Flix East + Flix West + Folk TV + Food Network East + Food Network West + Fox Business + Fox Deportes + Fox East + FOX News + Fox Soccer Plus + Fox Sports 1 + Fox Sports 2 + FOX Weather + France 24 English + Freeform East + Freeform West + Free Speech TV + Frissons TV + Fuse East + Fuse West + Fusion + FX East + FX Movie Channel + FX West + FXX East + FXX West + FYI East + FYI West + Galavisión Este + Galavisión Oeste + Game Show Central + Game Show Network East + Game Show Network West + Gem Shopping Network + GetTV + GMA Life TV + GMA News + GMA Pinoy TV + GodTV + Golf Channel + Gol TV + Great American Country + Grit + Hallmark Channel East + Hallmark Channel West + Hallmark Drama + Hallmark Movies & Mysteries East + Hallmark Movies & Mysteries West + HBO2 East + HBO2 West + HBO Comedy East + HBO Comedy West + HBO East + HBO Family East + HBO Family Latinoamérica + HBO Family West + HBO Signature East + HBO Signature West + HBO West + HBO Zone East + HBO Zone West + HDNet Movies + HGTV East + HGTV West + Hillsong Channel + History2 Canada + History East + History en Español + History West + HITN + HLN + Hollywood Suite 00s Movies + Hollywood Suite 70s Movies + Hollywood Suite 80s Movies + Hollywood Suite 90s Movies + Hope Channel + HSN + HSN2 + HTV + Hum TV + i24 News English + IFC East + IFC West + Impact Network + IndiePlex East + IndiePlex West + INSP + Investigation + Investigation Discovery East + Investigation Discovery West + ION Plus East + ION TV East + IVC + Jaya Plus + JBS + Jewelry TV + Jewish Life Television + Johnny Carson + 360 North (K05FW-D3) Girdwood, AK + Three Angels (K08MM) Bakersfield, CA + Comet TV (K11LC-D2) Prescott, AZ + FOX (K13AV-DT3) Denver, CO + THIS (K13AV) Denver, CO + NASA (K13AV-DT6) Denver, CO + Movies! (K14HC-D2) Prescott, AZ + Buzzr TV (K14HC-D3) Prescott, AZ + World Harvest (K14JS-DT2) Denver, CO + Daystar (K14JS-D3) Denver, CO + CHARGE! (K14JS-D4) Denver, CO + PosiTiV (K14JS-DT5) Denver, CO + Smile (K14JS-DT6) Denver, CO + UniMas (K15HJ-D) Ridgecrest, CA + Three Angels (K17JI) Fresno, CA + 3ABN Proclaim (K17JI-D2) Fresno, CA + 3ABN Dare to Dream (K17JI-D3) Fresno, CA + 3ABN Latino (K17JI-DT4) Fresno, CA + Movies! (K18DR-DT4) Cortez, CO + PBS (K18HD) Fresno, CA + Antenna (K19KV-D2) Prescott, AZ + Court TV (K19KV-D4) Prescott, AZ + Three Angels (K21DO) Palm Springs, CA + 3ABN Proclaim (K21DO-D2) Palm Springs, CA + 3ABN Latino (K21DO-DT4) Palm Springs, CA + CW (K21LC-DT5) Cortez, CO + MyNetworkTV (K23DT-D) Tahoe City, CA + HSN (K25OM-D2) Prescott, AZ + H&I (K25OM-D3) Prescott, AZ + Grit TV (K25OM-D5) Prescott, AZ + Family Channel USA (K26CI-DT3) Cortex, CO + Retro TV (K26CI-DT5) Cortez, CO + REV'N (K26CI-DT7) Cortez, CO + CHARGE! (K26GS-D2) Harrison, AR + Court TV Mystery (K26GS-D3) Harrison, AR + Gospel Broadcasting (K26GS-DT8) Harrison, AR + Movies! (K28CW-D2) Flagstaff, AZ + Buzzr TV (K28CW-D3) Flagsttaff, AZ + FOX (K28CW) Flagstaff, AZ + DABL (K30JD-D3) Prescott, AZ + 3ABN Latino (K31NF-D2) Verde Valley, Etc., AZ + Amazing Facts TV (K31NF-D4) Verde Valley, Etc., AZ + 3ABN Proclaim (K32LO-D3) Prescott, AZ + Ace TV (K38IZ-D2) Phoenix, AZ + AMG-TV (K38IZ-D4) Phoenix, AZ + REV'N (K38IZ-D7) Phoenix, AZ + MCAETv (K38JP-D3) Monterey, CA + PBS Life (K43LW-D) Prescott, Etc., AZ + Azteca (K46LG) Monterey, CA + Infomercials (K46LG-D2) Monterey, CA + Jewelry Television (K46LG-DT3) Monterey, CA + Infomercials (K46LG-D4) Monterey, CA + FNX (K48MN-D2) Boulder, CO + Antenna (KAAP-LD3) Santa Cruz, CA + NewsNet (KAAP-LD) Santa Cruz, CA + Jewelry TV (KAAP-LD8) Santa Cruz, CA + ABC (KABC) Los Angeles, CA + Localish (KABC-TV2) Los Angeles, CA + THIS (KABC-TV3) Los Angeles, CA + PBS (KAET-DT1) Arizona PX + PBS Arizona Life (KAET-DT2) Arizona PX + PBS World (KAET-DT3) Arizona PX + PBS Kids (KAET-DT4) Arizona PX + CBN News Channel (KAHC-LD) Sacramento, CA + Shop LC (KAHC-LD4) Sacramento, CA + QVC (KAHC-LD5) Sacramento, CA + QVC2 (KAHC-LD6) Sacramento, CA + Infomercials (KAHC-LD7) Sacramento, CA + TCT (KAIL) Fresno, CA + The Grio (KAIL-DT2) Fresno, CA + H&I (KAIL3) Fresno, CA + UniMas (KAKW-DT2) Austin, TX + Daystar (KAKZ-LD2) Palm Springs, CA + Azteca (KAKZ-LD3) Palm Springs, CA + QVC (KAKZ-DT4) Palm Springs, CA + Kanal D + NBC (KARE-DT1) St Paul, MN + Court TV (KARE-DT2) St Paul, MN + True Crime Network (KARE-DT3) St Paul, MN + Quest (KARE-DT4) St Paul, MN + Circle (KARE-DT5) St Paul, MN + CW (KASW-DT1) Arizona PX + Grit (KASW-DT2) Arizona PX + NBC (KATH-LD1) Juneau, AK + CBS (KAUU-DT1) Anchorage, AK + Decades (KAXT-CD2) San Francisco, CA + Story Television (KAZA-DT2) Avalon, CA + MeTV (KAZT-CD2) Phoenix, AZ + HSN (KAZT-CD3) Phoenix, AZ + CHARGE! (KAZT-CD4) Phoenix, AZ + MeTV (KAZT-DT2) Prescott, AZ + HSN (KAZT-DT3) Prescott, AZ + CHARGE! (KAZT-DT4) Prescott, AZ + CW (KBCW) San Francisco, CA + Comet TV (KBCW2) San Francisco, CA + MeTV (KBCW-DT3) San Francisco, CA + TBD TV (KBCW-DT4) San Francisco, CA + Circle (KBCW5) San Francisco, CA + KBFD TV (KBFD-DT) Honolulu, HI + FOX (KBFX) Bakersfield, CA + TBD TV (KBFX-DT2) Bakersfield, CA + Comet TV (KBFX-CD3) Bakersfield, CA + Al Jazeera (KBID-LP) Coalinga, CA + DW English (KBID-DT2) Fresno, CA + Al Mayadeen (KBID-LP3) Fresno, CA + Jewelry Television (KBID-DT4) Fresno, CA + amga TV (KBID-LP5) Fresno, CA + Noor TV (KBID-DT7) Fresno, CA + SAB TV (KBID-DT8) Fresno, CA + UNI (KBNT) San Diego, CA + LATV (KBNT-CD2) San Diego, CA + Stadium (KBNT-CD3) San Diego, CA + Comet TV (KBNT4) San Diego, CA + CBS (KBOI-TV) Boise, ID + CW (KBOI-DT2) Boise, ID + UniMás (KBTF) Bakersfield, CA + GetTV (KBTF-CD2) Bakersfield, CA + Court TV Mystery (KBTF-CD3) Bakersfield, CA + ONTV4U (KBTV-CA2) Sacramento, CA + SonLife Network (KBTV-CA3) Sacramento, CA + Bold TV (KBTV-CD4) Sacramento, CA + Retro TV (KBTV-CA5) Sacramento, CA + Mainstreet TV (KBTV-CA6) Sacramento, CA + REV'N (KBTV-CA7) Sacramento, CA + FOX (KBVU) Eureka, CA + Comet TV (KBVU2) Eureka, CA + CHARGE! (KBVU3) Eureka, CA + Stadium (KBVU-DT3) Eureka, CA + FOX (KCBA) Salinas, CA + DABL (KCBS-TV3) Los Angeles, CA + FAVE TV (KCBS-TV4) Los Angeles, CA + Estrella (KCBT) Bakersfield, CA + KCET (KCET) Los Angeles, CA + Create (KCET2) Los Angeles, CA + NHK World (KCET-DT3) Los Angeles, CA + CBS (KCNC-TV) Denver, CO + ShopHQ (KCNS) San Francisco, CA + SonLife (KCNS-DT3) San Francisco, CA + Estrella TV (KCNS-DT4) San Francisco, CA + New Tang Dynasty TV (KCNS-DT5) San Francisco, CA + NTD Eng! (KCNS-DT6) San Francisco, CA + LATV (KCNZ-CD) San Francisco, CA + QVC2 (KCNZ-CD2) San Francisco, CA + Shop LC (KCNZ-CD6) San Francisco, CA + Majestadtv (KCNZ-CD7) San Francisco, CA + MyNetworkTV (KCOP) Los Angeles, CA + Buzzr TV (KCOP-TV2) Los Angeles, CA + Movies! (KCOP-DT3) Los Angeles, CA + H&I (KCOP-TV4) Los Angeles, CA + NewsChannel 12 OEYT (KCOY) Santa Maria, CA + FOX (KCOY-DT2) Santa Maria, CA + Grit TV (KCOY-TV3) Santa Maria, CA + FOX (KCPQ-DT1) Seattle WA + Court TV (KCPQ-DT2) Seattle, WA + Court TV Mystery (KCPQ-DT3) Seattle, WA + Stadium (KCPQ-DT4) Seattle, WA + NBC (KCRA) Sacramento, CA + MeTV (KCRA-DT2) Sacramento, CA + ABC (KCRG-DT1) Cedar Rapids, IA + Telemundo (KCSO) Sacramento, CA + MeTV (KCSO-DT2) Sacramento, CA + TeleXitos (KCSO-DT3) Sacramento, CA + LX Network (KCSO-LD5) Sacramento, CA + FOX (KCVU) Chico, CA + Comet TV (KCVU2) Chico, CA + CHARGE! (KCVU3) Chico, CA + Stadium (KCVU-DT4) Chico, CA + DABL (KCVU5) Chico, CA + CW (KCWQ) Palm Springs, CA + CW (KDAF-DT1) Dallas, TX + Antenna TV (KDAF-DT2) Dallas, TX + Court TV (KDAF-DT3) Dallas, TX + Charge! (KDAF-DT4) Dallas, TX + Corner Store (KDBK-LP2) Bakersfield, CA + The Walk TV (KDEO-DT6) Denver, CO + FOX (KDFW-DT1) Dallas, TX + MyNetwork TV (KDFW-DT2) Dallas, TX + Heores and Icons (KDFW-DT3) Dallas, TX + GetTV (KDFW-DT4) Dallas, TX + FOX (KDFX) Palm Springs, CA + PBS (KDIN-TV) Des Moines, IA + UniMás (KDJT) Monterey, CA + CBS (KDKA-DT1) Pittsburgh, PA + Start TV (KDKA-DT2) Pittsburgh, PA + Dabl (KDKA-DT3) Pittsburgh, PA + ABC (KDNL-DT1) St Louis, MO + TBD. (KDNL-DT1) St Louis, MO + Charge (KDNL-DT1) St Louis, MO + Stadium (KDNL-DT1) St Louis MO + KDOC (KDOC) Los Angeles, CA + ESNE (KDOC-TV2) Los Angeles, CA + MeTV (KDOC-DT3) Los Angeles, CA + Comet TV (KDOC-TV4) Los Angeles, CA + VGNTV (KDOC-DT5) Los Angeles, CA + Local Now (KDOC-DT6) Los Angeles, CA + CHARGE! (KDOC-TV8) Anaheim, CA + Daystar (KDPH-LD2) Phoenix, AZ + Jewelry Television (KDPH-DT4) Phoenix, AZ + FOX (KDSM-TV) Des Moines, IA + UniMás (KDTF) San Diego, CA + Daystar (KDTS) Stockton, CA + UNI (KDTV-CD) Santa Rosa, CA + UniMás (KDTV-CD2) San Francisco, CA + GetTV (KDTV-CD3) San Francisco, CA + Court TV Mystery (KDTV-CD4) San Francisco, CA + True Crime Network (KDTV-CD5) San Francisco, CA + UNI (KDTV) San Francisco, CA + GetTV (KDTV-DT3) San Francisco, CA + Court TV Mystery (KDTV-DT4) San Francisco, CA + FOX (KDVR) Denver, CO + Corner Store (KEBK-LD2) Bakersfield, CA + CW+ (KECA) Eureka, CA + MyNetworkTV (KECA-DT2) Eureka, CA + NBC (KECI-TV) Missoula MT + Telemundo (KECY-DT4) El Centro, CA + PBS North Coast (KEET) Eureka, CA + PBS North Coast Kids (KEET-DT2) Eureka, CA + North Coast Create (KEET3) Eureka, CA + FNX (KEET4) Eureka, CA + PBS North Coast World (KEET-TV5) Eureka, CA + MeTV Plus (KEJR-LD2) Phoenix, AZ + PBS (KERA-DT1) Dallas, TX + PBS Kids (KERA-DT2) Dallas, TX + Create (KERA-DT3) Dallas, TX + World (KERA-DT4) Dallas, TX + ABC (KERO) Bakersfield, CA + Court TV (KERO-TV2) Bakersfield, CA + MeTV (KERO-DT3) Bakersfield, CA + ABC (KESQ) Palm Springs, CA + Telemundo (KESQ-DT8) Palm Springs, CA + PBS (KETC-DT1) St Louis, MO + PBS Kids (KETC-DT2) St Louis, MO + PBS World (KETC-DT3) St Louis, MO + Create (KETC-DT4) St Louis, MO + UNI (KEUV) Eureka, CA + UNI (KEVC) Indio, CA + UniMás (KEVC-DT2) Santa Barbara, CA + LATV (KEVC-DT3) Palm Springs, CA + UniMás (KEXT) Modesto, CA + ABC (KEYT) Santa Barbara, CA + MyNetworkTV (KEYT-DT2) Santa Barbara, CA + Bounce (KEYT-TV3) Santa Barbara, CA + UNI (KEZT) Stockton, CA + Decades (KFAZ-CA2) Fresno, CA + NewsNet (KFLA) Los Angeles, CA + The Country Network (KFLA-LD2) Los Angeles, CA + Corner Store (KFLA-LD3) Los Angeles, CA + Biz-TV (KFLA-LD4) Los Angeles, CA + Jewelry Television (KFLA-LD5) Los Angeles, CA + CBS (KFMB) San Diego, CA + CW (KFMB-TV2) San Diego, CA + Grit TV (KFMB-TV3) San Diego, CA + True Crime Network (KFMB-TV4) San Diego, CA + Quest (KFMB-TV5) San Diego, CA + Infomercials (KFMS-LD) Keyes, CA + Cheddar (KFMS-LD3) Sacramento, CA + Revenue Frontier (KFMS-LD4) Sacramento, CA + AAN (KFMS-LD5) Sacramento, CA + Newsmax TV (KFMS-LD6) Sacramento, CA + THIS (KFPB-LD3) Globe, AZ + Stadium (KFPB-LD6) Globe, AZ + TBD TV (KFPB-LD7) Globe, AZ + GetTV (KFPH-CD3) Phoenix, AZ + Court TV Mystery (KFPH-CD4) Phoenix, AZ + CW (KFRE) Fresno, CA + CHARGE! (KFRE-TV2) Fresno, CA + TBD TV (KFRE-TV3) Fresno, CA + UniMás (KFSF) San Francisco, CA + UNI (KFSF-DT2) San Francisco, CA + Bounce (KFSF-DT3) Vallejo, CA + Grit TV (KFSF-DT4) San Francisco, CA + True Crime Network (KFSF-DT5) Vallejo, CA + Twist (KFSF-DT6) San Francisco, CA + ABC (KFSN) Fresno, CA + Localish (KFSN-TV2) Fresno, CA + THIS (KFSN-TV3) Fresno, CA + UniMás (KFTR) Ontario, CA + GetTV (KFTR-DT2) Ontario, CA + Court TV Mystery (KFTR-DT3) Ontario, CA + Grit TV (KFTR-DT4) Ontario, CA + Quest (KFTR-DT5) Ontario, CA + UNI (KFTU-DT2) Douglas, AZ + UNI (KFTV) Fresno, CA + GetTV (KFTV-DT2) Hanford, CA + Court TV Mystery (KFTV-DT3) Hanford, CA + Grit TV (KFTV-DT4) Hanford, CA + LATV (KFUL) Los Angeles, CA + Retro TV (KGEC) Redding, CA + Action (KGEC-DT2) Redding, CA + Family Channel USA (KGEC-DT3) Redding, CA + NASA (KGEC-DT4) Redding, CA + NBC (KGET) Bakersfield, CA + CW (KGET-TV2) Bakersfield, CA + CBS (KGMB) Honolulu, HI + Estrella (KGMC) Clovis, CA + Daystar (KGMC-DT3) Clovis, CA + HSN (KGMC4) Clovis, CA + Antenna (KGMC5) Clovis, CA + MeTV (KGMC-DT6) Fresno, CA + ABC (KGO-DT1) San Francisco, CA + Localish (KGO-DT2) San Francisco, CA + This TV (KGO-DT3) San Francisco, CA + HSN (KGO-DT4) San Francisco, CA + CBS (KGPE) Fresno, CA + Court TV Mystery (KGPE2) Fresno, CA + ABC (KGTV) San Diego, CA + MeTV (KGTV2) San Diego, CA + Laff (KGTV3) San Diego, CA + Court TV Mystery (KGTV4) San Diego, CA + Bounce (KGTV5) San Diego, CA + Newsy (KGTV6) San Diego, CA + ABC (KGUN-DT1) Tucson, AZ + CBS (KGWC-DT1) Casper, WY + ABC (KGWC-DT2) Casper, WY + SonLife Network (KHDT-DT3) Denver, CO + PBS (KHET) Honolulu, HI + MyNetworkTV (KHII-TV) Honolulu, HI + Court TV (KHIZ) Victorville, CA + Laff (KHIZ-LD2) Los Angeles, CA + Grit TV (KHIZ-LD3) Los Angeles, CA + Infomercials (KHIZ-LD4) Los Angeles, CA + Shop LC (KHIZ-LD5) Los Angeles, CA + SSTN (KHIZ-LD6) Los Angeles, CA + CBN News (KHIZ-LD7) Los Angeles, CA + NBC (KHNL) Honolulu, HI + K5 (KHNL-DT2) Honolulu, HI + FOX (KHON-TV) Honolulu, HI + CW (KHON-DT2) Honolulu, HI + CBS (KHOU-DT1) Houston, TX + Shop LC (KHOU-DT2) Houston, TX + True Crime Network (KHOU-DT3) Houston, TX + Twist (KHOU-DT4) Houston, TX + Circle (KHOU-DT5) Houston, TX + NBC (KHQ-DT1) Spokane, WA + SWX Collage Sports (KHQ-DT2) Spokane, WA + Real Estate (KHSC-DT2) Fresno, CA + Revenue Frontier (KHSC-DT3) Fresno, CA + SonLife Network (KHSC-DT4) Fresno, CA + Estrella (KHSC-DT5) Fresno, CA + CBS (KHSL) Chico, CA + CW (KHSL-DT2) Chico, CA + MeTV+ (KHTV-CD) Los Angeles, CA + CW (KIAH-DT1) Houston, TX + Antenna TV (KIAH-DT2) Houston, TX + Comet (KIAH-DT3) Houston, TX + TBD (KIAH-DT4) Houston, TX + Court TV (KIAH-DT5) Houston, TX + KTVU Plus (KICU-TV) San Jose, CA + CGTN (KICU-TV3) San Jose, CA + Decades (KICU-TV4) San Jose, CA + The Grio (KICU-TV5) San Jose, CA + NBC (KIEM) Eureka, CA + US Armenia (KIIO-LD) Los Angeles, CA + KIKU (KIKU) Honolulu, HI + Bounce (KILM) Los Angeles, CA + True Crime Network (KING-DT2) Seattle, WA + Quest (KING-DT3) Seattle, WA + Twist (KING-DT4) Seattle, WA + CW (KION-TV2) Monterey, CA + ION (KION-TV3) Monterey, CA + CBS (KIRO-DT1) Seattle, WA + Cozi TV (KIRO-DT2) Seattle, WA + Laff (KIRO-DT3) Seattle, WA + ABC (KITV) Honolulu, HI + MeTV (KITV-DT2) Honolulu, HI + Hawaii TV (KITV-DT3) Honolulu, HI + ABC (KIVI-DT1) Boise, ID + PBS (KIXE) Redding, CA + Create (KIXE-TV2) Redding, CA + PBS World (KIXE-DT3) Redding, CA + Bounce (KJEO-LP) Fresno, CA + QVC (KJEO-DT2) Fresno, CA + AMG-TV (KJEO-LD3) Fresno, CA + Mana Vision 3 (KJEO-DT4) Fresno, CA + Hmong TV USA (KJEO-DT6) Fresno, CA + PBS (KJHP-LP) Morongo Valley, CA + Empire PBS (KJHP-LP3) Morongo Valley, CA + Create (KJHP-LP4) Morongo Valley, CA + Azteca (KJLA) Los Angeles, CA + VBS (KJLA-DT6) Los Angeles, CA + ZWTV (KJLA-DT9) Los Angeles, CA + MeTV (KKAF-CD2) Siloam Springs, AR + Telemundo (KKEY) Bakersfield, CA + FOX (KKFX) Santa Barbara, CA + CBS (KKFX-DT2) Santa Barbara, CA + Three Angels (KKPM-CD) Chico, CA + CMC-TV (KKPM-CD10) Chico, CA + God TV (KKPM-DT2) Sacramento, CA + Daystar (KKPM-CD3) Clovis, CA + (KKPM-CD4) Sacramento, CA + QVC (KKPM-DT5) Sacramento, CA + The Walk (KKPM-DT6) Chico, CA + ION (KKPX) San Francisco, CA + Bounce (KKPX-TV2) San Francisco, CA + Court TV (KKPX-TV3) San Francisco, CA + Defy (KKPX-TV4) San Francisco, CA + Laff (KKPX-TV5) San Francisco, CA + TrueReal (KKPX-TV6) San Francisco, CA + UniMás (KKTF-LD) Chico, CA + PBS (KLCS) Los Angeles, CA + PBS Kids (KLCS-DT2) Los Angeles, CA + Three Angels (KLFB-LD) Salinas, CA + 3ABN Latino (KLFB-LD2) Salinas, CA + 3ABN Proclaim (KLFB-LD3) Salinas, CA + ABC (KLKN-DT1) Lincoln, NE + Decades (KLPD-LD2) Denver, CO + Retro TV (KLRA-CD4) Little Rock, AR + PBS (KLRU-DT1) Austin, TX + Create (KLRU-DT2) Austin, TX + World (KLRU-DT3) Austin, TX + PBS Kids (KLRU-DT4) Austin, TX + CW (KMAX) Sacramento, CA + Laff (KMAX-TV2) Sacramento, CA + Comet TV (KMAX-TV3) Sacramento, CA + CHARGE! (KMAX-TV4) Sacramento, CA + Circle (KMAX-TV5) Sacramento, CA + TeleXitos (KMBY-LD2) Monterey, CA + Daystar (KMBY-LD3) Monterey, CA + UNI (KMEX) Los Angeles, CA + UniMás (KMEX-DT2) Los Angeles, CA + Bounce (KMEX-DT3) Los Angeles, CA + True Crime Network (KMEX-DT4) Los Angeles, CA + ABC (KMGH-DT1) Denver, CO + NBC (KMIR) Palm Springs, CA + MeTV (KMIR-DT2) Palm Springs, CA + Movies! (KMIR-DT3) Palm Springs, CA + Infomercials (KMMC) San Francisco, CA + Court TV (KMMD-CD) Salinas, CA + Bounce (KMMD-CD2) Salinas, CA + The Grio (KMMD-CD3) Salinas, CA + Grit TV (KMMD-CD4) Salinas, CA + Court TV Mystery (KMMD-CD5) Salinas, CA + Laff (KMMD-CD6) Salinas, CA + Laff (KMMD-CD7) Salinas, CA + Telemundo (KMMW-LD) Stockton, CA + CBS (KMOV-DT1) St Louis MO + Cozi TV (KMOV-DT2) St Louis MO + MyNetwork (KMOV-DT3) St Louis MO + Laff (KMOV-DT4) St Louis MO + Circle (KMOV-DT4) St Louis MO + FOX (KMPH-CD) Fresno, CA + FOX (KMPH) Fresno, CA + DABL (KMPH-TV2) Fresno, CA + Comet TV (KMPH-CD3) Los Angeles, CA + Azteca (KMSG-LD2) Visalia, CA + Daystar (KMSG-LD3) Fresno, CA + The Country Network (KMSG-DT5) Fresno, CA + (KMTP) San Francisco, CA + World Channel (KMTP-TV2) San Francisco, CA + WTV (KMTP-TV4) San Francisco, CA + NTD TV (KMTP-DT5) San Francisco, CA + Telemundo (KMUM-CD) Sacramento, CA + Telemundo (KMUV) Monterey, CA + SSTN (KMYA-DT2) Little Rock, AR + NBC (KNBC) Los Angeles, CA + Cozi TV (KNBC2) Los Angeles, CA + LX Network (KNBC-DT3) Los Angeles, CA + HSN (KNET) Los Angeles, CA + HSN (KNLA) Los Angeles, CA + DIYA TV (KNLA-CD3) Los Angeles, CA + MeTV (KNLC-DT1) St Louis, MO + NLEC (KNLC-DT2) St Louis, MO + Heroes and Icons (KNLC-DT3) St Louis, MO + Movies (KNLC-DT4) St Louis MO + Decades (KNLC-DT5) St Louis MO + Start TV (KNLC-DT6) St Louis MO + MeTV Plus (KNLC-DT7) St Louis MO + NBC (KNSD) San Diego, CA + Cozi TV (KNSD2) San Diego, CA + Telemundo (KNSO) Fresno, CA + TeleXitos (KNSO-DT2) Fresno, CA + ION (KNSO3) Fresno, CA + NBC (KNTV) San Francisco, CA + Cozi TV (KNTV2) San Francisco, CA + Telemundo (KNTV-DT3) San Francisco, CA + LX Network (KNTV-DT5) San Francisco, CA + NBC (KNVN) Chico, CA + Telemundo (KNVN-DT2) Chico, CA + AccuWeather (KNVN5) Chico, CA + KNXT (KNXT) Fresno, CA + ABC (KNXV-DT1) Arizona, PX + Antenna TV(KNXV-DT2) Arizona, PX + Laff (KNXV-DT3) Arizona, PX + QVC (KNXV-DT4) Arizona, PX + PBS SoCal1 (KOCE) Huntington Beach, CA + PBS SoCal2 (KOCE-TV2) Huntington Beach, CA + Daystar (KOCE-TV3) Los Angeles, CA + PBS World (KOCE-DT4) Huntington Beach, CA + PBS (KODG-LP) Palm Springs, CA + CHARGE! (KOFY-DT2) San Francisco, CA + PosiTiv (KOFY-DT3) San Francisco, CA + ABC (KOLO-DT1) Reno, NV + ABC (KOMO-DT1) Seattle, WA + Comet (KOMO-DT2) Seattle, WA + Charge (KOMO-DT3) Seattle, WA + MyNetworkTV (KOTR) Monterey, CA + CBS (KOVR) Sacramento, CA + Start TV (KOVR2) Sacramento, CA + DABL (KOVR3) Stockton, CA + FAVE TV (KOVR4) Stockton, CA + CBS (KPAX-TV) Missoula MT + PBS (KPBS) San Diego, CA + PBS World (KPBS-DT2) San Diego, CA + Create (KPBS3) San Diego, CA + PBS Kids (KPBS-DT4) San Diego, CA + ONTV4U (KPDF-CA6) Phoenix, AZ + Smart Lifestyle TV (KPHE-DT5) Phoenix, AZ + CBS (KPHO-DT1) Arizona, PX + Cozi TV (KPHO-DT2) Arizona, PX + Dabl (KPHO-DT3) Arizona, PX + Shop LC (KPHO-DT4) Arizona, PX + CBS (KPIX) San Francisco, CA + Start TV (KPIX-TV2) San Francisco, CA + DABL (KPIX-TV3) San Francisco, CA + FAVE TV (KPIX-TV4) San Francisco, CA + DW English (KPJK-DT4) San Mateo, CA + FNX (KPJK-TV5) San Mateo, CA + CW (KPLR-DT1) St Louis MO + Court TV (KPLR-DT2) St Louis MO + Comet (KPLR-DT3) St Louis MO + Rewind TV (KPLR-DT4) St Louis MO + KPMF-LD7 Paragould, AR + UNI (KPMR) Santa Barbara, CA + UniMás (KPMR-DT2) Santa Barbara, CA + LATV (KPMR-DT3) Santa Barbara, CA + NBC (KPNX-DT1) Arizona, PX + Shop LC (KPNX-DT2) Arizona, PX + True Crime Network (KPNX-DT3) Arizona, PX + Quest (KPNX-DT4) Arizona, PX + Twist (KPNX-DT5) Arizona, PX + Ion Television (KPPX-DT1) Arizona, PX + Bounce (KPPX-DT2) Arizona, PX + Court TV(KPPX-DT3) Arizona, PX + NewsY (KPPX-DT4) Arizona, PX + Defy TV (KPPX-DT5) Arizona, PX + TrueReal (KPPX-DT6) Arizona, PX + NBC (KPRC-DT1) Houston TX + Start TV (KPRC-DT2) Houston TX + Heroes and Icons (KPRC-DT3) Houston TX + MyNetworkTV (KPSE) Palm Springs, CA + Grit TV (KPSE-LD2) Palm Springs, CA + Bounce (KPSE-LD3) Palm Springs, CA + Weather (KPSN-LD2) Payson, AZ + True Crime Network (KPSN-LD3) Payson, AZ + CBS (KPSP-TV2) Palm Springs, CA + Ion (KPXD-DT1) Dallas, TX + ION (KPXN) Los Angeles, CA + Court TV (KPXN-TV2) Los Angeles, CA + Defy (KPXN-TV3) Los Angeles, CA + TrueReal (KPXN-TV4) Los Angeles, CA + Laff (KPXN-TV5) Los Angeles, CA + HSN (KPXN-TV6) Los Angeles, CA + MyNetworkTV (KQCA) Sacramento, CA + H&I (KQCA2) Sacramento, CA + Estrella (KQCA-DT3) Sacramento, CA + PBS (KQED) San Francisco, CA + PBS Plus (KQED2) San Jose, CA + PBS World (KQED3) San Francisco, CA + PBS Kids (KQED4) San Francisco, CA + PBS Plus (KQEH) San Jose, CA + PBS (KQEH-DT2) San Francisco, CA + PBS World (KQEH3) San Jose, CA + PBS Kids (KQEH4) San Jose, CA + PBS (KQET) Salinas, CA + PBS Plus (KQET2) San Francisco, CA + PBS World (KQET3) Watsonville, CA + PBS Kids (KQET4) Watsonville, CA + 3ABN Latino (KQMM-CD) Santa Maria, CA + Infomercials (KQRM-LP) Petaluma, CA + Three Angels (KQRO-LD) Morgan Hill, CA + CMC-TV (KQRO-LD3) Morgan Hill, CA + TLN (KQRO-LD4) Morgan Hill, CA + QVC (KQRO-LD5) Morgan Hill, CA + Daystar (KQRO-LD6) Morgan Hill, CA + IND (KQRO-LD8) Morgan Hill, CA + Heartland (KQRO-LD9) Morgan Hill, CA + KQSL-DT (KQSL-DT) Fort Bragg, CA + MeTV (KRAH-CD2) Paris, AR + Estrella (KRCA) Los Angeles, CA + KRCA-DT4 (KRCA-DT4) Los Angeles, CA + PBS (KRCB) Cotati, CA + Create (KRCB2) Cotati, CA + NHK World (KRCB-DT3) Cotati, CA + ABC (KRCR) Redding, CA + MeTV (KRCR-DT2) Redding, CA + Movies! (KRCR-DT3) Redding, CA + Daystar (KRDT-CD3) Redding, CA + QVC (KRDT-DT5) Redding, CA + H&I (KRET) Palm Springs, CA + THIS (KRET-DT2) Palm Springs, CA + Estrella (KRET-DT3) Palm Springs, CA + Antenna (KRET-CD4) Palm Springs, CA + Azteca (KRHT-LP) Redding, CA + FOX (KRIV-DT1) Houston TX + Decades (KRIV-DT2) Houston TX + KRON (KRON) San Francisco, CA + SportsGrid (KRON-DT3) San Francisco, CA + Quest (KRON-TV4) San Francisco, CA + Shop LC (KRON-TV5) San Francisco, CA + MyNetworkTV (KRVU) Chico, CA + Azteca (KSAO) Sacramento, CA + THIS (KSAO-DT2) Sacramento, CA + Buzzr TV (KSAO-LD3) Sacramento, CA + Shop LC (KSAO-DT5) Sacramento, CA + SonLife Network (KSAO-DT6) Sacramento, CA + The Country Network (KSAO-DT7) Sacramento, CA + FOX (KSAZ-DT1) Arizona, PX + Heroes and Icons (KSAZ-DT2) Arizona, PX + the Grio TV (KSAZ-DT3) Arizona, PX + CBS (KSBB-CD) Santa Barbara, CA + Azteca (KSBO) Santa Maria, CA + QVC (KSBS-CD3) Denver, CO + Jewelry TV (KSBS-DT5) Denver, CO + Estrella (KSBT-DT2) Los Angeles, CA + NBC (KSBW) Monterey, CA + ABC (KSBW-DT2) Monterey, CA + Estrella (KSBW-DT3) Monterey, CA + NBC (KSBY) Santa Barbara, CA + CW (KSBY2) Santa Barbara, CA + Laff (KSBY3) San Luis Obispo, CA + Court TV (KSBY4) San Luis Obispo, CA + KSCI (KSCI) Los Angeles, CA + SBS (KSCI-DT2) Long Beach, CA + Telemax (KSDI) Fresno, CA + NBC (KSDK-DT1) St Louis MO + GetTV (KSDK-DT2) St Louis MO + True Crime Network (KSDK-DT3) St Louis MO + Quest (KSDK-DT4) St Louis MO + Twist (KSDK-DT5) St Louis MO + This TV (KSDK-DT6) St Louis MO + Estrella (KSDX) San Diego, CA + Milenio (KSDY) San Diego, CA + Bounce (KSDY-LD2) San Diego, CA + Bounce (KSEE2) Fresno, CA + LATV (KSEE-DT3) Fresno, CA + Mana (KSFV-CD2) Los Angeles, CA + ABC (KSFY-DT1) Sioux Falls, SD + beIN Sports Xtra (KSKJ-CD) Los Angeles, CA + SSTN (KSKJ-DT2) Los Angeles, CA + Infomercials (KSKJ-CD3) Los Angeles, CA + Infomercials (KSKJ-CD4) Los Angeles, CA + Three Angels (KSKJ-DT5) Los Angeles, CA + UNI (KSMS) Monterey, CA + UniMás (KSMS-DT2) Monterey, CA + LATV (KSMS-DT3) Monterey, CA + Tai Shan TV (KSMV-LD10) Los Angeles, CA + Fil Am TV (KSMV-LD3) Los Angeles, CA + Hope Channel (KSMV-LD6) Los Angeles, CA + CGTN (KSMV-LD9) Los Angeles, CA + ION (KSPX) Sacramento-Modesto, CA + Court TV (KSPX-TV2) Sacramento-Modesto, CA + Laff (KSPX-TV3) Sacramento-Modesto, CA + Bounce (KSPX-TV4) Sacramento-Modesto, CA + Defy (KSPX-TV5) Sacramento-Modesto, CA + TrueReal (KSPX-TV6) Sacramento, CA + Telemundo (KSPX-TV9) Sacramento, CA + 45tv (KSTC-DT2) St Paul, MN + MeTV (KSTC-DT3) St Paul, MN + Antenna TV (KSTC-DT4) St Paul, MN + ABC (KSTP-DT1) St Paul, MN + True Real (KSTP-DT5) St Paul, MN + Heroes and Icons (KSTP-DT7) St Paul, MN + UniMas (KSTR-DT1) Dallas, TX + Telemundo (KSTS) San Jose, CA + TeleXitos (KSTS-DT2) San Jose, CA + NBC (KSTS-DT3) San Francisco, CA + Cozi TV (KSTS4) San Jose, CA + LX Network (KSTS-DT5) San Francisco, CA + Azteca (KSTV) Sacramento, CA + Circle (KSTW-DT5) Seattle, WA + Telemundo (KTAS) Santa Barbara, CA + Almavision (KTAV-LD) Los Angeles, CA + CBN News Channel (KTAV-LD2) Los Angeles, CA + Peace TV (KTAV-LD6) Altadena, CA + TBN (KTBN) Los Angeles, CA + Hillsong (KTBN-TV2) Santa Ana, CA + Smile (KTBN-TV3) Santa Ana, CA + Enlace (KTBN-TV4) Los Angeles, CA + PosiTiV (KTBN-TV5) Los Angeles, CA + PBS (KTCA-DT1) St Paul, MN + PBS Kids (KTCA-DT4) St Paul, MN + UniMás (KTFF) Porterville, CA + UNI (KTFF-DT2) Porterville, CA + Quest (KTFF-DT3) Porterville, CA + UniMas (KTFF-LD) Fresno, CA + UniMás (KTFK) Sacramento, CA + UNI (KTFK-DT13) Sacramento, CA + GetTV (KTFK-DT3) Sacramento, CA + Grit TV (KTFK-DT4) Stockton, CA + KTLA 5 (KTLA) Los Angeles, CA + Antenna (KTLA2) Los Angeles, CA + Court TV (KTLA3) Los Angeles, CA + H&I (KTLN-TV) San Rafael, CA + MeTV (KTLN-DT2) Novato, CA + MeTV (KTLN-TV3) Novato, CA + MeTV Plus (KTLN-DT4) San Francisco, CA + Telemundo (KTMD-DT1) Houston, TX + Telexitos (KTMD-DT2) Houston, TX + NBCLX (KTMD-DT3) Houston, TX + Cozi TV (KTMD-DT4) Houston, TX + ABC (KTMF) Missoula, MT + FOX (KTMF-DT2) Missoula, MT + TCT (KTNC) San Francisco, CA + Canal de La Fe (KTNC-TV2) San Francisco, CA + ABC (KTNV-DT1) Las Vegas, NV + ABC (KTRK-DT1) Houston TX + Localish (KTRK-DT2) Houston, TX + This TV (KTRK-DT3) Houston, TX + QVC (KTRK-DT4) Houston, TX + UniMás (KTSB) Santa Barbara, CA + UniMás (KTSB-DT2) Santa Barbara, CA + LATV (KTSB-DT3) Santa Barbara, CA + KTSF (KTSF) Bisbane, CA + KBS World (KTSF-DT3) San Francisco, CA + Viet Today TV (KTSF-DT5) San Francisco, CA + FOX (KTTV) Los Angeles, CA + The Grio (KTTV-DT3) Los Angeles, CA + Decades (KTTV4) Los Angeles, CA + MyNetworkTV (KTVD-DT1) Denver, CO + FOX (KTVI-DT1) St Louis, MO + Antenna TV (KTVI-DT2) St Louis, MO + Ion Mystery (KTVI-DT3) St Louis, MO + Dabl (KTVI-DT4) St Louis, MO + NBC (KTVM-DT1) Butte, MT + ABC (KTVO-DT1) Kirskville, MO + Shop LC (KTVP-LD3) Phoenix, AZ + CBS (KTVQ-DT1) Billings, MT + CW (KTVQ-DT2) Billings, MT + CBS (WFAA-DT1) Dallas, TX + Start TV (WFAA-DT2) Dallas, TX + Dabl (WFAA-DT3) Dallas, TX + Fave TV (WFAA-DT4) Dallas, TX + FOX (KTVU) San Francisco, CA + LATV (KTVU-DT2) San Francisco, CA + Movies! (KTVU-DT3) San Francisco, CA + Buzzr TV (KTVU4) Oakland, CA + Digi TV (KTVW-DT5) Phoenix, AZ + MyNetwork (KTXH-DT1) Houston TX + Movies! (KTXH-DT2) Houston TX + Buzzr (KTXH-DT3) Houston TX + the GrioTV (KTXH-DT4) Houston TX + FOX (KTXL) Sacramento, CA + Antenna (KTXL2) Sacramento, CA + Court TV (KTXL3) Sacramento, CA + TBD TV (KTXL-DT4) Sacramento, CA + Telemundo (KUAN) San Diego, CA + TeleXitos (KUAN-LD2) Poway, CA + UNI (KUCO) Chico, CA + PBS (KUFM-TV) Missoula, MT + PBS (KUHT-DT1) Houston, TX + Create (KUHT-DT2) Houston, TX + PBS Kids (KUHT-DT3) Houston, TX + PBS World (KUHT-DT4) Houston, TX + CMC-TV (KUKR-LD3) Santa Rosa, CA + Telemundo (KUNA) Palm Desert, CA + CatholicTV (KUPU) Waimanalo, HI + CMC-TV (KURK-LD) San Francisco, CA + Three Angels (KURK-LD3) San Francisco, CA + Vida Mejor TV (KURK-LD4) Santa Rosa, CA + KUSI (KUSI) San Diego, CA + My Nework TV (KUTP-DT1) Arizona, PX + Movies! (KUTP-DT2) Arizona, PX + Buzzr (KUTP-DT3) Arizona, PX + Decades (KUTP-DT4) Arizona, PX + Start TV (KUTP-DT5) Arizona, PX + Court TV Mystery (KUVE-CD4) Tucson, AZ + Court TV Mystery (KUVE-DT4) Tucson, AZ + MyNetworkTV (KUVI) Bakersfield, CA + UNI (KUVI-DT2) Bakersfield, CA + UniMás (KUVI-DT3) Bakersfield, CA + Court TV (KUVI-DT5) Bakersfield, CA + Univision (KUVN-DT1) Dallas, TX + UNI (KUVS) Modesto, CA + UniMás (KUVS-DT2) Sacramento, CA + Bounce (KUVS-DT3) Sacramento, CA + Court TV Mystery (KUVS-DT4) Modesto, CA + MeTV (KVBC) Fresno, CA + Start TV (KVBC-DT2) Reedley, CA + Movies! (KVBC-DT3) Reedley, CA + Market (KVBC-DT4) Reedley, CA + True Crime Network (KVBC-DT5) Reedley, CA + Heartland (KVBC-LP6) Reedley, CA + Buzzr TV (KVBC-LP7) Fresno, CA + NewsNet (KVBC-LD9) Fresno, CA + PBS (KVCR) San Bernardino, CA + FNX (KVCR-DT2) San Bernardino, CA + Empire PBS (KVCR-DT3) San Bernardino, CA + Create (KVCR-DT4) San Bernardino, CA + Telemundo (KVEA) Los Angeles, CA + TeleXitos (KVEA-DT2) Los Angeles, CA + UNI (KVES) Palm Springs, CA + Local Programming (KVHD-LD2) Los Angeles, CA + TV Guide (KVHF-LD) Fresno, CA + Infomercials (KVHF-LD13) Fresno, CA + Right Now TV (KVHF-LD2) Fresno, CA + REV'N (KVHF-LD4) Clovis, CA + Jewelry Television (KVHF-LD5) Fresno, CA + Biz-TV (KVHF-LD6) Fresno, CA + Deals (KVHF-LD7) Fresno, CA + PBS (KVIE) Sacramento, CA + PBS World (KVIE3) Sacramento, CA + PBS Kids (KVIE4) San Francisco, CA + CBS (KVIQ) Eureka, CA + LATV (KVMD) Twentynine Palms, CA + Tai Shan TV (KVMD-DT10) Twentynine Palms, CA + Jewelry Television (KVMD-DT3) Twentynine Palms, CA + Shop LC (KVMD-DT5) Twentynine Palms, CA + FaithTV (KVMD-DT6) Twentynine Palms, CA + Infomercials (KVMD7) Twentynine Palms, CA + CGTN (KVMD9) Twentynine Palms, CA + H&I (KVME) Bishop, CA + Infomercials (KVMM-CD2) Santa Barbara, CA + Shop LC (KVPA-LD2) Phoenix, AZ + PBS (KVPT) Fresno, CA + PBS Kids (KVPT-DT2) Fresno, CA + Create (KVPT3) Fresno, CA + PBS World (KVPT-DT4) Fresno, CA + ABC (KVUE-DT1) Austin, TX + Azteca (KVVG-LD) Porterville, CA + CW (KWGN-DT1) Denver, CO + Canal 22 (KWHY-TV) Los Angeles, CA + Heartland (KWHY-TV2) Los Angeles, CA + KWHY-DT3 (KWHY-DT3) Los Angeles, CA + Majestadtv (KWHY-DT5) Los Angeles, CA + Infomercials (KWMO-LD2) Hot Springs, AR + ABC (KWYB-DT1) Butte, MT + NBC (KXAN-DT1) Austin, TX + NBC (KXAS-DT1) Dallas TX + Cozi TV (KXAS-DT2) Dallas TX + NBCLX (KXAS-DT3) Dallas TX + LATV (KXBF-LD2) Bakersfield, CA + CBS (KXDF-CD1) Fairbanks, AK + KXLA (KXLA) Los Angeles, CA + amga TV (KXLA10) Los Angeles, CA + Infomercials (KXLA12) Los Angeles, CA + KXLA-DT2 (KXLA-DT2) Los Angeles, CA + Sky Link TV (KXLA-DT3) Los Angeles, CA + SonLife (KXLA-DT6) Los Angeles, CA + New Tang Dynasty TV (KXLA-DT7) Los Angeles, CA + Univision (KXLN-DT1) Houston, TX + Unimas (KXLN-DT2) Houston, TX + Ion Mystery (KXLN-DT3) Houston, TX + Bounce (KXTU-LD2) Colorado Springs, CO + Laff (KXTU-LD3) Colorado Springs, CO + Antenna (KXTU-LD4) Colorado Springs, CO + ABC (KXTV) Sacramento, CA + True Crime Network (KXTV-DT2) Sacramento, CA + Bounce (KXTV3) Sacramento, CA + Quest (KXTV4) Sacramento, CA + Twist (KXTV5) Sacramento, CA + Telemundo (KXTX-DT1) Dallas, TX + Antenna (KXVU-LP) Chico, CA + Azteca (KYAV) Palm Springs, CA + MeTV (KYAZ-DT1) Houston TX + MeTV Plus (KYAZ-DT2) Houston TX + Azteca America (KYAZ-DT3) Houston TX + Estrella TV (KYMA-DT3) Yuma, AZ + MeTV (KYMB-LD) Monterey, CA + THIS (KYMB-LD2) Monterey, CA + GetTV (KYMB-LD3) Monterey, CA + Buzzr TV (KYMB-LD4) Monterey, CA + SonLife Network (KYMB-LD5) Monterey, CA + The Country Network (KYMB-LD6) Monterey, CA + CBS (KYW-DT1) Philadelphia, PA + Start TV (KYW-DT2) Philadelphia, PA + Dabl (KYW-DT3) Philadelphia, PA + Azteca (KZDF) Santa Barbra, CA + Jewelry Television (KZDN-DT4) Denver, CO + Heartland (KZGN) Los Angeles, CA + Corner Store (KZGN-LD3) Los Angeles, CA + Azteca (KZKC-LP) Bakersfield, CA + SHOPHQ (KZMM-CD2) Fresno, CA + SonLife Network (KZMM-CD3) Fresno, CA + Infomercials (KZMM-CD4) Fresno, CA + MeTV (KZSD) San Diego, CA + MyNetworkTV (KZTC) San Diego, CA + MyNetworkTV (KZVU) Chico, CA + Laff + Law & Crime + Leafs Nation Network + Lifetime East + LMN East + LMN West + Lifetime Real Women East + Lifetime West + Link TV + LiveNow From FOX + Living Faith TV + Logo East + Logo West + Longhorn Network + Love Nature + Magnolia Network East + Makeful + Marquee Sports Network + MASN + MASN2 + MavTV + MBC America + MCAETv + Mediaset Italia + Mega TV + Melody Aflam + Melody Drama + Melody Hits + MeTV + Mezzo Live HD + MGM+ Drive-In + MGM+ East + MGM+ Hits East + MGM+ Marquee + MGM+ West + Military History Channel + MLB Extra Innings 1 + MLB Extra Innings 10 + MLB Extra Innings 2 + MLB Extra Innings 3 + MLB Extra Innings 4 + MLB Extra Innings 5 + MLB Extra Innings 6 + MLB Extra Innings 7 + MLB Extra Innings 8 + MLB Extra Innings 9 + MLB Network + MLB Strike Zone + MNT East + MoreMax East + MoreMax West + Motortrend + MovieMax East + MovieMax West + MoviePlex East + MoviePlex West + MSG + MSG Plus + MSNBC + MTV2 East + MTV2 West + MTV Classic East + MTV Classic West + MTV East + MTV Live (International) + MTV Live + MTV Tr3s East + MTV Tr3s West + MTV U + Music Choice 70s + Music Choice 80s + Music Choice 90s + Music Choice Alternative + Music Choice Classic Rock + Music Choice Country Hits + Music Choice Dance/EDM + Music Choice Gospel + Music Choice Hip-Hop and R&B + Music Choice Hit List + Music Choice Indie + Music Choice Jazz + Music Choice Kids Only! + Music Choice Love Songs + Music Choice Max + Music Choice Metal + Music Choice Mexicana + Music Choice Musica Urbana + Music Choice Pop & Country + Music Choice Pop Hits + Music Choice Pop Latino + Music Choice Rap + Music Choice R&B Classics + Music Choice R&B Soul + Music Choice Reggae + Music Choice Rock + Music Choice Smooth Jazz + Music Choice Soft Rock + Music Choice Teen Beats + Music Choice Throwback Jamz + Music Choice Today's Country + Music Choice Toddler Tunes + Music Choice Tropicales + Music Choice Y2K + MyDestination.TV + Mystery Science Theater 3000 + NASA TV + NASA TV UHD + Nat Geo Mundo + National Geographic East + National Geographic West + National Geographic Wild East + NBA League Pass 1 + NBA League Pass 10 + NBA League Pass 2 + NBA League Pass 3 + NBA League Pass 4 + NBA League Pass 5 + NBA League Pass 6 + NBA League Pass 7 + NBA League Pass 8 + NBA League Pass 9 + NBA TV + NBC East + NBCLX (National) + NBC News Now + NBC Sports Boston + NBC Sports California + NBC Sports Chicago + NBC Sports Chicago Plus + NBC Sports Chicago Plus 2 + NBC Sports Philadelphia + NBC Sports Washington + NBC Universo East + NBC Universo West + NDTV 24x7 + NDTV Good Times + NECN + NESN + NESN Plus + News12 Bronx + News12 Brooklyn + News12 Conneticut + News12 Hudson Valley + News12 Long Island + News12 New Jersey + News12 Westchester + Newsmax TV + NewsNation East + Newsnet + Newsy + NFL Network + NFL Red Zone + NHK World (US-National) + NHL Center Ice 1 + NHL Center Ice 10 + NHL Center Ice 2 + NHL Center Ice 3 + NHL Center Ice 4 + NHL Center Ice 5 + NHL Center Ice 6 + NHL Center Ice 7 + NHL Center Ice 8 + NHL Center Ice 9 + NHL Network + Nickelodeon East + Nickelodeon West + Nick Jr East + Nick Jr West + NickMusic + Nicktoons East + Nicktoons West + NRBTV + NTD TV + NTV + Nuestra Visión + One America News Network + One Caribbean Television + OnTV4U + OSN Ya Hala + Outdoor Channel + OuterMax East + OuterMax West + Ovation + Oprah Winfrey Network East + Oxygen East + Oxygen West + Pac-12 Arizona + Pac-12 Bay Area + Pac-12 Los Angeles + Pac-12 Mountain + Pac-12 Networks + Pac-12 Oregon + Pac-12 Washington + Paramount Network East + Pasiones US + PBS East (National Feed) + PBS Kids East (National Feed) + PBS West (National Feed) + People TV + Perú Mágico + Pets.TV + PixL TV + Playboy TV Latin America + Pop East + Pop West + Positiv TV + Prime Asia TV + Pursuit Channel + Pursuit Up + Qello Concerts by Stingray + Quest + QVC + QVC2 + QVC3 + Rai News 24 + Reelz + RetroPlex East + RetroPlex West + Revenue Frontier + Rev'n + Revolt + RFD-TV + Root Sports Northwest + Rotana Classic + Rotana Khalijia + RT America + RTR Planeta + Saisons Canada + SonLife Broadcasting Network + Science + ScreenPix + ScreenPix Action + ScreenPix Voices + ScreenPix Westerns + SEC Network + SET International + Pay Per View 1 + Pay Per View 2 + Pay Per View 3 + Pay Per View 4 + Pay Per View 5 + Pay Per View 6 + Pay Per View 7 + Pay Per View 8 + Shepherd's Chapel + ShopHQ + Shop LC + Shop TV + Shout Factory TV + Showtime 2 East + Showtime East + Showtime Extreme East + Showtime Extreme West + Showtime Family Zone East + Showtime Family Zone West + Showtime Next East + Showtime Next West + Showtime Showcase East + Showtime Showcase West + Showtime West + Showtime Women East + Showtime Women West + SHOxBET East + SHOxBET West + Sky Link TV + Sky News Arabia + Sky News for US Streaming + Smart LifeStyle TV + Smile TV + Smithsonian + Sony Mix + Sony Movies + Sony SAB TV USA + So Yummy! + Spectrum OC16 + Spectrum SportsNet + Spectrum SportsNet LA + Sportsman Channel + Sportsman Channel Canada + SportsNet East + SportsNet New York + SportsNet One + SportsNet Pacific + SportsNet West + SportsNet World + Stadium + Stadium College Sports Atlantic + Stadium College Sports Central + Stadium College Sports Pacific + Star Bharat + Start TV + Starz 1 East + Starz 1 West + Starz 2 East + Starz 2 West + Starz Cinema East + Starz Cinema West + Starz Comedy East + Starz Comedy West + Starz East + Starz Edge East + Starz Edge West + Starz Encore Action East + Starz Encore Action West + Starz Encore Black East + Starz Encore Black West + Starz Encore Classic East + Starz Encore Classic West + Starz Encore East + Starz Encore Family East + Starz Encore Family West + Starz Encore Suspense East + Starz Encore Suspense West + Starz Encore West + Starz Encore Westerns East + Starz Encore Westerns West + Starz In Black East + Starz In Black West + Starz Kids & Family East + Starz Kids & Family West + Starz West + Stingray Broadway + Stingray Classic R&B + Stingray Classic Rock + Stingray Easy Listening + Stingray Festival 4K + Stingray Flashback 70s + Stingray Franco Fêtes + Stingray Gospel + Stingray Greatest Hits + Stingray Hit List + Stingray Hot Country + Stingray Karaoke + Stingray Naturescape + Stingray No Fences + Stingray Nothin' But 90's + Stingray Pop Adult + Stingray Remember the 80's + Stingray Rock Alternative + Stingray Romance Latino + Stingray Smooth Jazz + Stingray Soul Storm + Stingray Exitos del Momento + Stingray Hip-Hop/R&B + StudioCanal + SundanceTV East + SundanceTV West + Syfy East + Syfy West + Tastemade + TBN East + TBN Inspire + TBS East + TBS West + TCM + TeenNick + Telebimbi + TeleHit + Telemundo East (National Feed) + Telemundo West (National Feed) + Televisión Dominicana + TeleXitos + Tennis Channel + The Africa Channel + The Carol Burnett Show + The Country Network + The Cowboy Channel + CW Plus Central (National Feed) + CW Plus East (National Feed) + CW Plus Mountain (National Feed) + CW Plus Pacific (National Feed) + The Family Channel + The First + The Grio + The Israeli Network + The Movie Channel East + The Movie Channel West + The Movie Channel Extra East + The Movie Channel Extra West + The Weather Channel + The Word Network + This TV + ThrillerMax East + ThrillerMax West + TLC East + TLC West + TNT East + TNT West + Toku + The Travel Channel + True Crime Network + TruTV East + TruTV West + TSN1 + TSN2 + TSN3 + TSN4 + TSN5 + TUDN + TVA Sports 3 + TVE Internacional América + TV Guide + TV Japan + TVK2 + TV Land East + TV Land West + TV One + TVP Polonia + TyC Sports + TYT Network + Ultra Familia + UniMás Central + UniMás Este + Unimas West (National Feed) + Universal Kids + Univision East (National Feed) + Univision Tlnovelas + Univision West (National Feed) + UPtv + USA Network East + USA Network West + Venevisión Plus + VH1 East + VH1 West + Vice + ViendoMovies + VisionTV + Vme Kids + VSiN + GetTV (W34EY-D3) Huntsville, AL + Three Angels (W34EY-D6) Huntsville, AL + ABC (WABC-DT1) New York, NY + Localish (WABC-DT2) New York, NY + This TV (WABC-DT3) New York, NY + HSN (WABC-DT4) New York, NY + WACP4 (WACP-DT1) Atlantic City, NJ + Ace TV (WACP-DT2) Atlantic City, NJ + Heartland (WACP-DT3) Atlantic City, NJ + Shop LC (WACP-DT4) Atlantic City, NJ + Jewelry Television (WACP-DT5) Atlantic City, NJ + The Family Channel (WACP-DT6) Atlantic City, NJ + Fun Roads (WACP-DT7) Atlantic City, NJ + My Network TV (WADL-DT1) Mount Clemens, MI + FOX (WAGA-DT1) Atanta, GA + Movies (WAGA-DT2) Atanta, GA + Buzzr (WAGA-DT3) Atanta, GA + the GrioTV (WAGA-DT4) Atanta, GA + Decades (WAGA-DT5) Atanta, GA + Laff (WALE-LD2) Montgomery, AL + Jewelry TV (WALE-LD4) Montgomery, AL + WAPA America + WAPA Deportes + EstrellaTV (WASA-LD1) Port Jervis, NY + ABC (WATE) KNOXVILLE + Water Television Network + My Network TV (WATL-DT1) Atlanta, GA + This TV (WATL-DT2) Atlanta, GA + ABC (WATM1) Altoona, PA + FOX (WATM2) Altoona, PA + Cozi TV (WATM3) Altoona, PA + TV 64 (WAXN-DT1) Kannapolis, NC + NBC (WBAL-DT1) Baltimore, MD + MeTV (WBAL-DT2) Baltimore, MD + ABC (WBAY-DT1) Green Bay, WI + CBS (WBBM-DT1) Chicago, IL + Start TV (WFMZ-DT2) Chicago, IL + Dabl (WFMZ-DT3) Chicago, IL + MeTV (WBBZ-TV) Springville, NY + YouToo America (WBCF-LD2) Florence, AL + FOX (WBFF-DT1) Baltimore, MD + My TV (WBFF-DT2) Baltimore, MD + Decades (WBGT-CD5) Rochester, NY + Movies! (WBGT-CD7) Rochester, NY + PBS (WBGU-TV) Toledo, OH + NBC (WBIR) KNOXVILLE + WBNX-TV 55 (WBNX-DT1) Akron, OH + AMG TV (WBON-LD) Richmond, KY + Buzzr TV (WBON-LD2) Richmond, KY + Heartland (WBON-LD3) Richmond, KY + Retro TV (WBON-LD4) Richmond, KY + ABC (WBRZ-DT1) Baton Rouge, LA + CW (WBSF) Bay City, MI + Cozi TV (WBTS-CD2) Boston, MA + CBS (WBTW) Florence, SC + MyNetworkTV (WBTW-DT2) Florence, SC + ABC (WBUP) Ishpeming, MI + NewsNet (WBXZ-LP11) Buffalo, NY + THIS (WBXZ-LP12) Buffalo, NY + Jewelry TV (WBXZ-LP3) Buffalo, NY + Corner Store (WBXZ-LP7) Buffalo, NY + CBS (WBZ-DT1) Boston, MA + Start TV (WBZ-DT2) Boston, MA + Dabl (WBZ-DT3) Boston, MA + NBC (WCAU-DT1) Philadelphia, PA + Cozi (WCAU-DT2) Philadelphia, PA + LX (WCAU-DT3) Philadelphia, PA + CBS (WCBS-DT1) New York, NY + Start TV (WCBS-DT2) New York, NY + Dabl (WCBS-DT3) New York, NY + FAVE TV (WCBS-DT4) New York, NY + CBS (WCCO-DT1) St Paul, MN + Start TV (WCCO-DT2) St Paul, MN + Dabl (WCCO-DT3) St Paul, MN + Fave TV (WCCO-DT4) St Paul, MN + CW (WCCT-DT1) Hartford, CT + Court TV (WCCT-DT2) Hartford, CT + Comet (WCCT-DT3) Hartford, CT + Quest (WCCT-DT4) Hartford, CT + CW (WCIU-DT1) Chicago, IL + The U (WCIU-DT2) Chicago, IL + MeTV (WCIU-DT3) Chicago, IL + Heroes and Icons (WCIU-DT4) Chicago, IL + MeTV Plus (WCIU-DT5) Chicago, IL + Decades (WCIU-DT6) Chicago, IL + PBS (WCMU-TV) Mount Pleasant, MI + PBS (WCNY-TV) Syracuse, NY + ABC (WCTI-DT1) New Bern, NC + CBS (WCTV1) Tallahassee, FL + MeTV (WCTV2) Tallahassee, FL + Circle (WCTV3) Tallahassee, FL + ION Television (WCTV4) Tallahassee, FL + True Crime Network (WCTV5) Tallahassee, FL + MyNetwork (WCTX-DT1) Hartford, CT + Comet (WCTX-DT2) Hartford, CT + ABC (WCVB-DT1) Boston, MA + MeTV (WCVB-DT2) Boston, MA + PBS (WCVE-DT) Richmond, VA + Create (WCVE-DT2) Richmond, VA + PBS World (WCVE-DT3) Richmond, VA + PBS Kids (WCVE-DT4) Richmond, VA + CW (WCWN-DT1) Albany, NY + My Network TV (WDCA-DT1) Washington D.C. + Movies! (WDCA-DT2) Washington D.C. + Heroes and Icons (WDCA-DT3) Washington D.C. + PBS (WDCQ-TV) Bad Axe, MI + CW (WDCW-DT1) Washington D.C. + ABC (WDIO-DT1) Duluth, MN + NBC (WDIV-DT1) Detroit, MI + Telemundo (WDNI-CD1) Indianapolis, IN + MeTV (WDPN-DT1) Philadelphia, PA + Grit (WDPN-DT2) Philadelphia, PA + Court TV Mystery (WDPN-DT3) Philadelphia, PA + Heroes and Icons (WDPN-DT4) Philadelphia, PA + Retro TV (WDPN-DT5) Philadelphia, PA + WeatherNation + NBC (WECT) Wilmington, NC + PBS (WEDH-DT1) Hartford, CT + PBS Kids (WEDH-DT2) Hartford, CT + CPTV Spilit (WEDH-DT3) Hartford, CT + WEFS (WEFS-DT1) Cocoa, FL + NBC 2 (WESH-DT1) Orlando, FL + MeTV (WESH-DT2) Orlando, FL + PBS (WETA-DT1) Washington D.C. + WETA UK (WETA-DT2) Washington D.C. + PBS Kids (WETA-DT3) Washington D.C. + PBS World (WETA-DT4) Washington D.C. + We TV East + We TV West + ABC (WEWS-DT1) Cleveland, OH + Grit (WEWS-DT2) Cleveland, OH + Laff (WEWS-DT3) Cleveland, OH + HSN (WEWS-DT5) Cleveland, OH + NBC (WEYI-TV) Saginaw, MI + ABC (WFAA-DT1) Dallas, TX + Accuweather (WFAA-DT2) Dallas, TX + True Crime Network (WFAA-DT3) Dallas, TX + Quest (WFAA-DT4) Dallas, TX + FOX (WFLD-DT1) Chicago, IL + Movies! (WFLD-DT2) Chicago, IL + The GrioTV (WFLD-DT4) Chicago, IL + WFMZ69 (WFMZ-DT1) Allentown, PA + WFMZ Weathers (WFMZ-DT2) Allentown, PA + MeTV (WFMZ-DT3) Allentown, PA + CBS (WFOR-DT1) Miami, FL + Start TV (WFOR-DT2) Miami, FL + Dabl (WFOR-DT3) Miami, FL + FAVE TV (WFOR-DT4) Miami, FL + Unimas (WFPA-CD1) Philadelphia, PA + FOX (WFQX-TV) Cadillac, MI + CW (WFQX-DT2) Cadillac, MI + CBS (WFSB-DT1) Hartford, CT + ION Mystery (WFSB-DT2) Hartford, CT + Laff (WFSB-DT3) Hartford, CT + PBS (WFSU1) Tallahassee, FL + The Florida Channel (WFSU2) + Create (WFSU3) Tallahassee, FL + PBS Kids (WFSU4) Tallahassee, FL + ABC 9 (WFTV-DT1) Orlando, FL + UniMas (WFUT-DT1) New York, NY + True Crime Network (WFUT-DT2) New York, NY + getTV (WFUT-DT3) New York, NY + FOX (WFXB) Myrtle Beach, SC + FOX (WFXT-DT1) Boston MI + Court TV Mystery (WFXT-DT2) Boston MI + Laff (WFXT-DT3) Boston MI + PBS (WFYI-DT1) Indianapolis, IN + Create (WFYI-DT3) Indianapolis, IN + Univision (WGBO-DT1) Chicago, IL + Laff (WGBO-DT2) Chicago, IL + GetTV (WGBO-DT3) Chicago, IL + True Crime Network (WGBO-DT4) Chicago, IL + Grit (WGBO-DT5) Chicago, IL + Grit TV (WGCE-CD2) Rochester, NY + Buzzr TV (WGCE-CD5) Rochester, NY + CBS (WGCL-DT1) Atanta, GA + Grit (WGCL-DT3) Atanta, GA + WGN9 (WGN-DT1) Chicago, IL + Antenna TV (WGN-DT2) Chicago, IL + Court TV (WGN-DT3) Chicago, IL + Rewind TV (WGN-DT4) Chicago, IL + TBD. (WGN-DT5) Chicago, IL + NBC (WGRZ1) Buffalo, NY + Antenna TV (WGRZ2) Buffalo, NY + True Crime Network (WGRZ3) Buffalo, NY + Quest (WGRZ4) Buffalo, NY + Twist (WGRZ5) Buffalo, NY + PBS (WGTE-TV) Toledo, OH + ABC (WGTU) Traverse City, MI + PBS (WUPA-DT1) Atlanta, GA + Create (WUPA-DT2) Atlanta, GA + PBS World(WUPA-DT3) Atlanta, GA + PBS Kids(WUPA-DT4) Atlanta, GA + PBS (WGVU-TV) Grand Rapids, MI + MeTV (WHCT-LD1) Hartford, CT + Heroes and Icons (WHCT-LD2) Hartford, CT + StartTV (WHCT-LD3) Hartford, CT + Movies (WHCT-LD4) Hartford, CT + Decades (WHCT-LD5) Hartford, CT + NewsNet (WHNE-LD9) Detroit, MI + WHPR TV Detroit Live (WHPS-CD2) Highland Park, MI + Ion Television (WHPX-DT1) Hartford, CT + Bounce (WHPX-DT2) Hartford, CT + Court TV (WHPX-DT3) Hartford, CT + Grit (WHPX-DT4) Hartford, CT + DEFY TV (WHPX-DT5) Hartford, CT + ABC (WHSV-DT1) Harrisonburg, VA + PBS (WHUT-DT1) Washington, DC + My NetworkTV (WHVL-LD1) State Collage PA + Buzzr (WHVL-LD2) State Collage PA + PBS (WHYY-DT1) Philadelphia, PA + PBS World (WHYY-DT2) Philadelphia, PA + PBS Kids (WHYY-DT2) Philadelphia, PA + Family CHRGD + Willow + WILM-TV10 (WILM-LD) Wilmington, NC + ION Television (WINP-DT1) Pittsburgh, PA + Bounce (WINP-DT2) Pittsburgh, PA + Court TV (WINP-DT3) Pittsburgh, PA + ION Mystery (WINP-DT4) Pittsburgh, PA + DEFY TV (WINP-DT5) Pittsburgh, PA + TrueReal (WINP-DT6) Pittsburgh, PA + NewsY (WINP-DT7) Pittsburgh, PA + CW (WISH-DT1) Indianapolis, IN + GetTV (WISH-DT2) Indianapolis, IN + Twist (WISH-DT3) Indianapolis, IN + ABC (WISN-DT1) Milwaukee, WI + CBS (WIVB1) Buffalo, NY + NBC (WJAC1) Altoona, PA + MeTV (WJAC2) Altoona, PA + Comet (WJAC3) Altoona, PA + CW (WJAC4) Altoona, PA + ABC (WJBF-DT1) Augusta, GA + FOX (WJBK-DT1) Detroit, MI + ABC (WJLA-DT1) Washington, DC + MeTV (WJLP-DT1) New York, NY + Laff (WJLP-DT2) New York, NY + Grit (WJLP-DT3) New York, NY + ION Mystery (WJLP-DT4) New York, NY + Retro TV (WJLP-DT5) New York, NY + Heartland Network (WJLP-DT6) New York, NY + Story Television (WJLP-DT7) New York, NY + MeTV Plus (WJLP-DT8) New York, NY + ABC (WJRT-TV) Flint MI + FOX (WJW-DT1) Cleveland, OH + Antenna TV (WJW-DT2) Cleveland, OH + Comet (WJW-DT3) Cleveland, OH + Charge (WJW-DT4) Cleveland, OH + CBS (WJZ-DT1) Baltimore, MD + Punto 2 (WKAQ-DT) San Juan, PR + PBS (WKAR-TV) East Lansing, MI + CW (WKBD-TV) Detroit, MI + ABC (WKBW1) Buffalo, NY + Bounce (WKBW2) Buffalo, NY + Court TV Mystery (WKBW3) Buffalo, NY + Grit (WKBW4) Buffalo, NY + HSN (WKBW5) Buffalo, NY + CW 18(WKCF-DT1) Orlando, FL + CBS 6 (WKMG-DT1) Orlando, FL + Azteca (WKOB-LD1) New York, NY + Daystar (WKOB-LD2) New York, NY + SonLife (WKOB-LD5) New York, NY + EstrellaTV (WKOB-LD6) New York, NY + Shop LC (WKOB-LD7) New York, NY + Novelisima (WKOB-LD8) New York, NY + ION (WKOI-DT) Richmond, IN + Hillsong (WKOI-DT2) Richmond, IN + PosiTiV (WKOI-DT3) Richmond, IN + Enlace (WKOI-DT4) Richmond, IN + Smile (WKOI-DT5) Richmond, IN + ABC (WKRN-DT1) Nashville, TN + NBC (WKYC-DT1) Cleveland, OH + True Crime Network (WKYC-DT2) Cleveland, OH + Cozi TV (WKYC-DT3) Cleveland, OH + Quest (WKYC-DT4) Cleveland, OH + Twist (WKYC-DT5) Cleveland, OH + Shop LC (WKYC-DT6) Cleveland, OH + PBS (WLIW-DT1) New York, NY + PBS Create (WLIW-DT2) New York, NY + PBS World (WLIW-DT3) New York, NY + All Arts (WLIW-DT4) New York, NY + WLNY 10/55 (WLNY-DT1) New York, NY + Comet (WLNY-DT2) New York, NY + Stadium (WLNY-DT3) New York, NY + Start TV (WLNY-DT4) New York, NY + Circle (WLNY-DT5) New York, NY + ABC (WLS-DT1) Chicago, IL + Localish (WLS-DT2) Chicago, IL + This TV (WLS-DT3) Chicago, IL + NBC (WLUC-TV) Marquette, MI + FOX (WLUC-DT2) Marquette, MI + CW (WLVI-DT1) Boston, MA + Buzzr (WLVI-DT2) Boston, MA + PBS (WLVT-DT1) Allentown, PA + Create (WLVT-DT2) Bethlehem, PA + France 24 (WLVT-DT3) Bethlehem, PA + MeTV (WLWT-DT2) Cincinnati OH + NBC (WMAQ-DT1) Chicago, IL + Cozi TV (WMAQ-DT2) Chicago, IL + ABC (WMAR-DT1) Washington D.C. + Grit (WMAR-DT2) Washington D.C. + Bounce (WMAR-DT3) Washington D.C. + Court TV Mystery (WMAR-DT4) Washington D.C. + Court TV (WMAR-DT5) Washington D.C. + ABC (WMBB-DT1) Panama City, FL + WMBC (WMBC-DT1) Newton, NJ + Quest (WMBC-DT2) Newton, NJ + TBD (WMBC-DT3) Newton, NJ + SinoVision (WMBC-DT4) Newton, NJ + New Tang Dynasty (WMBC-DT5) Newton, NJ + Aliento Vision (WMBC-DT7) Newton, NJ + NBC (WMBF-TV) Myrtle Beach, SC + FNX (WMBQ-CD) New York, NY + WMCN44/ShopHQ (WMCN-DT1) Princeton, NJ + The U (WMEU-CD1) Chicago, IL + True Crime Network (WMGM-DT1) Wildwood, PA + REV'N (WMJN-LD4) Huntsville, AL + NewsNet (WMNN-LD1) Lake City, MI + My Network TV (WMNT-CD1) Toledo, OH + NBC (WNBC-DT1) New York, NY + Cozi TV (WNBC-DT2) New York, NY + FNX (WNDT-CD) New York, NY + PBS (WNED1) Buffalo, NY + Create (WNED21) Buffalo, NY + PBS Kids (WNED3) Buffalo, NY + PBS (WNET-DT1) New York, NY + PBS Kids (WNET-DT2) New York, NY + PBS (WNJB-DT1) New Brunswick, NJ + PBS (WNJN-DT1) Montclair, NJ + NHK World (WNJN-DT2) Montclair, NJ + PBS (WNJS-DT1) Camden, NJ + NHK World (WNJS-DT2) Camden, NJ + PBS (WNJT-DT1) Trenton, NJ + Telemundo (WNJU-DT1) New York, NY + TeleXitos (WNJU-DT2) New York, NY + CW (WNLO1) Buffalo, NY + Rewind TV (WNLO2) Buffalo, NY + PBS (WNMU) Marquette, MI + Create (WNPI-DT2) Watertown, NY + NBC (WNWO-TV) Toledo, OH + Local Now (WNWT-LD1) New York, NY + CCTV 4 America (WNXY-LD2) New York, NY + CGTN Español (WNXY-LD3) New York, NY + NYC Life (WNYE-DT1) New York, NY + NYC GOV (WNYE-DT2) New York, NY + CUNY TV (WNYE-DT3) New York, NY + Jewelry Television (WNYJ-LD1) New York, NY + FOX (WNYW-DT1) New York, NY + Movies! (WNYW-DT2) New York, NY + FOX Weather OTA (WNYW-DT3) New York, NY + The Grio TV (WNYW-DT4) New York, NY + Decades (WNYW-DT5) New York, NY + Retro TV (WNYX-DT5) New York, NY + FOX 35 (WOFL-DT1) Orlando, FL + CBS (WOIO-DT1) Cleveland, OH + MeTV /My Network TV (WOIO-DT2) Cleveland, OH + Dabl (WOIO-DT3) Cleveland, OH + Rewind TV (WOIO-DT4) Cleveland, OH + NBC (WOOD-DT1) Grand Rapids, MI + Rewind TV (WOOD-DT2) Grand Rapids, MI + SportsGrid (WOOD-DT3) Grand Rapids, MI + World Harvest TV + World Poker Tour + ABC (WOTV-DT1) Battle Creek, MI + NBC (WPBN-TV) Traverse City, MI + ABC (WPBN-DT2) Traverse City, MI + PBS Kids (WPBS-DT4) Watertown, NY + PBS (WPBT-DT1) Miami, FL + Create (WPBT-DT2) Miami, FL + Health (WPBT-DT3) Miami, FL + PBS Kids (WPBT-DT4) Miami, FL + The CW (WPCW-DT1) Pittsburgh, PA + Heroes and Icons (WPCW-DT2) Pittsburgh, PA + Grit (WPCW-DT3) Pittsburgh, PA + Circle (WPCW-DT4) Pittsburgh, PA + ABC (WPDE-TV) Florence, SC + CW (WPDE-DT2) Florence, SC + Weather on the 15s (WPDE-DT4) Florence, SC + FOX (WPGH-DT1) Pittsburgh, PA + Antenna TV (WPGH-DT2) Pittsburgh, PA + Charge! (WPGH-DT3) Pittsburgh, PA + Antenna TV (WPHL-DT2) Philadelphia, PA + Court TV (WPHL-DT3) Philadelphia, PA + CW (WPIX-DT1) NY + Antenna TV (WPIX-DT2) NY + Court TV (WPIX-DT3) NY + Rewind TV (WPIX-DT4) NY + ABC (WPLG-DT1) Miami, FL + MeTV (WPLG-DT2) Miami, FL + Heroes and Icons (WPLG-DT3) Miami, FL + Ion Television (WPPX-DT1) Philadelphia, PA + Bounce (WPPX-DT2) Philadelphia, PA + Grit (WPPX-DT3) Philadelphia, PA + Truereal (WPPX-DT4) Philadelphia, PA + Laff (WPPX-DT5) Philadelphia, PA + Defy TV (WPPX-DT6) Philadelphia, PA + CW (WPSG-DT1) Philadelphia, PA + Charge (WPSG-DT2) Philadelphia, PA + Comet (WPSG-DT3) Philadelphia, PA + TBD (WPSG-DT4) Philadelphia, PA + Circle (WPSG-DT5) Philadelphia, PA + PBS (WPSU1) Altoona, PA + Create (WPSU2) Altoona, PA + PBS World (WPSU3) Altoona, PA + PBS Kids (WPSU4) Altoona, PA + ABC (WPVI-DT1) Philadelphia, PA + Localish (WPVI-DT2) Philadelphia, PA + This TV (KYW-DT3) Philadelphia, PA + My Network TV (WPWR-DT) Chicago, IL + NBC (WPXI-DT1) Pittsburgh, PA + MeTV (WPXI-DT1) Pittsburgh, PA + Laff (WPXI-DT1) Pittsburgh, PA + ION (WPXN-DT1) New York, NY + Bounce (WPXN-DT2) New York, NY + ION Mystery (WPXN-DT3) New York, NY + DEFY (WPXN-DT4) New York, NY + Laff (WPXN-DT5) New York, NY + TrueReal (WPXN-DT6) New York, NY + Newsy (WPXN-DT7) New York, NY + América TeVé (WPXO-LD1) East Orange, NJ + PBS (WQED-DT1) Pittsburgh, PA + Create (WQED-DT2) Pittsburgh, PA + PBS World (WQED-DT3) Pittsburgh, PA + WQED Showcase (WQED-DT4) Pittsburgh, PA + PBS Kids (WQED-DT5) Pittsburgh, PA + My65 / FOX 35 Plus (WRBW-DT1) Orlando, FL + NBC (WRC-DT1) Washington D.C. + Cozi TV(WRC-DT2) Washington D.C. + NBCLX (WRC-DT5) Washington D.C. + Telemundp (WRC-DT4) Washington D.C. + UniMás 29 (WRCF-CD1) Orlando, FL + TV27 (WRDQ-DT1) Orlando, FL + ABC (WRIC-DT) Richmond, VA + ION (WRIC-DT2) Richmond, VA + Cozi TV (WRIC-DT3) Richmond, VA + FOX (WRLH-DT) Richmond, KY + MyNetworkTV (WRLH-DT2) Richmond, KY + Comet TV (WRLH-DT3) Richmond, KY + CHARGE! (WRLH-DT4) Richmond, KY + Dabl (WRLH-DT5) Richmond, KY + PBS (WRLK-TV) Columbia, SC + Create (WRLK-DT2) Columbia, SC + World (WRLK-DT3) Columbia, SC + WRNN/ShopHQ (WRNN-DT1) New Rochelle, NY + Circle (WRNN-DT2) Kingston, NY + Canal de La Fe (WRNN-DT3) New York, NY + QVC (WRNN-DT4) New York, NY + Family Channel USA (WRTD-DT3) Birmingham, AL + Telemundo (WRTD-LD5) Tuscaloosa, AL + ABC (WRTV-DT1) Indianapolis, IN + Grit (WRTV-DT2) Indianapolis, IN + Laff (WRTV-DT3) Indianapolis, IN + QVC (WRTV-DT4) Indianapolis, IN + ABC (WSB-DT1) Atanta, GA + Bounce (WSB-DT2) Atanta, GA + Dabl (WSB-DT3) Atanta, GA + My Network TV (WSBK-DT1) Boston, MA + Heroes and Icons (WSBK-DT2) Boston, MA + Comet (WSBK-DT3) Boston, MA + Charge! (WSBK-DT4) Boston, MA + Telemundo (WSCV-DT1) Fort Lauderdale, FL + TeleXitos (WSCV-DT2) Fort Lauderdale, FL + Telemundo (WSCV-DT4) Fort Lauderdale, FL + The Cowboy Channel (WSFG-DT2) Berry, AL + Smile (WSFG-DT3) Berry, AL + Hillsong (WSFG-LD4) Berry, AL + Family Channel USA (WSFG-DT5) Berry, AL + CW (WSFL-DT1) Miami, FL + Court TV (WSFL-DT2) Miami, FL + Antenna TV (WSFL-DT3) Miami, FL + TrueReal (WSFL-DT4) Miami, FL + FOX (WSFX-TV) Wilmington, NC + FOX (WSMH) Flint MI + Telemundo (WSNS-DT1) Chicago, IL + TeleXitos (WSNS-DT2) Chicago, IL + ABC (WSOC-DT1) Charlotte, NC + The Cowboy Channel (WSSF-LD2) Fayette, AL + Smile (WSSF-LD3) Fayette, AL + TBN (WSSF-LD6) Fayette, AL + NBC (WSTM-TV) Syracuse, NY + CW (WSTM-DT2) Syracuse, NY + FOX (WSVN-DT1) Miami, FL + The Grio TV (WSVN-DT2) Miami, FL + ABC (WSYR-TV) Syracuse, NY + FOX (WSYT) Syracuse, NY + ABC (WSYX-DT1) Columbus, OH + ABC (WTAE-DT1) Pittsburgh, PA + Cozi TV (WTAE-DT2) Pittsburgh, PA + CBS (WTAJ1) Altoona, PA + Court TV Mystery (WTAJ2) Altoona, PA + Laff (WTAJ3) Altoona, PA + Grit (WTAJ4) Altoona, PA + ABC (WTEN-DT1) Albany NY + NBC (WTHR-DT1) Indianapolis, IN + Dabl (WTHR-DT2) Indianapolis, IN + MeTV (WTHR-DT3) Indianapolis, IN + True Crime Network (WTHR-DT4) Indianapolis, IN + Quest (WTHR-DT5) Indianapolis, IN + Circle (WTHR-DT6) Indianapolis, IN + FOX (WTIC-DT1) Hartford, CT + Antenna TV (WTIC-DT2) Hartford, CT + Comet (WTLF2) Tallahassee, FL + TBD. (WTLF3) Tallahassee, FL + WOSC (WTLW-DT2) Findlay, OH + Telemundo 31 (WTMO-CD1) Orlando, FL + FOX (WTNZ) KNOXVILLE + ABC (WTOK-DT1) Meridian, MS + CBS (WTOL) Toledo, OH + Burzzr (WTTG-DT2) Washington D.C. + MeTV (WTTG-DT3) Washington D.C. + CBS (WTTV-DT1) Indianapolis, IN + the Dot (WTTV-DT2) Indianapolis, IN + Comet (WTTV-DT3) Indianapolis, IN + PBS (WTTW-DT1) Chicago, IL + WTTW Prime (WTTW-DT2) Chicago, IL + Create and World (WTTW-DT3) Chicago, IL + ABC (WTVD-DT1) Durham, NC + TVE51/Infomercials (WTVE-DT1) Reading, PA + Timeless/Infomercials (WTVE-DT2) Reading, PA + CBS (WTVF-DT1) Nashville, TN + Newschannel 5+ (WTVF-DT2) Nashville, TN + ABC (WTVG) Toledo, OH + CW (WTVG-DT2) Toledo, OH + CBS (WTVH) Syracuse, NY + NBC (WTVJ-DT1) Miami, FL + Cozi TV (WTVJ-DT2) Miami, FL + NBCLX (WTVJ-DT3) Miami, FL + CBS (WTVR-DT) Richmond, KY + Antenna TV (WTVR-DT2) Richmond, KY + Court TV (WTVR-DT4) Richmond, KY + PBS (WTVS-DT1) Detroit, MI + Michigan Learning Channel (WTVS-DT5) Detroit, MI + H&I (WTVU-CD3) Syracuse, NY + Decades (WTVU-CD5) Syracuse, NY + Movies! (WTVU-CD6) Syracuse, NY + NBC (WCTV1) Tallahassee, FL + FOX (WCTV2) Tallahassee, FL + FOX (WTXF-DT1) Philadelphia, PA + Movies!(WTXF-DT2) Philadelphia, PA + The Griotv (WTXF-DT3) Philadelphia, PA + ABC (WTXL1) Tallahassee, FL + Bounce (WTXL2) Tallahassee, FL + Geit (WTXL3) Tallahassee, FL + Court TV Mystery (WTXL4) Tallahassee, FL + Court TV (WTXL5) Tallahassee, FL + CW (WUAB-DT1) Cleveland, OH + Bounce (WUAB-DT2) Cleveland, OH + Circle (WUAB-DT3) Cleveland, OH + SonLife Network (WUCB-DT4) Albany, NY + CW (WUCW-DT1) St Paul, MN + Comet (WUCW-DT2) St Paul, MN + Charge (WUCW-DT3) St Paul, MN + TBD (WUCW-DT4) St Paul, MN + Rewind TV (WUCW-DT5) St Paul, MN + PBS (WUNC-TV) Chapel Hill, NC + Explorer Channel (WUNC-DT3) Chapel Hill, NC + North Carolina Channel (WUNC-DT4) Chapel Hill, NC + Court TV Mystery (WUOA-LD3) Birminghamg, AL + GetTV (WUOA-LD4) Birmingham, AL + QVC (WUOA-LD5) Birmingham, AL + Shop LC (WUOA-LD6) Birmingham, AL + QVC2 (WUOA-LD7) Birmingham, AL + CW (WUPA-DT1) Atanta, GA + Start TV (WUPA-DT2) Atanta, GA + Comet (WUPA-DT3) Atanta, GA + MeTV (WUPA-DT4) Atanta, GA + Start TV(WUPA-DT5) Atanta, GA + FOX (WUPW) Toledo, OH + CBS (WUSA-DT1) Washington D.C. + True Crime Network (WUSA-DT2) Washington D.C. + Twist (WUSA-DT4) Washington D.C. + FOX (WUTV1) Buffalo, NY + TBD. (WUTV2) Buffalo, NY + Charge! (WUTV3) Buffalo, NY + Univision (WUVN-DT1) Hartford, CT + LATV (WUVN-DT4) Hartford, CT + Univision 43 (WVEN-DT1) Orlando, FL + NBC (WVIT-DT1) Hartford, CT + Cozi TV (WVIT-DT2) Hartford, CT + PBS (WVIZ-DT1) Cleveland, OH + The Ohio Channel (WVIZ-DT2) Cleveland, OH + PBS World (WVIZ-DT3) Cleveland, OH + PBS Create (WVIZ-DT4) Cleveland, OH + PBS Kids (WVIZ-DT5) Cleveland, OH + CBS (WVLT) KNOXVILLE + Infomercials (WVTT-CD4) Olean, NY + Cornerstone (WVVC-LD2) Utica, NY + ABC (WWAY) Wilmington, NC + CBS (WWAY-DT2) Wilmington, NC + CW (WWAY-DT3) Wilmington, NC + NBC (WWBT-DT) Richmond, KY + MeTV (WWBT-DT2) Richmond, KY + Circle (WWBT-DT3) Richmond, KY + Ion Mystery (WWBT-DT4) Richmond, KY + True Crime Network (WWBT-DT5) Richmond, KY + WWE Network + CBS (WWJ-DT1) Detroit, MI + Start TV (WWJ-DT2) Detroit, MI + Dabl (WWJ-DT3) Detroit, MI + Fave TV (WWJ-DT4) Detroit, MI + CBS (WWMT-DT1) Kalamazoo, MI + CW (WWMT-DT2) Kalamazoo, MI + My Network TV (WWOR-DT1) NY + Buzzr (WWOR-DT3) NY + Telemundo (WWSI-DT1) Philadelphia, PA + CBS (WWTV-DT1) Cadillac, MI + NBC (WXIA-DT1) Atanta, GA + Quest (WXIA-DT4) Atanta, GA + FOX (WXMI-DT1) Grand Rapids, MI + Antenna TV (WXMI-DT2) Grand Rapids, MI + Bounce (WXMI-DT3) Grand Rapids, MI + Ion Mystery (WXMI-DT4) Grand Rapids, MI + CCTV 4 America (WXNY-LD2) New York, NY + Retro TV (WXNY-LD4) New York, NY + Retro TV (WXNY-DT5) New York, NY + My Network TV (WXSP-CD1) Grand Rapids MI + Univision Nueva York (WXTV-DT1) NY + Bounce (WXTV-DT2) NY + Twist (WXTV-DT3) NY + WXXA-TV4 + ABC (WXYZ-DT1) Detroit, MI + Bounce (WXYZ-DT2) Detroit, MI + Laff (WXYZ-DT3) Detroit, MI + Court TV (WXYZ-DT4) Detroit, MI + Azteca (WYAM-LD2) Huntsville, AL + Retro TV (WYBN-LD2) Albany, NY + THIS (WYBN-LD3) Albany, NY + Action (WYBN-LD7) Albany, NY + NewsNet (WYBN-LD8) Albany, NY + Telemundo (WZDC-CD1) Washington, DC + Story Television (WZME-DT1) New York, NY + MeTV Plus (WZME-DT2) New York, NY + Telemundo (WZTD-LD) Richmond, KY + ABC (WZZM-DT1) Grand Rapids, MI + LATV (XHAS-DT2) San Diego, CA + YES2 Overflow + YES Network + YourTV Milton + YurView California + Zee Bangla + Zee Marathi + Zee Salaam + Zee Tamil + Zee TV USA + Zee Zest + Telemundo (WSOC-DT2) Charlotte, NC + Ici Radio-Canada Télé + TVA + Télé-Québec + ICI RDI + LCN + Noovo + diff --git a/sites/tvtv.us/tvtv.us.test.js b/sites/tvtv.us/tvtv.us.test.js index 49295624..c22d6e45 100644 --- a/sites/tvtv.us/tvtv.us.test.js +++ b/sites/tvtv.us/tvtv.us.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/tvtv.us/tvtv.us.config.js --channels=sites/tvtv.us/tvtv.us.channels.xml --output=guide.xml +// npm run grab -- --site=tvtv.us const { parser, url } = require('./tvtv.us.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `[[{"programId":"EP039131940001","title":"Beyond the Field","subtitle":"Diversity in Sport","flags":["CC","DVS"],"type":"O","startTime":"2022-09-20T00:00Z","start":0,"duration":30,"runTime":30},{"programId":"EP032368970002","title":"IGotThis","subtitle":"Listen to Dis","flags":["CC","DVS"],"type":"O","startTime":"2022-09-20T00:30Z","start":120,"duration":30,"runTime":30}]]` + const content = + '[[{"programId":"EP039131940001","title":"Beyond the Field","subtitle":"Diversity in Sport","flags":["CC","DVS"],"type":"O","startTime":"2022-09-20T00:00Z","start":0,"duration":30,"runTime":30},{"programId":"EP032368970002","title":"IGotThis","subtitle":"Listen to Dis","flags":["CC","DVS"],"type":"O","startTime":"2022-09-20T00:30Z","start":120,"duration":30,"runTime":30}]]' const result = parser({ content }).map(p => { p.start = p.start.toJSON() @@ -34,20 +35,20 @@ it('can parse response', () => { start: '2022-09-20T00:00:00.000Z', stop: '2022-09-20T00:30:00.000Z', title: 'Beyond the Field', - description: `Diversity in Sport` + description: 'Diversity in Sport' }, { start: '2022-09-20T00:30:00.000Z', stop: '2022-09-20T01:00:00.000Z', title: 'IGotThis', - description: `Listen to Dis` + description: 'Listen to Dis' } ]) }) it('can handle empty guide', () => { const result = parser({ - content: `[]` + content: '[]' }) expect(result).toMatchObject([]) }) diff --git a/sites/unifi.com.my/unifi.com.my.channels.xml b/sites/unifi.com.my/unifi.com.my.channels.xml index c3d88903..4f3f6259 100644 --- a/sites/unifi.com.my/unifi.com.my.channels.xml +++ b/sites/unifi.com.my/unifi.com.my.channels.xml @@ -1,72 +1,70 @@ - - - 8TV - Al Jazeera - Animax - arirang TV - AXN - BBC Earth HD - BBC Lifestyle HD - BBC World News HD - beIN SPORTS - beIN SPORTS 3 - beIN SPORTS 4 - Boomerang HD - CBeebies HD - CCM - CCTV-4 HD - Celestial Movies - CGTN HD - CinemaWorld HD - CNA - Dreamworks HD - DW - Euronews - France 24 - GEM - HITS - HITS Movies - K-Plus - Love Nature HD - Luxe.TV HD - MTV Live - NHK WORLD-JAPAN - Nick Jr. - Now Jelli HD - Paramount Network - ROCK Action - ROCK Entertainment - SETI - SPOTV - SPOTV2 - TechStorm - Travel Channel HD - tvN HD - tvN Movies HD - Warner TV HD - Wion - Colors Cineplex - Colors Tamil HD - Sony YAY! - Bernama TV - Dunia Sinema HD - Inspirasi - LAKU mall - DidikTV KPM - Parlimen Malaysia - Pesona HD - Salam HD - Sensasi - SIAR - TV1 - TV2 - TV3 - TV9 - TV AlHijrah HD - unifi Sports 1 - unifi Sports 2 - unifi Sports 3 - unifi Sports 4 - - \ No newline at end of file + + 8TV + Al Jazeera + Animax + arirang TV + AXN + BBC Earth HD + BBC Lifestyle HD + BBC World News HD + beIN SPORTS + beIN SPORTS 3 + beIN SPORTS 4 + Boomerang HD + CBeebies HD + CCM + CCTV-4 HD + Celestial Movies + CGTN HD + CinemaWorld HD + CNA + Dreamworks HD + DW + Euronews + France 24 + GEM + HITS + HITS Movies + K-Plus + Love Nature HD + Luxe.TV HD + MTV Live + NHK WORLD-JAPAN + Nick Jr. + Now Jelli HD + Paramount Network + ROCK Action + ROCK Entertainment + SETI + SPOTV + SPOTV2 + TechStorm + Travel Channel HD + tvN HD + tvN Movies HD + Warner TV HD + Wion + Colors Cineplex + Colors Tamil HD + Sony YAY! + Bernama TV + Dunia Sinema HD + Inspirasi + LAKU mall + DidikTV KPM + Parlimen Malaysia + Pesona HD + Salam HD + Sensasi + SIAR + TV1 + TV2 + TV3 + TV9 + TV AlHijrah HD + unifi Sports 1 + unifi Sports 2 + unifi Sports 3 + unifi Sports 4 + \ No newline at end of file diff --git a/sites/unifi.com.my/unifi.com.my.config.js b/sites/unifi.com.my/unifi.com.my.config.js index ec1def42..fb98d5ee 100644 --- a/sites/unifi.com.my/unifi.com.my.config.js +++ b/sites/unifi.com.my/unifi.com.my.config.js @@ -10,7 +10,7 @@ dayjs.extend(customParseFormat) module.exports = { site: 'unifi.com.my', days: 2, - url: `https://unifi.com.my/tv/api/tv`, + url: 'https://unifi.com.my/tv/api/tv', request: { cache: { ttl: 60 * 60 * 1000 // 1 hour diff --git a/sites/unifi.com.my/unifi.com.my.test.js b/sites/unifi.com.my/unifi.com.my.test.js index a8785ddd..1ee1deb8 100644 --- a/sites/unifi.com.my/unifi.com.my.test.js +++ b/sites/unifi.com.my/unifi.com.my.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/unifi.com.my/unifi.com.my.config.js --channels=sites/unifi.com.my/unifi.com.my.channels.xml --output=guide.xml --days=2 --timeout=30000 +// npm run grab -- --site=unifi.com.my const { parser, url, request } = require('./unifi.com.my.config.js') const fs = require('fs') @@ -16,7 +16,7 @@ const channel = { } it('can generate valid url', () => { - expect(url).toBe(`https://unifi.com.my/tv/api/tv`) + expect(url).toBe('https://unifi.com.my/tv/api/tv') }) it('can generate valid request method', () => { diff --git a/sites/vidio.com/vidio.com.channels.xml b/sites/vidio.com/vidio.com.channels.xml index 2e025d04..b1ab0ce1 100644 --- a/sites/vidio.com/vidio.com.channels.xml +++ b/sites/vidio.com/vidio.com.channels.xml @@ -1,72 +1,70 @@ - - - Ajwa TV - Aljazeera English - ANTV - Arirang World - BeIn Sports 1 Indonesia - BeIn Sports 3 Indonesia - Berita Satu - Champions TV 1 - Champions TV 2 - Champions TV 3 - Champions TV 4 - Champions TV 5 - Champions TV 6 - Champions TV EPL - Champions TV Goal - Champions TV Xtra - Citra Bioskop - Citra Culinary & Travel - Citra Dangdut - Citra Drama - Citra Entertainment - Citra Muslim - CNA - Da Ai TV - Da Vinci Asia - DW English - EuroNews English - Fashion TV Asia - Fashion TV L'Original - Fashion TV Midnite Secret - Hip Hip Horee! - Horee! - Indosiar - Jak TV - JPM TV - JTV - Kompas TV - Liverpool FC TV - Magna Channel - Metro TV - Mentari TV - My TV - NBA TV - NET - NHK World Japan - Nusantara - O Channel - Reformed 21 TV - Pet TV - Rock Entertainment - Rock Extreme - RTV - SCTV - U Channel - Trans 7 - Trans TV - TV Edukasi - tvOne - TVRI Nasional - Zee Bioskop - Zing Asia - Zoo Moo Asia - RANS Entertainment - TV Tempo - SEA Today - ABC Australia - Makkah TV - - + + ABC Australia + Ajwa TV + Aljazeera English + ANTV + Arirang World + BeIn Sports 1 Indonesia + BeIn Sports 3 Indonesia + Berita Satu + Champions TV 1 + Champions TV 2 + Champions TV 3 + Champions TV 4 + Champions TV 5 + Champions TV 6 + Champions TV EPL + Champions TV Goal + Champions TV Xtra + Citra Bioskop + Citra Culinary & Travel + Citra Dangdut + Citra Drama + Citra Entertainment + Citra Muslim + CNA + Da Ai TV + Da Vinci Asia + DW English + EuroNews English + Fashion TV Asia + Fashion TV L'Original + Fashion TV Midnite Secret + Hip Hip Horee! + Horee! + Indosiar + Jak TV + JPM TV + JTV + Kompas TV + Liverpool FC TV + Magna Channel + Makkah TV + Mentari TV + Metro TV + My TV + NBA TV + NET + NHK World Japan + Nusantara + O Channel + Pet TV + RTV + RANS Entertainment + Reformed 21 TV + Rock Entertainment + Rock Extreme + SCTV + SEA Today + Trans 7 + Trans TV + TV Edukasi + tvOne + TVRI Nasional + TV Tempo + U Channel + Zee Bioskop + Zing Asia + Zoo Moo Asia + diff --git a/sites/vidio.com/vidio.com.config.js b/sites/vidio.com/vidio.com.config.js index a273a57f..6312ea4e 100644 --- a/sites/vidio.com/vidio.com.config.js +++ b/sites/vidio.com/vidio.com.config.js @@ -36,7 +36,7 @@ module.exports = { function parseStart($item, date) { const timeString = $item('div.b-livestreaming-daily-schedule__item-content-caption').text() - const [_, start] = timeString.match(/(\d{2}:\d{2}) -/) || [null, null] + const [, start] = timeString.match(/(\d{2}:\d{2}) -/) || [null, null] const dateString = `${date.format('YYYY-MM-DD')} ${start}` return DateTime.fromFormat(dateString, 'yyyy-MM-dd HH:mm', { zone: 'Asia/Jakarta' }).toUTC() @@ -44,7 +44,7 @@ function parseStart($item, date) { function parseStop($item, date) { const timeString = $item('div.b-livestreaming-daily-schedule__item-content-caption').text() - const [_, stop] = timeString.match(/- (\d{2}:\d{2}) WIB/) || [null, null] + const [, stop] = timeString.match(/- (\d{2}:\d{2}) WIB/) || [null, null] const dateString = `${date.format('YYYY-MM-DD')} ${stop}` return DateTime.fromFormat(dateString, 'yyyy-MM-dd HH:mm', { zone: 'Asia/Jakarta' }).toUTC() diff --git a/sites/vidio.com/vidio.com.test.js b/sites/vidio.com/vidio.com.test.js index 8342431a..2f8e7bb4 100644 --- a/sites/vidio.com/vidio.com.test.js +++ b/sites/vidio.com/vidio.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/vidio.com/vidio.com.config.js --channels=sites/vidio.com/vidio.com.channels.xml --output=guide.xml +// npm run grab -- --site=vidio.com const { parser, url } = require('./vidio.com.config.js') const dayjs = require('dayjs') @@ -18,7 +18,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `
        ` + const content = + '
        ' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -29,17 +30,17 @@ it('can parse response', () => { { start: '2021-11-23T17:30:00.000Z', stop: '2021-11-23T18:30:00.000Z', - title: `30 Hari 30 Juz` + title: '30 Hari 30 Juz' }, { start: '2021-11-23T18:30:00.000Z', stop: '2021-11-23T21:00:00.000Z', - title: `Makkah Live` + title: 'Makkah Live' }, { start: '2021-11-24T15:30:00.000Z', stop: '2021-11-24T17:30:00.000Z', - title: `FTV Islami` + title: 'FTV Islami' } ]) }) @@ -48,7 +49,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/virginmedia.com/virginmedia.com.channels.xml b/sites/virginmedia.com/virginmedia.com.channels.xml index be9247c5..62923bd3 100644 --- a/sites/virginmedia.com/virginmedia.com.channels.xml +++ b/sites/virginmedia.com/virginmedia.com.channels.xml @@ -1,199 +1,197 @@ - - - 4Music - 4Seven - 5 Action - 5 Select - 5 Star - 5 USA - Alibi - Al Jazeera Channel - Al Jazeera English - Animal Planet - B4U Movies - B4U Music - Baby TV - BBC Alba - BBC Four - BBC News - BBC One - BBC One London - BBC One Northern Ireland HD - BBC One Scotland - BBC One Wales HD - BBC Parliament - BBC Red Button 1 - BBC Three - BBC Two - Blaze UK - Bloomberg TV Europe - Boomerang - Box Nation - Cartoonito UK - Cartoon Network UK - CBBC - CBeebies UK - CBS Drama UK - CBS Reality UK - Challenge UK - Channel 4 - Channel 5 - Channel 5 +1 - CITV - Clubland TV - CNBC UK - Colors - Colors Cineplex - Colors Gujarati - Colors Rishtey - Comedy Central Extra UK - Comedy Central - Create and Craft - Crime & Investigation UK - Dave UK - Dave ja vu - Discovery Channel UK - Discovery History UK - Discovery Science UK - Discovery Turbo UK - DMAX UK - Drama UK - E4 UK - E4 Extra - Eden - E! Europe - EuroNews English - Eurosport 1 UK - Eurosport 2 UK - Film 4 UK - Film 4 UK +1 - Food Network UK - France 24 English - GB News - Gems TV - God TV UK - Gold HD - Great! Movies - Great! Movies Action - Great! Movies Classic - Great! TV - HGTV UK - Horror Xtra - Ideal World - Investigation Discovery UK - Islam Channel - Islam Channel Urdu - ITV London - ITV 2 - ITV 2 +1 - ITV 3 - ITV 3 +1 - ITV 4 - ITV 4 +1 - ITV Be - Kerrang! - Kiss TV - LaLiga TV - Legend - LFC TV - London Live - Magic TV - More 4 UK - Movies24 - Movies 24+ - MTV Base UK - MTV Classic UK - MTV Hits UK - MTV Live - MTV Music UK - MTV UK - MUTV - National Geographic UK - National Geographic Wild UK - NDTV 24x7 - NDTV Good Times - NHK World Japan - Nickelodeon - Nick Jr UK - NickToons UK - Now 70's - Now 80's - Now 90's - PBS America - Pick UK - Pop - Quest Red UK - Quest - QVC UK Beauty - QVC UK Extra - QVC Style UK - QVC - Racing TV - Really UK - S4C - Sky Arts UK - Sky Cinema Action HD - Sky Cinema Animation HD - Sky Cinema Comedy HD - Sky Cinema Drama HD - Sky Cinema Family HD - Sky Cinema Greats HD - Sky Cinema Hits HD - Sky Cinema Premiere HD - Sky Cinema Sci-Fi Horror HD - Sky Cinema Select - Sky Cinema Thriller HD - Sky Comedy HD - Sky Crime - Sky Documentaries - Sky History - Sky History 2 - Sky Max HD - Sky Nature - Sky News - Sky Replay - Sky Sci-Fi - Sky Showcase HD - Sky Sports Action - Sky Sports Arena - Sky Sports Cricket - Sky Sports F1 - Sky Sports Football - Sky Sports Golf - Sky Sports Main Event - Sky Sports Mix - Sky Sports News UK - Sky Sports Premier League UK - Sky Sports Racing - Sky Witness HD - Smithsonian Channel UK - Sony TV - Sony MAX 2 - Sony Max UK - Sony SAB - Talking Pictures TV - TCM Movies - The Box UK - Tiny Pop - TLC - TLC +1 - TNT Sports 1 - TNT Sports 2 - TNT Sports 3 - TNT Sports 4 - TNT Sports Ultimate - Together TV - Utsav Bharat - Utsav Gold - Utsav Plus - Viaplay Sports 1 - Viaplay Sports 2 - Viaplay Xtra - W - Yesterday - Yesterday +1 - Zee Cinema UK - Zee TV UK - - + + 4Music + 4Seven + 5 Action + 5 Select + 5 Star + 5 USA + Alibi + Al Jazeera Channel + Al Jazeera English + Animal Planet + B4U Movies + B4U Music + Baby TV + BBC Alba + BBC Four + BBC News + BBC One + BBC One London + BBC One Northern Ireland HD + BBC One Scotland + BBC One Wales HD + BBC Parliament + BBC Red Button 1 + BBC Three + BBC Two + Blaze UK + Bloomberg TV Europe + Boomerang + Box Nation + Cartoonito UK + Cartoon Network UK + CBBC + CBeebies UK + CBS Drama UK + CBS Reality UK + Challenge UK + Channel 4 + Channel 5 + Channel 5 +1 + CITV + Clubland TV + CNBC UK + Colors + Colors Cineplex + Colors Gujarati + Colors Rishtey + Comedy Central Extra UK + Comedy Central + Create and Craft + Crime & Investigation UK + Dave UK + Dave ja vu + Discovery Channel UK + Discovery History UK + Discovery Science UK + Discovery Turbo UK + DMAX UK + Drama UK + E4 UK + E4 Extra + Eden + E! Europe + EuroNews English + Eurosport 1 UK + Eurosport 2 UK + Film 4 UK + Film 4 UK +1 + Food Network UK + France 24 English + GB News + Gems TV + God TV UK + Gold HD + Great! Movies + Great! Movies Action + Great! Movies Classic + Great! TV + HGTV UK + Horror Xtra + Ideal World + Investigation Discovery UK + Islam Channel + Islam Channel Urdu + ITV London + ITV 2 + ITV 2 +1 + ITV 3 + ITV 3 +1 + ITV 4 + ITV 4 +1 + ITV Be + Kerrang! + Kiss TV + LaLiga TV + Legend + LFC TV + London Live + Magic TV + More 4 UK + Movies24 + Movies 24+ + MTV Base UK + MTV Classic UK + MTV Hits UK + MTV Live + MTV Music UK + MTV UK + MUTV + National Geographic UK + National Geographic Wild UK + NDTV 24x7 + NDTV Good Times + NHK World Japan + Nickelodeon + Nick Jr UK + NickToons UK + Now 70's + Now 80's + Now 90's + PBS America + Pick UK + Pop + Quest Red UK + Quest + QVC UK Beauty + QVC UK Extra + QVC Style UK + QVC + Racing TV + Really UK + S4C + Sky Arts UK + Sky Cinema Action HD + Sky Cinema Animation HD + Sky Cinema Comedy HD + Sky Cinema Drama HD + Sky Cinema Family HD + Sky Cinema Greats HD + Sky Cinema Hits HD + Sky Cinema Premiere HD + Sky Cinema Sci-Fi Horror HD + Sky Cinema Select + Sky Cinema Thriller HD + Sky Comedy HD + Sky Crime + Sky Documentaries + Sky History + Sky History 2 + Sky Max HD + Sky Nature + Sky News + Sky Replay + Sky Sci-Fi + Sky Showcase HD + Sky Sports Action + Sky Sports Arena + Sky Sports Cricket + Sky Sports F1 + Sky Sports Football + Sky Sports Golf + Sky Sports Main Event + Sky Sports Mix + Sky Sports News UK + Sky Sports Premier League UK + Sky Sports Racing + Sky Witness HD + Smithsonian Channel UK + Sony TV + Sony MAX 2 + Sony Max UK + Sony SAB + Talking Pictures TV + TCM Movies + The Box UK + Tiny Pop + TLC + TLC +1 + TNT Sports 1 + TNT Sports 2 + TNT Sports 3 + TNT Sports 4 + TNT Sports Ultimate + Together TV + Utsav Bharat + Utsav Gold + Utsav Plus + Viaplay Sports 1 + Viaplay Sports 2 + Viaplay Xtra + W + Yesterday + Yesterday +1 + Zee Cinema UK + Zee TV UK + diff --git a/sites/virginmedia.com/virginmedia.com.config.js b/sites/virginmedia.com/virginmedia.com.config.js index 54aba9c3..c839f2bf 100644 --- a/sites/virginmedia.com/virginmedia.com.config.js +++ b/sites/virginmedia.com/virginmedia.com.config.js @@ -1,7 +1,7 @@ const axios = require('axios') const dayjs = require('dayjs') -const API_ENDPOINT = `https://prod.oesp.virginmedia.com/oesp/v4/GB/eng/web` +const API_ENDPOINT = 'https://prod.oesp.virginmedia.com/oesp/v4/GB/eng/web' module.exports = { site: 'virginmedia.com', diff --git a/sites/virginmedia.com/virginmedia.com.test.js b/sites/virginmedia.com/virginmedia.com.test.js index 2137873c..c8744329 100644 --- a/sites/virginmedia.com/virginmedia.com.test.js +++ b/sites/virginmedia.com/virginmedia.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/virginmedia.com/virginmedia.com.config.js --output=./sites/virginmedia.com/virginmedia.com.channels.xml -// npx epg-grabber --config=sites/virginmedia.com/virginmedia.com.config.js --channels=sites/virginmedia.com/virginmedia.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=virginmedia.com const { parser, url } = require('./virginmedia.com.config.js') const axios = require('axios') @@ -24,7 +24,8 @@ it('can generate valid url', () => { }) it('can parse response', done => { - const content = `{"entryCount":410,"totalResults":410,"updated":1647459686755,"expires":1647460298218,"title":"EPG","periods":4,"periodStartTime":1647475200000,"periodEndTime":1647496800000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005,imi:de610af9a9b049c8a0245173f273136d36458f6f","t":"Live: NHL Hockey","s":1647473400000,"e":1647484200000,"c":"lgi-gb-prodobo-master:genre-27","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}` + const content = + '{"entryCount":410,"totalResults":410,"updated":1647459686755,"expires":1647460298218,"title":"EPG","periods":4,"periodStartTime":1647475200000,"periodEndTime":1647496800000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005,imi:de610af9a9b049c8a0245173f273136d36458f6f","t":"Live: NHL Hockey","s":1647473400000,"e":1647484200000,"c":"lgi-gb-prodobo-master:genre-27","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' axios.get.mockImplementation(url => { if ( @@ -32,7 +33,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"entryCount":410,"totalResults":410,"updated":1647460887411,"expires":1647461895572,"title":"EPG","periods":4,"periodStartTime":1647496800000,"periodEndTime":1647518400000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005,imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","t":"Challenge Cup Ice Hockey","s":1647484200000,"e":1647496800000,"c":"lgi-gb-prodobo-master:genre-123","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}` + '{"entryCount":410,"totalResults":410,"updated":1647460887411,"expires":1647461895572,"title":"EPG","periods":4,"periodStartTime":1647496800000,"periodEndTime":1647518400000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005,imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","t":"Challenge Cup Ice Hockey","s":1647484200000,"e":1647496800000,"c":"lgi-gb-prodobo-master:genre-123","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' ) }) } else if ( @@ -40,7 +41,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"entryCount":410,"totalResults":410,"updated":1647460871713,"expires":1647461910282,"title":"EPG","periods":4,"periodStartTime":1647518400000,"periodEndTime":1647540000000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435,imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","t":"NHL Hockey","s":1647511200000,"e":1647518400000,"c":"lgi-gb-prodobo-master:genre-27","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}` + '{"entryCount":410,"totalResults":410,"updated":1647460871713,"expires":1647461910282,"title":"EPG","periods":4,"periodStartTime":1647518400000,"periodEndTime":1647540000000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435,imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","t":"NHL Hockey","s":1647511200000,"e":1647518400000,"c":"lgi-gb-prodobo-master:genre-27","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' ) }) } else if ( @@ -48,7 +49,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"entryCount":410,"totalResults":410,"updated":1647460871713,"expires":1647461920720,"title":"EPG","periods":4,"periodStartTime":1647540000000,"periodEndTime":1647561600000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145,imi:c02da14358110cec07d14dc154717ce62ba2f489","t":"Boxing World Weekly","s":1647539100000,"e":1647540900000,"c":"lgi-gb-prodobo-master:genre-27","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}` + '{"entryCount":410,"totalResults":410,"updated":1647460871713,"expires":1647461920720,"title":"EPG","periods":4,"periodStartTime":1647540000000,"periodEndTime":1647561600000,"entries":[{"o":"lgi-gb-prodobo-master:1761","l":[{"i":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145,imi:c02da14358110cec07d14dc154717ce62ba2f489","t":"Boxing World Weekly","s":1647539100000,"e":1647540900000,"c":"lgi-gb-prodobo-master:genre-27","a":false,"r":true,"rm":true,"rs":0,"re":2592000,"rst":"cloud","ra":false,"ad":[],"sl":[]}]}]}' ) }) } else if ( @@ -57,7 +58,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"id":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005,imi:de610af9a9b049c8a0245173f273136d36458f6f","startTime":1647473400000,"endTime":1647484200000,"actualStartTime":1647473400000,"actualEndTime":1647484200000,"expirationDate":1648078200000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:de610af9a9b049c8a0245173f273136d36458f6f","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005,imi:de610af9a9b049c8a0245173f273136d36458f6f","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005","title":"Live: NHL Hockey","description":"The Boston Bruins make the trip to Xcel Energy Center for an NHL clash with the Minnesota Wild.","longDescription":"The Boston Bruins make the trip to Xcel Energy Center for an NHL clash with the Minnesota Wild.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-27","title":"Sport","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-gb-prodobo-master:genre-123","title":"Ice Hockey","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResLandscapeProductionStill","assetTypes":["HighResLandscapeProductionStill"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21763419_tb2_h8_aa.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21763419_tb2_v12_aa.jpg"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH013520120000","rootId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","shortDescription":"The Boston Bruins make the trip to Xcel Energy Center for an NHL clash with the Minnesota Wild.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"2022031605","seriesNumber":"20120000","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[],"secondaryTitle":"Boston Bruins at Minnesota Wild"},"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH013520120000","rootId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1647484200000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21763419|en-GB"}` + '{"id":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005,imi:de610af9a9b049c8a0245173f273136d36458f6f","startTime":1647473400000,"endTime":1647484200000,"actualStartTime":1647473400000,"actualEndTime":1647484200000,"expirationDate":1648078200000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:de610af9a9b049c8a0245173f273136d36458f6f","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005,imi:de610af9a9b049c8a0245173f273136d36458f6f","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21763419~~2FEP013520125005","title":"Live: NHL Hockey","description":"The Boston Bruins make the trip to Xcel Energy Center for an NHL clash with the Minnesota Wild.","longDescription":"The Boston Bruins make the trip to Xcel Energy Center for an NHL clash with the Minnesota Wild.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-27","title":"Sport","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-gb-prodobo-master:genre-123","title":"Ice Hockey","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResLandscapeProductionStill","assetTypes":["HighResLandscapeProductionStill"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21763419_tb2_h8_aa.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p21763419_tb2_v12_aa.jpg"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH013520120000","rootId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","shortDescription":"The Boston Bruins make the trip to Xcel Energy Center for an NHL clash with the Minnesota Wild.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"2022031605","seriesNumber":"20120000","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[],"secondaryTitle":"Boston Bruins at Minnesota Wild"},"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH013520120000","rootId":"crid:~~2F~~2Fgn.tv~~2F8396306~~2FSH013520120000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1647484200000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21763419|en-GB"}' ) }) } else if ( @@ -66,7 +67,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"id":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005,imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","startTime":1647484200000,"endTime":1647496800000,"actualStartTime":1647484200000,"actualEndTime":1647496800000,"expirationDate":1648089000000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005,imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005","title":"Challenge Cup Ice Hockey","description":"Exclusive coverage from SSE Arena of the Premier Sports Challenge Final between Belfast Giants and Cardiff Devils.","longDescription":"Exclusive coverage from SSE Arena of the Premier Sports Challenge Final between Belfast Giants and Cardiff Devils.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-123","title":"Ice Hockey","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p11743980_b_v12_aa.jpg"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH021779870000","rootId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","shortDescription":"Exclusive coverage from SSE Arena of the Premier Sports Challenge Final between Belfast Giants and Cardiff Devils.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"2022031605","seriesNumber":"79870000","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[],"secondaryTitle":"Final: Belfast Giants v Cardiff Devils"},"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH021779870000","rootId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1647928800000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21720572|en-GB"}` + '{"id":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005,imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","startTime":1647484200000,"endTime":1647496800000,"actualStartTime":1647484200000,"actualEndTime":1647496800000,"expirationDate":1648089000000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005,imi:d4324f579ad36992f0c3f6e6d35a9b93e98cb78a","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21720572~~2FEP021779870005","title":"Challenge Cup Ice Hockey","description":"Exclusive coverage from SSE Arena of the Premier Sports Challenge Final between Belfast Giants and Cardiff Devils.","longDescription":"Exclusive coverage from SSE Arena of the Premier Sports Challenge Final between Belfast Giants and Cardiff Devils.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-123","title":"Ice Hockey","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p11743980_b_v12_aa.jpg"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH021779870000","rootId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","shortDescription":"Exclusive coverage from SSE Arena of the Premier Sports Challenge Final between Belfast Giants and Cardiff Devils.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"2022031605","seriesNumber":"79870000","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[],"secondaryTitle":"Final: Belfast Giants v Cardiff Devils"},"parentId":"crid:~~2F~~2Fgn.tv~~2F123456789~~2FSH021779870000","rootId":"crid:~~2F~~2Fgn.tv~~2F11743980~~2FSH021779870000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1647928800000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21720572|en-GB"}' ) }) } else if ( @@ -75,7 +76,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"id":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435,imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","startTime":1647511200000,"endTime":1647518400000,"actualStartTime":1647511200000,"actualEndTime":1647518400000,"expirationDate":1648116000000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435,imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435","title":"NHL Hockey","description":"The Calgary Flames play host to the New Jersey Devils in this NHL encounter from Scotiabank Saddledome.","longDescription":"The Calgary Flames play host to the New Jersey Devils in this NHL encounter from Scotiabank Saddledome.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-27","title":"Sport","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-gb-prodobo-master:genre-123","title":"Ice Hockey","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResLandscapeProductionStill","assetTypes":["HighResLandscapeProductionStill"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p448880_b_h8_ak.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p448880_b_v12_ak.jpg"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F21275201~~2FSH012830210000","rootId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","shortDescription":"The Calgary Flames play host to the New Jersey Devils in this NHL encounter from Scotiabank Saddledome.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"194","seriesNumber":"102022","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[],"secondaryTitle":"New Jersey Devils at Calgary Flames"},"parentId":"crid:~~2F~~2Fgn.tv~~2F21275201~~2FSH012830210000","rootId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1647583200000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21763550|en-GB"}` + '{"id":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435,imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","startTime":1647511200000,"endTime":1647518400000,"actualStartTime":1647511200000,"actualEndTime":1647518400000,"expirationDate":1648116000000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435,imi:9692f5ceb0b63354262339e8529e3a9cb57add9c","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21763550~~2FEP012830215435","title":"NHL Hockey","description":"The Calgary Flames play host to the New Jersey Devils in this NHL encounter from Scotiabank Saddledome.","longDescription":"The Calgary Flames play host to the New Jersey Devils in this NHL encounter from Scotiabank Saddledome.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-27","title":"Sport","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-gb-prodobo-master:genre-123","title":"Ice Hockey","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResLandscapeProductionStill","assetTypes":["HighResLandscapeProductionStill"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p448880_b_h8_ak.jpg"},{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p448880_b_v12_ak.jpg"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F21275201~~2FSH012830210000","rootId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","shortDescription":"The Calgary Flames play host to the New Jersey Devils in this NHL encounter from Scotiabank Saddledome.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"194","seriesNumber":"102022","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[],"secondaryTitle":"New Jersey Devils at Calgary Flames"},"parentId":"crid:~~2F~~2Fgn.tv~~2F21275201~~2FSH012830210000","rootId":"crid:~~2F~~2Fgn.tv~~2F448880~~2FSH012830210000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1647583200000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21763550|en-GB"}' ) }) } else if ( @@ -84,7 +85,7 @@ it('can parse response', done => { ) { return Promise.resolve({ data: JSON.parse( - `{"id":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145,imi:c02da14358110cec07d14dc154717ce62ba2f489","startTime":1647539100000,"endTime":1647540900000,"actualStartTime":1647539100000,"actualEndTime":1647540900000,"expirationDate":1648143900000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:c02da14358110cec07d14dc154717ce62ba2f489","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145,imi:c02da14358110cec07d14dc154717ce62ba2f489","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145","title":"Boxing World Weekly","description":"A weekly series designed to showcase the best of our sport. Boxing World features news, highlights, previews and profiles from the world of pro boxing.","longDescription":"A weekly series designed to showcase the best of our sport. Boxing World features news, highlights, previews and profiles from the world of pro boxing.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-27","title":"Sport","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-gb-prodobo-master:genre-83","title":"Boxing","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p19340143_b_v8_aa.jpg"},{"assetType":"TitleTreatment","assetTypes":["TitleTreatment"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p13641079_ttl_h95_aa.png"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F19340143~~2FSH025886890000","rootId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","shortDescription":"A weekly series designed to showcase the best of our sport. Boxing World features news, highlights, previews and profiles from the world of pro boxing.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"60","seriesNumber":"4","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"parentId":"crid:~~2F~~2Fgn.tv~~2F19340143~~2FSH025886890000","rootId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1648142400000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21764379|en-GB"}` + '{"id":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145,imi:c02da14358110cec07d14dc154717ce62ba2f489","startTime":1647539100000,"endTime":1647540900000,"actualStartTime":1647539100000,"actualEndTime":1647540900000,"expirationDate":1648143900000,"stationId":"lgi-gb-prodobo-master:1761","imi":"imi:c02da14358110cec07d14dc154717ce62ba2f489","scCridImi":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145,imi:c02da14358110cec07d14dc154717ce62ba2f489","mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","program":{"id":"crid:~~2F~~2Fgn.tv~~2F21764379~~2FEP025886890145","title":"Boxing World Weekly","description":"A weekly series designed to showcase the best of our sport. Boxing World features news, highlights, previews and profiles from the world of pro boxing.","longDescription":"A weekly series designed to showcase the best of our sport. Boxing World features news, highlights, previews and profiles from the world of pro boxing.","medium":"TV","categories":[{"id":"lgi-gb-prodobo-master:genre-27","title":"Sport","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"},{"id":"lgi-gb-prodobo-master:genre-83","title":"Boxing","scheme":"urn:libertyglobal:metadata:cs:ContentCS:2014_1"}],"isAdult":false,"cast":[],"directors":[],"images":[{"assetType":"HighResPortrait","assetTypes":["HighResPortrait"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p19340143_b_v8_aa.jpg"},{"assetType":"TitleTreatment","assetTypes":["TitleTreatment"],"url":"https://staticqbr-gb-prod.prod.cdn.dmdsdp.com/image-service/ImagesEPG/EventImages/p13641079_ttl_h95_aa.png"}],"parentId":"crid:~~2F~~2Fgn.tv~~2F19340143~~2FSH025886890000","rootId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","parentalRatingDescription":[],"resolutions":[],"mediaGroupId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","shortDescription":"A weekly series designed to showcase the best of our sport. Boxing World features news, highlights, previews and profiles from the world of pro boxing.","mediaType":"Episode","year":"2022","seriesEpisodeNumber":"60","seriesNumber":"4","videos":[],"videoStreams":[],"entitlements":["VIP","_OPEN_"],"currentProductIds":[],"currentTvodProductIds":[]},"parentId":"crid:~~2F~~2Fgn.tv~~2F19340143~~2FSH025886890000","rootId":"crid:~~2F~~2Fgn.tv~~2F13641079~~2FSH025886890000","replayTvAvailable":true,"audioTracks":[{"lang":"en","audioPurpose":"main"}],"ratings":[],"offersLatestExpirationDate":1648142400000,"replayTvStartOffset":0,"replayTvEndOffset":2592000,"replayEnabledOnMobileClients":true,"replaySource":"cloud","isGoReplayableViaExternalApp":false,"mergedId":"21764379|en-GB"}' ) }) } else { @@ -143,7 +144,7 @@ it('can parse response', done => { it('can handle empty guide', done => { parser({ - content: `[{"type":"PATH_PARAM","code":"period","reason":"INVALID"}]`, + content: '[{"type":"PATH_PARAM","code":"period","reason":"INVALID"}]', channel, date }) diff --git a/sites/virginmediatelevision.ie/virginmediatelevision.ie.channels.xml b/sites/virginmediatelevision.ie/virginmediatelevision.ie.channels.xml index 990dc604..8620ddf1 100644 --- a/sites/virginmediatelevision.ie/virginmediatelevision.ie.channels.xml +++ b/sites/virginmediatelevision.ie/virginmediatelevision.ie.channels.xml @@ -1,10 +1,8 @@ - - - One - Two - Three - Four - More - - + + Four + More + One + Three + Two + diff --git a/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js b/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js index e104bad8..9f81f2ff 100644 --- a/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js +++ b/sites/virginmediatelevision.ie/virginmediatelevision.ie.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/virginmediatelevision.ie/virginmediatelevision.ie.config.js --channels=sites/virginmediatelevision.ie/virginmediatelevision.ie.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=virginmediatelevision.ie const { parser, url } = require('./virginmediatelevision.ie.config.js') const fs = require('fs') @@ -34,9 +34,10 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-31T00:00:00.000Z', stop: '2023-01-31T01:00:00.000Z', - title: `Chasing Shadows`, + title: 'Chasing Shadows', 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.`, + 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' }) }) @@ -45,7 +46,7 @@ it('can handle empty guide', () => { const results = parser({ date, channel, - content: `` + content: '' }) expect(results).toMatchObject([]) diff --git a/sites/visionplus.id/visionplus.id.channels.xml b/sites/visionplus.id/visionplus.id.channels.xml index 15d1eb92..98a01af9 100644 --- a/sites/visionplus.id/visionplus.id.channels.xml +++ b/sites/visionplus.id/visionplus.id.channels.xml @@ -1,134 +1,132 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ABC Australia - Al Jazeera English - Al Quran Al Kareem - Anhui TV - ANTV - Arirang - AXN - Baby TV - Bali TV - Bandung TV - BeSmart - BTV - Celestial Movies - CGTN Documentary - Cinemachi - Cinemachi Action - Cinemachi Kids - Cinemachi Max - Cinemachi Xtra - Cinema World - CNBC - DAAI TV - Dreamworks - Entertainment - Fight Sports - FMN - Fox News Channel - Galaxy - Galaxy Premium - Global Trekker - GTV - HITS - Hits Movies - IDX Channel - IMC - iNews - Jak TV - JTV - Kids TV - KIX - Kompas TV - Life - Lifestyle & Fashion - Metro TV - Miao Mi - MNC News - MNC Sports - MNC Sports 2 - MNC Sports 3 - MNC TV - MTV 90s - MTV Live - Music TV - Muslim TV - My Cinema - My Cinema Asia - My Family - My Kidz - National Geographic - Net. - NHK World Japan - NHK World Premium - OK TV - Paramount Network - RCTI - Reformed 21 - Rock Action - Rock Entertainment - SEA Today - Soccer Channel - SPOTV - SPOTV 2 - Tawaf TV - Thrill - Trans 7 - Trans TV - TRT World - TVMu - tvN - tvN Movies - TV One - Vision Prime - Zee Bioskop - Zoomoo - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ABC Australia + Al Jazeera English + Al Quran Al Kareem + Anhui TV + ANTV + Arirang + AXN + Baby TV + Bali TV + Bandung TV + BeSmart + BTV + Celestial Movies + CGTN Documentary + Cinemachi + Cinemachi Action + Cinemachi Kids + Cinemachi Max + Cinemachi Xtra + Cinema World + CNBC + DAAI TV + Dreamworks + Entertainment + Fight Sports + FMN + Fox News Channel + Galaxy + Galaxy Premium + Global Trekker + GTV + HITS + Hits Movies + IDX Channel + IMC + iNews + Jak TV + JTV + Kids TV + KIX + Kompas TV + Life + Lifestyle & Fashion + Metro TV + Miao Mi + MNC News + MNC Sports + MNC Sports 2 + MNC Sports 3 + MNC TV + MTV 90s + MTV Live + Music TV + Muslim TV + My Cinema + My Cinema Asia + My Family + My Kidz + National Geographic + Net. + NHK World Japan + NHK World Premium + OK TV + Paramount Network + RCTI + Reformed 21 + Rock Action + Rock Entertainment + SEA Today + Soccer Channel + SPOTV + SPOTV 2 + Tawaf TV + Thrill + Trans 7 + Trans TV + TRT World + TVMu + tvN + tvN Movies + TV One + Vision Prime + Zee Bioskop + Zoomoo + diff --git a/sites/visionplus.id/visionplus.id.config.js b/sites/visionplus.id/visionplus.id.config.js index a375c148..c1a88030 100644 --- a/sites/visionplus.id/visionplus.id.config.js +++ b/sites/visionplus.id/visionplus.id.config.js @@ -51,7 +51,7 @@ module.exports = { }, async channels() { const xml = await axios - .get(`https://www.visionplus.id/sitemap-channels.xml`) + .get('https://www.visionplus.id/sitemap-channels.xml') .then(r => r.data) .catch(console.log) diff --git a/sites/visionplus.id/visionplus.id.test.js b/sites/visionplus.id/visionplus.id.test.js index 74b1590a..430ecbf3 100644 --- a/sites/visionplus.id/visionplus.id.test.js +++ b/sites/visionplus.id/visionplus.id.test.js @@ -1,10 +1,9 @@ // npm run channels:parse -- --config=./sites/visionplus.id/visionplus.id.config.js --output=./sites/visionplus.id/visionplus.id.channels.xml -// npx epg-grabber --config=sites/visionplus.id/visionplus.id.config.js --channels=sites/visionplus.id/visionplus.id.channels.xml --output=guide.xml +// npm run grab -- --site=visionplus.id const { parser, url, request } = require('./visionplus.id.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -46,7 +45,7 @@ it('can parse response', () => { start: '2023-06-29T18:15:00.000Z', stop: '2023-06-29T19:00:00.000Z', title: 'Hafalan Shalat Delisa', - description: `` + description: '' }) expect(results[17]).toMatchObject({ diff --git a/sites/vivacom.bg/vivacom.bg.channels.xml b/sites/vivacom.bg/vivacom.bg.channels.xml index c18d6b36..ff005c31 100644 --- a/sites/vivacom.bg/vivacom.bg.channels.xml +++ b/sites/vivacom.bg/vivacom.bg.channels.xml @@ -1,160 +1,158 @@ - - - 24 Kitchen - 360 Tune Box - 7/8 TV - Agro TV - Alfa TV - AMC - Animal Planet - Auto Motor und Sport - AXN Black - AXN - AXN White - B1B Box - Baby TV - Balkanika Music TV - Barely Legal TV - BeIn Movies Turk - BG Music Channel - Bloomberg TV Bulgaria - BNT 1 - BNT 2 - BNT 3 - BNT 4 - Boomerang - Box TV - BTV - BTV Action - BTV Cinema - BTV Comedy - BTV Lady - Bulgaria 24 - Bulgaria On Air - Bulgarska Svobodna TV - Cartoon Network - CBS Reality - Chasse & Pêche - Cinemax 2 - Cinemax - City TV - Club MTV - CNN - Code Health TV - Crime + Investigation - Da Vinci - Deluxe Lounge - Deluxe Music - Diema - Diema Family - Diema Sport - Diema Sport 2 - Discovery Channel - Discovery Science - Disney Channel - DM Sat - DocuBox HD - Dorcel TV - Duck TV - DW - EKids - English Club TV - Epic Drama - Erox HD - Eroxxx - Eurochannel - EuroNews HD - Eurosport 1 - Eurosport 2 - Evrokom - Extreme Sports Channel - FashionBox HD - Fast & FunBox - Fen Folk - Fen TV - FightBox HD - FilmBox Arthouse Worldwide - - FilmBox Extra - FilmBox Stars - Folklor TV - Food Network - Fox HD - Fox Crime - Fox Life - France 24 - Fuel TV - Gametoon - Habertürk - HBO 2 - HBO 3 - HBO - Hit Mix Channel - Hustler TV - Investigation Discovery - JimJam - Jukebox - Kanal 7 Avrupa - Kino Nova - Magic TV - Max Sport 1 HD - Max Sport 2 HD - Max Sport 3 HD - Mediaset Italia - Mezzo - Motorvision TV - Movie Star - MTV 00s - MTV 80s - MTV 90s - MTV Hits - MTV Live - National Geographic HD - National Geographic Wild HD - Nickelodeon - Nick Jr - Nova News HD - Nova Sport - Nova TV - Penthouse HD - Planeta Folk - Planeta TV - Playboy TV HD - Redlight - Ring - RT Arabic - RTL - Show Turk - SKAT - Stingray IConcerts - TGCom 24 - The Fishing & Hunting Channel - The Voice TV - The World - Tiankov Folk - TLC - Travel TV - TRT World - TV 1 - TV 3 - TV 8 - TV 999 - TV 1000 - TV 1000 Russkoe Kino - TV Bulgare - TV Evropa - TVR International - TV Tourism - Viasat Explore - Viasat History - Viasat Nature - Vivacom Arena HD - Vox - VTK - Wild TV - Wness TV - XXL - Yaban - - \ No newline at end of file + + + 24 Kitchen + 7/8 TV + Agro TV + Alfa TV + AMC + Animal Planet + AXN Black + AXN + AXN White + B1B Box + Barely Legal TV + BG Music Channel + Bloomberg TV Bulgaria + BNT 1 + BNT 2 + BNT 3 + BNT 4 + BTV + BTV Action + BTV Cinema + BTV Comedy + BTV Lady + Bulgaria 24 + Bulgaria On Air + Bulgarska Svobodna TV + Cartoon Network + CBS Reality + Cinemax 2 + Cinemax + Crime + Investigation + Da Vinci + Deluxe Lounge + Deluxe Music + Diema + Diema Family + Diema Sport + Diema Sport 2 + Discovery Channel + Discovery Science + Disney Channel + DocuBox HD + Dorcel TV + Duck TV + EKids + Epic Drama + Erox HD + Eroxxx + Eurosport 1 + Eurosport 2 + Evrokom + Fen Folk + Fen TV + FilmBox Extra + FilmBox Stars + Folklor TV + Food Network + Fox HD + Fox Crime + Fox Life + France 24 + HBO 2 + HBO 3 + HBO + Hit Mix Channel + Hustler TV + Investigation Discovery + JimJam + Kino Nova + Magic TV + Max Sport 1 HD + Max Sport 2 HD + Max Sport 3 HD + Mediaset Italia + Movie Star + National Geographic HD + National Geographic Wild HD + Nickelodeon + Nick Jr + Nova News HD + Nova Sport + Nova TV + Penthouse HD + Planeta Folk + Planeta TV + Playboy TV HD + Redlight + Ring + RTL + Show Turk + SKAT + TGCom 24 + The Fishing & Hunting Channel + The Voice TV + The World + Tiankov Folk + TLC + Travel TV + TRT World + TV 1 + TV 1000 + TV 3 + TV 999 + TV Bulgare + TV Evropa + TV Tourism + Viasat Explore + Viasat History + Viasat Nature + Vivacom Arena HD + Vox + VTK + Wness TV + XXL + Auto Motor und Sport + Jukebox + Motorvision TV + 360 Tune Box + Baby TV + Balkanika Music TV + Boomerang + Box TV + City TV + Club MTV + CNN + Code Health TV + DM Sat + DW + English Club TV + Eurochannel + EuroNews HD + Extreme Sports Channel + FashionBox HD + Fast & FunBox + FightBox HD + FilmBox Arthouse Worldwide + Fuel TV + Gametoon + Mezzo + MTV 00s + MTV 80s + MTV 90s + MTV Hits + MTV Live + RT Arabic + Stingray IConcerts + Wild TV + Chasse & Pêche + TVR International + TV 1000 Russkoe Kino + BeIn Movies Turk + Habertürk + Kanal 7 Avrupa + TV 8 + Yaban + \ No newline at end of file diff --git a/sites/vivacom.bg/vivacom.bg.config.js b/sites/vivacom.bg/vivacom.bg.config.js index 73c9f722..eaf37a22 100644 --- a/sites/vivacom.bg/vivacom.bg.config.js +++ b/sites/vivacom.bg/vivacom.bg.config.js @@ -11,7 +11,6 @@ dayjs.extend(customParseFormat) module.exports = { site: 'vivacom.bg', days: 2, - skip: true, // INFO: no longer available url({ date, channel }) { const [page] = channel.site_id.split('#') @@ -35,7 +34,7 @@ module.exports = { function parseStart(item, date) { const $ = cheerio.load(item) - let [_, time] = $('span') + let [, time] = $('span') .text() .match(/^(\d{2}:\d{2}:\d{2})/) || [null, null] if (!time) return null @@ -44,9 +43,9 @@ function parseStart(item, date) { return dayjs.tz(time, 'YYYY-MM-DD HH:mm:ss', 'Europe/Sofia').toJSON() } -function parseStop(item, date, pm) { +function parseStop(item, date) { const $ = cheerio.load(item) - let [_, time] = $('span') + let [, time] = $('span') .text() .match(/(\d{2}:\d{2}:\d{2})$/) || [null, null] if (!time) return null @@ -69,10 +68,10 @@ function parseDescription(item) { } function parseItems(content, channel) { - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const $ = cheerio.load(content) const listItem = $(`#scroll-vertical > li[title="${channelId}"]`) - const i = $(`#scroll-vertical > li`).index(listItem) + const i = $('#scroll-vertical > li').index(listItem) return $(`#scroll-horizontal > ul:nth-child(${i + 1}) li`).toArray() } diff --git a/sites/vivacom.bg/vivacom.bg.test.js b/sites/vivacom.bg/vivacom.bg.test.js index a2cdabca..c47f1810 100644 --- a/sites/vivacom.bg/vivacom.bg.test.js +++ b/sites/vivacom.bg/vivacom.bg.test.js @@ -1,6 +1,6 @@ -// npx epg-grabber --config=sites/vivacom.bg/vivacom.bg.config.js --channels=sites/vivacom.bg/vivacom.bg.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=vivacom.bg -const { parser, url, request } = require('./vivacom.bg.config.js') +const { parser, url } = require('./vivacom.bg.config.js') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat') @@ -9,7 +9,8 @@ dayjs.extend(utc) const date = dayjs.utc('2021-11-05', 'YYYY-MM-DD').startOf('d') const channel = { site_id: '1#БНТ 1 HD', xmltv_id: 'BNT1.bg' } -const content = `
        • Когато сърцето зове

          04:25:00 - 05:10:00

          Телевизионен филм. Тв филм /4 сезон, 5 епизод/п/

        • Dreamy Nights: Songs & Rhymes

          23:30:00 - 00:00:00

          Songs & Rhymes, Flowers, Milky Way, Close Your Eyes, Twilight

        ` +const content = + '
        • Когато сърцето зове

          04:25:00 - 05:10:00

          Телевизионен филм. Тв филм /4 сезон, 5 епизод/п/

        • Dreamy Nights: Songs & Rhymes

          23:30:00 - 00:00:00

          Songs & Rhymes, Flowers, Milky Way, Close Your Eyes, Twilight

        ' it('can generate valid url', () => { const result = url({ date, channel }) @@ -38,7 +39,8 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `
        ` + content: + '
        ' }) expect(result).toMatchObject([]) }) diff --git a/sites/vtm.be/vtm.be.channels.xml b/sites/vtm.be/vtm.be.channels.xml index 31206d8f..a56241e1 100644 --- a/sites/vtm.be/vtm.be.channels.xml +++ b/sites/vtm.be/vtm.be.channels.xml @@ -1,12 +1,10 @@ - - - VTM - VTM 2 - VTM 3 - VTM 4 - Q-music Vlaanderen - VTM Gold - VTM Kids - - \ No newline at end of file + + Q-music Vlaanderen + VTM + VTM 2 + VTM 3 + VTM 4 + VTM Gold + VTM Kids + \ No newline at end of file diff --git a/sites/vtm.be/vtm.be.config.js b/sites/vtm.be/vtm.be.config.js index e9a0db80..7dbe8b21 100644 --- a/sites/vtm.be/vtm.be.config.js +++ b/sites/vtm.be/vtm.be.config.js @@ -35,7 +35,7 @@ module.exports = { } function parseContent(content) { - const [_, json] = content.match(/window.__EPG_REDUX_DATA__=(.*);\n/i) || [null, null] + const [, json] = content.match(/window.__EPG_REDUX_DATA__=(.*);\n/i) || [null, null] const data = JSON.parse(json) return data diff --git a/sites/vtm.be/vtm.be.test.js b/sites/vtm.be/vtm.be.test.js index 18204d73..178f7f64 100644 --- a/sites/vtm.be/vtm.be.test.js +++ b/sites/vtm.be/vtm.be.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/vtm.be/vtm.be.config.js --channels=sites/vtm.be/vtm.be.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=vtm.be const { parser, url } = require('./vtm.be.config.js') const dayjs = require('dayjs') @@ -28,7 +28,8 @@ it('can parse response', () => { stop: '2021-11-11T00:20:00.000Z', title: 'Wooninspiraties', icon: '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.`, + 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' } ]) @@ -38,7 +39,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: ` ` + content: ' ' }) expect(result).toMatchObject([]) }) diff --git a/sites/walesi.com.fj/walesi.com.fj.channels.xml b/sites/walesi.com.fj/walesi.com.fj.channels.xml index c93998df..0ccbbba8 100644 --- a/sites/walesi.com.fj/walesi.com.fj.channels.xml +++ b/sites/walesi.com.fj/walesi.com.fj.channels.xml @@ -1,13 +1,11 @@ - - - Channel 2 - FBC 2 - FBC Sports - FBC TV - Fiji One - Hope Channel Fiji - Mai TV - Parliament of Fiji - - \ No newline at end of file + + Channel 2 + FBC 2 + FBC Sports + FBC TV + Fiji One + Hope Channel Fiji + Mai TV + Parliament of Fiji + \ No newline at end of file diff --git a/sites/walesi.com.fj/walesi.com.fj.config.js b/sites/walesi.com.fj/walesi.com.fj.config.js index 04609548..4b715edc 100644 --- a/sites/walesi.com.fj/walesi.com.fj.config.js +++ b/sites/walesi.com.fj/walesi.com.fj.config.js @@ -12,7 +12,6 @@ dayjs.extend(customParseFormat) module.exports = { site: 'walesi.com.fj', days: 2, - skip: true, // the program is no longer available on the website url: 'https://www.walesi.com.fj/wp-admin/admin-ajax.php', request: { method: 'POST', @@ -48,7 +47,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.walesi.com.fj/channel-guide/`) + .get('https://www.walesi.com.fj/channel-guide/') .then(r => r.data) .catch(console.log) @@ -58,7 +57,7 @@ module.exports = { ).toArray() return channels.map(item => { const $item = cheerio.load(item) - const [_, name] = $item('span') + const [, name] = $item('span') .text() .trim() .match(/\d+\. (.*)/) || [null, null] diff --git a/sites/walesi.com.fj/walesi.com.fj.test.js b/sites/walesi.com.fj/walesi.com.fj.test.js index 50437367..05d834eb 100644 --- a/sites/walesi.com.fj/walesi.com.fj.test.js +++ b/sites/walesi.com.fj/walesi.com.fj.test.js @@ -1,5 +1,5 @@ -// npm run channels:parse --config=./sites/walesi.com.fj/walesi.com.fj.config.js --output=./sites/walesi.com.fj/walesi.com.fj.channels.xml -// npx epg-grabber --config=sites/walesi.com.fj/walesi.com.fj.config.js --channels=sites/walesi.com.fj/walesi.com.fj.channels.xml --output=guide.xml --days=2 +// npm run channels:parse -- --config=./sites/walesi.com.fj/walesi.com.fj.config.js --output=./sites/walesi.com.fj/walesi.com.fj.channels.xml +// npm run grab -- --site=walesi.com.fj const { parser, url, request } = require('./walesi.com.fj.config.js') const dayjs = require('dayjs') @@ -36,7 +36,8 @@ it('can generate valid request data', () => { }) it('can parse response', () => { - const content = `{"html":"\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n
        ImageTimeProgramme
        \\r\\n\\t\\t\\t12:00 am\\r\\n\\t\\t
        \\r\\n\\t\\t\\t
        \\r\\n\\t\\t\\t\\t
        \\r\\n\\t\\t\\t\\t\\t
        \\r\\n\\t\\t\\t\\t\\t

        Aljazeera

        \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
        \\r\\n\\t\\t\\t
        \\r\\n\\t\\t\\t\\t\\t
        \\r\\n\\t
        6:00 am

        Move Fiji

        \\r\\n\\t\\t\\t\\t"}` + const content = + '{"html":"\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\r\\n\\t\\r\\n\\t\\r\\n\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n
        ImageTimeProgramme
        \\r\\n\\t\\t\\t12:00 am\\r\\n\\t\\t
        \\r\\n\\t\\t\\t
        \\r\\n\\t\\t\\t\\t
        \\r\\n\\t\\t\\t\\t\\t
        \\r\\n\\t\\t\\t\\t\\t

        Aljazeera

        \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t
        \\r\\n\\t\\t\\t
        \\r\\n\\t\\t\\t\\t\\t
        \\r\\n\\t
        6:00 am

        Move Fiji

        \\r\\n\\t\\t\\t\\t"}' const result = parser({ content, date }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -47,12 +48,12 @@ it('can parse response', () => { { start: '2021-11-20T12:00:00.000Z', stop: '2021-11-20T18:00:00.000Z', - title: `Aljazeera` + title: 'Aljazeera' }, { start: '2021-11-20T18:00:00.000Z', stop: '2021-11-20T18:30:00.000Z', - title: `Move Fiji` + title: 'Move Fiji' } ]) }) @@ -61,7 +62,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `{"html":"

        No matching records found

        "}` + content: '{"html":"

        No matching records found

        "}' }) expect(result).toMatchObject([]) }) diff --git a/sites/watchyour.tv/watchyour.tv.channels.xml b/sites/watchyour.tv/watchyour.tv.channels.xml index 0f8d3f5c..dd2a095a 100644 --- a/sites/watchyour.tv/watchyour.tv.channels.xml +++ b/sites/watchyour.tv/watchyour.tv.channels.xml @@ -1,44 +1,42 @@ - - - TVS Boxing Network - TVS Cipher Network - TVS Classic Movies - TVS Classic Sports - TVS Comedy - TVS Drive In Movie - TVS Film Noir Network - TVS Front Page Detective - TVS Hi Tops - TVS Hollywood History - TVS Horror - TVS Main Street - TVS Nostalgia - TVS Nostalgia Movie Network - TVS Pinball Network - TVS Quiz Show Network - TVS Select Network - TVS Silo Discount Network - TVS Tally Ho - TVS Tavern TV - TVS Today Home Entertainment Network - TVS Turbo Network - TVS Western Movie - TVS Women's Sports Network - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + TVS Boxing Network + TVS Cipher Network + TVS Classic Movies + TVS Classic Sports + TVS Comedy + TVS Drive In Movie + TVS Film Noir Network + TVS Front Page Detective + TVS Hi Tops + TVS Hollywood History + TVS Horror + TVS Main Street + TVS Nostalgia + TVS Nostalgia Movie Network + TVS Pinball Network + TVS Quiz Show Network + TVS Select Network + TVS Silo Discount Network + TVS Tally Ho + TVS Tavern TV + TVS Today Home Entertainment Network + TVS Turbo Network + TVS Western Movie + TVS Women's Sports Network + diff --git a/sites/watchyour.tv/watchyour.tv.config.js b/sites/watchyour.tv/watchyour.tv.config.js index 378cf249..316ccfb3 100644 --- a/sites/watchyour.tv/watchyour.tv.config.js +++ b/sites/watchyour.tv/watchyour.tv.config.js @@ -4,7 +4,7 @@ const axios = require('axios') module.exports = { site: 'watchyour.tv', days: 2, - url: `https://www.watchyour.tv/guide.json`, + url: 'https://www.watchyour.tv/guide.json', request: { cache: { ttl: 60 * 60 * 1000 // 1 hour @@ -29,7 +29,7 @@ module.exports = { }, async channels() { const data = await axios - .get(`https://www.watchyour.tv/guide.json`) + .get('https://www.watchyour.tv/guide.json') .then(r => r.data) .catch(console.log) diff --git a/sites/watchyour.tv/watchyour.tv.test.js b/sites/watchyour.tv/watchyour.tv.test.js index 00ede60b..c920892c 100644 --- a/sites/watchyour.tv/watchyour.tv.test.js +++ b/sites/watchyour.tv/watchyour.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/watchyour.tv/watchyour.tv.config.js --output=./sites/watchyour.tv/watchyour.tv.channels.xml -// npx epg-grabber --config=sites/watchyour.tv/watchyour.tv.config.js --channels=sites/watchyour.tv/watchyour.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=watchyour.tv const { parser, url } = require('./watchyour.tv.config.js') const dayjs = require('dayjs') @@ -19,7 +19,8 @@ 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"}]}]` + 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"}]}]' const result = parser({ content, date, channel }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -39,7 +40,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: ``, + content: '', date, channel }) diff --git a/sites/wavve.com/wavve.com.channels.xml b/sites/wavve.com/wavve.com.channels.xml index 0c036621..d28ab63e 100644 --- a/sites/wavve.com/wavve.com.channels.xml +++ b/sites/wavve.com/wavve.com.channels.xml @@ -1,82 +1,80 @@ - - - CCTV4 - CGTN - ANIBOX - ANIMAX - ANIONE - 애니플러스 - AsiaM - AsiaN - BTN - 브라보키즈 - 가톨릭평화방송 - CTS기독교TV - 채널W - 채널A - 채널A 플러스 - 채널차이나 - 채널J - 대교어린이TV - Discovery - 동아TV - EBS 1 - EBS 2 - EBS 키즈 - 노는채널 E채널 - EDGETV - FUNTV - GS MY SHOP - GS SHOP - HISTORY - 현대홈쇼핑 - 현대홈쇼핑+샵 - 인디필름 - JNG - KBS 1TV - KBS 2TV - KBS DRAMA - KBS JOY - KBS Life - KBS Story - K SHOPPING - 한국경제TV - LIFETIME - 롯데홈쇼핑 - 롯데홈쇼핑 ONETV - MBC Drama - MBC Every1 - MBC M - MBC ON - MBC - MBN - MBN 플러스 - 머니투데이방송 - 매일경제TV - NS홈쇼핑 - NS SHOP+ - 국회방송 - SBS Nick - 폴라리스TV - SBS Biz - SBS Fil - SBS Golf - SBS MTV - SBS Plus - SBS - SBS funE - SK스토아 - 신세계TV쇼핑 - 쇼핑엔티 - SmileTV Plus - TVasia Plus - TV CHOSUN - TV CHOSUN2 - 텔레노벨라 - THE MOVIE - 블렌딩 뮤직비디오 - YTN - 연합뉴스TV - - + + CCTV4 + CGTN + ANIBOX + ANIMAX + ANIONE + 애니플러스 + AsiaM + AsiaN + 브라보키즈 + BTN + 채널A + 채널A 플러스 + 채널차이나 + 채널J + 채널W + 가톨릭평화방송 + CTS기독교TV + 대교어린이TV + Discovery + 동아TV + EBS 1 + EBS 2 + EBS 키즈 + 노는채널 E채널 + EDGETV + FUNTV + GS MY SHOP + GS SHOP + HISTORY + 현대홈쇼핑 + 현대홈쇼핑+샵 + 인디필름 + JNG + KBS 1TV + KBS 2TV + KBS DRAMA + KBS JOY + KBS Life + KBS Story + 한국경제TV + K SHOPPING + LIFETIME + 롯데홈쇼핑 + 롯데홈쇼핑 ONETV + 매일경제TV + MBC Drama + MBC Every1 + MBC M + MBC ON + MBC + MBN + MBN 플러스 + 머니투데이방송 + 국회방송 + SBS Nick + NS홈쇼핑 + NS SHOP+ + 폴라리스TV + SBS Biz + SBS Fil + SBS funE + SBS Golf + SBS MTV + SBS Plus + SBS + 신세계TV쇼핑 + 쇼핑엔티 + SK스토아 + SmileTV Plus + 텔레노벨라 + THE MOVIE + TVasia Plus + TV CHOSUN + TV CHOSUN2 + 블렌딩 뮤직비디오 + 연합뉴스TV + YTN + diff --git a/sites/wavve.com/wavve.com.config.js b/sites/wavve.com/wavve.com.config.js index 74dce3e8..347852ed 100644 --- a/sites/wavve.com/wavve.com.config.js +++ b/sites/wavve.com/wavve.com.config.js @@ -4,7 +4,6 @@ const { DateTime } = require('luxon') module.exports = { site: 'wavve.com', days: 2, - maxConnections: 200, url: function ({ channel, date }) { return `https://apis.pooq.co.kr/live/epgs/channels/${ channel.site_id @@ -25,12 +24,12 @@ module.exports = { return programs }, - async channels({ country }) { + async channels() { const channels = [] const data = await axios .get( - `https://apis.pooq.co.kr/live/epgs?enddatetime=2022-04-17%2019%3A00&genre=all&limit=500&startdatetime=2022-04-17%2016%3A00&apikey=E5F3E0D30947AA5440556471321BB6D9` + 'https://apis.pooq.co.kr/live/epgs?enddatetime=2022-04-17%2019%3A00&genre=all&limit=500&startdatetime=2022-04-17%2016%3A00&apikey=E5F3E0D30947AA5440556471321BB6D9' ) .then(r => r.data) .catch(console.log) diff --git a/sites/wavve.com/wavve.com.test.js b/sites/wavve.com/wavve.com.test.js index 0af709e6..7939ef40 100644 --- a/sites/wavve.com/wavve.com.test.js +++ b/sites/wavve.com/wavve.com.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=sites/wavve.com/wavve.com.config.js --output=sites/wavve.com/wavve.com.channels.xml -// npx epg-grabber --config=sites/wavve.com/wavve.com.config.js --channels=sites/wavve.com/wavve.com.channels.xml --output=guide.xml +// npm run grab -- --site=wavve.com const { parser, url } = require('./wavve.com.config.js') const dayjs = require('dayjs') @@ -21,7 +21,8 @@ it('can generate valid url', () => { }) it('can parse response', () => { - const content = `{"pagecount":"37","count":"37","list":[{"cpid":"C3","channelid":"K01","channelname":"KBS 1TV","channelimage":"img.pooq.co.kr/BMS/Channelimage30/image/KBS-1TV-1.jpg","scheduleid":"K01_20220416223000","programid":"","title":"특파원 보고 세계는 지금","image":"wchimg.wavve.com/live/thumbnail/K01.jpg","starttime":"2022-04-16 22:30","endtime":"2022-04-16 23:15","timemachine":"Y","license":"y","livemarks":[],"targetage":"0","tvimage":"img.pooq.co.kr/BMS/Channelimage30/image/KBS 1TV-2.png","ispreorder":"n","preorderlink":"n","alarm":"n"}]}` + const content = + '{"pagecount":"37","count":"37","list":[{"cpid":"C3","channelid":"K01","channelname":"KBS 1TV","channelimage":"img.pooq.co.kr/BMS/Channelimage30/image/KBS-1TV-1.jpg","scheduleid":"K01_20220416223000","programid":"","title":"특파원 보고 세계는 지금","image":"wchimg.wavve.com/live/thumbnail/K01.jpg","starttime":"2022-04-16 22:30","endtime":"2022-04-16 23:15","timemachine":"Y","license":"y","livemarks":[],"targetage":"0","tvimage":"img.pooq.co.kr/BMS/Channelimage30/image/KBS 1TV-2.png","ispreorder":"n","preorderlink":"n","alarm":"n"}]}' const result = parser({ content }).map(p => { p.start = p.start.toJSON() p.stop = p.stop.toJSON() @@ -39,7 +40,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const result = parser({ - content: `{"pagecount":"0","count":"0","list":[]}` + content: '{"pagecount":"0","count":"0","list":[]}' }) expect(result).toMatchObject([]) }) diff --git a/sites/worldfishingnetwork.com/worldfishingnetwork.com.channels.xml b/sites/worldfishingnetwork.com/worldfishingnetwork.com.channels.xml index 68fa1bed..e21f8173 100644 --- a/sites/worldfishingnetwork.com/worldfishingnetwork.com.channels.xml +++ b/sites/worldfishingnetwork.com/worldfishingnetwork.com.channels.xml @@ -1,6 +1,4 @@ - - - World Fishing Network - - + + World Fishing Network + diff --git a/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js b/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js index fa126d0a..7a89a815 100644 --- a/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js +++ b/sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js @@ -16,7 +16,7 @@ module.exports = { }, parser({ content, date }) { const programs = [] - const items = parseItems(content, date) + const items = parseItems(content) items.forEach(item => { let $item = cheerio.load(item) const prev = programs[programs.length - 1] @@ -72,7 +72,7 @@ function parseStart($item, date) { ) } -function parseItems(content, channel, date) { +function parseItems(content) { const $ = cheerio.load(content) return $('.show-item').toArray() diff --git a/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js b/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js index 98b100c6..0b5b609e 100644 --- a/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js +++ b/sites/worldfishingnetwork.com/worldfishingnetwork.com.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/worldfishingnetwork.com/worldfishingnetwork.com.config.js --channels=sites/worldfishingnetwork.com/worldfishingnetwork.com.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=worldfishingnetwork.com const { parser, url } = require('./worldfishingnetwork.com.config.js') const fs = require('fs') @@ -10,10 +10,6 @@ dayjs.extend(customParseFormat) dayjs.extend(utc) const date = dayjs.utc('2023-01-24', 'YYYY-MM-DD').startOf('d') -const channel = { - site_id: '#', - xmltv_id: 'WorldFishingNetwork.us' -} it('can generate valid url', () => { expect(url({ date })).toBe('https://www.worldfishingnetwork.com/schedule/77420?day=Tue') @@ -31,7 +27,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-01-24T05:00:00.000Z', stop: '2023-01-24T07:00:00.000Z', - title: `Major League Fishing`, + title: 'Major League Fishing', 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.', @@ -41,7 +37,7 @@ it('can parse response', () => { expect(results[41]).toMatchObject({ start: '2023-01-25T04:30:00.000Z', stop: '2023-01-25T05:00:00.000Z', - title: `Fishing 411`, + title: 'Fishing 411', sub_title: 'Flint Wilderness Walleye', description: 'Mark Romanack and Bryan Darland fish walleye on Klotz Lake in the famed Flint Wilderness of Ontario', diff --git a/sites/xumo.tv/xumo.tv.channels.xml b/sites/xumo.tv/xumo.tv.channels.xml index e8bdfb9a..cd5599f5 100644 --- a/sites/xumo.tv/xumo.tv.channels.xml +++ b/sites/xumo.tv/xumo.tv.channels.xml @@ -1,312 +1,310 @@ - - - ACL Cornhole TV - Adventure Sports Network - Ameba - American Classics - America's Test Kitchen - Antiques Roadshow UK - Architectural Digest - AXS TV NOW - Backstage - batteryPOP - Baywatch - BBC Food - beIN SPORTS XTRA en Español - beIN SPORTS XTRA - Bloomberg Television - Bounce XL - BUZZR - CBS News - CBS News Bay Area - CBS News Boston - CBS News Chicago - CBS News Los Angeles - CBS News New York - CBS Sports HQ - CHIVE TV - CineLife - Cine Sureño - Circle - Comedy Dynamics - Court TV - Crackle - Dabl - DangerTV - Dark Matter TV - Dateline 24/7 - Deal Or No Deal - Degrassi - Demand Africa - Dove Channel - DUST - ElectricNOW - eScapes - Estrella News - FailArmy - Fear Factor - Fight Network - FILMEX - FILMEX CLASICO - Food52 - Forensic Files - FOX Soul - FOX Sports - Fox Weather - fubo Sports Network - Funny or Die - Game Show Central - Glamour - GLORY Kickboxing - GoTraveler - GQ - Gravitas Movies - GustoTV - Hallmark Movies & More - Heartland - HSN - Hungry - IMPACT Wrestling Channel - ION Mystery - ION - It's Showtime at the Apollo - Journy - Just for Laughs Gags - Kabillion - Kartoon Channel! - kweliTV - Law & Crime - LiveNOW from FOX - Localish - Loupe - Love Nature - MagellanTV Now - Maverick Black Cinema - Midsomer Murders - MOTORVISION.TV - Mystery Science Theater 3000 (MST3K) - NBCLX - NBC News NOW - NEW KMOVIES - Newsmax TV - Newsy - Nitro Circus - Nosey - Outdoor America - Outside - Pac-12 Insider - PATTRN - People Are Awesome - PeopleTV - PGA TOUR - PlayersTV - pocket.watch - PokerGO - PowerNation - PursuitUp - QVC - Real Nosey - Revry - RiffTrax - Runtime - ShopLC - Shout! Factory TV - Slightly Off IFC - Sony Canal Comedias - So Yummy - SportsGrid - Stadium - Stingray Classic Rock - Stingray Hitlist - Stingray Naturescape - Stingray Remember the 80s - Stingray Soul Storm - Stories by AMC - Tastemade - Tastemade en Español - Tastemade Travel Channel - Teletubbies - The Archive - The Asylum - The Bob Ross Channel - The Design Network - The Jamie Oliver Channel - theGRIO - The Pet Collective - The Price is Right: The Barker Era - This Old House - TODAY All Day - Toon Goggles - TYT - Unsolved Mysteries - Vanity Fair - Vevo '80s - Vevo Country - Vevo Holiday - Vevo Pop - Vogue - WaypointTV - WEATHERSPY - WildEarth - Wipeout Xtra - WIRED - World Poker Tour - Wu Tang Collection TV - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ACL Cornhole TV + Adventure Sports Network + Ameba + American Classics + America's Test Kitchen + Antiques Roadshow UK + Architectural Digest + AXS TV NOW + Backstage + batteryPOP + Baywatch + BBC Food + beIN SPORTS XTRA + beIN SPORTS XTRA en Español + Bloomberg Television + Bounce XL + BUZZR + CBS News + CBS News Bay Area + CBS News Boston + CBS News Chicago + CBS News Los Angeles + CBS News New York + CBS Sports HQ + CHIVE TV + CineLife + Circle + Comedy Dynamics + Court TV + Crackle + Dabl + DangerTV + Dark Matter TV + Dateline 24/7 + Deal Or No Deal + Degrassi + Demand Africa + Dove Channel + DUST + ElectricNOW + eScapes + Estrella News + FailArmy + Fear Factor + Fight Network + FILMEX + FILMEX CLASICO + Food52 + Forensic Files + FOX Soul + FOX Sports + Fox Weather + fubo Sports Network + Funny or Die + Game Show Central + Glamour + GLORY Kickboxing + GoTraveler + GQ + Gravitas Movies + GustoTV + Hallmark Movies & More + Heartland + HSN + Hungry + IMPACT Wrestling Channel + ION + It's Showtime at the Apollo + Journy + Just for Laughs Gags + Kabillion + Kartoon Channel! + kweliTV + Law & Crime + LiveNOW from FOX + Localish + Loupe + Love Nature + MagellanTV Now + Maverick Black Cinema + Midsomer Murders + MOTORVISION.TV + Mystery Science Theater 3000 (MST3K) + NBCLX + NBC News NOW + NEW KMOVIES + Newsmax TV + Newsy + Nitro Circus + Nosey + Outdoor America + Outside + Pac-12 Insider + PATTRN + People Are Awesome + PeopleTV + PGA TOUR + PlayersTV + pocket.watch + PokerGO + PowerNation + PursuitUp + QVC + Real Nosey + Revry + RiffTrax + Runtime + ShopLC + Shout! Factory TV + Slightly Off IFC + So Yummy + SportsGrid + Stadium + Stingray Classic Rock + Stingray Hitlist + Stingray Naturescape + Stingray Remember the 80s + Stingray Soul Storm + Stories by AMC + Tastemade + Tastemade en Español + Tastemade Travel Channel + Teletubbies + The Archive + The Asylum + The Bob Ross Channel + The Design Network + theGRIO + The Jamie Oliver Channel + The Pet Collective + The Price is Right: The Barker Era + This Old House + TODAY All Day + Toon Goggles + TYT + Unsolved Mysteries + Vanity Fair + Vevo '80s + Vevo Country + Vevo Holiday + Vevo Pop + Vogue + WaypointTV + WEATHERSPY + WildEarth + Wipeout Xtra + WIRED + World Poker Tour + ION Mystery + Wu Tang Collection TV + Cine Sureño + Sony Canal Comedias + diff --git a/sites/xumo.tv/xumo.tv.config.js b/sites/xumo.tv/xumo.tv.config.js index 1c40304d..345be720 100644 --- a/sites/xumo.tv/xumo.tv.config.js +++ b/sites/xumo.tv/xumo.tv.config.js @@ -1,7 +1,7 @@ const axios = require('axios') const dayjs = require('dayjs') -const API_ENDPOINT = `https://valencia-app-mds.xumo.com/v2` +const API_ENDPOINT = 'https://valencia-app-mds.xumo.com/v2' const client = axios.create({ baseURL: API_ENDPOINT, @@ -62,7 +62,7 @@ module.exports = { async channels() { const channels = await axios .get( - `https://valencia-app-mds.xumo.com/v2/channels/list/10006.json?sort=hybrid&geoId=unknown` + 'https://valencia-app-mds.xumo.com/v2/channels/list/10006.json?sort=hybrid&geoId=unknown' ) .then(r => r.data.channel.item) .catch(console.log) @@ -116,7 +116,7 @@ function parseStop(item) { function parseItems(content, channel) { if (!content) return [] - const [_, channelId] = channel.site_id.split('#') + const [, channelId] = channel.site_id.split('#') const data = JSON.parse(content) if (!data || !Array.isArray(data.channels)) return [] const channelData = data.channels.find(c => c.channelId == channelId) diff --git a/sites/xumo.tv/xumo.tv.test.js b/sites/xumo.tv/xumo.tv.test.js index 4e128fef..a0556e8a 100644 --- a/sites/xumo.tv/xumo.tv.test.js +++ b/sites/xumo.tv/xumo.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/xumo.tv/xumo.tv.config.js --output=./sites/xumo.tv/xumo.tv.channels.xml -// npx epg-grabber --config=sites/xumo.tv/xumo.tv.config.js --channels=sites/xumo.tv/xumo.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=xumo.tv const { parser, url } = require('./xumo.tv.config.js') const fs = require('fs') @@ -19,7 +19,7 @@ jest.mock('axios', () => { } }) -const API_ENDPOINT = `https://valencia-app-mds.xumo.com/v2` +const API_ENDPOINT = 'https://valencia-app-mds.xumo.com/v2' const date = dayjs.utc('2022-11-06', 'YYYY-MM-DD').startOf('d') const channel = { diff --git a/sites/zap.co.ao/zap.co.ao.channels.xml b/sites/zap.co.ao/zap.co.ao.channels.xml index 1a1561c0..33e1be9e 100644 --- a/sites/zap.co.ao/zap.co.ao.channels.xml +++ b/sites/zap.co.ao/zap.co.ao.channels.xml @@ -1,118 +1,116 @@ - - - 24 Kitchen - A Bola TV - Africa News - AfroMusic - Aljazeera Arabic - Al Jazeera English - AXN Movies - BABY TV - Band News - BeKuduro - BENFICATV - Biggs - Black Diamond - BomSom TV - Canal Hollywood - Canal Panda - CNN Portugal - Colors Cineplex - Cubayo - Digital Congo - Fashion BOX - FIGHTBOX - Fight Sports - FOX Comedy - FOX Crime - FOX Movies - France 2 - France 24 Fr - France 3 - France 5 - Gametoon - GLOBOON - GLOOM - Gulli - Histoire - KIX - La Liga HD - LCI - MCM TOP - Motorvision - My Music Channel HD - Odisseia - PandaKids - +HITS AFRICA - Porto Canal - RTP 3 - RTP África - RTP Internacional - SIC K - SIC Mulher - SIC Radical - Sporting TV - SportTV África HD - Stingray iConcerts HD - STV Noticias HD - TELE 50 - Tiji - TPA 1 - TPA 2 - Trace Brazuca - TVCine ACTION HD - TVCine EDITION HD - TVCine EMOTION HD - TVCine TOP HD - TV Zimbo HD - Ushuaia TV - W-Sport - ZAP Novelas HD - ZAP Viva - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 24 Kitchen + A Bola TV + Africa News + AfroMusic + Aljazeera Arabic + Al Jazeera English + AXN Movies + BABY TV + Band News + BeKuduro + BENFICATV + Biggs + Black Diamond + BomSom TV + Canal Hollywood + Canal Panda + CNN Portugal + Colors Cineplex + Cubayo + Digital Congo + Fashion BOX + FIGHTBOX + Fight Sports + FOX Comedy + FOX Crime + FOX Movies + France 2 + France 24 Fr + France 3 + France 5 + Gametoon + GLOBOON + GLOOM + Gulli + Histoire + KIX + La Liga HD + LCI + MCM TOP + Motorvision + My Music Channel HD + Odisseia + PandaKids + +HITS AFRICA + Porto Canal + RTP 3 + RTP África + RTP Internacional + SIC K + SIC Mulher + SIC Radical + Sporting TV + SportTV África HD + Stingray iConcerts HD + STV Noticias HD + TELE 50 + Tiji + TPA 1 + TPA 2 + Trace Brazuca + TVCine ACTION HD + TVCine EDITION HD + TVCine EMOTION HD + TVCine TOP HD + TV Zimbo HD + Ushuaia TV + W-Sport + ZAP Novelas HD + ZAP Viva + diff --git a/sites/zap.co.ao/zap.co.ao.config.js b/sites/zap.co.ao/zap.co.ao.config.js index 7134c0ee..165900a0 100644 --- a/sites/zap.co.ao/zap.co.ao.config.js +++ b/sites/zap.co.ao/zap.co.ao.config.js @@ -4,7 +4,6 @@ const axios = require('axios') module.exports = { site: 'zap.co.ao', days: 2, - maxConnections: 200, url: function ({ date, channel }) { return `https://zapon.zapsi.net/ao/m/api/epg/events?date=${date.format('YYYYMMDD')}&channel=${ channel.site_id @@ -28,7 +27,7 @@ module.exports = { }, async channels() { const channels = await axios - .get(`https://zapon.zapsi.net/ao/m/api/epg/channels`) + .get('https://zapon.zapsi.net/ao/m/api/epg/channels') .then(r => r.data.data) .catch(console.log) diff --git a/sites/zap.co.ao/zap.co.ao.test.js b/sites/zap.co.ao/zap.co.ao.test.js index c7f94b90..7331a16d 100644 --- a/sites/zap.co.ao/zap.co.ao.test.js +++ b/sites/zap.co.ao/zap.co.ao.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/zap.co.ao/zap.co.ao.config.js --output=./sites/zap.co.ao/zap.co.ao.channels.xml -// npx epg-grabber --config=sites/zap.co.ao/zap.co.ao.config.js --channels=sites/zap.co.ao/zap.co.ao.channels.xml --output=guide.xml +// npm run grab -- --site=zap.co.ao const { parser, url } = require('./zap.co.ao.config.js') const fs = require('fs') @@ -33,7 +33,7 @@ it('can parse response', () => { expect(results[0]).toMatchObject({ start: '2023-05-27T23:00:00.000Z', stop: '2023-05-28T00:00:00.000Z', - title: `Jornal da Meia-Noite`, + title: 'Jornal da Meia-Noite', description: 'Um jornal diferente do Telejornal, por conter análise, comentários e coluna com jornalistas experientes sobre factos do dia a dia.', category: 'Noticiário' @@ -42,7 +42,7 @@ it('can parse response', () => { it('can handle empty guide', () => { const results = parser({ - content: `[]` + content: '[]' }) expect(results).toMatchObject([]) }) diff --git a/sites/ziggogo.tv/ziggogo.tv.channels.xml b/sites/ziggogo.tv/ziggogo.tv.channels.xml index 70ed6602..f4ec9848 100644 --- a/sites/ziggogo.tv/ziggogo.tv.channels.xml +++ b/sites/ziggogo.tv/ziggogo.tv.channels.xml @@ -1,147 +1,145 @@ - - - 100% NL TV - 192 TV - 24 Kitchen - 2M Monde - ARTE France - AT5 - ATV Avrupa - Al Jazeera English - Animal Planet Europe - BBC Entertainment Europe - BBC First Nederland - BBC One - BBC Two - BBC World News Europe - Baby TV Europe - Boomerang Central & Eastern Europe - - CGTN - CNBC Europe - CNN International Europe - Canvas - Cartoon Network Nederland - Comedy Central Extra Netherlands - Comedy Central Nederland - Crime + Investigation UK - Discovery Channel Nederland - Discovery Science - Disney Channel Nederland - Dusk - E! Europe - ESPN 2 Nederland - ESPN 3 Nederland - ESPN Nederland - ESPN 4 Netherlands - Één - Euro D - EuroStar - EuroNews English - Eurosport 1 - Eurosport 2 - Evil Angel TV - Extreme Sports Channel - Family7 - FashionTV Europe - Film 1 Action - Film 1 Drama - Film 1 Family - Film 1 Premiere - Fox NL - Habertürk - History Benelux - Horse & Country TV - Investigation Discovery Europe - Ketnet - L1 TV - Love Nature - MTV 80s - MTV 90s - MTV Hits Europe - MTV Live HD - MTV NL - Mediaset Italia - Meiden van Holland Hard - Mezzo - MyZen TV - NDR Fernsehen Hamburg - NH Nieuws - NPO 1 - NPO 1 Extra - NPO 2 - NPO 2 Extra - NPO 3 - NPO Politiek - National Geographic Nederland - National Geographic Wild Europe - Net 5 - Nick Jr - NickMusic - NickToons - Nickelodeon - ONS - Omroep Brabant TV - Omroep Flevoland TV - Omroep Zeeland TV - Omrop Fryslân TV - Out TV - Passie XXX - Pebble TV - Penthouse Gold - RTL - RTL 4 - RTL 5 - RTL 7 - RTL 8 - RTL Crime Nederland - RTL Lounge - RTL Telekids - RTL Z - RTV Utrecht - SBS 6 - SBS 9 - SET Asia - Sat. 1 Deutschland - Shorts TV - Show Turk - Slam! - Spike Nederland - Stingray Classica - Stingray Djazz - Stingray LiteTV - TLC Nederland - TRT Çocuk - TRT Müzik - TRT Türk - TV 538 - TV5Monde Europe - TV 8 International - TV Drenthe - TVE Internacional Europa - TV Gelderland - TV Noord - TV Oost - TV Oranje - TV Rijnmond - TV West - Tommy Teleshopping - Utsav Gold - Utsav Plus - Veronica - X-MO - Xite - ZDF - Zee Cinema - Zee TV UK - Ziggo Sport - Ziggo Sport Docu - Ziggo Sport Golf - Ziggo Sport Racing - Ziggo Sport Select - Ziggo Sport Tennis - Ziggo Sport Voetbal - Zing UK - - + + + ARTE France + NDR Fernsehen Hamburg + RTL + Sat. 1 Deutschland + ZDF + 2M Monde + Al Jazeera English + BBC Entertainment Europe + BBC One + BBC Two + BBC World News Europe + CGTN + CNBC Europe + CNN International Europe + EuroNews English + FashionTV Europe + MTV 80s + MTV 90s + MyZen TV + Penthouse Gold + Shorts TV + SET Asia + Utsav Gold + Utsav Plus + X-MO + Zee Cinema + Zee TV UK + Zing UK + TVE Internacional Europa + Mediaset Italia + 100% NL TV + 192 TV + 24 Kitchen + Animal Planet Europe + AT5 + ATV Avrupa + Baby TV Europe + BBC First Nederland + Boomerang Central & Eastern Europe + Canvas + Cartoon Network Nederland + Comedy Central Extra Netherlands + Comedy Central Nederland + Crime + Investigation UK + Discovery Channel Nederland + Discovery Science + Disney Channel Nederland + Dusk + Één + E! Europe + ESPN 2 Nederland + ESPN 3 Nederland + ESPN 4 Netherlands + ESPN Nederland + Eurosport 1 + Eurosport 2 + Evil Angel TV + Extreme Sports Channel + Family7 + Film 1 Action + Film 1 Drama + Film 1 Family + Film 1 Premiere + Fox NL + History Benelux + Horse & Country TV + Investigation Discovery Europe + Ketnet + L1 TV + Love Nature + Meiden van Holland Hard + Mezzo + MTV Hits Europe + MTV Live HD + MTV NL + National Geographic Nederland + National Geographic Wild Europe + Net 5 + NH Nieuws + Nickelodeon + Nick Jr + NickMusic + NickToons + NPO 1 + NPO 1 Extra + NPO 2 + NPO 2 Extra + NPO 3 + NPO Politiek + Omroep Brabant TV + Omroep Flevoland TV + Omroep Zeeland TV + Omrop Fryslân TV + ONS + Out TV + Passie XXX + Pebble TV + RTL 4 + RTL 5 + RTL 7 + RTL 8 + RTL Crime Nederland + RTL Lounge + RTL Telekids + RTL Z + TV Drenthe + RTV Utrecht + SBS 6 + SBS 9 + Slam! + Spike Nederland + Stingray Classica + Stingray Djazz + Stingray LiteTV + TLC Nederland + Tommy Teleshopping + TV 538 + TV5Monde Europe + TV Gelderland + TV Noord + TV Oost + TV Oranje + TV Rijnmond + TV West + Veronica + Xite + Ziggo Sport + Ziggo Sport Docu + Ziggo Sport Golf + Ziggo Sport Racing + Ziggo Sport Select + Ziggo Sport Tennis + Ziggo Sport Voetbal + Euro D + EuroStar + Habertürk + Show Turk + TRT Çocuk + TRT Müzik + TRT Türk + TV 8 International + diff --git a/sites/ziggogo.tv/ziggogo.tv.config.js b/sites/ziggogo.tv/ziggogo.tv.config.js index 99589e86..3fb147c6 100644 --- a/sites/ziggogo.tv/ziggogo.tv.config.js +++ b/sites/ziggogo.tv/ziggogo.tv.config.js @@ -1,7 +1,7 @@ const axios = require('axios') const dayjs = require('dayjs') -const API_ENDPOINT = `https://static.spark.ziggogo.tv/eng/web/epg-service-lite` +const API_ENDPOINT = 'https://static.spark.ziggogo.tv/eng/web/epg-service-lite' module.exports = { site: 'ziggogo.tv', @@ -76,7 +76,7 @@ module.exports = { async channels() { const data = await axios .get( - `https://prod.spark.ziggogo.tv/eng/web/linear-service/v2/channels?cityId=65535&language=en&productClass=Orion-DASH` + 'https://prod.spark.ziggogo.tv/eng/web/linear-service/v2/channels?cityId=65535&language=en&productClass=Orion-DASH' ) .then(r => r.data) .catch(console.log) diff --git a/sites/ziggogo.tv/ziggogo.tv.test.js b/sites/ziggogo.tv/ziggogo.tv.test.js index 640c1c27..502f46ec 100644 --- a/sites/ziggogo.tv/ziggogo.tv.test.js +++ b/sites/ziggogo.tv/ziggogo.tv.test.js @@ -1,5 +1,5 @@ // npm run channels:parse -- --config=./sites/ziggogo.tv/ziggogo.tv.config.js --output=./sites/ziggogo.tv/ziggogo.tv.channels.xml -// npx epg-grabber --config=sites/ziggogo.tv/ziggogo.tv.config.js --channels=sites/ziggogo.tv/ziggogo.tv.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=ziggogo.tv const { parser, url } = require('./ziggogo.tv.config.js') const fs = require('fs') @@ -92,7 +92,7 @@ it('can parse response', async () => { }) it('can handle empty guide', async () => { - let results = await parser({ content: ``, channel, date }) + let results = await parser({ content: '', channel, date }) expect(results).toMatchObject([]) }) diff --git a/sites/znbc.co.zm/znbc.co.zm.channels.xml b/sites/znbc.co.zm/znbc.co.zm.channels.xml index 49804dc6..d4659d7b 100644 --- a/sites/znbc.co.zm/znbc.co.zm.channels.xml +++ b/sites/znbc.co.zm/znbc.co.zm.channels.xml @@ -1,9 +1,7 @@ - - - ZNBC TV 1 - ZNBC TV 2 - ZNBC TV 3 - ZNBC TV 4 - - \ No newline at end of file + + ZNBC TV 1 + ZNBC TV 2 + ZNBC TV 3 + ZNBC TV 4 + \ No newline at end of file diff --git a/sites/znbc.co.zm/znbc.co.zm.config.js b/sites/znbc.co.zm/znbc.co.zm.config.js index bde46b48..555d51e0 100644 --- a/sites/znbc.co.zm/znbc.co.zm.config.js +++ b/sites/znbc.co.zm/znbc.co.zm.config.js @@ -52,7 +52,7 @@ function parseItems(content, date) { return data[0] .map(row => { - const [_, time, title] = row['0'].replace(/\s\s/g, ' ').match(/^(\d{2}:\d{2}) (.*)/) || [ + const [, time, title] = row['0'].replace(/\s\s/g, ' ').match(/^(\d{2}:\d{2}) (.*)/) || [ null, null, null diff --git a/sites/znbc.co.zm/znbc.co.zm.test.js b/sites/znbc.co.zm/znbc.co.zm.test.js index 7395190d..b8380dd4 100644 --- a/sites/znbc.co.zm/znbc.co.zm.test.js +++ b/sites/znbc.co.zm/znbc.co.zm.test.js @@ -1,4 +1,4 @@ -// npx epg-grabber --config=sites/znbc.co.zm/znbc.co.zm.config.js --channels=sites/znbc.co.zm/znbc.co.zm.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=znbc.co.zm const { parser, url } = require('./znbc.co.zm.config.js') const dayjs = require('dayjs') @@ -12,7 +12,8 @@ const channel = { site_id: 'tv1', xmltv_id: 'ZNBCTV1.zm' } -const content = `
        ` +const content = + '
        ' it('can generate valid url', () => { expect(url({ channel })).toBe('https://www.znbc.co.zm/tv1/') @@ -29,17 +30,17 @@ it('can parse response', () => { { start: '2021-11-24T22:00:00.000Z', stop: '2021-11-24T23:00:00.000Z', - title: `MAIN NEWS – RPT` + title: 'MAIN NEWS – RPT' }, { start: '2021-11-24T23:00:00.000Z', stop: '2021-11-25T00:00:00.000Z', - title: `BORN & BRED – Rebroadcast (Tuesday Edition)` + title: 'BORN & BRED – Rebroadcast (Tuesday Edition)' }, { start: '2021-11-25T00:00:00.000Z', stop: '2021-11-25T00:30:00.000Z', - title: `DOCUMENTARY – DW` + title: 'DOCUMENTARY – DW' } ]) }) @@ -48,7 +49,7 @@ it('can handle empty guide', () => { const result = parser({ date, channel, - content: `` + content: '' }) expect(result).toMatchObject([]) }) diff --git a/sites/zuragt.mn/zuragt.mn.channels.xml b/sites/zuragt.mn/zuragt.mn.channels.xml index deadc105..5dba7150 100644 --- a/sites/zuragt.mn/zuragt.mn.channels.xml +++ b/sites/zuragt.mn/zuragt.mn.channels.xml @@ -1,41 +1,39 @@ - - - AsianBox - Bloomberg TV MGL - C1 - Central TV - Dream - Eco Channel - Боловсрол ТВ - ETV HD - МҮОНТ - MNB Sport - MNC - Монгол ТВ - MovieBox - NTN - NTV - SBN - SPS Global - SPS National - NBA TV SPS - SPS Plus - SPS Prime - Star TV - Сүлд ТВ - Суваг 1 - TenGer - TM - MN25 - TV5 - TV8 - TV9 - UBS-1 - - - - - - - + + + + + + + AsianBox + Bloomberg TV MGL + C1 + Central TV + Dream + Eco Channel + Боловсрол ТВ + ETV HD + МҮОНТ + MNB Sport + MNC + Монгол ТВ + MovieBox + NTN + NTV + SBN + SPS Global + SPS National + NBA TV SPS + SPS Plus + SPS Prime + Star TV + Сүлд ТВ + Суваг 1 + TenGer + TM + MN25 + TV5 + TV8 + TV9 + UBS-1 + diff --git a/sites/zuragt.mn/zuragt.mn.config.js b/sites/zuragt.mn/zuragt.mn.config.js index 54382711..ed197342 100644 --- a/sites/zuragt.mn/zuragt.mn.config.js +++ b/sites/zuragt.mn/zuragt.mn.config.js @@ -47,7 +47,7 @@ module.exports = { }, async channels() { let html = await axios - .get(`https://www.zuragt.mn/`) + .get('https://www.zuragt.mn/') .then(r => r.data) .catch(console.log) let $ = cheerio.load(html) @@ -60,7 +60,7 @@ module.exports = { if (!link) return null - const [_, site_id] = link.match(/\/channel\/(.*)\//) || [null, null] + const [, site_id] = link.match(/\/channel\/(.*)\//) || [null, null] return { lang: 'mn', diff --git a/sites/zuragt.mn/zuragt.mn.test.js b/sites/zuragt.mn/zuragt.mn.test.js index 839ca115..9c9be992 100644 --- a/sites/zuragt.mn/zuragt.mn.test.js +++ b/sites/zuragt.mn/zuragt.mn.test.js @@ -1,10 +1,9 @@ // npm run channels:parse -- --config=./sites/zuragt.mn/zuragt.mn.config.js --output=./sites/zuragt.mn/zuragt.mn.channels.xml -// npx epg-grabber --config=sites/zuragt.mn/zuragt.mn.config.js --channels=sites/zuragt.mn/zuragt.mn.channels.xml --output=guide.xml --days=2 +// npm run grab -- --site=zuragt.mn const { parser, url, request } = require('./zuragt.mn.config.js') const fs = require('fs') const path = require('path') -const axios = require('axios') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') const customParseFormat = require('dayjs/plugin/customParseFormat')