Update rotana.net

This commit is contained in:
freearhey 2023-11-26 16:55:26 +03:00
parent 6b352a6873
commit 1e0d1101a4
4 changed files with 92 additions and 43 deletions

View file

@ -0,0 +1,39 @@
# rotana.net
https://rotana.net/ar/streams (Arabic)
https://rotana.net/en/streams (English)
### Download the guide
Arabic:
```sh
npm run grab -- --site=rotana.net --lang=ar
```
English:
```sh
npm run grab -- --site=rotana.net --lang=en
```
### Update channel list
Arabic:
```sh
npm run channels:parse -- --config=./sites/rotana.net/rotana.net.config.js --output=./sites/rotana.net/rotana.net_ar.channels.xml --set=lang:ar
```
English:
```sh
npm run channels:parse -- --config=./sites/rotana.net/rotana.net.config.js --output=./sites/rotana.net/rotana.net_en.channels.xml --set=lang:en
```
### Test
```sh
npm test -- rotana.net
```

View file

@ -1,5 +1,3 @@
// npm run grab -- --site=rotana.net
const { parser, url, request } = require('./rotana.net.config.js')
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
@ -11,41 +9,48 @@ dayjs.extend(utc)
const date = dayjs.utc('2023-11-11').startOf('d')
const channel = {
lang: 'en',
site_id: '640688871275c9aaa905902a',
site_id: '439',
xmltv_id: 'RotanaCinemaMasr.sa'
}
const channelAr = {
lang: 'ar',
site_id: '640688871275c9aaa905902a',
site_id: '439',
xmltv_id: 'RotanaCinemaMasr.sa'
}
it('can use defined user agent', () => {
const result = request.headers['User-Agent']
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')
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'
)
})
it('can generate valid english url', () => {
const result = url({ channel, date })
expect(result).toBe('https://rotana.net/en/streams?channel=640688871275c9aaa905902a')
expect(result).toBe('https://rotana.net/en/streams?channel=439')
})
it('can generate valid arabic url', () => {
const result = url({ channel: channelAr, date })
expect(result).toBe('https://rotana.net/ar/streams?channel=640688871275c9aaa905902a')
expect(result).toBe('https://rotana.net/ar/streams?channel=439')
})
it('can parse english response', () => {
const fs = require('fs')
const path = require('path')
const result = parser({ channel, date, content: fs.readFileSync(path.join(__dirname, '/__data__/content_en.html'))})
const result = parser({
channel,
date,
content: fs.readFileSync(path.join(__dirname, '/__data__/content_en.html'))
})
expect(result).toMatchObject([
{
start: '2023-11-10T23:00:00.000Z',
stop: '2023-11-11T01:00:00.000Z',
title: 'Harim Karim',
description: 'Karim and Jihan separate after a year of marriage due to her discovering his betrayal in her home. Karim tries to get his wife back, but she refuses. Karim calls his old colleague Maha to help him. Ho...'
description:
'Karim and Jihan separate after a year of marriage due to her discovering his betrayal in her home. Karim tries to get his wife back, but she refuses. Karim calls his old colleague Maha to help him. Ho...'
}
])
})
@ -54,13 +59,18 @@ it('can parse arabic response', () => {
const fs = require('fs')
const path = require('path')
const result = parser({ channelAr, date, content: fs.readFileSync(path.join(__dirname, '/__data__/content_ar.html'))})
const result = parser({
channelAr,
date,
content: fs.readFileSync(path.join(__dirname, '/__data__/content_ar.html'))
})
expect(result).toMatchObject([
{
start: '2023-11-10T23:00:00.000Z',
stop: '2023-11-11T01:00:00.000Z',
title: 'حريم كريم',
description: 'كريم وجيهان ينفصلا بعد عام من الزواج بسبب اكتشافها لخيانته في منزلها، يحاول كريم استعادة زوجته، لكنها ترفض، فيتصل كريم بزميلته القديمة مها، لتساعده، لكن متاعب تحدث بين مها وزوجها، فتأتي لتعيش مع كريم،...'
description:
'كريم وجيهان ينفصلا بعد عام من الزواج بسبب اكتشافها لخيانته في منزلها، يحاول كريم استعادة زوجته، لكنها ترفض، فيتصل كريم بزميلته القديمة مها، لتساعده، لكن متاعب تحدث بين مها وزوجها، فتأتي لتعيش مع كريم،...'
}
])
})

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="rotana.net" lang="ar" xmltv_id="AlResalah.sa" site_id="649a083daac2436c03013132">الرساله</channel>
<channel site="rotana.net" lang="ar" xmltv_id="AlResalahInternational.sa" site_id="64f0a999bf16000061006e65">قناة رسالة الدولية</channel>
<channel site="rotana.net" lang="ar" xmltv_id="DahkwaBass.sa" site_id="64d145ba675a000052006672">ضحك وبس</channel>
<channel site="rotana.net" lang="ar" xmltv_id="LBC.sa" site_id="64068582ebf16a0aed0a1edf">إل بي سي</channel>
<channel site="rotana.net" lang="ar" xmltv_id="Romance.sa" site_id="64fef20e2b0c000080002443">رومانس</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaCinemaEgypt.eg" site_id="640688871275c9aaa905902a">روتانا سينما مصر</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaCinemaKSA.sa" site_id="63f7e0715afa14278a00c243">روتانا سينما السعودية</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaClassic.sa" site_id="64068827b880d209fb034278">روتانا كلاسيك</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaClip.sa" site_id="6499eaf2b68efd40110cc9c2">روتانا كليب</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaComedy.sa" site_id="640687f2b880d209fb034277">روتانا كوميدي</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaDrama.sa" site_id="64068796b880d209fb034276">روتانا دراما</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaKhalijia.sa" site_id="640685c0ebf16a0aed0a1ee0">روتانا خليجية</channel>
<channel site="rotana.net" lang="ar" xmltv_id="SayedatAlshasha.sa" site_id="64d14827675a000052006674">سيدة الشاشة</channel>
<channel site="rotana.net" lang="ar" xmltv_id="AlResalah.sa" site_id="446">الرساله</channel>
<channel site="rotana.net" lang="ar" xmltv_id="AlResalahInternational.sa" site_id="449">قناة رسالة الدولية</channel>
<channel site="rotana.net" lang="ar" xmltv_id="DahkwaBass.sa" site_id="447">ضحك وبس</channel>
<channel site="rotana.net" lang="ar" xmltv_id="LBC.sa" site_id="434">إل بي سي</channel>
<channel site="rotana.net" lang="ar" xmltv_id="Romance.sa" site_id="450">رومانس</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaCinemaEgypt.eg" site_id="439">روتانا سينما مصر</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaCinemaKSA.sa" site_id="431">روتانا سينما السعودية</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaClassic.sa" site_id="438">روتانا كلاسيك</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaClip.sa" site_id="443">روتانا كليب</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaComedy.sa" site_id="437">روتانا كوميدي</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaDrama.sa" site_id="436">روتانا دراما</channel>
<channel site="rotana.net" lang="ar" xmltv_id="RotanaKhalijia.sa" site_id="435">روتانا خليجية</channel>
<channel site="rotana.net" lang="ar" xmltv_id="SayedatAlshasha.sa" site_id="448">سيدة الشاشة</channel>
</channels>

View file

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="rotana.net" lang="en" xmltv_id="AlResalah.sa" site_id="649a083daac2436c03013132">Al Resalah</channel>
<channel site="rotana.net" lang="en" xmltv_id="AlResalahInternational.sa" site_id="64f0a999bf16000061006e65">Al Resalah International</channel>
<channel site="rotana.net" lang="en" xmltv_id="DahkwaBass.sa" site_id="64d145ba675a000052006672">Dahk wa Bass</channel>
<channel site="rotana.net" lang="en" xmltv_id="LBC.sa" site_id="64068582ebf16a0aed0a1edf">LBC</channel>
<channel site="rotana.net" lang="en" xmltv_id="Romance.sa" site_id="64fef20e2b0c000080002443">Romance</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaCinemaEgypt.eg" site_id="640688871275c9aaa905902a">Rotana Cinema Masr</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaCinemaKSA.sa" site_id="63f7e0715afa14278a00c243">Rotana Cinema KSA</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaClassic.sa" site_id="64068827b880d209fb034278">Rotana Classic</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaClip.sa" site_id="6499eaf2b68efd40110cc9c2">Rotana Clip</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaComedy.sa" site_id="640687f2b880d209fb034277">Rotana Comedy</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaDrama.sa" site_id="64068796b880d209fb034276">Rotana Drama</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaKhalijia.sa" site_id="640685c0ebf16a0aed0a1ee0">Rotana Khalijea HD</channel>
<channel site="rotana.net" lang="en" xmltv_id="SayedatAlshasha.sa" site_id="64d14827675a000052006674">Sayedat Alshasha</channel>
<channel site="rotana.net" lang="en" xmltv_id="AlResalah.sa" site_id="446">Al Resalah</channel>
<channel site="rotana.net" lang="en" xmltv_id="AlResalahInternational.sa" site_id="449">Al Resalah International</channel>
<channel site="rotana.net" lang="en" xmltv_id="DahkwaBass.sa" site_id="447">Dahk wa Bass</channel>
<channel site="rotana.net" lang="en" xmltv_id="LBC.sa" site_id="434">LBC</channel>
<channel site="rotana.net" lang="en" xmltv_id="Romance.sa" site_id="450">Romance</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaCinemaEgypt.eg" site_id="439">Rotana Cinema Masr</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaCinemaKSA.sa" site_id="431">Rotana Cinema KSA</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaClassic.sa" site_id="438">Rotana Classic</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaClip.sa" site_id="443">Rotana Clip</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaComedy.sa" site_id="437">Rotana Comedy</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaDrama.sa" site_id="436">Rotana Drama</channel>
<channel site="rotana.net" lang="en" xmltv_id="RotanaKhalijia.sa" site_id="435">Rotana Khalijea HD</channel>
<channel site="rotana.net" lang="en" xmltv_id="SayedatAlshasha.sa" site_id="448">Sayedat Alshasha</channel>
</channels>