mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-11 01:20:08 -04:00
Merge branch 'iptv-org:master' into orangetv.orange.es
This commit is contained in:
commit
62d02baa88
13 changed files with 1303 additions and 708 deletions
379
sites/osn.com/__data__/content.json
Normal file
379
sites/osn.com/__data__/content.json
Normal file
|
@ -0,0 +1,379 @@
|
|||
[
|
||||
{
|
||||
"Title": "Alo Cake: Episode 12",
|
||||
"Arab_Title": "ألو كيك: الحلقة 12",
|
||||
"EPGUNIQID": "FTF-202426111955",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 240,
|
||||
"TotalDivWidth": 24,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "23:55",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "26 Nov 2024, 23:55"
|
||||
},
|
||||
{
|
||||
"Title": "House Of Desserts: Episode 3",
|
||||
"Arab_Title": "بيت الحلويات: الحلقة 3",
|
||||
"EPGUNIQID": "FTF-202426112050",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "00:50",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 00:50"
|
||||
},
|
||||
{
|
||||
"Title": "Ekhtar Sehetak (Choose Healthy): 11",
|
||||
"Arab_Title": "اختار صحتك: 11",
|
||||
"EPGUNIQID": "FTF-202426112145",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "01:45",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 01:45"
|
||||
},
|
||||
{
|
||||
"Title": "Matbakh Manal Al Alem (Manal Alalem\u0027s Kitchen): Episode 10",
|
||||
"Arab_Title": "مطبخ منال العالم: الحلقة 10",
|
||||
"EPGUNIQID": "FTF-202426112235",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "02:35",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 02:35"
|
||||
},
|
||||
{
|
||||
"Title": "The Mattar Kitchen: Episode 15",
|
||||
"Arab_Title": "شوّاية مطر: الحلقة 15",
|
||||
"EPGUNIQID": "FTF-202426112325",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "03:25",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 03:25"
|
||||
},
|
||||
{
|
||||
"Title": "Fi Beit Atyab (Tastes Better At Home): Episode 3",
|
||||
"Arab_Title": "فالبيت اطيب: الحلقة 3",
|
||||
"EPGUNIQID": "FTF-202427110020",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "04:20",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 04:20"
|
||||
},
|
||||
{
|
||||
"Title": "Alo Cake: Episode 12",
|
||||
"Arab_Title": "ألو كيك: الحلقة 12",
|
||||
"EPGUNIQID": "FTF-202427110115",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "05:15",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 05:15"
|
||||
},
|
||||
{
|
||||
"Title": "House Of Desserts: Episode 3",
|
||||
"Arab_Title": "بيت الحلويات: الحلقة 3",
|
||||
"EPGUNIQID": "FTF-202427110210",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "06:10",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 06:10"
|
||||
},
|
||||
{
|
||||
"Title": "Matbakh Manal Al Alem (Manal Alalem\u0027s Kitchen): Episode 10",
|
||||
"Arab_Title": "مطبخ منال العالم: الحلقة 10",
|
||||
"EPGUNIQID": "FTF-202427110300",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "07:00",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 07:00"
|
||||
},
|
||||
{
|
||||
"Title": "Ekhtar Sehetak (Choose Healthy): 11",
|
||||
"Arab_Title": "اختار صحتك: 11",
|
||||
"EPGUNIQID": "FTF-202427110350",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "07:50",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 07:50"
|
||||
},
|
||||
{
|
||||
"Title": "Wala Ahla Ma\u0027 Loulou: Episode 1",
|
||||
"Arab_Title": "ولا أحلى مع لولو: الحلقة 1",
|
||||
"EPGUNIQID": "FTF-202427110445",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "08:45",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 08:45"
|
||||
},
|
||||
{
|
||||
"Title": "The Mattar Kitchen: Episode 15",
|
||||
"Arab_Title": "شوّاية مطر: الحلقة 15",
|
||||
"EPGUNIQID": "FTF-202427110535",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "09:35",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 09:35"
|
||||
},
|
||||
{
|
||||
"Title": "Fi Beit Atyab (Tastes Better At Home): Episode 3",
|
||||
"Arab_Title": "فالبيت اطيب: الحلقة 3",
|
||||
"EPGUNIQID": "FTF-202427110630",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "10:30",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 10:30"
|
||||
},
|
||||
{
|
||||
"Title": "Alo Cake: Episode 12",
|
||||
"Arab_Title": "ألو كيك: الحلقة 12",
|
||||
"EPGUNIQID": "FTF-202427110725",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "11:25",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 11:25"
|
||||
},
|
||||
{
|
||||
"Title": "House Of Desserts: Episode 3",
|
||||
"Arab_Title": "بيت الحلويات: الحلقة 3",
|
||||
"EPGUNIQID": "FTF-202427110820",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "12:20",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 12:20"
|
||||
},
|
||||
{
|
||||
"Title": "Wala Ahla Ma\u0027 Loulou: Episode 1",
|
||||
"Arab_Title": "ولا أحلى مع لولو: الحلقة 1",
|
||||
"EPGUNIQID": "FTF-202427110915",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "13:15",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 13:15"
|
||||
},
|
||||
{
|
||||
"Title": "Ekhtar Sehetak (Choose Healthy): 11",
|
||||
"Arab_Title": "اختار صحتك: 11",
|
||||
"EPGUNIQID": "FTF-202427111005",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "14:05",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 14:05"
|
||||
},
|
||||
{
|
||||
"Title": "Matbakh Manal Al Alem (Manal Alalem\u0027s Kitchen): Episode 11",
|
||||
"Arab_Title": "مطبخ منال العالم: الحلقة 11",
|
||||
"EPGUNIQID": "FTF-202427111100",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "15:00",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 15:00"
|
||||
},
|
||||
{
|
||||
"Title": "Fatafeat Kitchen Tales: Episode 104",
|
||||
"Arab_Title": "حكايات مطبخ من فتافيت: الحلقة 104",
|
||||
"EPGUNIQID": "FTF-202427111150",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 120,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "15:50",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 15:50"
|
||||
},
|
||||
{
|
||||
"Title": "Sahetak Ala Bali: Episode 4",
|
||||
"Arab_Title": "صحتك على بالي: الحلقة 4",
|
||||
"EPGUNIQID": "FTF-202427111215",
|
||||
"IsPlaying": "1",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "16:15",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 16:15"
|
||||
},
|
||||
{
|
||||
"Title": "Shu Bihib El Orf: Episode 14",
|
||||
"Arab_Title": "شو بحب الأورف: الحلقة 14",
|
||||
"EPGUNIQID": "FTF-202427111310",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "17:10",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 17:10"
|
||||
},
|
||||
{
|
||||
"Title": "Street Food: Episode 4",
|
||||
"Arab_Title": "أكل شوارع: الحلقة 4",
|
||||
"EPGUNIQID": "FTF-202427111405",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "18:05",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 18:05"
|
||||
},
|
||||
{
|
||||
"Title": "Marwan\u0027s Innovations (Ibtikarat Marwan): Episode 14",
|
||||
"Arab_Title": "ابتكارات مروان: الحلقة 14",
|
||||
"EPGUNIQID": "FTF-202427111500",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "19:00",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 19:00"
|
||||
},
|
||||
{
|
||||
"Title": "Wala Ahla Ma\u0027 Loulou: Episode 2",
|
||||
"Arab_Title": "ولا أحلى مع لولو: الحلقة 2",
|
||||
"EPGUNIQID": "FTF-202427111555",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 240,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "19:55",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 19:55"
|
||||
},
|
||||
{
|
||||
"Title": "Ekhtar Sehetak (Choose Healthy): 12",
|
||||
"Arab_Title": "اختار صحتك: 12",
|
||||
"EPGUNIQID": "FTF-202427111645",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "20:45",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 20:45"
|
||||
},
|
||||
{
|
||||
"Title": "Fatafeat Kitchen Tales: Episode 104",
|
||||
"Arab_Title": "حكايات مطبخ من فتافيت: الحلقة 104",
|
||||
"EPGUNIQID": "FTF-202427111740",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 120,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "21:40",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 21:40"
|
||||
},
|
||||
{
|
||||
"Title": "Sahetak Ala Bali: Episode 4",
|
||||
"Arab_Title": "صحتك على بالي: الحلقة 4",
|
||||
"EPGUNIQID": "FTF-202427111805",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "22:05",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 22:05"
|
||||
},
|
||||
{
|
||||
"Title": "Shu Bihib El Orf: Episode 14",
|
||||
"Arab_Title": "شو بحب الأورف: الحلقة 14",
|
||||
"EPGUNIQID": "FTF-202427111900",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 264,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "23:00",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 23:00"
|
||||
},
|
||||
{
|
||||
"Title": "Street Food: Episode 4",
|
||||
"Arab_Title": "أكل شوارع: الحلقة 4",
|
||||
"EPGUNIQID": "FTF-202427111955",
|
||||
"IsPlaying": "0",
|
||||
"EmptyDivWidth": 0,
|
||||
"TotalDivWidth": 24,
|
||||
"IsLastRow": false,
|
||||
"StartTime": "23:55",
|
||||
"ChannelCode": "FTF",
|
||||
"ChannelNumber": 25,
|
||||
"StartDateTime": "27 Nov 2024, 23:55"
|
||||
}
|
||||
]
|
|
@ -5,75 +5,64 @@ const timezone = require('dayjs/plugin/timezone')
|
|||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
|
||||
const packages = { 'OSNTV CONNECT': 3720, 'OSNTV PRIME': 3733, 'ALFA': 1281, 'OSN PINOY PLUS EXTRA': 3519 }
|
||||
const country = 'AE'
|
||||
const tz = 'Asia/Dubai'
|
||||
|
||||
module.exports = {
|
||||
site: 'osn.com',
|
||||
days: 2,
|
||||
url({ channel, date }) {
|
||||
return `https://www.osn.com/api/TVScheduleWebService.asmx/GetTVChannelsProgramTimeTable?newDate=${encodeURIComponent(
|
||||
date.format('MM/DD/YYYY')
|
||||
)}&selectedCountry=AE&channelCode=${channel.site_id}&isMobile=false&hoursForMobile=0`
|
||||
return `https://www.osn.com/api/TVScheduleWebService.asmx/time?dt=${
|
||||
encodeURIComponent(date.format('MM/DD/YYYY'))
|
||||
}&co=${country}&ch=${
|
||||
channel.site_id
|
||||
}&mo=false&hr=0`
|
||||
},
|
||||
request: {
|
||||
headers({ channel }) {
|
||||
return {
|
||||
Referer: `https://www.osn.com/${channel.lang}-ae/watch/tv-schedule`
|
||||
Referer: `https://www.osn.com/${channel.lang}-${country.toLowerCase()}/watch/tv-schedule`
|
||||
}
|
||||
}
|
||||
},
|
||||
parser({ content, channel }) {
|
||||
const programs = []
|
||||
const items = parseItems(content)
|
||||
items.forEach(item => {
|
||||
const start = parseStart(item, channel)
|
||||
const duration = parseDuration(item)
|
||||
const items = JSON.parse(content) || []
|
||||
if (Array.isArray(items)) {
|
||||
for (const item of items) {
|
||||
const title = channel.lang === 'ar' ? item.Arab_Title : item.Title
|
||||
const start = dayjs.tz(item.StartDateTime, 'DD MMM YYYY, HH:mm', tz)
|
||||
const duration = parseInt(item.TotalDivWidth / 4.8)
|
||||
const stop = start.add(duration, 'm')
|
||||
programs.push({
|
||||
title: parseTitle(item, channel),
|
||||
category: parseCategory(item, channel),
|
||||
start: start.toString(),
|
||||
stop: stop.toString()
|
||||
})
|
||||
})
|
||||
programs.push({ title, start, stop })
|
||||
}
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels({ lang = 'ar' }) {
|
||||
const result = {}
|
||||
const axios = require('axios')
|
||||
const result = await axios
|
||||
.get('https://www.osn.com/api/tvchannels.ashx?culture=en-US&packageId=3519&country=AE')
|
||||
for (const pkg of Object.values(packages)) {
|
||||
const channels = await axios
|
||||
.get(`https://www.osn.com/api/tvchannels.ashx?culture=en-US&packageId=${pkg}&country=${country}`)
|
||||
.then(response => response.data)
|
||||
.catch(console.error)
|
||||
|
||||
const channels = result.map(channel => {
|
||||
return {
|
||||
lang: lang,
|
||||
site_id: channel.channelCode,
|
||||
name: channel.channeltitle
|
||||
if (Array.isArray(channels)) {
|
||||
for (const ch of channels) {
|
||||
if (result[ch.channelCode] === undefined) {
|
||||
result[ch.channelCode] = {
|
||||
lang,
|
||||
site_id: ch.channelCode,
|
||||
name: ch.channeltitle
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
return channels
|
||||
}
|
||||
}
|
||||
|
||||
function parseTitle(item, channel) {
|
||||
return channel.lang === 'ar' ? item.Arab_Title : item.Title
|
||||
return Object.values(result)
|
||||
}
|
||||
|
||||
function parseCategory(item, channel) {
|
||||
return channel.lang === 'ar' ? item.GenreArabicName : item.GenreEnglishName
|
||||
}
|
||||
|
||||
function parseDuration(item) {
|
||||
return parseInt(item.TotalDivWidth / 4.8)
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
const time = item.StartDateTime
|
||||
|
||||
return dayjs.tz(time, 'DD MMM YYYY, HH:mm', 'Asia/Dubai')
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
return content ? JSON.parse(content) : []
|
||||
}
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
const { parser, url, request } = require('./osn.com.config.js')
|
||||
const { parser, url, request } = require('./osn.com.config')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2021-10-24', 'YYYY-MM-DD').startOf('d')
|
||||
const channelAR = { site_id: 'AAN', xmltv_id: 'AlAanTV.ae', lang: 'ar' }
|
||||
const channelEN = { site_id: 'AAN', xmltv_id: 'AlAanTV.ae', lang: 'en' }
|
||||
const content =
|
||||
'[{"IsPlaying":"0","Durationtime":null,"StartMinute":0,"EndMinute":0,"EmptyDivWidth":1152,"TotalDivWidth":576,"IsTodayDate":false,"IsLastRow":false,"StartDateTime":"24 Oct 2021, 22:00","EndDateTime":"\\/Date(-62135596800000)\\/","Title":"Al Aan TV","Arab_Title":"تلفزيون الآن","GenreEnglishName":null,"GenreArabicName":null,"ChannelNumber":140,"ChannelCode":"AAN","Duration":"\\/Date(-62135596800000)\\/","Showtime":"\\/Date(-62135596800000)\\/","EpisodeId":738257,"ProgramType":null,"EPGUNIQID":"AAN202110271800738257"}]'
|
||||
const date = dayjs.utc('2024-11-27', 'YYYY-MM-DD').startOf('d')
|
||||
const channelAR = { site_id: 'FTF', xmltv_id: 'Fatafeat.ae', lang: 'ar' }
|
||||
const channelEN = { site_id: 'FTF', xmltv_id: 'Fatafeat.ae', lang: 'en' }
|
||||
const content = fs.readFileSync(path.join(__dirname, '__data__', 'content.json'))
|
||||
|
||||
it('can generate valid request headers', () => {
|
||||
const result = request.headers({ channel: channelAR, date })
|
||||
|
@ -21,32 +23,38 @@ it('can generate valid request headers', () => {
|
|||
it('can generate valid url', () => {
|
||||
const result = url({ channel: channelAR, date })
|
||||
expect(result).toBe(
|
||||
'https://www.osn.com/api/TVScheduleWebService.asmx/GetTVChannelsProgramTimeTable?newDate=10%2F24%2F2021&selectedCountry=AE&channelCode=AAN&isMobile=false&hoursForMobile=0'
|
||||
'https://www.osn.com/api/TVScheduleWebService.asmx/time?dt=11%2F27%2F2024&co=AE&ch=FTF&mo=false&hr=0'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response (ar)', () => {
|
||||
const result = parser({ date, channel: channelAR, content })
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: 'Sun, 24 Oct 2021 18:00:00 GMT',
|
||||
stop: 'Sun, 24 Oct 2021 20:00:00 GMT',
|
||||
title: 'تلفزيون الآن',
|
||||
category: null
|
||||
}
|
||||
])
|
||||
.map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
expect(result.length).toBe(29)
|
||||
expect(result[1]).toMatchObject({
|
||||
start: '2024-11-26T20:50:00.000Z',
|
||||
stop: '2024-11-26T21:45:00.000Z',
|
||||
title: 'بيت الحلويات: الحلقة 3',
|
||||
})
|
||||
})
|
||||
|
||||
it('can parse response (en)', () => {
|
||||
const result = parser({ date, channel: channelEN, content })
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: 'Sun, 24 Oct 2021 18:00:00 GMT',
|
||||
stop: 'Sun, 24 Oct 2021 20:00:00 GMT',
|
||||
title: 'Al Aan TV',
|
||||
category: null
|
||||
}
|
||||
])
|
||||
.map(a => {
|
||||
a.start = a.start.toJSON()
|
||||
a.stop = a.stop.toJSON()
|
||||
return a
|
||||
})
|
||||
expect(result.length).toBe(29)
|
||||
expect(result[1]).toMatchObject({
|
||||
start: '2024-11-26T20:50:00.000Z',
|
||||
stop: '2024-11-26T21:45:00.000Z',
|
||||
title: 'House Of Desserts: Episode 3',
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="DWR">DWRR 101.9</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OBG">OSN TV Crime</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OCM">OSNtv Movies Horror</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OFM">OSN TV Movies Family</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OLH">OSN TV Now</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OMC">OSN TV Movies Comedy</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OST">OSN TV Showcase Classics</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OTO">OSN TV One</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AksyonTVInternational.ph" site_id="AKS">Kapatid TV5</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AlfaSeries.ae" site_id="SE2">Alfa Series +2</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AlfaSeriesPlus2.ae" site_id="SER">Alfa Series Channel</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AlSafwa.ae" site_id="SAF">Al Safwa</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AlYawm.ae" site_id="YAW">Alfa Al Yawm</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="ANC.ph" site_id="ANC">ANC</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="BabyTV.uk" site_id="BAB">BabyTV</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="AnimalPlanet.ae" site_id="APL">Animal Planet</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="BloombergTVEurope.uk" site_id="BTV">Bloomberg</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="CartoonNetworkArabic.ae" site_id="TCN">Cartoon Network</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="Cinema1.ae" site_id="CM1">Alfa Cinema 1</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="Cinema2.ae" site_id="CM2">Alfa Cinema 2</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="CinemaOneGlobal.ph" site_id="COG">Cinema One Global</channel>
|
||||
|
@ -17,11 +25,9 @@
|
|||
<channel site="osn.com" lang="ar" xmltv_id="CNNArabic.ae" site_id="CNN">CNN</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="CrimePlusInvestigation.uk" site_id="CAI">Crime & Investigation Network</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="DiscoveryChannelMiddleEastAfrica.us" site_id="DSC">Discovery HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="DiscoveryScienceMiddleEast.uk" site_id="SCI">Discovery Science HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="DisneyChannelMENA.uk" site_id="DIS">Disney HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="DisneyJuniorMENA.uk" site_id="DJR">Disney Junior</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="EMiddleEast.us" site_id="ETV">E! Entertainment</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="Fann.ae" site_id="FAN">Alfa Fann</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="Fatafeat.ae" site_id="FTF">Fatafeat</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="GMALifeTV.ph" site_id="GML">GMA Life TV</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="GMANewsTV.ph" site_id="GMN">GMA News TV</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="GMAPinoyTVMiddleEast.ph" site_id="GMA">GMA Pinoy TV</channel>
|
||||
|
@ -33,33 +39,23 @@
|
|||
<channel site="osn.com" lang="ar" xmltv_id="MTVLive.uk" site_id="MTL">MTV Live HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="MusicNow.ae" site_id="NOW">Music Now</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="MyxMiddleEast.ph" site_id="MYX">Myx</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="NationalGeographicMiddleEast.uk" site_id="NGO">Nat Geo HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="NationalGeographicWildMiddleEast.uk" site_id="NHD">Nat Geo Wild HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="NickelodeonArabia.ae" site_id="NIC">Nickelodeon HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="NickJrArabia.ae" site_id="NJR">Nick Jr.</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="NickJrArabia.ae" site_id="NJR">Nick Jr</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="NicktoonsArabia.ae" site_id="NKT">NickToons HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNComedy.ae" site_id="OCO">OSN TV Comedy</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OBG">OSN TV Crime</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNKids.ae" site_id="OMK">OSN TV Kids</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNKidzone.ae" site_id="KDZ">OSN TV Kidzone</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNMezze.ae" site_id="OMZ">OSN TV Mezze</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNMoviesAction.ae" site_id="AHD">OSN TV Movies Action</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OMC">OSN TV Movies Comedy</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OFM">OSN TV Movies Family</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNMoviesHollywood.ae" site_id="OPR">OSN TV Movies Hollywood</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNMoviesPremiere.ae" site_id="OM1">OSN TV Movies Premiere</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNNews.ae" site_id="ONS">OSN TV News</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OLH">OSN TV Now</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OTO">OSN TV One</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNShowcase.ae" site_id="OFH">OSN TV Showcase</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="" site_id="OST">OSN TV Showcase Classics</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNYahala.ae" site_id="OYH">OSN TV Yahala</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNYahalaAflam.ae" site_id="OYC">OSN TV Yahala Aflam</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="OSNYahalaBilArabi.ae" site_id="OYA">OSN TV Yahala Bil Arabi</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="PBARush.ph" site_id="PBA">PBA Rush</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="SkyNewsInternational.uk" site_id="SKH">Sky News HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="StarMoviesMiddleEast.ae" site_id="STM">Star Movies HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="StarWorldMiddleEast.ae" site_id="STW">Star World HD</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="TeleRadyoGlobal.ph" site_id="DZM">DZMM Teleradyo</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="TheFilipinoChannelMiddleEast.us" site_id="TFC">TFC</channel>
|
||||
<channel site="osn.com" lang="ar" xmltv_id="TLCArabia.us" site_id="TLC">TLC HD</channel>
|
||||
|
|
|
@ -1,14 +1,22 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="DWR">DWRR 101.9</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OBG">OSN TV Crime</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OCM">OSNtv Movies Horror</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OFM">OSN TV Movies Family</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OLH">OSN TV Now</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OMC">OSN TV Movies Comedy</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OST">OSN TV Showcase Classics</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OTO">OSN TV One</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="AksyonTVInternational.ph" site_id="AKS">Kapatid TV5</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="AlfaSeries.ae" site_id="SE2">Alfa Series +2</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="AlfaSeriesPlus2.ae" site_id="SER">Alfa Series Channel</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="AlSafwa.ae" site_id="SAF">Al Safwa</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="AlYawm.ae" site_id="YAW">Alfa Al Yawm</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="ANC.ph" site_id="ANC">ANC</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="BabyTV.uk" site_id="BAB">BabyTV</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="AnimalPlanet.ae" site_id="APL">Animal Planet</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="BloombergTVEurope.uk" site_id="BTV">Bloomberg</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="CartoonNetworkArabic.ae" site_id="TCN">Cartoon Network</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="Cinema1.ae" site_id="CM1">Alfa Cinema 1</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="Cinema2.ae" site_id="CM2">Alfa Cinema 2</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="CinemaOneGlobal.ph" site_id="COG">Cinema One Global</channel>
|
||||
|
@ -17,11 +25,9 @@
|
|||
<channel site="osn.com" lang="en" xmltv_id="CNNArabic.ae" site_id="CNN">CNN</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="CrimePlusInvestigation.uk" site_id="CAI">Crime & Investigation Network</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="DiscoveryChannelMiddleEastAfrica.us" site_id="DSC">Discovery HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="DiscoveryScienceMiddleEast.uk" site_id="SCI">Discovery Science HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="DisneyChannelMENA.uk" site_id="DIS">Disney HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="DisneyJuniorMENA.uk" site_id="DJR">Disney Junior</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="EMiddleEast.us" site_id="ETV">E! Entertainment</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="Fann.ae" site_id="FAN">Alfa Fann</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="Fatafeat.ae" site_id="FTF">Fatafeat</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="GMALifeTV.ph" site_id="GML">GMA Life TV</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="GMANewsTV.ph" site_id="GMN">GMA News TV</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="GMAPinoyTVMiddleEast.ph" site_id="GMA">GMA Pinoy TV</channel>
|
||||
|
@ -33,33 +39,23 @@
|
|||
<channel site="osn.com" lang="en" xmltv_id="MTVLive.uk" site_id="MTL">MTV Live HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="MusicNow.ae" site_id="NOW">Music Now</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="MyxMiddleEast.ph" site_id="MYX">Myx</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="NationalGeographicMiddleEast.uk" site_id="NGO">Nat Geo HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="NationalGeographicWildMiddleEast.uk" site_id="NHD">Nat Geo Wild HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="NickelodeonArabia.ae" site_id="NIC">Nickelodeon HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="NickJrArabia.ae" site_id="NJR">Nick Jr.</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="NickJrArabia.ae" site_id="NJR">Nick Jr</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="NicktoonsArabia.ae" site_id="NKT">NickToons HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNComedy.ae" site_id="OCO">OSN TV Comedy</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OBG">OSN TV Crime</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNKids.ae" site_id="OMK">OSN TV Kids</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNKidzone.ae" site_id="KDZ">OSN TV Kidzone</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNMezze.ae" site_id="OMZ">OSN TV Mezze</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNMoviesAction.ae" site_id="AHD">OSN TV Movies Action</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OMC">OSN TV Movies Comedy</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OFM">OSN TV Movies Family</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNMoviesHollywood.ae" site_id="OPR">OSN TV Movies Hollywood</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNMoviesPremiere.ae" site_id="OM1">OSN TV Movies Premiere</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNNews.ae" site_id="ONS">OSN TV News</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OLH">OSN TV Now</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OTO">OSN TV One</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNShowcase.ae" site_id="OFH">OSN TV Showcase</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="" site_id="OST">OSN TV Showcase Classics</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNYahala.ae" site_id="OYH">OSN TV Yahala</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNYahalaAflam.ae" site_id="OYC">OSN TV Yahala Aflam</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="OSNYahalaBilArabi.ae" site_id="OYA">OSN TV Yahala Bil Arabi</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="PBARush.ph" site_id="PBA">PBA Rush</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="SkyNewsInternational.uk" site_id="SKH">Sky News HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="StarMoviesMiddleEast.ae" site_id="STM">Star Movies HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="StarWorldMiddleEast.ae" site_id="STW">Star World HD</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="TeleRadyoGlobal.ph" site_id="DZM">DZMM Teleradyo</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="TheFilipinoChannelMiddleEast.us" site_id="TFC">TFC</channel>
|
||||
<channel site="osn.com" lang="en" xmltv_id="TLCArabia.us" site_id="TLC">TLC HD</channel>
|
||||
|
|
|
@ -1,51 +1,241 @@
|
|||
<div class="hour">
|
||||
<div class="bg" id="item-10-12-2023">
|
||||
|
||||
<div class="bg" id="item-26-11-2024">
|
||||
<h4 class="big-title text-uppercase mt-0 fadeInRight animated " data-animation-in="fadeInRight"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
<span>الأحد</span>
|
||||
2023-12-10
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
|
||||
<div class="iq-accordion-block " id="item-239849">
|
||||
<div class="iq-accordion-title" onclick="getData(239849)">
|
||||
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
|
||||
<span>00:36
|
||||
</span>
|
||||
|
||||
<span>كتكوت</span>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion-details" style="display: none;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>الثلاثاء</span> 2024-11-26 </h4>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
|
||||
<div class="iq-accordion-block " id="item-239850">
|
||||
<div class="iq-accordion-title" onclick="getData(239850)">
|
||||
|
||||
<div class="iq-accordion-block " id="item-736961">
|
||||
<div class="iq-accordion-title" onclick="getData(736961)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
|
||||
<span>02:46
|
||||
</span>
|
||||
|
||||
<span>عيار ناري</span>
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>05:00 </span><span>المولد</span>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion-details" style="display: none;">
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736970">
|
||||
<div class="iq-accordion-title" onclick="getData(736970)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>23:00 </span><span>خيانة
|
||||
مشروعة</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736969">
|
||||
<div class="iq-accordion-title" onclick="getData(736969)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>21:00 </span><span>عسل
|
||||
إسود</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2" id="playing-now-event">
|
||||
<div class="iq-accordion-block iq-active " id="item-736968">
|
||||
<div class="iq-accordion-title" onclick="getData(736968)">
|
||||
<div class="egp-live"><i aria-hidden="true" class="fa fa-tv"></i></div>
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>19:00 </span><span>ولاد
|
||||
العم</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736967">
|
||||
<div class="iq-accordion-title" onclick="getData(736967)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>16:30 </span><span>كتكوت</span>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736966">
|
||||
<div class="iq-accordion-title" onclick="getData(736966)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>14:00 </span><span>أربعة في مهمة
|
||||
رسمية</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736965">
|
||||
<div class="iq-accordion-title" onclick="getData(736965)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>12:00 </span><span>غاوي
|
||||
حب</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736964">
|
||||
<div class="iq-accordion-title" onclick="getData(736964)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>10:00 </span><span>بنك
|
||||
الحظ</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736963">
|
||||
<div class="iq-accordion-title" onclick="getData(736963)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>09:00 </span><span>عرب
|
||||
وود</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736962">
|
||||
<div class="iq-accordion-title" onclick="getData(736962)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>07:00 </span><span>سمير وشهير
|
||||
وبهير</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736960">
|
||||
<div class="iq-accordion-title" onclick="getData(736960)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>03:00 </span><span>خط دم</span>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736959">
|
||||
<div class="iq-accordion-title" onclick="getData(736959)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>01:00 </span><span>الكنز الحب
|
||||
والمصير</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg" id="item-27-11-2024">
|
||||
<h4 class="big-title text-uppercase mt-0 fadeInRight animated " data-animation-in="fadeInRight"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>الأربعاء</span> 2024-11-27 </h4>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736981">
|
||||
<div class="iq-accordion-title" onclick="getData(736981)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>23:00 </span><span>دكان
|
||||
شحاتة</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736980">
|
||||
<div class="iq-accordion-title" onclick="getData(736980)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>21:00 </span><span>القرموطي في
|
||||
أرض النار</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736979">
|
||||
<div class="iq-accordion-title" onclick="getData(736979)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>19:00 </span><span>حملة
|
||||
فريزر</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736978">
|
||||
<div class="iq-accordion-title" onclick="getData(736978)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>16:30
|
||||
</span><span>المصلحة</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736977">
|
||||
<div class="iq-accordion-title" onclick="getData(736977)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>14:00 </span><span>نأسف لهذا
|
||||
الخطأ</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736975">
|
||||
<div class="iq-accordion-title" onclick="getData(736975)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>10:00 </span><span>ولاد
|
||||
العم</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736974">
|
||||
<div class="iq-accordion-title" onclick="getData(736974)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>07:30 </span><span>كتكوت</span>
|
||||
</h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736973">
|
||||
<div class="iq-accordion-title" onclick="getData(736973)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>05:00 </span><span>أربعة في مهمة
|
||||
رسمية</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736972">
|
||||
<div class="iq-accordion-title" onclick="getData(736972)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>03:00 </span><span>غاوي
|
||||
حب</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736971">
|
||||
<div class="iq-accordion-title" onclick="getData(736971)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>01:00 </span><span>بنك
|
||||
الحظ</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736976">
|
||||
<div class="iq-accordion-title" onclick="getData(736976)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>12:00 </span><span>عسل
|
||||
إسود</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,51 +1,241 @@
|
|||
<div class="hour">
|
||||
<div class="bg" id="item-10-12-2023">
|
||||
|
||||
<div class="bg" id="item-26-11-2024">
|
||||
<h4 class="big-title text-uppercase mt-0 fadeInRight animated " data-animation-in="fadeInRight"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
<span>Sunday</span>
|
||||
2023-12-10
|
||||
</h4>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
|
||||
<div class="iq-accordion-block " id="item-239849">
|
||||
<div class="iq-accordion-title" onclick="getData(239849)">
|
||||
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
|
||||
<span>00:36
|
||||
</span>
|
||||
|
||||
<span>Katkout</span>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion-details" style="display: none;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>Tuesday</span> 2024-11-26 </h4>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
|
||||
<div class="iq-accordion-block " id="item-239850">
|
||||
<div class="iq-accordion-title" onclick="getData(239850)">
|
||||
|
||||
<div class="iq-accordion-block " id="item-736961">
|
||||
<div class="iq-accordion-title" onclick="getData(736961)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
|
||||
<span>02:46
|
||||
</span>
|
||||
|
||||
<span>Gunshot</span>
|
||||
</h5>
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>05:00
|
||||
</span><span>Almualid</span></h5>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion-details" style="display: none;">
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736970">
|
||||
<div class="iq-accordion-title" onclick="getData(736970)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>23:00 </span><span>Khiyana
|
||||
Mashroua</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736969">
|
||||
<div class="iq-accordion-title" onclick="getData(736969)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>21:00 </span><span>Black
|
||||
Honey</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736968">
|
||||
<div class="iq-accordion-title" onclick="getData(736968)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>19:00
|
||||
</span><span>Cousins</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2" id="playing-now-event">
|
||||
<div class="iq-accordion-block iq-active " id="item-736967">
|
||||
<div class="iq-accordion-title" onclick="getData(736967)">
|
||||
<div class="egp-live"><i aria-hidden="true" class="fa fa-tv"></i></div>
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>16:30
|
||||
</span><span>Katkout</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736966">
|
||||
<div class="iq-accordion-title" onclick="getData(736966)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>14:00 </span><span>Four on an
|
||||
Official Mission</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736965">
|
||||
<div class="iq-accordion-title" onclick="getData(736965)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>12:00 </span><span>Ghawy
|
||||
Hob</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736964">
|
||||
<div class="iq-accordion-title" onclick="getData(736964)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>10:00
|
||||
</span><span>Monopoly</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736963">
|
||||
<div class="iq-accordion-title" onclick="getData(736963)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>09:00
|
||||
</span><span>Arabwood</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736962">
|
||||
<div class="iq-accordion-title" onclick="getData(736962)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>07:00 </span><span>Samir and
|
||||
Shahir and Bahir</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736960">
|
||||
<div class="iq-accordion-title" onclick="getData(736960)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>03:00 </span><span>Blood
|
||||
Line</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736959">
|
||||
<div class="iq-accordion-title" onclick="getData(736959)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>01:00 </span><span>The Treasure
|
||||
2 Love and Destiny</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg" id="item-27-11-2024">
|
||||
<h4 class="big-title text-uppercase mt-0 fadeInRight animated " data-animation-in="fadeInRight"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>Wednesday</span> 2024-11-27 </h4>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736981">
|
||||
<div class="iq-accordion-title" onclick="getData(736981)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>23:00 </span><span>Dokan
|
||||
Shehata</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736980">
|
||||
<div class="iq-accordion-title" onclick="getData(736980)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>21:00 </span><span>El Qarmouti
|
||||
in the Land of Fire</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736979">
|
||||
<div class="iq-accordion-title" onclick="getData(736979)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>19:00 </span><span>Freezer
|
||||
Mission</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736978">
|
||||
<div class="iq-accordion-title" onclick="getData(736978)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>16:30 </span><span>Al
|
||||
Maslaha</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736977">
|
||||
<div class="iq-accordion-title" onclick="getData(736977)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>14:00 </span><span>Nasaf lhdha
|
||||
alkhata</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736975">
|
||||
<div class="iq-accordion-title" onclick="getData(736975)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>10:00
|
||||
</span><span>Cousins</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736974">
|
||||
<div class="iq-accordion-title" onclick="getData(736974)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>07:30
|
||||
</span><span>Katkout</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736973">
|
||||
<div class="iq-accordion-title" onclick="getData(736973)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>05:00 </span><span>Four on an
|
||||
Official Mission</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736972">
|
||||
<div class="iq-accordion-title" onclick="getData(736972)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>03:00 </span><span>Ghawy
|
||||
Hob</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736971">
|
||||
<div class="iq-accordion-title" onclick="getData(736971)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>01:00
|
||||
</span><span>Monopoly</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="iq-accordion iq-accordion-square mt-2">
|
||||
<div class="iq-accordion-block " id="item-736976">
|
||||
<div class="iq-accordion-title" onclick="getData(736976)">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>12:00 </span><span>Black
|
||||
Honey</span></h5>
|
||||
</div>
|
||||
<div class="iq-accordion-details" style="display: none;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
|
@ -1,240 +1,131 @@
|
|||
<div class="iq-accordion-details" style="display: block;">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-12 col-sm-12 ">
|
||||
<img src="https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max"
|
||||
loading="lazy" alt="كتكوت">
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-12 col-sm-12 "><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/spider_storage/1398X1000/1687084565"
|
||||
loading="lazy" alt="خيانة مشروعة"></div>
|
||||
<div class="col-lg-6 col-md-12 col-sm-12">
|
||||
<div class="iq-blog-detail">
|
||||
<div class="trending-info">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-12 mb-auto">
|
||||
<div class="d-md-flex trending-box">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
كتكوت
|
||||
</h5>
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated"
|
||||
data-animation-in="fadeInLeft" data-delay-in="0.6"
|
||||
style="opacity: 1; animation-delay: 0.6s"> خيانة مشروعة </h5>
|
||||
</div>
|
||||
|
||||
<ul class="p-0 list-inline d-flex flex-wrap align-items-center mb-3 mt-4 iq_tag-list">
|
||||
<li class="text-primary text-lable mr-3">
|
||||
<i class="fa fa-tags" aria-hidden="true"></i>
|
||||
التصنيف
|
||||
</li>
|
||||
<li class="trending-list mr-3">
|
||||
<a class="title"
|
||||
href="#">كوميديا , عائلة , إثارة
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
<li class="text-primary text-lable mr-3"><i class="fa fa-tags" aria-hidden="true"></i>
|
||||
التصنيف </li>
|
||||
<li class="trending-list mr-3"><a class="title" href="#">جريمة , إثارة , دراما </a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="blog-button">
|
||||
|
||||
<button id="modal-open-button"
|
||||
type="button" class="btn btn-primary button-link" data-toggle="modal"
|
||||
|
||||
data-target="#exampleModal"
|
||||
onclick="throttle(getPlayer_epg, 1000, 'https://hiplayer.hibridcdn.net/l/rotana-cinemamasrdvr',1702168573,1702176316); showCatchUpStatus();"
|
||||
|
||||
|
||||
|
||||
<i class="ri-tv-line"></i>
|
||||
|
||||
الأرشيف
|
||||
|
||||
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<br>
|
||||
|
||||
|
||||
<span>
|
||||
<p><strong></strong></p>
|
||||
|
||||
في إطار كوميدي تدور أحداث الفيلم، حول (كتكوت) الصعيدي الذي تحاول عمته كبيرة العائلة الصعيدية إجباره على تقديم نفسه للقتل ليفدي عائلته، ولكنه يهرب وتخطفه جهة أمنية لاكتشاف شبه كبير بينه وبين (يوسف خوري...
|
||||
<br><br>
|
||||
|
||||
<span> البلد
|
||||
:
|
||||
مصر
|
||||
<div class="blog-button"></div><br><span>
|
||||
<p><strong></strong></p> يعلم هشام البحيري أن والده قد حرمه من الميراث، ووهب كل ثروته لشقيقه اﻷكبر، وهو ما يدفعه لتدبير جريمة قتل شقيقه لتبدو وكأنها دفاع عن الشرف، وذلك حين يقتل هشام زوجته مع شقيقه. <br><br>
|
||||
<span> البلد : مصر </span><br>
|
||||
<span> سنة الإصدار :2006 </span><br>
|
||||
<span> التصنيف : فيلم </span><br>
|
||||
<span> اللغة : عربي</span><br>
|
||||
<span> المخرج : خالد يوسف </span><br><br>
|
||||
</span>
|
||||
<br>
|
||||
<span> سنة الإصدار
|
||||
:
|
||||
2006
|
||||
</span>
|
||||
<br>
|
||||
|
||||
<span> التصنيف
|
||||
:
|
||||
فيلم
|
||||
</span>
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<span> اللغة
|
||||
:
|
||||
عربي
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 ">
|
||||
<div class="iq-accordion-title">
|
||||
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInDown animated" data-animation-in="fadeInDown"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
<span>طاقم العمل</span>
|
||||
</h5>
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>طاقم العمل</span></h5>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
|
||||
<ul class=" row list-inline mb-0 iq-rtl-direction iq_genres-contents">
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 2">
|
||||
<a
|
||||
href="https://rotana.net/ar/actor-details/2619/%D9%85%D8%AD%D9%85%D8%AF-%D8%B3%D8%B9%D8%AF" target="_blank">
|
||||
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 2"><a
|
||||
href="https://rotana.net/ar/actor-details/1392/%D9%87%D8%A7%D9%86%D9%8A-%D8%B3%D9%84%D8%A7%D9%85%D8%A9"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677278061?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="محمد سعد">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677266060"
|
||||
class="img-fluid" loading="lazy" alt="هاني سلامة"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
محمد سعد
|
||||
</h6>
|
||||
<h6 class="iq-title"> هاني سلامة </h6>
|
||||
<h6 class="iq-title">ممثل</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 3">
|
||||
<a
|
||||
href="https://rotana.net/ar/actor-details/714/%D8%AD%D8%B3%D9%86-%D8%AD%D8%B3%D9%86%D9%8A" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 3"><a
|
||||
href="https://rotana.net/ar/actor-details/476/%D9%85%D9%8A-%D8%B9%D8%B2-%D8%A7%D9%84%D8%AF%D9%8A%D9%86"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677264896?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="حسن حسني">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677281286"
|
||||
class="img-fluid" loading="lazy" alt="مي عز الدين"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
حسن حسني
|
||||
</h6>
|
||||
<h6 class="iq-title"> مي عز الدين </h6>
|
||||
<h6 class="iq-title">ممثل</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 4">
|
||||
<a
|
||||
href="https://rotana.net/ar/actor-details/6148/%D9%87%D8%A8%D9%87-%D8%A7%D9%84%D8%B3%D9%8A%D8%B3%D9%8A" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 4"><a
|
||||
href="https://rotana.net/ar/actor-details/1393/%D8%B3%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AE%D8%B4%D8%A7%D8%A8"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677266249?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="هبه السيسي">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677290429"
|
||||
class="img-fluid" loading="lazy" alt="سمية الخشاب"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
هبه السيسي
|
||||
</h6>
|
||||
<h6 class="iq-title"> سمية الخشاب </h6>
|
||||
<h6 class="iq-title">مغني</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 5"><a
|
||||
href="https://rotana.net/ar/actor-details/2358/%D9%87%D8%B4%D8%A7%D9%85-%D8%B3%D9%84%D9%8A%D9%85"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677266419"
|
||||
class="img-fluid" loading="lazy" alt="هشام سليم"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title"> هشام سليم </h6>
|
||||
<h6 class="iq-title">ممثل</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 5">
|
||||
<a
|
||||
href="https://rotana.net/ar/actor-details/2589/%D8%B9%D9%84%D9%8A-%D8%AD%D8%B3%D9%86%D9%8A%D9%86" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 6"><a
|
||||
href="https://rotana.net/ar/actor-details/2807/%D8%B3%D8%A7%D9%85%D8%AD-%D8%A7%D9%84%D8%B5%D8%B1%D9%8A%D8%B7%D9%8A"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677253689?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="علي حسنين">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677288796"
|
||||
class="img-fluid" loading="lazy" alt="سامح الصريطي"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
علي حسنين
|
||||
</h6>
|
||||
<h6 class="iq-title"> سامح الصريطي </h6>
|
||||
<h6 class="iq-title">ممثل</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 6">
|
||||
<a
|
||||
href="https://rotana.net/ar/actor-details/987/%D9%85%D8%AD%D9%85%D8%AF-%D9%88%D9%81%D9%8A%D9%82" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 7"><a
|
||||
href="https://rotana.net/ar/actor-details/1210/%D8%B9%D9%85%D8%B1%D9%88-%D8%B3%D8%B9%D8%AF"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677278771?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="محمد وفيق">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677253966"
|
||||
class="img-fluid" loading="lazy" alt="عمرو سعد"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
محمد وفيق
|
||||
</h6>
|
||||
<h6 class="iq-title"> عمرو سعد </h6>
|
||||
<h6 class="iq-title">ممثل</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 7">
|
||||
<a
|
||||
href="https://rotana.net/ar/actor-details/1035/%D8%AD%D8%B3%D9%86-%D8%B9%D8%A8%D8%AF%D8%A7%D9%84%D9%81%D8%AA%D8%A7%D8%AD" target="_blank">
|
||||
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677264953?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="حسن عبدالفتاح">
|
||||
|
||||
</div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
حسن عبدالفتاح
|
||||
</h6>
|
||||
<h6 class="iq-title">ممثل</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -1,240 +1,132 @@
|
|||
<div class="iq-accordion-details" style="display: block;">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-12 col-sm-12 ">
|
||||
<img src="https://imgsrv.rotana.net/spider_storage/1398X1000/1690882129.webp?w=450&fit=max"
|
||||
loading="lazy" alt="Katkout">
|
||||
</div>
|
||||
<div class="col-lg-6 col-md-12 col-sm-12 "><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/spider_storage/1398X1000/1687084565"
|
||||
loading="lazy" alt="Khiyana Mashroua"></div>
|
||||
<div class="col-lg-6 col-md-12 col-sm-12">
|
||||
<div class="iq-blog-detail">
|
||||
<div class="trending-info">
|
||||
<div class="row">
|
||||
<div class="col-md-12 col-12 mb-auto">
|
||||
<div class="d-md-flex trending-box">
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated" data-animation-in="fadeInLeft"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
Katkout
|
||||
</h5>
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInLeft animated"
|
||||
data-animation-in="fadeInLeft" data-delay-in="0.6"
|
||||
style="opacity: 1; animation-delay: 0.6s"> Khiyana Mashroua </h5>
|
||||
</div>
|
||||
|
||||
<ul class="p-0 list-inline d-flex flex-wrap align-items-center mb-3 mt-4 iq_tag-list">
|
||||
<li class="text-primary text-lable mr-3">
|
||||
<i class="fa fa-tags" aria-hidden="true"></i>
|
||||
Genres
|
||||
<li class="text-primary text-lable mr-3"><i class="fa fa-tags" aria-hidden="true"></i>
|
||||
Genres </li>
|
||||
<li class="trending-list mr-3"><a class="title" href="#">Crime , Thriller , Drama </a>
|
||||
</li>
|
||||
<li class="trending-list mr-3">
|
||||
<a class="title"
|
||||
href="#">Comedy , Family , Thriller
|
||||
</a>
|
||||
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="blog-button">
|
||||
|
||||
<button id="modal-open-button"
|
||||
type="button" class="btn btn-primary button-link" data-toggle="modal"
|
||||
|
||||
data-target="#exampleModal"
|
||||
onclick="throttle(getPlayer_epg, 1000, 'https://hiplayer.hibridcdn.net/l/rotana-cinemamasrdvr',1702168573,1702176316); showCatchUpStatus();"
|
||||
|
||||
|
||||
|
||||
<i class="ri-tv-line"></i>
|
||||
|
||||
Catch up
|
||||
|
||||
|
||||
|
||||
</button>
|
||||
|
||||
</div>
|
||||
<br>
|
||||
|
||||
|
||||
<span>
|
||||
<p><strong></strong></p>
|
||||
|
||||
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...
|
||||
<br><br>
|
||||
|
||||
<span> Country
|
||||
:
|
||||
Egypt
|
||||
<div class="blog-button"></div><br><span>
|
||||
<p><strong></strong></p> 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... <br><br>
|
||||
<span> Country : Egypt</span><br>
|
||||
<span> Release Year : 2006 </span><br>
|
||||
<span> Category : Movie</span><br>
|
||||
<span> Language : Arabic </span><br>
|
||||
<span> Director : Khaled Youssef</span><br><br>
|
||||
</span>
|
||||
<br>
|
||||
<span> Release Year
|
||||
:
|
||||
2006
|
||||
</span>
|
||||
<br>
|
||||
|
||||
<span> Category
|
||||
:
|
||||
Movie
|
||||
</span>
|
||||
<br>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<span> Language
|
||||
:
|
||||
Arabic
|
||||
</span>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
|
||||
</span>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-12 col-md-12 col-sm-12 col-xs-12 ">
|
||||
<div class="iq-accordion-title">
|
||||
|
||||
<h5 class="big-title text-uppercase mt-0 fadeInDown animated" data-animation-in="fadeInDown"
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s">
|
||||
<span>Cast</span>
|
||||
</h5>
|
||||
data-delay-in="0.6" style="opacity: 1; animation-delay: 0.6s"><span>Cast</span></h5>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
|
||||
<ul class=" row list-inline mb-0 iq-rtl-direction iq_genres-contents">
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 2">
|
||||
<a
|
||||
href="https://rotana.net/en/actor-details/2619/%D9%85%D8%AD%D9%85%D8%AF-%D8%B3%D8%B9%D8%AF" target="_blank">
|
||||
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 2"><a
|
||||
href="https://rotana.net/en/actor-details/1392/%D9%87%D8%A7%D9%86%D9%8A-%D8%B3%D9%84%D8%A7%D9%85%D8%A9"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677278061?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="Mohamed Saad">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677266060"
|
||||
class="img-fluid" loading="lazy" alt="Hani Salama"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
Mohamed Saad
|
||||
</h6>
|
||||
<h6 class="iq-title"> Hani Salama </h6>
|
||||
<h6 class="iq-title">Actor</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 3">
|
||||
<a
|
||||
href="https://rotana.net/en/actor-details/714/%D8%AD%D8%B3%D9%86-%D8%AD%D8%B3%D9%86%D9%8A" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 3"><a
|
||||
href="https://rotana.net/en/actor-details/476/%D9%85%D9%8A-%D8%B9%D8%B2-%D8%A7%D9%84%D8%AF%D9%8A%D9%86"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677264896?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="Hassan Hosny">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677281286"
|
||||
class="img-fluid" loading="lazy" alt="Mai Ezz El Din"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
Hassan Hosny
|
||||
</h6>
|
||||
<h6 class="iq-title"> Mai Ezz El Din </h6>
|
||||
<h6 class="iq-title">Actor</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 4">
|
||||
<a
|
||||
href="https://rotana.net/en/actor-details/6148/%D9%87%D8%A8%D9%87-%D8%A7%D9%84%D8%B3%D9%8A%D8%B3%D9%8A" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 4"><a
|
||||
href="https://rotana.net/en/actor-details/1393/%D8%B3%D9%85%D9%8A%D8%A9-%D8%A7%D9%84%D8%AE%D8%B4%D8%A7%D8%A8"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677266249?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="Heba El Sisi">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677290429"
|
||||
class="img-fluid" loading="lazy" alt="Somaya El Khashab"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
Heba El Sisi
|
||||
</h6>
|
||||
<h6 class="iq-title"> Somaya El Khashab </h6>
|
||||
<h6 class="iq-title">Singer</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 5"><a
|
||||
href="https://rotana.net/en/actor-details/2358/%D9%87%D8%B4%D8%A7%D9%85-%D8%B3%D9%84%D9%8A%D9%85"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677266419"
|
||||
class="img-fluid" loading="lazy" alt="Hesham Selim"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title"> Hesham Selim </h6>
|
||||
<h6 class="iq-title">Actor</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 5">
|
||||
<a
|
||||
href="https://rotana.net/en/actor-details/2589/%D8%B9%D9%84%D9%8A-%D8%AD%D8%B3%D9%86%D9%8A%D9%86" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 6"><a
|
||||
href="https://rotana.net/en/actor-details/2807/%D8%B3%D8%A7%D9%85%D8%AD-%D8%A7%D9%84%D8%B5%D8%B1%D9%8A%D8%B7%D9%8A"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677253689?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="Ali Hassanein">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677288796"
|
||||
class="img-fluid" loading="lazy" alt="Sameh El-Sereety"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
Ali Hassanein
|
||||
</h6>
|
||||
<h6 class="iq-title"> Sameh El-Sereety </h6>
|
||||
<h6 class="iq-title">Actor</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 6">
|
||||
<a
|
||||
href="https://rotana.net/en/actor-details/987/%D9%85%D8%AD%D9%85%D8%AF-%D9%88%D9%81%D9%8A%D9%82" target="_blank">
|
||||
|
||||
</a></li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 7"><a
|
||||
href="https://rotana.net/en/actor-details/1210/%D8%B9%D9%85%D8%B1%D9%88-%D8%B3%D8%B9%D8%AF"
|
||||
target="_blank">
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677278771?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="Mohammad Wafik">
|
||||
|
||||
</div>
|
||||
<div class="img-box"><img
|
||||
src="https://s3.eu-central-1.amazonaws.com/rotana.website/elcinema_persons/1677253966"
|
||||
class="img-fluid" loading="lazy" alt="Amr Saad"></div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
Mohammad Wafik
|
||||
</h6>
|
||||
<h6 class="iq-title"> Amr Saad </h6>
|
||||
<h6 class="iq-title">Actor</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
<li class="slide-item col-6 col-lg-2 col-md-4 col-sm-6 col-xs-6 7">
|
||||
<a
|
||||
href="https://rotana.net/en/actor-details/1035/%D8%AD%D8%B3%D9%86-%D8%B9%D8%A8%D8%AF%D8%A7%D9%84%D9%81%D8%AA%D8%A7%D8%AD" target="_blank">
|
||||
|
||||
<div class="block-images position-relative watchlist-first">
|
||||
<div class="img-box">
|
||||
<img src="https://imgsrv.rotana.net/elcinema_persons/1677264953?w=165&fit=max"
|
||||
class="img-fluid" loading="lazy" alt="Hassan Abdulfattah">
|
||||
|
||||
</div>
|
||||
<div
|
||||
class="block-description d-flex justify-content-center flex-column text-center cast-small-title">
|
||||
<h6 class="iq-title">
|
||||
Hassan Abdulfattah
|
||||
</h6>
|
||||
<h6 class="iq-title">Actor</h6>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</li>
|
||||
|
||||
</a></li>
|
||||
</ul>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
|
@ -10,6 +10,9 @@ dayjs.extend(timezone)
|
|||
dayjs.extend(utc)
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
const tz = 'Asia/Riyadh'
|
||||
const nworker = 25
|
||||
|
||||
const headers = {
|
||||
'User-Agent':
|
||||
'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'
|
||||
|
@ -33,12 +36,34 @@ module.exports = {
|
|||
}
|
||||
|
||||
const items = parseItems(content, date)
|
||||
for (const item of items) {
|
||||
const program = await parseProgram(item, channel)
|
||||
if (program) {
|
||||
programs.push(program)
|
||||
if (items.length) {
|
||||
const workers = []
|
||||
const n = Math.min(nworker, items.length)
|
||||
while (workers.length < n) {
|
||||
const worker = () => {
|
||||
if (items.length) {
|
||||
const item = items.shift()
|
||||
parseProgram(item, channel)
|
||||
.then(() => {
|
||||
programs.push(item)
|
||||
worker()
|
||||
})
|
||||
} else {
|
||||
workers.splice(workers.indexOf(worker), 1)
|
||||
}
|
||||
}
|
||||
workers.push(worker)
|
||||
worker()
|
||||
}
|
||||
await new Promise(resolve => {
|
||||
const interval = setInterval(() => {
|
||||
if (workers.length === 0) {
|
||||
clearInterval(interval)
|
||||
resolve()
|
||||
}
|
||||
}, 500)
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
|
@ -58,21 +83,9 @@ module.exports = {
|
|||
}
|
||||
}
|
||||
|
||||
async function parseProgram(item, channel, options = {}) {
|
||||
options = options || {}
|
||||
const deep = options.deep !== undefined ? options.deep : true
|
||||
const raw = options.raw !== undefined ? options.raw : false
|
||||
const top = item.find('.iq-accordion-block')
|
||||
const info = top.find('.iq-accordion-title .big-title span')
|
||||
if (info.length) {
|
||||
const [time, title] = info.text().split('\n')
|
||||
const [d, m, y] = item._date.split('-')
|
||||
const start = dayjs.tz(`${y}-${m}-${d} ${time.trim()}`, 'YYYY-MM-DD HH:mm', 'Asia/Riyadh')
|
||||
let description, image, stop
|
||||
if (deep) {
|
||||
const pid = top.attr('id').split('-')[1]
|
||||
if (pid) {
|
||||
const url = `https://rotana.net/${channel.lang}/streams?channel=${channel.site_id}&itemId=${pid}`
|
||||
async function parseProgram(item, channel) {
|
||||
if (item.program) {
|
||||
const url = `https://rotana.net/${channel.lang}/streams?channel=${channel.site_id}&itemId=${item.program}`
|
||||
const params = {
|
||||
headers: Object.assign({}, headers, { 'X-Requested-With': 'XMLHttpRequest' }),
|
||||
Cookie: cookies[channel.lang]
|
||||
|
@ -84,59 +97,102 @@ async function parseProgram(item, channel, options = {}) {
|
|||
.catch(console.error)
|
||||
|
||||
const $ = cheerio.load(result)
|
||||
const details = $('.trending-info div > span')
|
||||
const details = $('.trending-info .row div > span')
|
||||
if (details.length) {
|
||||
description = details.text().split('\n')[3].trim()
|
||||
for (const el of details[0].children) {
|
||||
switch (el.constructor.name) {
|
||||
case 'Text':
|
||||
if (item.description === undefined) {
|
||||
const desc = $(el).text().trim()
|
||||
if (desc) {
|
||||
item.description = desc
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'Element':
|
||||
if (el.name === 'span') {
|
||||
const [k, v] = $(el).text().split(':').map(a => a.trim())
|
||||
switch (k) {
|
||||
case 'Category':
|
||||
case 'التصنيف':
|
||||
item.category = v;
|
||||
break;
|
||||
case 'Country':
|
||||
case 'البلد':
|
||||
item.country = v;
|
||||
break;
|
||||
case 'Director':
|
||||
case 'المخرج':
|
||||
item.director = v;
|
||||
break;
|
||||
case 'Language':
|
||||
case 'اللغة':
|
||||
item.language = v;
|
||||
break;
|
||||
case 'Release Year':
|
||||
case 'سنة الإصدار':
|
||||
item.date = v;
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
const img = $('.row > div > img')
|
||||
if (img.length) {
|
||||
image = img.attr('src')
|
||||
}
|
||||
}
|
||||
if (item._next) {
|
||||
const next = await parseProgram(item._next, channel, { deep: false, raw: true })
|
||||
if (next.start) {
|
||||
stop = next.start
|
||||
}
|
||||
}
|
||||
}
|
||||
return {
|
||||
title: title?.trim(),
|
||||
description: description?.trim(),
|
||||
image,
|
||||
start: raw ? start : start?.toISOString(),
|
||||
stop: raw ? stop : stop?.toISOString()
|
||||
item.image = img.attr('src')
|
||||
}
|
||||
delete item.program
|
||||
}
|
||||
}
|
||||
|
||||
function parseItems(content, date) {
|
||||
const result = []
|
||||
const $ = cheerio.load(content)
|
||||
|
||||
const expectedId = `item-${date.format('DD-MM-YYYY')}`
|
||||
let lastId
|
||||
const items = []
|
||||
let curDate
|
||||
$('.hour > div').each((_, item) => {
|
||||
const $item = $(item)
|
||||
if ($item.hasClass('bg')) {
|
||||
lastId = $item.attr('id')
|
||||
curDate = $item.attr('id')
|
||||
curDate = curDate.substr(curDate.indexOf('-') + 1).split('-')
|
||||
} else if ($item.hasClass('iq-accordion')) {
|
||||
$item._date = lastId.substr(lastId.indexOf('-') + 1)
|
||||
// is date match?
|
||||
if (lastId === expectedId) {
|
||||
// set next item
|
||||
if (result.length) {
|
||||
result[result.length - 1]._next = $item
|
||||
}
|
||||
result.push($item)
|
||||
} else if (result.length && !result[result.length - 1]._next) {
|
||||
// set next item
|
||||
result[result.length - 1]._next = $item
|
||||
const top = $item.find('.iq-accordion-block')
|
||||
const heading = top.find('.iq-accordion-title .big-title')
|
||||
if (heading.length) {
|
||||
const progId = top.attr('id')
|
||||
const title = heading.find('span:eq(1)').text()
|
||||
.split('\n')
|
||||
.map(a => a.trim())
|
||||
.join(' ')
|
||||
const time = heading.find('span:eq(0)').text()
|
||||
const [d, m, y] = curDate
|
||||
items.push({
|
||||
program: progId.substr(progId.indexOf('-') + 1),
|
||||
title: title ? title.trim() : title,
|
||||
start: `${y}-${m}-${d} ${time.trim()}`,
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
return result
|
||||
items.sort((a, b) => a.start.localeCompare(b.start))
|
||||
for (let i = 0; i < items.length; i++) {
|
||||
if (i < items.length - 2) {
|
||||
items[i].stop = items[i + 1].start
|
||||
} else {
|
||||
const dt = dayjs.tz(items[i].start).add(1, 'd')
|
||||
items[i].stop = `${dt.format('YYYY-MM-DD')} 00:00`
|
||||
}
|
||||
}
|
||||
const expectedDate = `${date.format('YYYY-MM-DD')}`
|
||||
return items
|
||||
.filter(a => a.start.startsWith(expectedDate) || a.stop.startsWith(expectedDate))
|
||||
.map(a => {
|
||||
a.start = dayjs.tz(a.start, tz)
|
||||
a.stop = dayjs.tz(a.stop, tz)
|
||||
return a
|
||||
})
|
||||
}
|
||||
|
||||
function parseCookies(headers) {
|
||||
|
|
|
@ -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: 'فيلم'
|
||||
})
|
||||
})
|
||||
|
||||
|
|
|
@ -3,11 +3,8 @@
|
|||
<channel site="rotana.net" lang="ar" xmltv_id="" site_id="432">روتانا أتش دي</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="" site_id="433">روتانا سينما فرنسا</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="MPlusHD.sa" site_id="445">M+ HD</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="Romance.sa" site_id="450">رومانس</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="RotanaAflam.sa" site_id="440">روتانا أفلام</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="RotanaAmerica.sa" site_id="442">روتانا أمريكا</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="RotanaCinemaEgypt.eg" site_id="439">روتانا سينما مصر</channel>
|
||||
|
@ -19,5 +16,4 @@
|
|||
<channel site="rotana.net" lang="ar" xmltv_id="RotanaKhalijia.sa" site_id="435">روتانا خليجية</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="RotanaKids.sa" site_id="441">روتانا كيدز</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="RotanaMusic.sa" site_id="444">روتانا موسيقي</channel>
|
||||
<channel site="rotana.net" lang="ar" xmltv_id="SayedatAlshasha.sa" site_id="448">سيدة الشاشة</channel>
|
||||
</channels>
|
||||
|
|
|
@ -3,11 +3,8 @@
|
|||
<channel site="rotana.net" lang="en" xmltv_id="" site_id="432">Rotana HD</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="" site_id="433">Rotana Cinema France</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="MPlusHD.sa" site_id="445">M+ HD</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="Romance.sa" site_id="450">Romance</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="RotanaAflam.sa" site_id="440">Rotana Aflam</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="RotanaAmerica.sa" site_id="442">Rotana USA</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="RotanaCinemaEgypt.eg" site_id="439">Rotana Cinema Masr</channel>
|
||||
|
@ -19,5 +16,4 @@
|
|||
<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="RotanaKids.sa" site_id="441">Rotana Kids</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="RotanaMusic.sa" site_id="444">Rotana Music</channel>
|
||||
<channel site="rotana.net" lang="en" xmltv_id="SayedatAlshasha.sa" site_id="448">Sayedat Alshasha</channel>
|
||||
</channels>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue