2023-11-11 15:29:27 +07:00
const { parser , url , request } = require ( './rotana.net.config.js' )
2023-12-11 22:53:22 +07:00
const fs = require ( 'fs' )
const path = require ( 'path' )
const axios = require ( 'axios' )
2023-10-15 14:08:23 +03:00
const dayjs = require ( 'dayjs' )
const utc = require ( 'dayjs/plugin/utc' )
const customParseFormat = require ( 'dayjs/plugin/customParseFormat' )
2023-11-11 15:29:27 +07:00
2023-10-15 14:08:23 +03:00
dayjs . extend ( customParseFormat )
dayjs . extend ( utc )
2023-12-11 22:53:22 +07:00
jest . mock ( 'axios' )
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>
2024-11-27 03:48:25 +07:00
const date = dayjs . utc ( '2024-11-26' ) . startOf ( 'd' )
2023-10-15 14:08:23 +03:00
const channel = {
2023-11-11 15:29:27 +07:00
lang : 'en' ,
2023-11-26 16:55:26 +03:00
site _id : '439' ,
2023-11-11 15:29:27 +07:00
xmltv _id : 'RotanaCinemaMasr.sa'
}
2023-12-11 22:53:22 +07:00
const channelAr = Object . assign ( { } , channel , { lang : 'ar' } )
axios . get . mockImplementation ( ( url , opts ) => {
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>
2024-11-27 03:48:25 +07:00
if ( url === 'https://rotana.net/en/streams?channel=439&itemId=736970' ) {
2023-12-11 22:53:22 +07:00
return Promise . resolve ( {
data : fs . readFileSync ( path . resolve ( _ _dirname , '__data__/program_en.html' ) )
} )
}
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>
2024-11-27 03:48:25 +07:00
if ( url === 'https://rotana.net/ar/streams?channel=439&itemId=736970' ) {
2023-12-11 22:53:22 +07:00
return Promise . resolve ( {
data : fs . readFileSync ( path . resolve ( _ _dirname , '__data__/program_ar.html' ) )
} )
}
return Promise . resolve ( { data : '' } )
} )
2023-10-15 14:08:23 +03:00
2023-11-11 15:29:27 +07:00
it ( 'can use defined user agent' , ( ) => {
const result = request . headers [ 'User-Agent' ]
2023-11-26 16:55:26 +03:00
expect ( result ) . toBe (
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36 OPR/104.0.0.0'
)
2023-11-11 15:29:27 +07:00
} )
it ( 'can generate valid english url' , ( ) => {
2023-10-15 14:08:23 +03:00
const result = url ( { channel , date } )
2023-12-11 22:53:22 +07:00
expect ( result ) . toBe ( 'https://rotana.net/en/streams?channel=439&tz=' )
2023-11-11 15:29:27 +07:00
} )
it ( 'can generate valid arabic url' , ( ) => {
const result = url ( { channel : channelAr , date } )
2023-12-11 22:53:22 +07:00
expect ( result ) . toBe ( 'https://rotana.net/ar/streams?channel=439&tz=' )
2023-10-15 14:08:23 +03:00
} )
2023-12-11 22:53:22 +07:00
it ( 'can parse english response' , async ( ) => {
2024-12-17 10:24:58 +07:00
const result = ( await parser ( {
2023-11-26 16:55:26 +03:00
channel ,
date ,
content : fs . readFileSync ( path . join ( _ _dirname , '/__data__/content_en.html' ) )
2024-12-17 10:24:58 +07:00
} ) ) . map ( a => {
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>
2024-11-27 03:48:25 +07:00
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' ,
2023-12-11 22:53:22 +07:00
description :
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>
2024-11-27 03:48:25 +07:00
'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'
2023-12-11 22:53:22 +07:00
} )
2023-11-11 15:29:27 +07:00
} )
2023-12-11 22:53:22 +07:00
it ( 'can parse arabic response' , async ( ) => {
2024-12-17 10:24:58 +07:00
const result = ( await parser ( {
2023-12-11 22:53:22 +07:00
channel : channelAr ,
2023-11-26 16:55:26 +03:00
date ,
content : fs . readFileSync ( path . join ( _ _dirname , '/__data__/content_ar.html' ) )
2024-12-17 10:24:58 +07:00
} ) ) . map ( a => {
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>
2024-11-27 03:48:25 +07:00
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 : 'خيانة مشروعة' ,
2023-12-11 22:53:22 +07:00
description :
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>
2024-11-27 03:48:25 +07:00
'يعلم هشام البحيري أن والده قد حرمه من الميراث، ووهب كل ثروته لشقيقه اﻷكبر، وهو ما يدفعه لتدبير جريمة قتل شقيقه لتبدو وكأنها دفاع عن الشرف، وذلك حين يقتل هشام زوجته مع شقيقه.' ,
image : 'https://s3.eu-central-1.amazonaws.com/rotana.website/spider_storage/1398X1000/1687084565' ,
category : 'فيلم'
2023-12-11 22:53:22 +07:00
} )
2023-10-15 14:08:23 +03:00
} )
2023-12-11 22:53:22 +07:00
it ( 'can handle empty guide' , async ( ) => {
const result = await parser ( {
2023-11-11 15:29:27 +07:00
content : '<!DOCTYPE html><html><head></head><body></body></html>' ,
2023-10-15 14:08:23 +03:00
date ,
2023-11-11 15:29:27 +07:00
channel
2023-10-15 14:08:23 +03:00
} )
2023-11-11 15:29:27 +07:00
expect ( result ) . toMatchObject ( [ ] )
2023-10-15 14:08:23 +03:00
} )