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
+