From a3a492685d414dd5f861ec582edaccd0ba0b16ca Mon Sep 17 00:00:00 2001 From: freearhey <7253922+freearhey@users.noreply.github.com> Date: Mon, 27 Nov 2023 13:09:50 +0300 Subject: [PATCH] Update sat.tv --- sites/sat.tv/readme.md | 37 + sites/sat.tv/sat.tv.channels.xml | 561 - sites/sat.tv/sat.tv.config.js | 98 +- sites/sat.tv/sat.tv.test.js | 3 - sites/sat.tv/sat.tv_ar.channels.xml | 15568 +++++++++++++++++++++++++ sites/sat.tv/sat.tv_en.channels.xml | 15657 ++++++++++++++++++++++++++ 6 files changed, 31333 insertions(+), 591 deletions(-) create mode 100644 sites/sat.tv/readme.md delete mode 100644 sites/sat.tv/sat.tv.channels.xml create mode 100644 sites/sat.tv/sat.tv_ar.channels.xml create mode 100644 sites/sat.tv/sat.tv_en.channels.xml diff --git a/sites/sat.tv/readme.md b/sites/sat.tv/readme.md new file mode 100644 index 00000000..bac11c15 --- /dev/null +++ b/sites/sat.tv/readme.md @@ -0,0 +1,37 @@ +# sat.tv + +https://sat.tv/tv-channels + +### Download the guide + +Arabic: + +```sh +npm run grab -- --site=sat.tv --lang=ar +``` + +English: + +```sh +npm run grab -- --site=sat.tv --lang=en +``` + +### Update channel list + +Arabic: + +```sh +npm run channels:parse -- --config=./sites/sat.tv/sat.tv.config.js --output=./sites/sat.tv/sat.tv_ar.channels.xml --set=lang:ar +``` + +English: + +```sh +npm run channels:parse -- --config=./sites/sat.tv/sat.tv.config.js --output=./sites/sat.tv/sat.tv_en.channels.xml --set=lang:en +``` + +### Test + +```sh +npm test -- sat.tv +``` diff --git a/sites/sat.tv/sat.tv.channels.xml b/sites/sat.tv/sat.tv.channels.xml deleted file mode 100644 index bdca358e..00000000 --- a/sites/sat.tv/sat.tv.channels.xml +++ /dev/null @@ -1,561 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 0fc8e652..da48d648 100644 --- a/sites/sat.tv/sat.tv.config.js +++ b/sites/sat.tv/sat.tv.config.js @@ -32,6 +32,9 @@ module.exports = { params.append('userTimezone', 'Europe/London') return params + }, + cache: { + ttl: 60 * 60 * 1000 // 1h } }, parser: function ({ content, date, channel }) { @@ -54,35 +57,76 @@ module.exports = { return programs }, - async channels({ lang, satLineup, satSatellite }) { - const params = new URLSearchParams() - params.append('dateFiltre', dayjs().format('YYYY-MM-DD')) - params.append('hoursFiltre', '0') - params.append('satLineup', satLineup) - params.append('satSatellite', satSatellite) - params.append('userDateTime', dayjs().valueOf()) - params.append('userTimezone', 'Europe/London') - const data = await axios - .post(API_ENDPOINT, params, { - headers: { - 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', - Cookie: `pll_language=${lang}` - } + async channels({ lang }) { + const satellites = [ + { satellite: 2, lineup: 55 }, + { satellite: 2, lineup: 58 }, + { satellite: 2, lineup: 53 }, + { satellite: 2, lineup: 57 }, + { satellite: 2, lineup: 54 }, + { satellite: 2, lineup: 56 }, + { satellite: 1, lineup: 48 }, + { satellite: 1, lineup: 44 }, + { satellite: 1, lineup: 42 }, + { satellite: 1, lineup: 39 }, + { satellite: 1, lineup: 37 }, + { satellite: 1, lineup: 38 }, + { satellite: 1, lineup: 68 }, + { satellite: 1, lineup: 47 }, + { satellite: 1, lineup: 41 }, + { satellite: 1, lineup: 49 }, + { satellite: 1, lineup: 46 }, + { satellite: 1, lineup: 35 }, + { satellite: 1, lineup: 43 }, + { satellite: 1, lineup: 45 }, + { satellite: 1, lineup: 50 }, + { satellite: 1, lineup: 71 }, + { satellite: 1, lineup: 40 }, + { satellite: 1, lineup: 72 }, + { satellite: 1, lineup: 33 }, + { satellite: 8, lineup: 62 }, + { satellite: 8, lineup: 63 }, + { satellite: 8, lineup: 64 }, + { satellite: 8, lineup: 65 }, + { satellite: 8, lineup: 66 }, + { satellite: 8, lineup: 67 } + ] + + let channels = [] + for (let sat of satellites) { + const params = new URLSearchParams() + params.append('dateFiltre', dayjs().format('YYYY-MM-DD')) + params.append('hoursFiltre', '0') + params.append('satLineup', sat.lineup) + params.append('satSatellite', sat.satellite) + params.append('userDateTime', dayjs().valueOf()) + params.append('userTimezone', 'Europe/London') + const data = await axios + .post(API_ENDPOINT, params, { + headers: { + 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', + Cookie: `pll_language=${lang}` + } + }) + .then(r => r.data) + .catch(console.log) + + const $ = cheerio.load(data) + $('.main-container-channels-events > .container-channel-events').each((i, el) => { + const name = $(el).find('.channel-title').text().trim() + const channelId = name.replace(/\s\&\s/gi, ' & ') + + if (!name) return + + channels.push({ + lang, + site_id: `${sat.satellite}#${sat.lineup}#${channelId}`, + name + }) }) - .then(r => r.data) - .catch(console.log) + } - const $ = cheerio.load(data) - const channels = $('.main-container-channels-events > .container-channel-events').toArray() - - return channels.map(item => { - const name = $(item).find('.channel-title').text().trim() - return { - lang, - site_id: name, - name - } - }) + return channels } } diff --git a/sites/sat.tv/sat.tv.test.js b/sites/sat.tv/sat.tv.test.js index 2a7769b0..a5aa0c29 100644 --- a/sites/sat.tv/sat.tv.test.js +++ b/sites/sat.tv/sat.tv.test.js @@ -1,6 +1,3 @@ -// 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 -// npm run grab -- --site=sat.tv - const { parser, url, request } = require('./sat.tv.config.js') const fs = require('fs') const path = require('path') diff --git a/sites/sat.tv/sat.tv_ar.channels.xml b/sites/sat.tv/sat.tv_ar.channels.xml new file mode 100644 index 00000000..dfbda007 --- /dev/null +++ b/sites/sat.tv/sat.tv_ar.channels.xml @@ -0,0 +1,15568 @@ + + + + 2M وطني + الامارات + أبو ظبي الرياضية 1 + أبو ظبي الرياضية 2 + + diff --git a/sites/sat.tv/sat.tv_en.channels.xml b/sites/sat.tv/sat.tv_en.channels.xml new file mode 100644 index 00000000..7599f4ac --- /dev/null +++ b/sites/sat.tv/sat.tv_en.channels.xml @@ -0,0 +1,15657 @@ + + + + 2M Monde + Aden TV + Afaq TV + Aghapy TV + Ahadu TV + Al Aan TV + Al Ahvaz TV + Al Anwar TV + Al Ayyam TV + Al Eman + Alerth Alnabawi + Al Eshraq TV + Al Fallujah TV + Alfath TV + Al Forat + Alghadeer TV + Al Ghad + Al Hadath + AlHadath Alyoum + Al Hawyah + Al Hayah Mosalsalat + Al Hayat + Al Horreya TV + Alistiqama TV + Al Ittihad TV + Al Jazeera English HD + Al Kahera Wal Nas + Al Kahera Wal Nas 2 + Alkarma Praise + Alkass One HD + Alkass Two HD + Al Kawthar TV + Alkeraza TV + Allahdhah TV + Al Maaref TV + Almagd TV + Almagharibia TV + Al Mahdi TV + Al Majd Holy Quran + Al Masriyah + Al Mawsleya TV + Al Mayadeen TV + Al Mergab TV + Almustakillah TV + Al Nada TV + Al Naeem TV + Al Nahar Drama + Al Nujaba TV + Al Ons TV + Al Qahera News + Al Qamar TV + Al Qanat 9 + Al Quds Today TV + Al Rafidain TV + Riyad Radio + Al Sabah + Al Saeedah + Al Sahat TV + Al Sahraa TV + Al Salam TV + Alshaaer TV + Al Shams TV + Altaleaa TV + Amozhgary TV + Angel TV Arabia + Al Anwar TV 2 + Arirang World + Aryen TV + Asil TV + Atfal & Mawaheb + Ava TV + Azhari TV + B4U Plus + Bahia TV + Bahrain International + Bangawaz TV + BBC Arabic + beIN Sports Max 1 + beIN Sports Max 2 + beIN Sports Max 4 + beIN Sports Max 5 + beIN Sports Max 6 + Belqees TV + Berbère TV + Bin Othaimeen + CBC Drama + CBC Sofra + CGTN Arabic + Chada TV + China Arab TV + Cima + Çira TV + Citruss TV + CNBC Arabiya + Daawah TV + Dijlah TV + DMC + DMC Drama + Dua Channel + Dubai Racing 2 + Dubai Racing 3 + Dubai Sports 2 + Dubai Sports 3 + Echorouk News + El Hayat TV + El Moled + Ennahar TV + Extra live + Falastini TV + France 24 Arabic + France 24 English + Funoon TV + Halab Today TV + Haq TV + Hebron Sat + Hona Baghdad TV + I24 News Arabic + iFilm Arabic + Imam Hussein TV 2 + Iraq Future TV + Iraq Now + Jedda Radio + Jordan Now TV + Kaifa TV + Karameesh + Khartoum TV + Kirkuk TV + Koogi TV + KSA sports 1 + Kurdistan 24 + Kurdistan TV + Kurdsat + Libya Alrasmia Channel + Libya Education + Libya Sport + Ma'an TV + Makkah TV + Manu Chat + Maspero Zaman + Mazzika + MBC Action + MBC Bollywood + MBC Drama + MBC FM + MBC Masr + MBC Masr 2 + Med Muzîk + Mekameleen + Misk FM + Misr AlBalad + Mix bel Araby TV + Nabaa TV + NHK World Japan + Nile Cinema + Nile Comedy + Nile Culture + Nile Drama + Nile Education + Nile Family + Nile Life + Nile News + Nile Sport + Nogoum FM TV + Noor Dubai + Nour Koddass + Nour Mariam TV + NRT3 Kids + NRT 4 + Oyoun Al Watan TV + Palestine Sport + Palestine Today + Panorama FM + Payam TV + Press TV HD + Rotana Cinema Egypt + Rotana Cinema KSA + Rotana Classic + Rotana Clip + Rotana Drama + Rotana Khalijia + Rotana Music + Rotana Tarab Jordan + Sada El Balad + Sada El Balad 2 + Sada El Balad Drama + Safa TV + Sahar Kurdi + Salahalddin TV + Samarra TV + Sat-7 Arabic + Sat-7 Kids +