Rename telecablesat.fr to tv-programme.telecablesat.fr

This commit is contained in:
freearhey 2023-11-28 14:06:19 +03:00
parent 079f6ec214
commit 4a0324ae92
4 changed files with 285 additions and 288 deletions

View file

@ -0,0 +1,283 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="tv-programme.telecablesat.fr" lang="de" xmltv_id="DasErste.de" site_id="13">Das Erste</channel>
<channel site="tv-programme.telecablesat.fr" lang="de" xmltv_id="ZDF.de" site_id="219">ZDF</channel>
<channel site="tv-programme.telecablesat.fr" lang="en" xmltv_id="BBCEntertainment.uk" site_id="18">BBC Entertainment</channel>
<channel site="tv-programme.telecablesat.fr" lang="en" xmltv_id="BBCOne.uk" site_id="16">BBC 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="en" xmltv_id="BBCTwo.uk" site_id="17">BBC 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="en" xmltv_id="BBCNewsEurope.uk" site_id="19">BBC World News</channel>
<channel site="tv-programme.telecablesat.fr" lang="en" xmltv_id="CNNInternationalEurope.us" site_id="53">CNN</channel>
<channel site="tv-programme.telecablesat.fr" lang="en" xmltv_id="DWEnglish.de" site_id="61">DW (English)</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="13emeRue.fr" site_id="2">13eme RUE</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="2MInternational.ma" site_id="340">2M Monde</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="3sat.de" site_id="3">3SAT</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="6ter.fr" site_id="1403">6ter</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="AB1.fr" site_id="5">AB 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="AB3.be" site_id="254">AB 3</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ABXplore.be" site_id="303">ABXPLORE</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Action.fr" site_id="10">Action</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ACTV.be" site_id="388">ACTV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="AlJazeeraEnglish.qa" site_id="525">Al Jazeera English</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Alsace20.fr" site_id="524">Alsace 20</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="AlticeStudio.fr" site_id="2320">Altice Studio</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Animaux.fr" site_id="12">Animaux</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="AntenneReunion.fr" site_id="436">Antenne Réunion</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="APlusInternational.fr" site_id="2049">A+ International France</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="arte.fr" site_id="111">Arte</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Automotolachaine.fr" site_id="15">Automoto</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Be1.be" site_id="29">BE 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BeCine.be" site_id="417">Be Ciné</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSports1.fr" site_id="1290">beIN SPORTS 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSports2.fr" site_id="1304">beIN SPORTS 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSports3.fr" site_id="1335">beIN SPORTS 3</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax10.fr" site_id="1342">beIN SPORTS MAX 10</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax4.fr" site_id="1336">beIN SPORTS MAX 4</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax5.fr" site_id="1337">beIN SPORTS MAX 5</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax6.fr" site_id="1338">beIN SPORTS MAX 6</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax7.fr" site_id="1339">beIN SPORTS MAX 7</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax8.fr" site_id="1340">beIN SPORTS MAX 8</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="beINSportsMax9.fr" site_id="1341">beIN SPORTS MAX 9</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BeSeries.be" site_id="418">Be Séries</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BET.fr" site_id="1960">BET</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BFMBusiness.fr" site_id="1073">BFM Business</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BFMGrandLille.fr" site_id="930">BFM Grand Lille</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BFMLyon.fr" site_id="116">BFM Lyon Métropole</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BFMMarseille.fr" site_id="1156">BFM Marseille</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BFMTV.fr" site_id="481">BFMTV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Boing.fr" site_id="924">Boing</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Boomerang.fr" site_id="321">Boomerang</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Bouke.be" site_id="389">Canal C</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="BX1.be" site_id="382">BX1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="C8.fr" site_id="445">C8</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalJ.fr" site_id="32">Canal J</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlusCaraibes.fr" site_id="376">Canal+ Antilles</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlusCinema.fr" site_id="33">Canal+ Cinéma</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlusDecale.fr" site_id="30">Canal+ Décalé</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlusFamily.fr" site_id="657">Canal+ Family</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlus.fr" site_id="34">Canal+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlusSeries.fr" site_id="1563">Canal+ Séries</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalPlusSport.fr" site_id="35">Canal+ Sport</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalZ.be" site_id="936">Canal Z</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CanalZoom.be" site_id="386">Canal Zoom</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CartoonNetwork.fr" site_id="36">Cartoon Network</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CGTNFrench.cn" site_id="318">CGTN</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ChassePeche.fr" site_id="38">Chasse et pêche</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Cherie25.fr" site_id="1399">Chérie 25</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusClassic.fr" site_id="287">Ciné+ Classic</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusClassicBelgium.be" site_id="437">Ciné+ Classic Belgique</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusClub.fr" site_id="285">Ciné+ Club</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusEmotion.fr" site_id="283">Ciné+ Emotion</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusFamiz.fr" site_id="401">Ciné+ Famiz</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusFrisson.fr" site_id="284">Ciné+ Frisson</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusFrissonBelgium.be" site_id="317">Ciné+ Frisson Belgique</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusPremier.fr" site_id="282">Ciné+ Premier</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CinePlusPremierBelgium.be" site_id="294">Ciné+ Premier Belgique</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CliqueTV.fr" site_id="2781">Clique TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ClubRTL.be" site_id="50">Club RTL</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CNews.fr" site_id="226">CNEWS</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ComediePlus.fr" site_id="54">Comédie+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ComedyCentral.fr" site_id="2752">Comedy Central</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CrimeDistrict.fr" site_id="2037">Crime District</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="CStar.fr" site_id="458">CSTAR</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DemainTV.fr" site_id="57">Demain TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DiscoveryChannel.fr" site_id="400">Discovery Channel</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DiscoveryFamily.us" site_id="2324">Discovery Family</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DiscoveryScience.fr" site_id="1374">Discovery Science</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DisneyChannel.be" site_id="1967">Disney Channel Wallonia</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DisneyChannel.fr" site_id="58">Disney Channel</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DisneyJunior.fr" site_id="300">Disney Junior</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="DorcelTV.nl" site_id="560">Dorcel TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="E.fr" site_id="405">E !</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Eleven1.be" site_id="2024">Eleven Sports 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Eleven2.be" site_id="2025">Eleven Sports 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Eleven3.be" site_id="2381">Eleven Sports 3</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Equidia.fr" site_id="64">Equidia</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Eurochannel.uk" site_id="1190">Eurochannel</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="EuronewsFrench.fr" site_id="140">Euronews</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Eurosport1.fr" site_id="76">Eurosport 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Eurosport2.fr" site_id="439">Eurosport 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France2.fr" site_id="4">France 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France24French.fr" site_id="529">France 24</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3.fr" site_id="80">France 3</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Alpes.fr" site_id="1921">France 3 Alpes</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Alsace.fr" site_id="1922">France 3 Alsace</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Aquitaine.fr" site_id="1923">France 3 Aquitaine</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Auvergne.fr" site_id="1924">France 3 Auvergne</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Bourgogne.fr" site_id="1926">France 3 Bourgogne</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Bretagne.fr" site_id="1927">France 3 Bretagne</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3CentreValdeLoire.fr" site_id="1928">France 3 Centre-Val de Loire</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3ChampagneArdenne.fr" site_id="1929">France 3 Champagne-Ardennes</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3CorseViaStella.fr" site_id="308">France 3 Corse Via Stella</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3CotedAzur.fr" site_id="1931">France 3 Côte d&apos;Azur</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3FrancheComte.fr" site_id="1932">France 3 Franche-Comté</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3LanguedocRoussillon.fr" site_id="1934">France 3 Languedoc-Roussillon</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Limousin.fr" site_id="1935">France 3 Limousin</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Lorraine.fr" site_id="1936">France 3 Lorraine</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3MidiPyrenees.fr" site_id="1937">France 3 Midi-Pyrénées</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3NordPasdeCalais.fr" site_id="1938">France 3 Nord Pas-de-Calais</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3NormandieCaen.fr" site_id="1925">France 3 Normandie - Caen</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3NormandieRouen.fr" site_id="1933">France 3 Normandie - Rouen</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3ParisIledeFrance.fr" site_id="1939">France 3 Paris Ile-de-France</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3PaysdelaLoire.fr" site_id="1940">France 3 Pays de la Loire</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3Picardie.fr" site_id="1941">France 3 Picardie</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3PoitouCharentes.fr" site_id="1942">France 3 Poitou-Charentes</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3ProvenceAlpes.fr" site_id="1943">France 3 Provence-Alpes</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France3RhoneAlpes.fr" site_id="1944">France 3 Rhône-Alpes</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France4.fr" site_id="78">France 4</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="France5.fr" site_id="47">France 5</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Franceinfo.fr" site_id="2111">Franceinfo</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="GameOne.fr" site_id="87">Game One</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="GolfChannel.fr" site_id="1166">Golf Channel</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="GolfPlus.fr" site_id="1295">Golf+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Guadeloupe1ere.gp" site_id="329">Guadeloupe la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Gulli.fr" site_id="482">Gulli</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Guyane1ere.gf" site_id="260">Guyane la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="HistoireTV.fr" site_id="88">Histoire TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="HustlerTVEurope.nl" site_id="416">Hustler TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="i24NEWSFrench.il" site_id="781">I24news</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="InfosportPlus.fr" site_id="94">Infosport+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="InvestigationDiscovery.fr" site_id="2184">Discovery Investigation</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="JOne.fr" site_id="1585">J-One</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Ketnet.be" site_id="1280">Ketnet</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="KTO.fr" site_id="110">KTO</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="La1.es" site_id="206">TVE 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="La2.es" site_id="207">TVE 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="LaTrois.be" site_id="892">La Trois</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="LaUne.be" site_id="164">La Une</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="LCI.fr" site_id="112">LCI - La Chaîne Info</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="LCP.fr" site_id="234">La Chaîne parlementaire</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="LEquipe.fr" site_id="1401">L&apos;Equipe</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="LMTVSarthe.fr" site_id="535">LM TV Sarthe</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="M6.fr" site_id="118">M6</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Mangas.fr" site_id="6">Mangas</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ManX.be" site_id="683">Man-X</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Martinique1ere.mq" site_id="328">Martinique la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Matele.be" site_id="393">MAtélé</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Mayotte1ere.yt" site_id="1080">Mayotte la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MCM.fr" site_id="121">MCM</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Melody.fr" site_id="265">Melody</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MelodydAfrique.fr" site_id="2321">Melody d&apos;Afrique</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MensUPTV.fr" site_id="1452">Men&apos;s UP TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Mezzo.fr" site_id="125">Mezzo</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MezzoLive.fr" site_id="907">Mezzo Live HD</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MoselleTV.fr" site_id="1045">ViàMoselleTV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MTV.fr" site_id="128">MTV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MuseumTV.fr" site_id="1072">Museum TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="MyZenTV.fr" site_id="829">MyZen.tv</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NationalGeographic.fr" site_id="243">National Geographic</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NationalGeographicWild.fr" site_id="719">National Geographic Wild</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NauticalChannel.it" site_id="415">Nautical Channel</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Nickelodeon.fr" site_id="473">Nickelodéon</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NickelodeonJunior.fr" site_id="888">Nickelodeon Junior</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Nickelodeon.nl" site_id="1968">Nickelodéon Wallonia</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NollywoodTV.fr" site_id="1461">Nollywood TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NonStopPeople.fr" site_id="1408">Non Stop People HD</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Notele.be" site_id="1833">NoTélé</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NouvelleCaledonie1ere.nc" site_id="240">Nouvelle-Calédonie la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NovelasTV.fr" site_id="1832">Novelas TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="NRJ12.fr" site_id="444">NRJ 12</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="OCSChoc.fr" site_id="732">OCS Choc</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="OCSCity.fr" site_id="733">OCS City</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="OCSGeants.fr" site_id="734">OCS Géants</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="OCSMax.fr" site_id="730">OCS Max</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="OLTV.fr" site_id="463">OLTV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="OlympiaTV.fr" site_id="2958">Olympia TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ParamountChannel.fr" site_id="1562">Paramount Channel</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ParisPremiere.fr" site_id="145">Paris Première</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PinkTV.fr" site_id="406">Pink TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PiwiPlus.fr" site_id="344">Piwi+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PlanetePlus.fr" site_id="147">Planète+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PlanetePlusAventure.fr" site_id="402">Planète+ Aventure &amp; Expérience</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PlanetePlusCrime.fr" site_id="662">Planète+ Crime Investigation</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PlugRTL.be" site_id="377">Plug RTL</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="PolarPlus.fr" site_id="2326">Polar+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ProSieben.de" site_id="964">Pro7</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Proximus11.be" site_id="1075">Proximus 11</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Reunion1ere.fr" site_id="245">Réunion la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCDecouverte.fr" site_id="1400">RMC Découverte</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSport1.fr" site_id="2665">RMC Sport 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSport1UHD.fr" site_id="2029">RMC Sport 1 UHD</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSport2.fr" site_id="2666">RMC Sport 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportAccess1.fr" site_id="2095">RMC Sport Access 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportAccess2.fr" site_id="675">RMC Sport Access 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive10.fr" site_id="2673">RMC Sport Live 10</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive11.fr" site_id="2674">RMC Sport Live 11</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive12.fr" site_id="2675">RMC Sport Live 12</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive13.fr" site_id="2676">RMC Sport Live 13</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive14.fr" site_id="2677">RMC Sport Live 14</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive5.fr" site_id="2668">RMC Sport Live 5</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive6.fr" site_id="2669">RMC Sport Live 6</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive7.fr" site_id="2670">RMC Sport Live 7</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive8.fr" site_id="2671">RMC Sport Live 8</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCSportLive9.fr" site_id="2672">RMC Sport Live 9</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RMCStory.fr" site_id="1402">RMC Story</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RougeTV.ch" site_id="822">Rouge TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RSILa1.ch" site_id="200">RSI LA 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RSILa2.ch" site_id="201">RSI LA 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RTCTeleLiege.be" site_id="390">RTC Télé Liège</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RTL9.lu" site_id="115">RTL 9</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RTLTVI.be" site_id="168">RTL TVI</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RTPInternacional.pt" site_id="169">RTPI</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RTS1.ch" site_id="202">RTS 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="RTS2.ch" site_id="183">RTS 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="SaintPierreMiquelon1ere.pm" site_id="1094">Saint-Pierre et Miquelon la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ScienceVieTV.fr" site_id="63">Science &amp; Vie TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Seasons.fr" site_id="173">Seasons</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="SerieClub.fr" site_id="49">serieclub</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="StingrayClassica.ca" site_id="835">Stingray Brava</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="StingrayDJAZZ.ca" site_id="1357">Stingray Djazz</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="StingrayFestival4K.ca" site_id="2090">Stingray Festival 4K</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="StingrayiConcerts.ca" site_id="604">Stingray i-Concerts</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Syfy.fr" site_id="479">Syfy</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TCMCinema.fr" site_id="185">TCM Cinéma</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TeleGrenoble.fr" site_id="537">Télé Grenoble Isère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TeleMB.be" site_id="387">Télé MB</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Telenantes.fr" site_id="491">Télénantes</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Telesambre.be" site_id="383">Télé Sambre</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TeletoonPlus.fr" site_id="197">TéléToon+</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Teva.fr" site_id="191">Téva</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TF1.fr" site_id="192">TF1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TF1SeriesFilms.fr" site_id="1404">TF1 Séries Films</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TFX.fr" site_id="446">TFX</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TiJi.fr" site_id="229">TIJI</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Tipik.be" site_id="187">Tipik</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TMC.fr" site_id="195">TMC</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Toonami.fr" site_id="2040">Toonami</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ToutelHistoire.fr" site_id="7">Toute l&apos;histoire</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TraceSportStars.fr" site_id="1168">TRACE Sport Stars</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Trek.fr" site_id="1776">Trek</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TV5MondeEurope.fr" site_id="232">TV5MONDE Europe</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TV5MondeFranceBelgiumSwitzerlandMonaco.fr" site_id="205">TV5MONDE</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TV7Bordeaux.fr" site_id="273">TV7 Bordeaux</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TV8MontBlanc.fr" site_id="421">8 Mont-Blanc</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVBreizh.fr" site_id="225">TvBreizh</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVCom.be" site_id="385">TV COM</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVEInternacionalEuropeAsia.es" site_id="208">TVE</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVLux.be" site_id="392">TV Lux</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVR.fr" site_id="539">TVR Rennes 35 Bretagne</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVSudProvence.fr" site_id="492">TVSUD Marseille</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="TVTours.fr" site_id="540">TV Tours</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="UshuaiaTV.fr" site_id="451">Ushuaïa TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Vedia.be" site_id="391">VEDIA</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ViaATV.mq" site_id="295">ATV Martinique</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ViaGuadeloupe.fr" site_id="1140">ATV Guadeloupe</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ViaGuyane.fr" site_id="1531">ATV Guyane</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ViaOccitanieMontpellier.fr" site_id="704">Vià Occitanie Montpellier</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="ViaOccitaniePaysGardois.fr" site_id="538">Vià Occitanie Pays Gardois</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="VICETV.us" site_id="2171">Vice TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="VOOsportWorld1.be" site_id="413">VOOsport World 1</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="VOOsportWorld2.be" site_id="414">VOOsport World 2</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="VOOsportWorld3.be" site_id="472">VOOsport World 3</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="VosgesTV.fr" site_id="1095">ViàVosges</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="W9.fr" site_id="119">W9</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="WallisFutuna1ere.fr" site_id="519">Wallis et Futuna la 1ère</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="WarnerTV.fr" site_id="2334">Warner TV</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="Weo.fr" site_id="809">Wéo</channel>
<channel site="tv-programme.telecablesat.fr" lang="fr" xmltv_id="XXL.fr" site_id="218">XXL</channel>
<channel site="tv-programme.telecablesat.fr" lang="it" xmltv_id="Rai1.it" site_id="156">Rai Uno</channel>
<channel site="tv-programme.telecablesat.fr" lang="it" xmltv_id="Rai2.it" site_id="154">Rai Due</channel>
<channel site="tv-programme.telecablesat.fr" lang="it" xmltv_id="Rai3.it" site_id="155">Rai Tre</channel>
<channel site="tv-programme.telecablesat.fr" lang="nl" xmltv_id="Canvas.be" site_id="24">Canvas</channel>
<channel site="tv-programme.telecablesat.fr" lang="nl" xmltv_id="Een.be" site_id="23">één</channel>
<channel site="tv-programme.telecablesat.fr" lang="nl" xmltv_id="VTM.be" site_id="215">VTM</channel>
</channels>

View file

@ -0,0 +1,107 @@
const cheerio = require('cheerio')
const axios = require('axios')
const { DateTime } = require('luxon')
const API_ENDPOINT = 'https://tv-programme.telecablesat.fr/chaine'
module.exports = {
site: 'tv-programme.telecablesat.fr',
days: 2,
delay: 5000,
url: function ({ channel, date }) {
return `${API_ENDPOINT}/${channel.site_id}/index.html?date=${date.format('YYYY-MM-DD')}`
},
async parser({ content, date, channel }) {
let programs = []
let items = parseItems(content)
if (!items.length) return programs
const url = `${API_ENDPOINT}/${channel.site_id}/index.html`
const promises = [
axios.get(`${url}?date=${date.format('YYYY-MM-DD')}&period=noon`),
axios.get(`${url}?date=${date.format('YYYY-MM-DD')}&period=afternoon`)
]
await Promise.allSettled(promises).then(results => {
results.forEach(r => {
if (r.status === 'fulfilled') {
items = items.concat(parseItems(r.value.data))
}
})
})
for (let item of items) {
const prev = programs[programs.length - 1]
const $item = cheerio.load(item)
let start = parseStart($item, date)
if (prev) {
if (start < prev.start) {
start = start.plus({ days: 1 })
date = date.add(1, 'd')
}
prev.stop = start
}
const stop = start.plus({ hours: 1 })
programs.push({
title: parseTitle($item),
description: parseDescription($item),
icon: parseIcon($item),
start,
stop
})
}
return programs
},
async channels() {
const data = await axios
.get('https://tv-programme.telecablesat.fr/')
.then(r => r.data)
.catch(console.log)
const $ = cheerio.load(data)
const items = $(
'#ptgv_left > section.main > div > div > div:nth-child(1) > div > div > div.linker.with_search > div.inside > div.scroller > a'
).toArray()
return items.map(item => {
const $item = cheerio.load(item)
const link = $item('*').attr('href')
const [, site_id] = link.match(/\/chaine\/(\d+)\//) || [null, null]
const name = $item('*').text().trim()
return {
lang: 'fr',
site_id,
name
}
})
}
}
function parseStart($item, date) {
const timeString = $item('.schedule-hour').text()
if (!timeString) return null
return DateTime.fromFormat(`${date.format('YYYY-MM-DD')} ${timeString}`, 'yyyy-MM-dd HH:mm', {
zone: 'Europe/Paris'
}).toUTC()
}
function parseIcon($item) {
const imgSrc = $item('img').attr('src')
return imgSrc ? `https:${imgSrc}` : null
}
function parseTitle($item) {
return $item('div.item-content > div.title-left').text().trim()
}
function parseDescription($item) {
return $item('div.item-content > p').text()
}
function parseItems(content) {
const $ = cheerio.load(content)
return $(
'#ptgv_left > div.container > div.row.no-gutter > div.col-md-8 > div > div > div > div > div > div > div.news'
).toArray()
}

View file

@ -0,0 +1,113 @@
const { parser, url } = require('./tv-programme.telecablesat.fr.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)
const date = dayjs.utc('2022-03-11', 'YYYY-MM-DD').startOf('d')
const channel = {
site_id: '2',
xmltv_id: '13emeRue.fr'
}
jest.mock('axios')
it('can generate valid url', () => {
expect(url({ channel, date })).toBe(
'https://tv-programme.telecablesat.fr/chaine/2/index.html?date=2022-03-11'
)
})
it('can parse response', done => {
const content =
'<!DOCTYPE html><html lang="fr" dir="ltr" prefix=""> <head></head> <body itemscope itemtype="http://schema.org/WebPage"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div id="wrapper" data-color="dark-blue"> <div id="main-section"> <section class="module"> <div class="container"> <div class="row no-gutter"> <div id="pgtv_container"> <div id="ptgv_left"> <div class="container"> <div class="row no-gutter"> <div class="col-md-8"> <div class="panel panel-flat"> <div class="panel-body"> <div class="tabbable"> <div class="tab-content"> <div class="tab-pane active"> <div class="row no-gutter"> <div class="news"> <div class="col-xs-12 col-sm-1 col-md-1"> <div class="schedule-hour">06:25</div></div><div class="col-xs-12 col-sm-11 col-md-11"> <div class="item"> <div class="item-image-2"> <div data-diffusion="1093039463" class="img-link" href="/emission/alex-hugo-164524955.html"><img class="img-responsive img-full" src="//tv.cdnartwhere.eu/cache/i2/Dc5BDsIgEADAv3C2pQvC0r6FCyxLq6aUFEyMxr_rvGA-IobGYhFb77UtXnq516FuRz_aQKmM4f08mdPKY-HuJR2lh1vh02RHABRSnukK0-wYMwBERBei1rOXUwBjOc2oCSgbIqUQ0KrILqNh5VwEl9iO97qKi9hDe_wf1uJLOyO-Pw.jpg" alt="Alex Hugo"></div></div><div class="item-content"> <div class="title-left title-style04 underline04"> <h3><a data-diffusion="1093039463" href="/emission/alex-hugo-164524955.html"><strong>Alex Hugo</strong></a></h3> </div><p>Des randonneurs font une macabre découverte en installant leur tente dans la nature : une jeune fille de Lusagne a en effet été sauvagement assassinée et son corps a été dissimulé sommairement dans les buissons. Rapidement, des lettres anonymes...</p></div></div></div></div><div class="news"> <div class="col-xs-12 col-sm-1 col-md-1"> <div class="schedule-hour">08:05</div></div><div class="col-xs-12 col-sm-11 col-md-11"> <div class="item"> <div class="item-image-2"> <div data-diffusion="1093039472" class="img-link" href="/emission/les-saisons-meurtrieres-hiver-rouge-31199593.html"><img class="img-responsive img-full" src="//tv.cdnartwhere.eu/cache/i2/Dc5BDoMgEEDRu7Cu4AgIeBY2DAzaNiIRmjRteve6_Mlb_C_D0IgtbOu9tsULL_Y61O3oRxtiKjx8XidRWokX6l7Eo_RwL3TqbCNADCm7qGB0lkwGADTGBpTSeXEBbeyk1EguAybptJbyapyQAmogG9VMwB91ZTe2h_a8PubZvKXV7PcH.jpg" alt="Les saisons meurtrières : hiver rouge"></div></div><div class="item-content"> <div class="title-left title-style04 underline04"> <h3><a data-diffusion="1093039472" href="/emission/les-saisons-meurtrieres-hiver-rouge-31199593.html"><strong>Les saisons meurtrières : hiver rouge</strong></a></h3> </div><p>Alors que les fêtes de fin d\'année battent leur plein, le commissaire Rousseau se voit confronté à une délicate affaire. En peu de temps, une troisième jeune fille vient d\'être retrouvée assassinée. Le vieux limier ne croit pas à l\'hypothèse...</p></div></div></div></div></div></div></div></div></div></div></div><div class="col-md-4"></div></div></div></div></div></div></div></div></section> </div></div></body></html>'
axios.get.mockImplementation(url => {
if (
url === 'https://tv-programme.telecablesat.fr/chaine/2/index.html?date=2022-03-11&period=noon'
) {
return Promise.resolve({
data: '<!DOCTYPE html><html lang="fr" dir="ltr" prefix=""> <head></head> <body itemscope itemtype="http://schema.org/WebPage"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div id="wrapper" data-color="dark-blue"> <div id="main-section"> <section class="module"> <div class="container"> <div class="row no-gutter"> <div id="pgtv_container"> <div id="ptgv_left"> <div class="container"> <div class="row no-gutter"> <div class="col-md-8"> <div class="panel panel-flat"> <div class="panel-body"> <div class="tabbable"> <div class="tab-content"> <div class="tab-pane active"> <div class="row no-gutter"> <div class="news"> <div class="col-xs-12 col-sm-1 col-md-1"> <div class="schedule-hour">12:35</div></div><div class="col-xs-12 col-sm-11 col-md-11"> <div class="item"> <div class="item-image-2"> <div data-diffusion="1093039476" class="img-link" href="/emission/chicago-fire-157374472.html"><img class="img-responsive img-full" src="//tv.cdnartwhere.eu/cache/i2/Dc5BDsIgEADAv3DWwpayQN_CZaFLq6aUFEyMxr_rvGA-IlJjMYut99rmIIPc67VuRz_aNS1loPfzZF5WHgr3INNROt0Knya7BJBoyT5NoLxjmwEgWusoau2DtCqBc1OOiCZNI2vvVLSAigzl0WSvAVFHPdzrKi5ip_b4PxDtSzsjvj8.jpg" alt="Chicago Fire"></div></div><div class="item-content"> <div class="title-left title-style04 underline04"> <h3><a data-diffusion="1093039476" href="/emission/chicago-fire-157374472.html"><strong>Chicago Fire</strong></a></h3> </div><p>Brett, Foster et Kidd font une virée dans l\'Indiana. Sur la route, ils sont les témoins d\'un accident. Un bus qui transporte une équipe de hockey percute une voiture en panne. Sans réseau téléphonique, ils ne peuvent prévenir leurs collègues. En...</p></div></div></div></div></div></div></div></div></div></div></div><div class="col-md-4"></div></div></div></div></div></div></div></div></section> </div></div></body></html>'
})
} else if (
url ===
'https://tv-programme.telecablesat.fr/chaine/2/index.html?date=2022-03-11&period=afternoon'
) {
return Promise.resolve({
data: '<!DOCTYPE html><html lang="fr" dir="ltr" prefix=""> <head></head> <body itemscope itemtype="http://schema.org/WebPage"> <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas> <div id="wrapper" data-color="dark-blue"> <div id="main-section"> <section class="module"> <div class="container"> <div class="row no-gutter"> <div id="pgtv_container"> <div id="ptgv_left"> <div class="container"> <div class="row no-gutter"> <div class="col-md-8"> <div class="panel panel-flat"> <div class="panel-body"> <div class="tabbable"> <div class="tab-content"> <div class="tab-pane active"> <div class="row no-gutter"> <div class="news"> <div class="col-xs-12 col-sm-1 col-md-1"> <div class="schedule-hour">01:45</div></div><div class="col-xs-12 col-sm-11 col-md-11"> <div class="item"> <div class="item-image-2"> <div data-diffusion="1093039486" class="img-link" href="/emission/chicago-fire-157374512.html"><img class="img-responsive img-full" src="//tv.cdnartwhere.eu/cache/i2/Dc5BDsIgEADAv3C2hZVSoG_hsixLq6aUFEyMxr_rvGA-ImJjsYit99qWIIPc61C3ox9toFRGfD9P5rTyWLgHSUfpeCt8muwIgDBlTxMo79hmAIjWOoxa-yCT9loxMqIBjhMb7eFqk8qTy6CJZ01GUTTjva7iInZsj_9jnu1LOyO-Pw.jpg" alt="Chicago Fire"></div></div><div class="item-content"> <div class="title-left title-style04 underline04"> <h3><a data-diffusion="1093039486" href="/emission/chicago-fire-157374512.html"><strong>Chicago Fire</strong></a></h3> </div><p>Lors d\'une urgence, la vie du lieutenant Casey est soudainement mise en danger : un homme le menace avec une arme. Grissom prévient la caserne qu\'ils devront se préparer à une évaluation de leur performance. Otis apprend qu\'il a remporté un prix...</p></div></div></div></div><div class="news"> <div class="col-xs-12 col-sm-1 col-md-1"> <div class="schedule-hour">05:05</div></div><div class="col-xs-12 col-sm-11 col-md-11"> <div class="item"> <div class="item-image-2"> <div data-diffusion="1101145662" class="img-link" href="/emission/fin-des-programmes-195239083.html"><img class="img-responsive img-full" src="//tv.cdnartwhere.eu/cache/i2/Dc5LDsIgEADQu7C2hXEKTHsWNsOvVVNKCiZG4931neB9hOeWxCK23mtbnHRyr0Pdjn60IcQy8vt5phTXNJbUnQxH6Xwr6dSZAkDgmOcwgZop2QwA3lpijzg7yUZ7iHMgUhRMRONz1IioMKvAekpwhYkJx3tdxUXs3B7_hzH2haTF9wc.jpg" alt="Fin des programmes"></div></div><div class="item-content"> <div class="title-left title-style04 underline04"> <h3><a data-diffusion="1101145662" href="/emission/fin-des-programmes-195239083.html"><strong>Fin des programmes</strong></a></h3> </div><p>Nos programmes se terminent pour cette journée, en attendant ceux de demain.</p></div></div></div></div></div></div></div></div></div></div></div><div class="col-md-4"></div></div></div></div></div></div></div></div></section> </div></div></body></html>'
})
} else {
return Promise.resolve({ data: '' })
}
})
parser({ content, date, channel })
.then(result => {
result.map(p => {
p.start = p.start.toJSON()
p.stop = p.stop.toJSON()
return p
})
expect(result).toMatchObject([
{
start: '2022-03-11T05:25:00.000Z',
stop: '2022-03-11T07:05:00.000Z',
title: 'Alex Hugo',
description:
'Des randonneurs font une macabre découverte en installant leur tente dans la nature : une jeune fille de Lusagne a en effet été sauvagement assassinée et son corps a été dissimulé sommairement dans les buissons. Rapidement, des lettres anonymes...',
icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDsIgEADAv3C2pQvC0r6FCyxLq6aUFEyMxr_rvGA-IobGYhFb77UtXnq516FuRz_aQKmM4f08mdPKY-HuJR2lh1vh02RHABRSnukK0-wYMwBERBei1rOXUwBjOc2oCSgbIqUQ0KrILqNh5VwEl9iO97qKi9hDe_wf1uJLOyO-Pw.jpg'
},
{
start: '2022-03-11T07:05:00.000Z',
stop: '2022-03-11T11:35:00.000Z',
title: 'Les saisons meurtrières : hiver rouge',
description:
"Alors que les fêtes de fin d'année battent leur plein, le commissaire Rousseau se voit confronté à une délicate affaire. En peu de temps, une troisième jeune fille vient d'être retrouvée assassinée. Le vieux limier ne croit pas à l'hypothèse...",
icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDoMgEEDRu7Cu4AgIeBY2DAzaNiIRmjRteve6_Mlb_C_D0IgtbOu9tsULL_Y61O3oRxtiKjx8XidRWokX6l7Eo_RwL3TqbCNADCm7qGB0lkwGADTGBpTSeXEBbeyk1EguAybptJbyapyQAmogG9VMwB91ZTe2h_a8PubZvKXV7PcH.jpg'
},
{
start: '2022-03-11T11:35:00.000Z',
stop: '2022-03-12T00:45:00.000Z',
title: 'Chicago Fire',
description:
"Brett, Foster et Kidd font une virée dans l'Indiana. Sur la route, ils sont les témoins d'un accident. Un bus qui transporte une équipe de hockey percute une voiture en panne. Sans réseau téléphonique, ils ne peuvent prévenir leurs collègues. En...",
icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDsIgEADAv3DWwpayQN_CZaFLq6aUFEyMxr_rvGA-IlJjMYut99rmIIPc67VuRz_aNS1loPfzZF5WHgr3INNROt0Knya7BJBoyT5NoLxjmwEgWusoau2DtCqBc1OOiCZNI2vvVLSAigzl0WSvAVFHPdzrKi5ip_b4PxDtSzsjvj8.jpg'
},
{
start: '2022-03-12T00:45:00.000Z',
stop: '2022-03-12T04:05:00.000Z',
title: 'Chicago Fire',
description:
"Lors d'une urgence, la vie du lieutenant Casey est soudainement mise en danger : un homme le menace avec une arme. Grissom prévient la caserne qu'ils devront se préparer à une évaluation de leur performance. Otis apprend qu'il a remporté un prix...",
icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5BDsIgEADAv3C2hZVSoG_hsixLq6aUFEyMxr_rvGA-ImJjsYit99qWIIPc61C3ox9toFRGfD9P5rTyWLgHSUfpeCt8muwIgDBlTxMo79hmAIjWOoxa-yCT9loxMqIBjhMb7eFqk8qTy6CJZ01GUTTjva7iInZsj_9jnu1LOyO-Pw.jpg'
},
{
start: '2022-03-12T04:05:00.000Z',
stop: '2022-03-12T05:05:00.000Z',
title: 'Fin des programmes',
description:
'Nos programmes se terminent pour cette journée, en attendant ceux de demain.',
icon: 'https://tv.cdnartwhere.eu/cache/i2/Dc5LDsIgEADQu7C2hXEKTHsWNsOvVVNKCiZG4931neB9hOeWxCK23mtbnHRyr0Pdjn60IcQy8vt5phTXNJbUnQxH6Xwr6dSZAkDgmOcwgZop2QwA3lpijzg7yUZ7iHMgUhRMRONz1IioMKvAekpwhYkJx3tdxUXs3B7_hzH2haTF9wc.jpg'
}
])
done()
})
.catch(done)
})
it('can handle empty guide', done => {
parser({
content:
'<!DOCTYPE html><html lang="fr" dir="ltr" prefix=""> <head></head> <body></body></html>',
date,
channel
})
.then(result => {
expect(result).toMatchObject([])
done()
})
.catch(done)
})