mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
Update rotana.net guide.
Test ```shell npm test -- rotana.net > test > run-script-os rotana.net > test:win32 > SET "TZ=Pacific/Nauru" && npx jest --runInBand rotana.net PASS sites/rotana.net/rotana.net.test.js (6.081 s) √ can use defined user agent (3 ms) √ can generate valid english url (1 ms) √ can generate valid arabic url √ can parse english response (630 ms) √ can parse arabic response (560 ms) √ can handle empty guide (3 ms) Test Suites: 1 passed, 1 total Tests: 6 passed, 6 total Snapshots: 0 total Time: 6.406 s, estimated 8 s Ran all test suites matching /rotana.net/i. ``` Grab ```shell npm run grab -- --site=rotana.net --lang=en > grab > npx tsx scripts/commands/epg/grab.ts --site=rotana.net --lang=en starting... config: output: guide.xml maxConnections: 1 gzip: false site: rotana.net lang: en loading channels... found 16 channel(s) run #1: [1/32] rotana.net (en) - 432 - Nov 26, 2024 (24 programs) [2/32] rotana.net (en) - 432 - Nov 27, 2024 (23 programs) [3/32] rotana.net (en) - 433 - Nov 27, 2024 (14 programs) [4/32] rotana.net (en) - LBC.sa - Nov 27, 2024 (19 programs) [5/32] rotana.net (en) - LBC.sa - Nov 26, 2024 (20 programs) [6/32] rotana.net (en) - 433 - Nov 26, 2024 (14 programs) [7/32] rotana.net (en) - AlResalah.sa - Nov 27, 2024 (54 programs) [8/32] rotana.net (en) - RotanaAflam.sa - Nov 26, 2024 (16 programs) [9/32] rotana.net (en) - AlResalah.sa - Nov 26, 2024 (57 programs) [10/32] rotana.net (en) - MPlusHD.sa - Nov 27, 2024 (2 programs) [11/32] rotana.net (en) - MPlusHD.sa - Nov 26, 2024 (240 programs) [12/32] rotana.net (en) - RotanaComedy.sa - Nov 26, 2024 (13 programs) [13/32] rotana.net (en) - RotanaClip.sa - Nov 27, 2024 (2 programs) [14/32] rotana.net (en) - RotanaClip.sa - Nov 26, 2024 (246 programs) [15/32] rotana.net (en) - RotanaClassic.sa - Nov 27, 2024 (18 programs) [16/32] rotana.net (en) - RotanaClassic.sa - Nov 26, 2024 (18 programs) [17/32] rotana.net (en) - RotanaCinemaKSA.sa - Nov 27, 2024 (13 programs) [18/32] rotana.net (en) - RotanaCinemaKSA.sa - Nov 26, 2024 (14 programs) [19/32] rotana.net (en) - RotanaCinemaEgypt.eg - Nov 27, 2024 (12 programs) [20/32] rotana.net (en) - RotanaCinemaEgypt.eg - Nov 26, 2024 (13 programs) [21/32] rotana.net (en) - RotanaAmerica.sa - Nov 27, 2024 (18 programs) [22/32] rotana.net (en) - RotanaAmerica.sa - Nov 26, 2024 (15 programs) [23/32] rotana.net (en) - RotanaAflam.sa - Nov 27, 2024 (16 programs) [24/32] rotana.net (en) - RotanaKids.sa - Nov 26, 2024 (83 programs) [25/32] rotana.net (en) - RotanaKhalijia.sa - Nov 26, 2024 (23 programs) [26/32] rotana.net (en) - RotanaDrama.sa - Nov 27, 2024 (26 programs) [27/32] rotana.net (en) - RotanaMusic.sa - Nov 27, 2024 (0 programs) [28/32] rotana.net (en) - RotanaMusic.sa - Nov 26, 2024 (0 programs) [29/32] rotana.net (en) - RotanaKhalijia.sa - Nov 27, 2024 (24 programs) [30/32] rotana.net (en) - RotanaDrama.sa - Nov 26, 2024 (26 programs) [31/32] rotana.net (en) - RotanaKids.sa - Nov 27, 2024 (83 programs) [32/32] rotana.net (en) - RotanaComedy.sa - Nov 27, 2024 (13 programs) saving to "guide.xml"... done in 00h 00m 49s ``` Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
parent
b311572748
commit
e09316dc63
8 changed files with 833 additions and 606 deletions
|
@ -11,7 +11,7 @@ dayjs.extend(utc)
|
|||
|
||||
jest.mock('axios')
|
||||
|
||||
const date = dayjs.utc('2023-12-10').startOf('d')
|
||||
const date = dayjs.utc('2024-11-26').startOf('d')
|
||||
const channel = {
|
||||
lang: 'en',
|
||||
site_id: '439',
|
||||
|
@ -20,12 +20,12 @@ const channel = {
|
|||
const channelAr = Object.assign({}, channel, { lang: 'ar' })
|
||||
|
||||
axios.get.mockImplementation((url, opts) => {
|
||||
if (url === 'https://rotana.net/en/streams?channel=439&itemId=239849') {
|
||||
if (url === 'https://rotana.net/en/streams?channel=439&itemId=736970') {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/program_en.html'))
|
||||
})
|
||||
}
|
||||
if (url === 'https://rotana.net/ar/streams?channel=439&itemId=239849') {
|
||||
if (url === 'https://rotana.net/ar/streams?channel=439&itemId=736970') {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/program_ar.html'))
|
||||
})
|
||||
|
@ -52,34 +52,50 @@ it('can generate valid arabic url', () => {
|
|||
})
|
||||
|
||||
it('can parse english response', async () => {
|
||||
const result = await parser({
|
||||
let result = await parser({
|
||||
channel,
|
||||
date,
|
||||
content: fs.readFileSync(path.join(__dirname, '/__data__/content_en.html'))
|
||||
})
|
||||
expect(result[0]).toMatchObject({
|
||||
start: '2023-12-09T21:36:00.000Z',
|
||||
stop: '2023-12-09T23:46:00.000Z',
|
||||
title: 'Katkout',
|
||||
result = result.map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
|
||||
expect(result.length).toBe(12)
|
||||
expect(result[11]).toMatchObject({
|
||||
start: '2024-11-26T20:00:00.000Z',
|
||||
stop: '2024-11-26T22:00:00.000Z',
|
||||
title: 'Khiyana Mashroua',
|
||||
description:
|
||||
'In a comic framework, the events of the film revolve around (Katkoot) Al-Saedi, whose aunt, the eldest of the Al-Saedi family, tries to force him to kill himself in order to ransom his family. A time...',
|
||||
image: 'https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max'
|
||||
'Hisham knows that his father has given all his wealth to his elder brother. This leads him to plan to kill his brother to make it look like a defense of honor, which he does by killing his wife along...',
|
||||
image: 'https://s3.eu-central-1.amazonaws.com/rotana.website/spider_storage/1398X1000/1687084565',
|
||||
category: 'Movie'
|
||||
})
|
||||
})
|
||||
|
||||
it('can parse arabic response', async () => {
|
||||
const result = await parser({
|
||||
let result = await parser({
|
||||
channel: channelAr,
|
||||
date,
|
||||
content: fs.readFileSync(path.join(__dirname, '/__data__/content_ar.html'))
|
||||
})
|
||||
expect(result[0]).toMatchObject({
|
||||
start: '2023-12-09T21:36:00.000Z',
|
||||
stop: '2023-12-09T23:46:00.000Z',
|
||||
title: 'كتكوت',
|
||||
result = result.map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
|
||||
expect(result.length).toBe(12)
|
||||
expect(result[11]).toMatchObject({
|
||||
start: '2024-11-26T20:00:00.000Z',
|
||||
stop: '2024-11-26T22:00:00.000Z',
|
||||
title: 'خيانة مشروعة',
|
||||
description:
|
||||
'في إطار كوميدي تدور أحداث الفيلم، حول (كتكوت) الصعيدي الذي تحاول عمته كبيرة العائلة الصعيدية إجباره على تقديم نفسه للقتل ليفدي عائلته، ولكنه يهرب وتخطفه جهة أمنية لاكتشاف شبه كبير بينه وبين (يوسف خوري...',
|
||||
image: 'https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max'
|
||||
'يعلم هشام البحيري أن والده قد حرمه من الميراث، ووهب كل ثروته لشقيقه اﻷكبر، وهو ما يدفعه لتدبير جريمة قتل شقيقه لتبدو وكأنها دفاع عن الشرف، وذلك حين يقتل هشام زوجته مع شقيقه.',
|
||||
image: 'https://s3.eu-central-1.amazonaws.com/rotana.website/spider_storage/1398X1000/1687084565',
|
||||
category: 'فيلم'
|
||||
})
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue