From cb0a179bc246ea045bf4b014e6fe347aaa3bab77 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:00 +0300 Subject: [PATCH 01/20] Update editor.js --- scripts/commands/channels/editor.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/commands/channels/editor.js b/scripts/commands/channels/editor.js index 94e37caf..82432924 100644 --- a/scripts/commands/channels/editor.js +++ b/scripts/commands/channels/editor.js @@ -17,10 +17,10 @@ let site let channels = [] async function main() { - await api.channels.load() let result = await parser.parseChannels(options.input) site = result.site channels = result.channels + await api.channels.load() for (const channel of channels) { if (channel.xmltv_id) continue let choices = await getOptions(channel) From 79ead4c40dc34830c9e4dd15c3fb2d0ad2738b96 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:05 +0300 Subject: [PATCH 02/20] Update beinsports.com.test.js --- sites/beinsports.com/beinsports.com.test.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/sites/beinsports.com/beinsports.com.test.js b/sites/beinsports.com/beinsports.com.test.js index 5596e5bd..ecfb91f0 100644 --- a/sites/beinsports.com/beinsports.com.test.js +++ b/sites/beinsports.com/beinsports.com.test.js @@ -1,4 +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_qa-ar.channels.xml --output=guide.xml --timeout=30000 --days=2 const { parser, url } = require('./beinsports.com.config.js') const fs = require('fs') @@ -13,12 +15,20 @@ const date = dayjs.utc('2022-05-08', 'YYYY-MM-DD').startOf('d') const channel = { site_id: '#1', xmltv_id: 'BeINSports.qa' } it('can generate valid url', () => { - const result = url({ date }) + const result = url({ date, channel }) expect(result).toBe( 'https://epg.beinsports.com/utctime.php?mins=00&serviceidentity=beinsports.com&cdate=2022-05-08' ) }) +it('can generate valid url for arabic guide', () => { + const channel = { site_id: 'ar#1', xmltv_id: 'BeINSports.qa' } + const result = url({ date, channel }) + expect(result).toBe( + 'https://epg.beinsports.com/utctime_ar.php?mins=00&serviceidentity=beinsports.com&cdate=2022-05-08' + ) +}) + it('can parse response', () => { const content = fs.readFileSync(path.resolve('sites/beinsports.com/__data__/content.html')) const results = parser({ date, channel, content }).map(p => { From aea33f761c4ac4554bf63da299d20a60ff1da6df Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:07 +0300 Subject: [PATCH 03/20] Update beinsports.com.config.js --- sites/beinsports.com/beinsports.com.config.js | 35 +++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/sites/beinsports.com/beinsports.com.config.js b/sites/beinsports.com/beinsports.com.config.js index d7d269ce..b09136ce 100644 --- a/sites/beinsports.com/beinsports.com.config.js +++ b/sites/beinsports.com/beinsports.com.config.js @@ -1,3 +1,4 @@ +const axios = require('axios') const cheerio = require('cheerio') const dayjs = require('dayjs') const utc = require('dayjs/plugin/utc') @@ -10,8 +11,11 @@ dayjs.extend(customParseFormat) module.exports = { site: 'beinsports.com', - url: function ({ date }) { - return `https://epg.beinsports.com/utctime.php?mins=00&serviceidentity=beinsports.com&cdate=${date.format( + url: function ({ date, channel }) { + let [region] = channel.site_id.split('#') + region = region ? `_${region}` : '' + + return `https://epg.beinsports.com/utctime${region}.php?mins=00&serviceidentity=beinsports.com&cdate=${date.format( 'YYYY-MM-DD' )}` }, @@ -46,6 +50,33 @@ module.exports = { }) return programs + }, + async channels({ region, lang }) { + const suffix = region ? `_${region}` : '' + const content = await axios + .get( + `https://epg.beinsports.com/utctime${suffix}.php?mins=00&serviceidentity=beinsports.com&cdate=2022-05-08` + ) + .then(r => r.data) + .catch(console.log) + const $ = cheerio.load(content) + 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 + const channelId = id.replace('channels_', '') + const imgSrc = $item('img').attr('src') + const [_, __, name] = imgSrc.match(/(\/|)([a-z0-9-_.]+)(.png|.svg)$/i) || [null, null, ''] + + return { + lang, + site_id: `${region}#${channelId}`, + name + } + }) + .filter(i => i) } } From edce110e9efbc5416e5d4d608bc3cded95d87ccb Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:12 +0300 Subject: [PATCH 04/20] Create beinsports.com_hk.channels.xml --- sites/beinsports.com/beinsports.com_hk.channels.xml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_hk.channels.xml diff --git a/sites/beinsports.com/beinsports.com_hk.channels.xml b/sites/beinsports.com/beinsports.com_hk.channels.xml new file mode 100644 index 00000000..780b4bdb --- /dev/null +++ b/sites/beinsports.com/beinsports.com_hk.channels.xml @@ -0,0 +1,7 @@ + + + + BeIN Sports 1 Hong Kong + BeIN Sports 2 Hong Kong + + From e7c81a4e14106f61d48e00cb4f4ca4335895a854 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:15 +0300 Subject: [PATCH 05/20] Create beinsports.com_id.channels.xml --- sites/beinsports.com/beinsports.com_id.channels.xml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_id.channels.xml diff --git a/sites/beinsports.com/beinsports.com_id.channels.xml b/sites/beinsports.com/beinsports.com_id.channels.xml new file mode 100644 index 00000000..202af5f8 --- /dev/null +++ b/sites/beinsports.com/beinsports.com_id.channels.xml @@ -0,0 +1,7 @@ + + + + BeIN Sports 1 Indonesia + BeIN Sports 3 Indonesia + + From f1b9067ace0da3233f44c7f28a7445c0c17a6afd Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:18 +0300 Subject: [PATCH 06/20] Create beinsports.com_my.channels.xml --- sites/beinsports.com/beinsports.com_my.channels.xml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_my.channels.xml diff --git a/sites/beinsports.com/beinsports.com_my.channels.xml b/sites/beinsports.com/beinsports.com_my.channels.xml new file mode 100644 index 00000000..e19f9ff4 --- /dev/null +++ b/sites/beinsports.com/beinsports.com_my.channels.xml @@ -0,0 +1,6 @@ + + + + BeIN Sports 1 Malaysia & Singapore + + From 55f9ce4d00ddfce713e5ae11bf122f0c66bb3e8c Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:22 +0300 Subject: [PATCH 07/20] Create beinsports.com_ph.channels.xml --- sites/beinsports.com/beinsports.com_ph.channels.xml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_ph.channels.xml diff --git a/sites/beinsports.com/beinsports.com_ph.channels.xml b/sites/beinsports.com/beinsports.com_ph.channels.xml new file mode 100644 index 00000000..dfc88dc7 --- /dev/null +++ b/sites/beinsports.com/beinsports.com_ph.channels.xml @@ -0,0 +1,7 @@ + + + + BeIN Sports 1 Philippines + BeIN Sports 3 Philippines + + From efca747c73ab09a4b34d81e7cca6d7446523d9bb Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:32 +0300 Subject: [PATCH 08/20] Create beinsports.com_qa-ar.channels.xml --- .../beinsports.com_qa-ar.channels.xml | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_qa-ar.channels.xml diff --git a/sites/beinsports.com/beinsports.com_qa-ar.channels.xml b/sites/beinsports.com/beinsports.com_qa-ar.channels.xml new file mode 100644 index 00000000..545d12b7 --- /dev/null +++ b/sites/beinsports.com/beinsports.com_qa-ar.channels.xml @@ -0,0 +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 SPORTS 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 + + From 447ad6f0453a2a2a9352e7404c99bca6a75c23db Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:35 +0300 Subject: [PATCH 09/20] Create beinsports.com_th.channels.xml --- sites/beinsports.com/beinsports.com_th.channels.xml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_th.channels.xml diff --git a/sites/beinsports.com/beinsports.com_th.channels.xml b/sites/beinsports.com/beinsports.com_th.channels.xml new file mode 100644 index 00000000..9534845f --- /dev/null +++ b/sites/beinsports.com/beinsports.com_th.channels.xml @@ -0,0 +1,7 @@ + + + + BeIN Sports 1 Thailand + BeIN Sports 3 Thailand + + From 512bad30a8ad452a5620674230befccb5b824c52 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:39 +0300 Subject: [PATCH 10/20] Create beinsports.com_us-en.channels.xml --- .../beinsports.com_us-en.channels.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_us-en.channels.xml diff --git a/sites/beinsports.com/beinsports.com_us-en.channels.xml b/sites/beinsports.com/beinsports.com_us-en.channels.xml new file mode 100644 index 00000000..2d0e107b --- /dev/null +++ b/sites/beinsports.com/beinsports.com_us-en.channels.xml @@ -0,0 +1,15 @@ + + + + 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 + + From 43b9fedbae503915288912692a24827ca4720f3c Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:17:42 +0300 Subject: [PATCH 11/20] Create beinsports.com_us-es.channels.xml --- .../beinsports.com_us-es.channels.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_us-es.channels.xml diff --git a/sites/beinsports.com/beinsports.com_us-es.channels.xml b/sites/beinsports.com/beinsports.com_us-es.channels.xml new file mode 100644 index 00000000..89e5411e --- /dev/null +++ b/sites/beinsports.com/beinsports.com_us-es.channels.xml @@ -0,0 +1,15 @@ + + + + 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 + + From 036a0363cb31b94ca4874fa3217182839a6dfa67 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:13 +0300 Subject: [PATCH 12/20] Create beinsports.com_fr.channels.xml --- .../beinsports.com/beinsports.com_fr.channels.xml | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 sites/beinsports.com/beinsports.com_fr.channels.xml diff --git a/sites/beinsports.com/beinsports.com_fr.channels.xml b/sites/beinsports.com/beinsports.com_fr.channels.xml new file mode 100644 index 00000000..4798dfe0 --- /dev/null +++ b/sites/beinsports.com/beinsports.com_fr.channels.xml @@ -0,0 +1,15 @@ + + + + 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 + + From 971fa16bcfa011cb75c531014f981a14f89d2073 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:17 +0300 Subject: [PATCH 13/20] Update beinsports.com_hk.channels.xml --- sites/beinsports.com/beinsports.com_hk.channels.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_hk.channels.xml b/sites/beinsports.com/beinsports.com_hk.channels.xml index 780b4bdb..3b0c213e 100644 --- a/sites/beinsports.com/beinsports.com_hk.channels.xml +++ b/sites/beinsports.com/beinsports.com_hk.channels.xml @@ -1,7 +1,7 @@ - BeIN Sports 1 Hong Kong - BeIN Sports 2 Hong Kong + BeIN Sports 1 Hong Kong + BeIN Sports 2 Hong Kong From 9fa9e69018962b2dd66564512fa3127bb0100309 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:20 +0300 Subject: [PATCH 14/20] Update beinsports.com_id.channels.xml --- sites/beinsports.com/beinsports.com_id.channels.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_id.channels.xml b/sites/beinsports.com/beinsports.com_id.channels.xml index 202af5f8..fd6f87e2 100644 --- a/sites/beinsports.com/beinsports.com_id.channels.xml +++ b/sites/beinsports.com/beinsports.com_id.channels.xml @@ -1,7 +1,7 @@ - BeIN Sports 1 Indonesia - BeIN Sports 3 Indonesia + BeIN Sports 1 Indonesia + BeIN Sports 3 Indonesia From d7a2a3e75b5ca984247d7dedfffd0024e20ae4d6 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:28 +0300 Subject: [PATCH 15/20] Update beinsports.com_my.channels.xml --- sites/beinsports.com/beinsports.com_my.channels.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sites/beinsports.com/beinsports.com_my.channels.xml b/sites/beinsports.com/beinsports.com_my.channels.xml index e19f9ff4..6a935c70 100644 --- a/sites/beinsports.com/beinsports.com_my.channels.xml +++ b/sites/beinsports.com/beinsports.com_my.channels.xml @@ -1,6 +1,6 @@ - BeIN Sports 1 Malaysia & Singapore + BeIN Sports 1 Malaysia & Singapore From 9d6063d9b1aa3614af828213f863349b69412a58 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:31 +0300 Subject: [PATCH 16/20] Update beinsports.com_ph.channels.xml --- sites/beinsports.com/beinsports.com_ph.channels.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_ph.channels.xml b/sites/beinsports.com/beinsports.com_ph.channels.xml index dfc88dc7..b968c646 100644 --- a/sites/beinsports.com/beinsports.com_ph.channels.xml +++ b/sites/beinsports.com/beinsports.com_ph.channels.xml @@ -1,7 +1,7 @@ - BeIN Sports 1 Philippines - BeIN Sports 3 Philippines + BeIN Sports 1 Philippines + BeIN Sports 3 Philippines From 36d84b3b1ef44d8eadf1a11d49a15650cd3aa17f Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:34 +0300 Subject: [PATCH 17/20] Update beinsports.com_qa-ar.channels.xml --- .../beinsports.com_qa-ar.channels.xml | 46 +++++++++---------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_qa-ar.channels.xml b/sites/beinsports.com/beinsports.com_qa-ar.channels.xml index 545d12b7..d4d82643 100644 --- a/sites/beinsports.com/beinsports.com_qa-ar.channels.xml +++ b/sites/beinsports.com/beinsports.com_qa-ar.channels.xml @@ -1,28 +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 SPORTS 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 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 From 4e028c21c2b281d29cba34587129773e59e521f1 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:36 +0300 Subject: [PATCH 18/20] Update beinsports.com_th.channels.xml --- sites/beinsports.com/beinsports.com_th.channels.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_th.channels.xml b/sites/beinsports.com/beinsports.com_th.channels.xml index 9534845f..16cfab6f 100644 --- a/sites/beinsports.com/beinsports.com_th.channels.xml +++ b/sites/beinsports.com/beinsports.com_th.channels.xml @@ -1,7 +1,7 @@ - BeIN Sports 1 Thailand - BeIN Sports 3 Thailand + BeIN Sports 1 Thailand + BeIN Sports 3 Thailand From 1dcde5bf611ce7d7b5c1978731441ca574e00b53 Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:40 +0300 Subject: [PATCH 19/20] Update beinsports.com_us-en.channels.xml --- .../beinsports.com_us-en.channels.xml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_us-en.channels.xml b/sites/beinsports.com/beinsports.com_us-en.channels.xml index 2d0e107b..fb939bd6 100644 --- a/sites/beinsports.com/beinsports.com_us-en.channels.xml +++ b/sites/beinsports.com/beinsports.com_us-en.channels.xml @@ -1,15 +1,15 @@ - 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 From a80a086490bd17e8fb7441316f5545a6e3e1926d Mon Sep 17 00:00:00 2001 From: Aleksandr Statciuk Date: Sun, 8 May 2022 18:30:42 +0300 Subject: [PATCH 20/20] Update beinsports.com_us-es.channels.xml --- .../beinsports.com_us-es.channels.xml | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/sites/beinsports.com/beinsports.com_us-es.channels.xml b/sites/beinsports.com/beinsports.com_us-es.channels.xml index 89e5411e..98b9fd82 100644 --- a/sites/beinsports.com/beinsports.com_us-es.channels.xml +++ b/sites/beinsports.com/beinsports.com_us-es.channels.xml @@ -1,15 +1,15 @@ - 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