mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
Delete canalplus-caraibes.com
This commit is contained in:
parent
ab6669e877
commit
5cb87f28b5
3 changed files with 0 additions and 360 deletions
|
@ -1,130 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<!-- <channel site="canalplus-caraibes.com" lang="fr" xmltv_id="" site_id="50422">Sony Channel Centro</channel> -->
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="13emeRue.fr" site_id="50001">13ème Rue</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="6ter.fr" site_id="50624">6ter</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Action.fr" site_id="50004">Action</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Alizes.gp" site_id="50365">Alizés</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="APlus.fr" site_id="50416">A+</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ARTE.fr" site_id="50007">ARTE Français</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Automotolachaine.fr" site_id="50565">Automoto la chaîne</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="BBCNewsNorthAmerica.uk" site_id="50008">BBC World News Americas</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="BblackCaribbean.fr" site_id="50557">Bblack! Caribbean</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="beINSports1.fr" site_id="50115">BeIn Sports 1 France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="beINSports2.fr" site_id="50243">BeIn Sports 2 France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="beINSports3.fr" site_id="50347">BeIn Sports 3 France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="beINSportsMax4.fr" site_id="50558">BeIn Sports Max 4 France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="beINSportsMax5.fr" site_id="50559">BeIn Sports Max 5 France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="C8.fr" site_id="50120">C8</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Canal10.gp" site_id="50176">Canal 10</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CanalJ.fr" site_id="50011">Canal J</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CanalPlusCaraibes.fr" site_id="50012">Canal + Caraïbes</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CanalPlusCinema.fr" site_id="50014">Canal + Cinéma France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CanalPlusKids.fr" site_id="50401">Canal + Kids</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CanalPlusSeries.fr" site_id="50312">Canal + Séries France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CanalPlusSport.fr" site_id="50022">Canal + Sport France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CinePlusClassic.fr" site_id="50328">Cine + Classic</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CinePlusClub.fr" site_id="50024">Cine + Club</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CinePlusEmotion.fr" site_id="50025">Cine + Émotion</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CinePlusFamiz.fr" site_id="50026">Cine + Famiz</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CinePlusFrisson.fr" site_id="50027">Cine + Frisson</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CinePlusPremier.fr" site_id="50028">Cine + Premier</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CNews.fr" site_id="50048">C News</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CNNInternationalLatinAmerica.us" site_id="50032">CNN International Latin America</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ComediePlus.fr" site_id="50033">Comédie +</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="CStar.fr" site_id="50217">C Star</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="DiscoveryChannel.fr" site_id="50248">Discovery Channel France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="DiscoveryScience.fr" site_id="50249">Discovery Science France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="DisneyChannel.fr" site_id="50035">Disney Channel France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="DisneyJunior.fr" site_id="50075">Disney Junior France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="DorcelTV.nl" site_id="50154">Dorcel TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="E.fr" site_id="50036">E! France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="EnglishClubTV.uk" site_id="50374">English Club TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Equidia.fr" site_id="50037">Equidia</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ESPN2Caribbean.us" site_id="50290">ESPN 2 Caribbean</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ESPNCaribbean.us" site_id="50038">ESPN Caribbean</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ETV.gp" site_id="50286">ETV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Eurosport1.fr" site_id="50041">Eurosport 1</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Eurosport2.fr" site_id="50042">Eurosport 2</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="France2.fr" site_id="50188">France 2</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="France24French.fr" site_id="50114">France 24 Français</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="France3.fr" site_id="50045">France 3</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="France4.fr" site_id="50196">France 4</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="France5.fr" site_id="50046">France 5</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Franceinfo.fr" site_id="50704">Franceinfo:</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="GameOne.fr" site_id="50136">Game One</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="GloboNews.br" site_id="50230">Globo News</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="GolfPlus.fr" site_id="50414">Golf +</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="GrapheTV.mq" site_id="50937">Graphé TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Guadeloupe1ere.gp" site_id="50083">Guadeloupe 1ère</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Gulli.fr" site_id="50146">Gulli</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Guyane1ere.gf" site_id="50084">Guyane 1ère</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="HBOXtremeLatinAmerica.us" site_id="50363">HBO Xtreme Latinoamérica</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="InfosportPlus.fr" site_id="50050">InfoSport +</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="IOTV.sx" site_id="50611">IOTV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="KMT.mq" site_id="50210">KMT</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="KTO.fr" site_id="50278">KTO</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="KTVGuyane.gf" site_id="50288">KTV Guyane</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="LCI.fr" site_id="50054">LCI</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="LEquipe.fr" site_id="50056">L'Équipe</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Ludikids.fr" site_id="50931">Ludikids</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="M6.fr" site_id="50057">M6</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Martinique1ere.mq" site_id="50085">Martinique 1ère</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="MCM.fr" site_id="50060">MCM France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Metropole.ht" site_id="50306">Metropole</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="MGGTV.fr" site_id="50667">ES1</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="MTV.fr" site_id="50065">MTV France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="MTVHits.fr" site_id="50147">MTV Hits France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="NationalGeographic.fr" site_id="50145">National Geographic France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="NationalGeographicWild.fr" site_id="50223">National Geographic Wild France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Nickelodeon.fr" site_id="50224">Nickelodeon France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="NickJrAfrica.za" site_id="50941">Nick Jr Africa</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="NollywoodTV.fr" site_id="50418">Nollywood TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="NovelasTV.fr" site_id="50548">Novelas TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="NRJ12.fr" site_id="50216">NRJ 12</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="OCSChoc.fr" site_id="50318">OCS choc</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="OCSCity.fr" site_id="50317">OCS City</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="OCSGeants.fr" site_id="50319">OCS geants</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="OCSMax.fr" site_id="50316">OCS max</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ParamountChannel.fr" site_id="50303">Paramount Channel France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ParisPremiere.fr" site_id="50070">Paris Première</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PenthouseBlack.us" site_id="50280">Penthouse Black</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PinkTV.fr" site_id="50071">Pink TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PiwiPlus.fr" site_id="50128">Piwi +</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PlanetePlus.fr" site_id="50072">Planète +</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PlanetePlusAventure.fr" site_id="50073">Planète + A&E</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PlanetePlusCrime.fr" site_id="50142">Planète + CI</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="PublicSenat.fr" site_id="50055">LCP Public Sénat</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="RTL9.lu" site_id="50077">RTL 9</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Seasons.fr" site_id="50079">Seasons</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="STVS81.sr" site_id="50616">STVS 8.1</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Syfy.fr" site_id="50078">Syfy France</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Tele20.ht" site_id="50618">Télé 20</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TelemicroInternacional.do" site_id="50292">Telemicro Internacional</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TelemundoCentralAmerica.us" site_id="50725">Telemundo</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TelePacific.ht" site_id="50617">Tele Pacific</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TeleSoleil.ht" site_id="50936">Tele Soleil</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TeletoonPlus.fr" site_id="50148">TéléToon +</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="Teva.fr" site_id="50094">Téva</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TF1.fr" site_id="50095">TF 1</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TF1SeriesFilms.fr" site_id="50613">TF 1 Séries Films</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TFX.fr" site_id="50067">TFX</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TMC.fr" site_id="50098">TMC</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TNH.ht" site_id="50291">TNH</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ToutelHistoire.fr" site_id="50727">Toute l'Histoire</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TraceAyiti.fr" site_id="50654">Trace Ayiti</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TraceCaribbean.fr" site_id="50155">Trace Caribbean</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TraceGospel.fr" site_id="50620">Trace Gospel</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TraceLatina.fr" site_id="50653">Trace Latina</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TraceUrban.fr" site_id="50102">Trace Urban</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TV5MondeLatinAmerica.fr" site_id="50106">TV5Monde Amérique Latine</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="TVBreizh.fr" site_id="50104">TV Breizh</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="UshuaiaTV.fr" site_id="50138">Ushuaïa TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ViaATV.mq" site_id="50006">ViàATV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="VixenTV.ca" site_id="50934">Vixen</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="W9.fr" site_id="50140">W9</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="WataaaTV.fr" site_id="50614">Wataaa TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="XXL.fr" site_id="50110">XXL</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ZitataTV.mq" site_id="50801">Zitata TV</channel>
|
||||
<channel site="canalplus-caraibes.com" lang="fr" xmltv_id="ZoukTV.mq" site_id="50285">Zouk TV</channel>
|
||||
</channels>
|
|
@ -1,93 +0,0 @@
|
|||
const axios = require('axios')
|
||||
const cheerio = require('cheerio')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
|
||||
dayjs.extend(utc)
|
||||
|
||||
module.exports = {
|
||||
site: 'canalplus-caraibes.com',
|
||||
days: 2,
|
||||
url: function ({ channel, date }) {
|
||||
const diff = date.diff(dayjs.utc().startOf('d'), 'd')
|
||||
|
||||
return `https://service.canal-overseas.com/ott-frontend/vector/53001/channel/${channel.site_id}/events?filter.day=${diff}`
|
||||
},
|
||||
async parser({ content }) {
|
||||
let programs = []
|
||||
const items = parseItems(content)
|
||||
for (let item of items) {
|
||||
if (item.title === 'Fin des programmes') return
|
||||
const detail = await loadProgramDetails(item)
|
||||
programs.push({
|
||||
title: item.title,
|
||||
description: parseDescription(detail),
|
||||
category: parseCategory(detail),
|
||||
icon: parseIcon(item),
|
||||
start: parseStart(item),
|
||||
stop: parseStop(item)
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const html = await axios
|
||||
.get('https://www.canalplus-caraibes.com/bl/guide-tv-ce-soir')
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
const $ = cheerio.load(html)
|
||||
const script = $('body > script:nth-child(2)').html()
|
||||
const [, json] = script.match(/window.APP_STATE=(.*);/) || [null, null]
|
||||
const data = JSON.parse(json)
|
||||
const items = data.tvGuide.channels.byZapNumber
|
||||
|
||||
return Object.values(items).map(item => {
|
||||
return {
|
||||
lang: 'fr',
|
||||
site_id: item.epgID,
|
||||
name: item.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async function loadProgramDetails(item) {
|
||||
if (!item.onClick.URLPage) return {}
|
||||
const url = item.onClick.URLPage
|
||||
const data = await axios
|
||||
.get(url)
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
return data || {}
|
||||
}
|
||||
|
||||
function parseDescription(detail) {
|
||||
return detail.detail.informations.summary || null
|
||||
}
|
||||
|
||||
function parseCategory(detail) {
|
||||
return detail.detail.informations.subGenre || null
|
||||
}
|
||||
function parseIcon(item) {
|
||||
return item.URLImage || item.URLImageDefault
|
||||
}
|
||||
function parseStart(item) {
|
||||
return dayjs.unix(item.startTime)
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs.unix(item.endTime)
|
||||
}
|
||||
|
||||
function parseItems(content) {
|
||||
const data = JSON.parse(content)
|
||||
if (!data || !data.timeSlices) return []
|
||||
const items = data.timeSlices.reduce((acc, curr) => {
|
||||
acc = acc.concat(curr.contents)
|
||||
return acc
|
||||
}, [])
|
||||
|
||||
return items
|
||||
}
|
|
@ -1,137 +0,0 @@
|
|||
// [Geo-blocked] npm run channels:parse -- --config=./sites/canalplus-caraibes.com/canalplus-caraibes.com.config.js --output=./sites/canalplus-caraibes.com/canalplus-caraibes.com.channels.xml
|
||||
// npm run grab -- --site=canalplus-caraibes.com
|
||||
|
||||
const { parser, url } = require('./canalplus-caraibes.com.config.js')
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
dayjs.extend(utc)
|
||||
|
||||
jest.mock('axios')
|
||||
|
||||
const channel = {
|
||||
site_id: '50115',
|
||||
xmltv_id: 'beINSports1France.fr'
|
||||
}
|
||||
|
||||
it('can generate valid url for today', () => {
|
||||
const date = dayjs.utc().startOf('d')
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://service.canal-overseas.com/ott-frontend/vector/53001/channel/50115/events?filter.day=0'
|
||||
)
|
||||
})
|
||||
|
||||
it('can generate valid url for tomorrow', () => {
|
||||
const date = dayjs.utc().startOf('d').add(1, 'd')
|
||||
expect(url({ channel, date })).toBe(
|
||||
'https://service.canal-overseas.com/ott-frontend/vector/53001/channel/50115/events?filter.day=1'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', done => {
|
||||
const content =
|
||||
'{"timeSlices":[{"contents":[{"title":"Rugby - Leinster / La Rochelle","subtitle":"Rugby","thirdTitle":"BEIN SPORTS 1 HD","startTime":1660815000,"endTime":1660816800,"onClick":{"displayTemplate":"miniDetail","displayName":"Rugby - Leinster / La Rochelle","URLPage":"https://service.canal-overseas.com/ott-frontend/vector/53001/event/140377765","URLVitrine":"https://service.canal-overseas.com/ott-frontend/vector/53001/program/224515801/recommendations"},"programID":224515801,"diffusionID":"140377765","URLImageDefault":"https://service.canal-overseas.com/image-api/v1/image/75fca4586fdc3458930dd1ab6fc2e643","URLImage":"https://service.canal-overseas.com/image-api/v1/image/7854e20fb6efecd398598653c57cc771"}],"timeSlice":"4"}]}'
|
||||
axios.get.mockImplementation(url => {
|
||||
if (url === 'https://service.canal-overseas.com/ott-frontend/vector/53001/event/140377765') {
|
||||
return Promise.resolve({
|
||||
data: JSON.parse(`{
|
||||
"currentPage": {
|
||||
"displayName": "Rugby - Leinster / La Rochelle",
|
||||
"displayTemplate": "detailPage",
|
||||
"URLVitrine": "https://service.canal-overseas.com/ott-frontend/vector/53001/program/224515801/recommendations"
|
||||
},
|
||||
"detail": {
|
||||
"informations": {
|
||||
"programmeType": "EPG",
|
||||
"isInOffer": false,
|
||||
"isInOfferOnDevice": false,
|
||||
"isInOfferForD2G": false,
|
||||
"availableInVoDOnDevice": false,
|
||||
"availableInVoDOnG5": false,
|
||||
"availableInD2GOnDevice": false,
|
||||
"availableInLiveOnDevice": false,
|
||||
"rediffusions": true,
|
||||
"canBeRecorded": false,
|
||||
"channelName": "BEIN SPORTS 1 HD",
|
||||
"startTime": 1660815000,
|
||||
"endTime": 1660816800,
|
||||
"title": "Rugby - Leinster / La Rochelle",
|
||||
"subtitle": "Rugby",
|
||||
"thirdTitle": "BEIN SPORTS 1 HD",
|
||||
"genre": "Sport",
|
||||
"subGenre": "Rugby",
|
||||
"editorialTitle": "Sport, France, 0h30",
|
||||
"audioLanguage": "VF",
|
||||
"summary": "Retransmission d'un match de Champions Cup de rugby à XV. L'European Rugby Champions Cup est une compétition annuelle interclubs de rugby à XV disputée par les meilleures équipes en Europe. Jusqu'en 2014, cette compétition s'appelait Heineken Cup, ou H Cup, et était sous l'égide de l'ERC, et depuis cette date l'EPRC lui a succédé. La première édition s'est déroulée en 1995.",
|
||||
"summaryMedium": "Retransmission d'un match de Champions Cup de rugby à XV. L'European Rugby Champions Cup est une compétition annuelle interclubs de rugby à XV disputée par les meilleures équipes en Europe. Jusqu'en 2014, cette compétition s'appelait Heineken Cup, ou H Cup, et était sous l'égide de l'ERC, et depuis cette date l'EPRC lui a succédé. La première édition s'est déroulée en 1995.",
|
||||
"programID": 224515801,
|
||||
"sharingURL": "https://www.canalplus-caraibes.com/grille-tv/event/140377765-rugby-leinster-la-rochelle.html",
|
||||
"EpgId": 50115,
|
||||
"CSA": 1,
|
||||
"HD": false,
|
||||
"3D": false,
|
||||
"diffusionID": "140377765",
|
||||
"duration": "1800",
|
||||
"URLImageDefault": "https://service.canal-overseas.com/image-api/v1/image/75fca4586fdc3458930dd1ab6fc2e643",
|
||||
"URLImage": "https://service.canal-overseas.com/image-api/v1/image/7854e20fb6efecd398598653c57cc771",
|
||||
"URLLogo": "https://service.canal-overseas.com/image-api/v1/image/4e121baf92f46b2df622c6d4f9cebf8e",
|
||||
"URLLogoBlack": "https://service.canal-overseas.com/image-api/v1/image/4e121baf92f46b2df622c6d4f9cebf8e",
|
||||
"URLVitrine": "https://service.canal-overseas.com/ott-frontend/vector/53001/program/224515801/recommendations"
|
||||
},
|
||||
"diffusions": [
|
||||
{
|
||||
"diffusionDateUTC": 1660815000,
|
||||
"sharingUrl": "https://www.canalplus-caraibes.com/grille-tv/event/140377765-rugby-leinster-la-rochelle.html",
|
||||
"broadcastId": "140377765",
|
||||
"name": "BEIN SPORTS 1 HD",
|
||||
"epgID": "50115",
|
||||
"ZapNumber": "191",
|
||||
"URLLogo": "https://service.canal-overseas.com/image-api/v1/image/4e121baf92f46b2df622c6d4f9cebf8e",
|
||||
"URLLogoBlack": "https://service.canal-overseas.com/image-api/v1/image/4e121baf92f46b2df622c6d4f9cebf8e"
|
||||
}
|
||||
]
|
||||
}
|
||||
}`)
|
||||
})
|
||||
} else {
|
||||
return Promise.resolve({ data: '' })
|
||||
}
|
||||
})
|
||||
|
||||
parser({ content })
|
||||
.then(result => {
|
||||
result = result.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
start: '2022-08-18T09:30:00.000Z',
|
||||
stop: '2022-08-18T10:00:00.000Z',
|
||||
title: 'Rugby - Leinster / La Rochelle',
|
||||
icon: 'https://service.canal-overseas.com/image-api/v1/image/7854e20fb6efecd398598653c57cc771',
|
||||
category: 'Rugby',
|
||||
description:
|
||||
"Retransmission d'un match de Champions Cup de rugby à XV. L'European Rugby Champions Cup est une compétition annuelle interclubs de rugby à XV disputée par les meilleures équipes en Europe. Jusqu'en 2014, cette compétition s'appelait Heineken Cup, ou H Cup, et était sous l'égide de l'ERC, et depuis cette date l'EPRC lui a succédé. La première édition s'est déroulée en 1995."
|
||||
}
|
||||
])
|
||||
done()
|
||||
})
|
||||
.catch(done)
|
||||
})
|
||||
|
||||
it('can handle empty guide', done => {
|
||||
parser({
|
||||
content:
|
||||
'{"currentPage":{"displayTemplate":"error","BOName":"Page introuvable"},"title":"Page introuvable","text":"La page que vous demandez est introuvable. Si le problème persiste, vous pouvez contacter l\'assistance de CANAL+/CANALSAT.","code":404}'
|
||||
})
|
||||
.then(result => {
|
||||
expect(result).toMatchObject([])
|
||||
done()
|
||||
})
|
||||
.catch(done)
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue