Initial Commit
This commit is contained in:
1
sites/magentatv.at/__data__/content_0000.json
Normal file
1
sites/magentatv.at/__data__/content_0000.json
Normal file
File diff suppressed because one or more lines are too long
1
sites/magentatv.at/__data__/content_0600.json
Normal file
1
sites/magentatv.at/__data__/content_0600.json
Normal file
File diff suppressed because one or more lines are too long
1
sites/magentatv.at/__data__/content_1200.json
Normal file
1
sites/magentatv.at/__data__/content_1200.json
Normal file
File diff suppressed because one or more lines are too long
1
sites/magentatv.at/__data__/content_1800.json
Normal file
1
sites/magentatv.at/__data__/content_1800.json
Normal file
File diff suppressed because one or more lines are too long
1
sites/magentatv.at/__data__/program.json
Normal file
1
sites/magentatv.at/__data__/program.json
Normal file
@@ -0,0 +1 @@
|
||||
{"imageVersion":"1cjcfg","eventId":"crid:~~2F~~2Fgn.tv~~2F2236391~~2FEP019388320252,imi:af4af994f29354e64878101c0612b17999d0c1a3","channelId":"13TH_STREET_HD","title":"Law & Order: Special Victims Unit","startTime":1667087700,"endTime":1667094000,"mergedId":"184536|de","minimumAge":"16","replayTvMinAge":16,"seriesId":"crid:~~2F~~2Fgn.tv~~2F7896816~~2FSH019388320000","parentSeriesId":"crid:~~2F~~2Fbds.tv~~2F14625541","episodeName":"Mutterinstinkt","seasonNumber":6,"episodeNumber":1,"shortDescription":"Patty Branson wird von einem Jungen in einem Park angegriffen und von diesem verfolgt. Der Junge wurde von Michelle Osborne engagiert, die vorgibt, die leibliche Mutter des Mädchens zu sein. Doch ist dies tatsächlich die Wahrheit?","longDescription":"Patty Branson wird von einem Jungen in einem Park angegriffen und von diesem verfolgt. Der Junge wurde von Michelle Osborne engagiert, die vorgibt, die leibliche Mutter des Mädchens zu sein. Doch ist dies tatsächlich die Wahrheit?","actors":["Christopher Meloni","Mariska Hargitay","Richard Belzer","Dann Florek","Ice-T","BD Wong","Diane Neal","Tamara Tunie","Abigail Breslin","Lea Thompson"],"directors":["Arthur W. Forney"],"producers":["Dick Wolf","Ted Kotcheff","Neal Baer"],"audioLanguages":[{"lang":"de"}],"productionDate":"2004","countryOfOrigin":"US","genres":["Drama-Serie","Krimi Drama","Action","Thriller"],"seriesPremiereAirings":true}
|
||||
219
sites/magentatv.at/magentatv.at.channels.xml
Normal file
219
sites/magentatv.at/magentatv.at.channels.xml
Normal file
@@ -0,0 +1,219 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<site site="magentatv.at">
|
||||
<channels>
|
||||
<channel lang="de" xmltv_id="123tv.de" site_id="123_tv">1-2-3.tv</channel>
|
||||
<channel lang="de" xmltv_id="13thStreet.de" site_id="13TH_STREET_HD">13th Street HD</channel>
|
||||
<channel lang="de" xmltv_id="3sat.de" site_id="3sat_HD">3sat</channel>
|
||||
<channel lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="Al_Jazeera">Al Jazeera</channel>
|
||||
<channel lang="de" xmltv_id="ARDalpha.de" site_id="ARD_alpha_HD">ARD-alpha</channel>
|
||||
<channel lang="de" xmltv_id="ARTEGermany.de" site_id="arte_HD">ARTE Deutsch</channel>
|
||||
<channel lang="de" xmltv_id="ATV.at" site_id="ATV_HD">ATV</channel>
|
||||
<channel lang="de" xmltv_id="ATV2.at" site_id="ATV_II_HD">ATV 2</channel>
|
||||
<channel lang="de" xmltv_id="AutoMotorundSport.de" site_id="Auto_Motor_und_Sport_Channel_HD">Auto Motor und Sport</channel>
|
||||
<channel lang="de" xmltv_id="BabyTV.uk" site_id="Baby_TV">Baby TV</channel>
|
||||
<channel lang="en" xmltv_id="BBCEntertainment.uk" site_id="BBC_Entertainment">BBC Entertainment Europe</channel>
|
||||
<channel lang="en" xmltv_id="BBCWorldNewsEurope.uk" site_id="BBC_World">BBC World News Europe</channel>
|
||||
<channel lang="de" xmltv_id="Bergblick.de" site_id="Planet_HD">Bergblick</channel>
|
||||
<channel lang="de" xmltv_id="BibelTV.de" site_id="Bibel_TV_HD">Bibel TV</channel>
|
||||
<channel lang="en" xmltv_id="BloombergTVEurope.uk" site_id="Bloomberg_Europe">Bloomberg</channel>
|
||||
<channel lang="en" xmltv_id="BlueHustler.nl" site_id="Blue_Hustler">Blue Hustler Europe</channel>
|
||||
<channel lang="de" xmltv_id="BonGusto.de" site_id="Bongusto_HD">Bon Gusto</channel>
|
||||
<channel lang="de" xmltv_id="BoomerangGermany.de" site_id="Disney_XD">Boomerang</channel>
|
||||
<channel lang="de" xmltv_id="CartoonNetworkGermany.de" site_id="Cartoon_Network_HD">Cartoon Network</channel>
|
||||
<channel lang="en" xmltv_id="CCTV4Europe.cn" site_id="CCTV4">CCTV 4 Europe</channel>
|
||||
<channel lang="en" xmltv_id="CGTN.cn" site_id="CCTV_News">CGTN</channel>
|
||||
<channel lang="en" xmltv_id="ClubMTVEurope.uk" site_id="MTV_Dance">Club MTV</channel>
|
||||
<channel lang="en" xmltv_id="CNBCEurope.uk" site_id="CNBC">CNBC</channel>
|
||||
<channel lang="en" xmltv_id="CNNInternationalEurope.us" site_id="CNN">CNN</channel>
|
||||
<channel lang="de" xmltv_id="ComedyCentralGermany.de" site_id="Comedy_Central_VIVA_HD">COMEDY CENTRAL</channel>
|
||||
<channel lang="de" xmltv_id="CrimePlusInvestigationGermany.de" site_id="A_E_HD">Crime + Investigation</channel>
|
||||
<channel lang="de" xmltv_id="DasErste.de" site_id="Das_Erste_HD">Das Erste</channel>
|
||||
<channel lang="de" xmltv_id="DeluxeMusic.de" site_id="Deluxe_Music_HD">DELUXE MUSIC</channel>
|
||||
<channel lang="de" xmltv_id="DisneyChannelGermany.de" site_id="Disney_Channel">Disney Channel Deutschland</channel>
|
||||
<channel lang="de" xmltv_id="DMAX.de" site_id="DMAX_HD">DMAX Austria</channel>
|
||||
<channel lang="hu" xmltv_id="DunaTV.hu" site_id="Duna_TV">Duna TV</channel>
|
||||
<channel lang="de" xmltv_id="EEurope.us" site_id="E__Entertainment_HD">E! Europe</channel>
|
||||
<channel lang="de" xmltv_id="eSports1.de" site_id="Sport_1_US_HD">eSPORTS1 HD</channel>
|
||||
<channel lang="de" xmltv_id="EuronewsGerman.fr" site_id="Euronews">euronews (D)</channel>
|
||||
<channel lang="de" xmltv_id="Eurosport1Germany.de" site_id="Eurosport_1_HD">Eurosport 1 Germany</channel>
|
||||
<!-- <channel lang="sr" xmltv_id="???" site_id="Eurosport_Srbija">Eurosport Serbia</channel> -->
|
||||
<channel lang="tr" xmltv_id="Eurosport1Turkey.tr" site_id="Eurosport_Turkce">Eurosport Turkey</channel>
|
||||
<channel lang="de" xmltv_id="EvilAngelTV.us" site_id="Evil_Angel_HD">Evil Angel TV</channel>
|
||||
<channel lang="de" xmltv_id="ExtremeSportsChannelEurope.nl" site_id="Extreme_Sports_Channel">Extreme Sports Channel</channel>
|
||||
<channel lang="en" xmltv_id="FashionTVEurope.fr" site_id="Fashion_TV_HD">Fashion TV</channel>
|
||||
<channel lang="bs" xmltv_id="FilmKlub.rs" site_id="Film_Klub">Film Klub</channel>
|
||||
<channel lang="de" xmltv_id="FixFoxi.de" site_id="fix___foxi">Fix&Foxi</channel>
|
||||
<channel lang="fr" xmltv_id="France24French.fr" site_id="France_24">France 24 (en francais)</channel>
|
||||
<channel lang="de" xmltv_id="GEOTelevision.de" site_id="GEO_Television_HD">GEO TV HD</channel>
|
||||
<channel lang="de" xmltv_id="GoTV.at" site_id="gotv">GoTV</channel>
|
||||
<channel lang="de" xmltv_id="GuteLauneTV.de" site_id="Gute_Laune_TV">Gute Laune TV</channel>
|
||||
<channel lang="de" xmltv_id="Haberturk.tr" site_id="Habertuerk_TV">Habertürk</channel>
|
||||
<channel lang="bs" xmltv_id="Hayat.ba" site_id="Hayat">Hayat TV</channel>
|
||||
<channel lang="de" xmltv_id="Heimatkanal.de" site_id="Heimatkanal">Heimatkanal</channel>
|
||||
<channel lang="de" xmltv_id="HistoryGermany.de" site_id="History_HD">History Germany</channel>
|
||||
<channel lang="de" xmltv_id="HGTVGermany.us" site_id="HGTV">HOME & GARDEN TV HD</channel>
|
||||
<channel lang="de" xmltv_id="HRFernsehen.de" site_id="hessen_fernsehen_HD">HR Fernsehen</channel>
|
||||
<channel lang="hr" xmltv_id="HRT1.hr" site_id="HRT_TV_1">HRT TV 1</channel>
|
||||
<channel lang="de" xmltv_id="HSE.de" site_id="HSE24_HD">HSE</channel>
|
||||
<channel lang="de" xmltv_id="HSEExtra.de" site_id="HSE24_Extra_HD">HSE Extra</channel>
|
||||
<channel lang="de" xmltv_id="HSETrend.de" site_id="HSE24_Trend">HSE Trend</channel>
|
||||
<channel lang="de" xmltv_id="HT1Innviertel.at" site_id="HT1">HT 1 Innviertel</channel>
|
||||
<channel lang="en" xmltv_id="HustlerTVEurope.nl" site_id="Hustler_TV">Hustler TV Europe</channel>
|
||||
<channel lang="de" xmltv_id="kabeleinsAustria.at" site_id="kabel_eins_HD">Kabel Eins Austria</channel>
|
||||
<channel lang="de" xmltv_id="kabeleinsDokuAustria.at" site_id="kabel_eins_classics_HD">Kabel Eins Classics</channel>
|
||||
<channel lang="de" xmltv_id="kabeleinsDoku.de" site_id="kabel_eins_Doku_HD">Kabel Eins Doku Austria</channel>
|
||||
<channel lang="de" xmltv_id="KIKA.de" site_id="KI_KA_HD">KIKA</channel>
|
||||
<channel lang="de" xmltv_id="KinoweltTV.de" site_id="Kinowelt_TV_HD">Kinowelt TV HD</channel>
|
||||
<channel lang="sr" xmltv_id="KlasikTV.hr" site_id="Klasik_TV">Klasik TV</channel>
|
||||
<channel lang="de" xmltv_id="KroneTV.at" site_id="krone_tv_HD">Krone TV</channel>
|
||||
<channel lang="de" xmltv_id="KTV.at" site_id="K_TV">K-TV</channel>
|
||||
<channel lang="de" xmltv_id="KurierTV.at" site_id="Schau_TV_HD">Kurier TV</channel>
|
||||
<channel lang="de" xmltv_id="MelodieTV.at" site_id="Melodie_TV">Melodie TV</channel>
|
||||
<channel lang="de" xmltv_id="MotorvisionTV.de" site_id="Motorvision_HD">Motorvision</channel>
|
||||
<channel lang="de" xmltv_id="MTVGermany.de" site_id="MTV_HD">MTV</channel>
|
||||
<channel lang="de" xmltv_id="MTV00s.uk" site_id="VH_1_Europe">MTV 00s</channel>
|
||||
<channel lang="de" xmltv_id="MTV80s.uk" site_id="VH_1_Classic">MTV 80s</channel>
|
||||
<channel lang="en" xmltv_id="MTV90s.uk" site_id="MTV_90s">MTV 90s</channel>
|
||||
<channel lang="en" xmltv_id="MTVHitsEurope.uk" site_id="MTVhits_">MTV Hits Europe</channel>
|
||||
<channel lang="en" xmltv_id="MTVLive.uk" site_id="MTV_live_HD">MTV Live HD</channel>
|
||||
<channel lang="de" xmltv_id="N24Doku.de" site_id="N24_Austria">N24 Doku</channel>
|
||||
<channel lang="de" xmltv_id="NationalGeographicGermany.de" site_id="Nat_Geo_HD">NatGeo HD</channel>
|
||||
<channel lang="de" xmltv_id="NationalGeographicWildGermany.de" site_id="Nat_Geo_People_HD">National Geographic Wild HD</channel>
|
||||
<channel lang="de" xmltv_id="NickGermany.de" site_id="Nickelodeon_HD">Nick HD</channel>
|
||||
<channel lang="de" xmltv_id="NickJrGermany.de" site_id="Nick_Junior">Nick.Jr.</channel>
|
||||
<channel lang="de" xmltv_id="Nitro.de" site_id="RTL_Nitro_HD">Nitro Austria</channel>
|
||||
<channel lang="de" xmltv_id="NTVAustria.at" site_id="n_tv_HD">N-TV Austria</channel>
|
||||
<channel lang="de" xmltv_id="Oe24TV.at" site_id="oe24_TV_HD">Oe24 TV</channel>
|
||||
<channel lang="de" xmltv_id="OktoTV.at" site_id="OKTO_HD">Okto TV</channel>
|
||||
<channel lang="de" xmltv_id="One.de" site_id="EinsFestival_HD">One</channel>
|
||||
<channel lang="de" xmltv_id="ORF1.at" site_id="ORF_eins_HD">ORF 1</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Burgenland.at" site_id="ORF2_Burgenland_HD">ORF 2 Burgenland</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Europe.at" site_id="ORF2_Europa">ORF 2 Europe</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Karnten.at" site_id="ORF2_K_rnten_HD">ORF 2 Kärnten</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Niederosterreich.at" site_id="ORF2_Nieder_sterreich_HD">ORF 2 NiederÖsterreich</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Oberosterreich.at" site_id="ORF2_Ober_sterreich_HD">ORF 2 OberÖsterreich</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Salzburg.at" site_id="ORF2_Salzburg_HD">ORF 2 Salzburg</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Steiermark.at" site_id="ORF2_Steiermark_HD">ORF 2 Steiermark</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Tirol.at" site_id="ORF2_Tirol_HD">ORF 2 Tirol</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Vorarlberg.at" site_id="ORF2_Vorarlberg_HD">ORF 2 Vorarlberg</channel>
|
||||
<channel lang="de" xmltv_id="ORF2Wien.at" site_id="ORF2_Wien_HD">ORF 2 Wien</channel>
|
||||
<channel lang="de" xmltv_id="ORFIII.at" site_id="ORF_III_HD">ORF III</channel>
|
||||
<channel lang="de" xmltv_id="ORFSportPlus.at" site_id="ORF_Sport__HD">ORF Sport +</channel>
|
||||
<channel lang="de" xmltv_id="Phoenix.de" site_id="Phoenix_HD">Phoenix</channel>
|
||||
<channel lang="sr" xmltv_id="PinkExtra.rs" site_id="Pink_Extra">Pink Extra</channel>
|
||||
<channel lang="sr" xmltv_id="PinkFilm.rs" site_id="Pink_Film">Pink Film</channel>
|
||||
<channel lang="sr" xmltv_id="PinkMusic.rs" site_id="Pink_Music">Pink Music</channel>
|
||||
<channel lang="sr" xmltv_id="PinkPlus.rs" site_id="Pink_Plus">Pink Plus</channel>
|
||||
<channel lang="de" xmltv_id="ProSiebenAustria.at" site_id="ProSieben_HD">ProSieben Austria</channel>
|
||||
<channel lang="de" xmltv_id="ProSiebenFun.de" site_id="ProSieben_FUN_HD">ProSieben FUN HD</channel>
|
||||
<channel lang="de" xmltv_id="ProSiebenMaxxAustria.at" site_id="ProSieben_Maxx_HD">ProSieben Maxx Austria</channel>
|
||||
<channel lang="de" xmltv_id="Puls24.at" site_id="PULS24_HD">Puls 24</channel>
|
||||
<channel lang="de" xmltv_id="Puls4.at" site_id="PULS_4_HD">Puls 4</channel>
|
||||
<channel lang="de" xmltv_id="QVCGermany.de" site_id="QVC_HD">QVC Deutschland</channel>
|
||||
<channel lang="de" xmltv_id="QVCStyleGermany.de" site_id="QVC_Beauty_Style">QVC Style Deutschland</channel>
|
||||
<channel lang="de" xmltv_id="QVC2Germany.de" site_id="QVC_Plus">QVC ZWEI</channel>
|
||||
<channel lang="de" xmltv_id="R9.at" site_id="R9_HD">R9</channel>
|
||||
<channel lang="it" xmltv_id="Rai2.it" site_id="RAI_Due">Rai Due</channel>
|
||||
<channel lang="it" xmltv_id="Rai3.it" site_id="RAI_Tre">Rai Tre</channel>
|
||||
<channel lang="it" xmltv_id="Rai1.it" site_id="RAI_Uno">Rai Uno</channel>
|
||||
<channel lang="de" xmltv_id="RBBBerlin.de" site_id="RBB_Berlin_HD">RBB Berlin</channel>
|
||||
<channel lang="de" xmltv_id="RiC.de" site_id="RiC">RiC</channel>
|
||||
<channel lang="de" xmltv_id="RomanceTVGermany.de" site_id="Romance_TV_HD">Romance TV</channel>
|
||||
<channel lang="de" xmltv_id="RTLGermany.de" site_id="RTL_HD">RTL Austria</channel>
|
||||
<channel lang="de" xmltv_id="RTLCrimeGermany.de" site_id="RTL_Crime_HD">RTL Crime Deutschland</channel>
|
||||
<channel lang="de" xmltv_id="RTLLivingGermany.de" site_id="RTL_Living_HD">RTL Living Deutschland</channel>
|
||||
<channel lang="de" xmltv_id="RTLPassionGermany.de" site_id="RTL_Passion_HD">RTL Passion Deutschland</channel>
|
||||
<channel lang="de" xmltv_id="RTLZwei.de" site_id="RTL_II_HD">RTL Zwei Austria</channel>
|
||||
<channel lang="de" xmltv_id="RTLup.de" site_id="RTLplus_HD">RTLup</channel>
|
||||
<channel lang="de" xmltv_id="RTRPlaneta.ru" site_id="RTR_Planeta">RTR Planeta</channel>
|
||||
<channel lang="de" xmltv_id="SAT1GOLDAustria.at" site_id="Sat_1_Gold_HD">Sat. 1 Gold Österreich</channel>
|
||||
<channel lang="de" xmltv_id="SAT1Austria.at" site_id="Sat_1_HD">Sat. 1 Österreich</channel>
|
||||
<channel lang="de" xmltv_id="SAT1emotions.de" site_id="Sat_1_emotions_HD">SAT.1 emotions</channel>
|
||||
<channel lang="de" xmltv_id="ServusTV.at" site_id="Servus_TV_HD">Servus TV Österreich</channel>
|
||||
<channel lang="de" xmltv_id="SixxAustria.at" site_id="Sixx_Austria_HD">Sixx Austria</channel>
|
||||
<channel lang="de" xmltv_id="SkyAtlanticGermany.de" site_id="Sky_Atlantic_HD">Sky Atlantic HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaActionGermany.de" site_id="Sky_Cinema_Action_HD">Sky Cinema Action HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaBestOf.de" site_id="Sky_Hits_HD">Sky Cinema Best Of HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaClassics.de" site_id="Sky_Nostalgie">Sky Cinema Classics</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaFamilyGermany.de" site_id="Sky_Cinema_Family_HD">Sky Cinema Family</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaFun.de" site_id="Sky_Comedy">Sky Cinema Fun</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaPremierenPlus24.de" site_id="Sky_Cinema__24">Sky Cinema Premieren +24</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaPremieren.de" site_id="Sky_Cinema_HD">Sky Cinema Premieren HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaSpecial.de" site_id="Disney_Cinemagic_HD">Sky Cinema Special HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyCinemaThrillerGermany.de" site_id="Sky_Cinema_Thriller_HD">Sky Cinema Thriller HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyComedyGermany.de" site_id="Sky_Comedy_HD">Sky Comedy HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyCrimeGermany.de" site_id="Sky_Crime_HD">Sky Crime HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyDocumentariesGermany.de" site_id="Sky_Documentaries_HD">Sky Documentaries HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyKrimi.de" site_id="Sky_Krimi">Sky Krimi HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyNatureGermany.de" site_id="Sky_Nature_HD">Sky Nature HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyOneGermany.de" site_id="Sky_1">Sky One HD</channel>
|
||||
<channel lang="de" xmltv_id="SkyReplayGermany.de" site_id="Sky_Popup_Channel_HD">Sky Replay</channel>
|
||||
<channel lang="de" xmltv_id="SkyShowcase.de" site_id="Sky_Showcase_HD">Sky Showcase</channel>
|
||||
<channel lang="de" xmltv_id="SkySport1Germany.de" site_id="Sky_Sport_HD_1">Sky Sport 1 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport10Germany.de" site_id="Sky_Sport_HD_10">Sky Sport 10 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport11Germany.de" site_id="Sky_Sport_HD_11">Sky Sport 11 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport12Germany.de" site_id="Sky_Sport_HD_12">Sky Sport 12 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport13Germany.de" site_id="Sky_Sport_HD_13">Sky Sport 13 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport14Germany.de" site_id="Sky_Sport_HD_14">Sky Sport 14 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport2Germany.de" site_id="Sky_Sport_HD_2">Sky Sport 2 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport3Germany.de" site_id="Sky_Sport_HD_3">Sky Sport 3 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport4Germany.de" site_id="Sky_Sport_HD_4">Sky Sport 4 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport5Germany.de" site_id="Sky_Sport_HD_5">Sky Sport 5 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport6Germany.de" site_id="Sky_Sport_HD_6">Sky Sport 6 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport7Germany.de" site_id="Sky_Sport_HD_7">Sky Sport 7 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport8Germany.de" site_id="Sky_Sport_HD_8">Sky Sport 8 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySport9Germany.de" site_id="Sky_Sport_HD_9">Sky Sport 9 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria1.at" site_id="Sky_Sport_Austria_HD">Sky Sport Austria 1</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria2.at" site_id="Sky_Sport_Austria_2_HD">Sky Sport Austria 2</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria3.at" site_id="Sky_Sport_Austria_3_HD">Sky Sport Austria 3</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria4.at" site_id="Sky_Sport_Austria_4_HD">Sky Sport Austria 4</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria5.at" site_id="Sky_Sport_Austria_5_HD">Sky Sport Austria 5</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria6.at" site_id="Sky_Sport_Austria_6_HD">Sky Sport Austria 6</channel>
|
||||
<channel lang="de" xmltv_id="SkySportAustria7.at" site_id="Sky_Sport_Austria_7_HD">Sky Sport Austria 7</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga1.de" site_id="Sky_Bundesliga_HD_1">Sky Sport Bundesliga 1 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga10.de" site_id="Sky_Bundesliga_HD_10">Sky Sport Bundesliga 10 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga2.de" site_id="Sky_Bundesliga_HD_2">Sky Sport Bundesliga 2 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga3.de" site_id="Sky_Bundesliga_HD_3">Sky Sport Bundesliga 3 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga4.de" site_id="Sky_Bundesliga_HD_4">Sky Sport Bundesliga 4 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga5.de" site_id="Sky_Bundesliga_HD_5">Sky Sport Bundesliga 5 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga6.de" site_id="Sky_Bundesliga_HD_6">Sky Sport Bundesliga 6 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga7.de" site_id="Sky_Bundesliga_HD_7">Sky Sport Bundesliga 7 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga8.de" site_id="Sky_Bundesliga_HD_8">Sky Sport Bundesliga 8 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportBundesliga9.de" site_id="Sky_Bundesliga_HD_9">Sky Sport Bundesliga 9 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportF1Germany.de" site_id="Sky_Sport_F1_HD">Sky Sport F1 HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportGolf.de" site_id="Sky_Sport_Golf_HD">Sky Sport Golf</channel>
|
||||
<channel lang="de" xmltv_id="SkySportNewsGermany.de" site_id="Sky_Sport_News_HD">Sky Sport News HD</channel>
|
||||
<channel lang="de" xmltv_id="SkySportPremierLeague.de" site_id="Sky_Sport_Premier_League_HD">Sky Sport Premier League</channel>
|
||||
<channel lang="de" xmltv_id="SpiegelGeschichte.de" site_id="Spiegel_Geschichte_HD">Spiegel Geschichte</channel>
|
||||
<channel lang="de" xmltv_id="SpiegelTVWissen.de" site_id="Spiegel_Wissen_HD">Spiegel TV Wissen HD</channel>
|
||||
<channel lang="de" xmltv_id="Sport1.de" site_id="Sport_1_HD">Sport 1</channel>
|
||||
<channel lang="de" xmltv_id="Sport1Plus.de" site_id="Sport1__HD">Sport 1+</channel>
|
||||
<channel lang="de" xmltv_id="Sportdigital.de" site_id="sportdigital_HD">SPORTDIGITAL FUSSBALL</channel>
|
||||
<channel lang="de" xmltv_id="SRFernsehen.de" site_id="SR_HD">SR Fernsehen HD</channel>
|
||||
<channel lang="de" xmltv_id="StingrayAllDayParty.ca" site_id="All_Day_Party">Stingray All Day Party!</channel>
|
||||
<channel lang="de" xmltv_id="StingrayClassicRB.ca" site_id="Classic_RnB_Soul">Stingray Classic R&B</channel>
|
||||
<channel lang="de" xmltv_id="StingrayClassicRock.ca" site_id="Classic_Rock">Stingray Classic Rock</channel>
|
||||
<channel lang="de" xmltv_id="SuperRTL.de" site_id="Super_RTL_HD">Super RTL Austria</channel>
|
||||
<channel lang="de" xmltv_id="SWRFernsehenRheinlandPfalz.de" site_id="SWR_HD">SWR Fernsehen RP</channel>
|
||||
<channel lang="de" xmltv_id="SyfyGermany.de" site_id="Syfy_HD">SYFY HD</channel>
|
||||
<channel lang="de" xmltv_id="tagesschau24.de" site_id="tagesschau24_HD">tagesschau24 HD</channel>
|
||||
<channel lang="de" xmltv_id="Tele5.de" site_id="TELE_5">Tele 5</channel>
|
||||
<channel lang="de" xmltv_id="TirolTV.at" site_id="Tirol_TV_HD">Tirol TV</channel>
|
||||
<channel lang="de" xmltv_id="TLCAustria.at" site_id="TLC_HD">TLC Austria</channel>
|
||||
<channel lang="sr" xmltv_id="ToxicTV.rs" site_id="Toxic_TV_HD">Toxic TV</channel>
|
||||
<channel lang="en" xmltv_id="TRTWorld.tr" site_id="TRT_International">TRT World</channel>
|
||||
<channel lang="pl" xmltv_id="TVPPolonia.pl" site_id="TV_Polonia">TV Polonia</channel>
|
||||
<channel lang="fr" xmltv_id="TV5MondeEurope.fr" site_id="TV5Monde_Europe">TV5MONDE Europe</channel>
|
||||
<channel lang="de" xmltv_id="UniversalTVGermany.de" site_id="Universal_Channel_HD">Universal TV HD</channel>
|
||||
<channel lang="sr" xmltv_id="Vesti.rs" site_id="VESTI">Vesti</channel>
|
||||
<channel lang="de" xmltv_id="VolksmusikTV.de" site_id="Volksmusik">Volksmusik TV</channel>
|
||||
<channel lang="de" xmltv_id="VoxAustria.at" site_id="VOX_HD">Vox Austria</channel>
|
||||
<channel lang="de" xmltv_id="W24.at" site_id="W24_HD">W24</channel>
|
||||
<channel lang="de" xmltv_id="WarnerTVComedy.de" site_id="TNT_Comedy_HD">Warner TV Comedy HD</channel>
|
||||
<channel lang="de" xmltv_id="WarnerTVSerie.de" site_id="TNT_Serie_HD">Warner TV Serie</channel>
|
||||
<channel lang="de" xmltv_id="WDRFernsehenKoln.de" site_id="WDR_Koeln_HD">WDR Fernsehen Köln</channel>
|
||||
<channel lang="de" xmltv_id="ZDF.de" site_id="ZDF_HD">ZDF</channel>
|
||||
<channel lang="de" xmltv_id="ZDFinfo.de" site_id="ZDF_info_HD">ZDF Info</channel>
|
||||
<channel lang="de" xmltv_id="ZDFneo.de" site_id="ZDF_neo_HD">ZDF Neo</channel>
|
||||
</channels>
|
||||
</site>
|
||||
136
sites/magentatv.at/magentatv.at.config.js
Normal file
136
sites/magentatv.at/magentatv.at.config.js
Normal file
@@ -0,0 +1,136 @@
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
|
||||
const API_STATIC_ENDPOINT = 'https://static.spark.magentatv.at/deu/web/epg-service-lite/at'
|
||||
const API_PROD_ENDPOINT = 'https://prod.spark.magentatv.at/deu/web/linear-service/v2'
|
||||
|
||||
module.exports = {
|
||||
site: 'magentatv.at',
|
||||
days: 2,
|
||||
request: {
|
||||
cache: {
|
||||
ttl: 60 * 60 * 1000 // 1 hour
|
||||
}
|
||||
},
|
||||
url: function ({ date }) {
|
||||
return `${API_STATIC_ENDPOINT}/de/events/segments/${date.format('YYYYMMDDHHmmss')}`
|
||||
},
|
||||
async parser({ content, channel, date }) {
|
||||
let programs = []
|
||||
let items = parseItems(content, channel)
|
||||
if (!items.length) return programs
|
||||
const promises = [
|
||||
axios.get(
|
||||
`${API_STATIC_ENDPOINT}/de/events/segments/${date
|
||||
.add(6, 'h')
|
||||
.format('YYYYMMDDHHmmss')}`,
|
||||
{
|
||||
responseType: 'arraybuffer'
|
||||
}
|
||||
),
|
||||
axios.get(
|
||||
`${API_STATIC_ENDPOINT}/de/events/segments/${date
|
||||
.add(12, 'h')
|
||||
.format('YYYYMMDDHHmmss')}`,
|
||||
{
|
||||
responseType: 'arraybuffer'
|
||||
}
|
||||
),
|
||||
axios.get(
|
||||
`${API_STATIC_ENDPOINT}/de/events/segments/${date
|
||||
.add(18, 'h')
|
||||
.format('YYYYMMDDHHmmss')}`,
|
||||
{
|
||||
responseType: 'arraybuffer'
|
||||
}
|
||||
)
|
||||
]
|
||||
|
||||
await Promise.allSettled(promises)
|
||||
.then(results => {
|
||||
results.forEach(r => {
|
||||
if (r.status === 'fulfilled') {
|
||||
const parsed = parseItems(r.value.data, channel)
|
||||
|
||||
items = items.concat(parsed)
|
||||
}
|
||||
})
|
||||
})
|
||||
.catch(console.error)
|
||||
|
||||
for (let item of items) {
|
||||
const detail = await loadProgramDetails(item)
|
||||
programs.push({
|
||||
title: item.title,
|
||||
sub_title: detail.episodeName,
|
||||
description: detail.longDescription,
|
||||
date: detail.productionDate,
|
||||
category: detail.genres,
|
||||
actors: detail.actors,
|
||||
directors: detail.directors,
|
||||
producers: detail.producers,
|
||||
season: parseSeason(detail),
|
||||
episode: parseEpisode(detail),
|
||||
start: parseStart(item),
|
||||
stop: parseStop(item)
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const data = await axios
|
||||
.get(`${API_PROD_ENDPOINT}/channels?cityId=65535&language=de&productClass=Orion-DASH`)
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
return data.channels.map(item => {
|
||||
return {
|
||||
lang: 'de',
|
||||
site_id: item.id,
|
||||
name: item.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
async function loadProgramDetails(item) {
|
||||
if (!item.id) return {}
|
||||
const url = `${API_PROD_ENDPOINT}/replayEvent/${item.id}?returnLinearContent=true`
|
||||
const data = await axios
|
||||
.get(url)
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
return data || {}
|
||||
}
|
||||
|
||||
function parseStart(item) {
|
||||
return dayjs.unix(item.startTime)
|
||||
}
|
||||
|
||||
function parseStop(item) {
|
||||
return dayjs.unix(item.endTime)
|
||||
}
|
||||
|
||||
function parseItems(content, channel) {
|
||||
if (!content) return []
|
||||
const data = JSON.parse(content)
|
||||
if (!data || !Array.isArray(data.entries)) return []
|
||||
const channelData = data.entries.find(e => e.channelId === channel.site_id)
|
||||
if (!channelData) return []
|
||||
|
||||
return Array.isArray(channelData.events) ? channelData.events : []
|
||||
}
|
||||
|
||||
function parseSeason(detail) {
|
||||
if (!detail.seasonNumber) return null
|
||||
if (String(detail.seasonNumber).length > 2) return null
|
||||
return detail.seasonNumber
|
||||
}
|
||||
|
||||
function parseEpisode(detail) {
|
||||
if (!detail.episodeNumber) return null
|
||||
if (String(detail.episodeNumber).length > 3) return null
|
||||
return detail.episodeNumber
|
||||
}
|
||||
97
sites/magentatv.at/magentatv.at.test.js
Normal file
97
sites/magentatv.at/magentatv.at.test.js
Normal file
@@ -0,0 +1,97 @@
|
||||
// npm run channels:parse -- --config=./sites/magentatv.at/magentatv.at.config.js --output=./sites/magentatv.at/magentatv.at.channels.xml
|
||||
// npx epg-grabber --config=sites/magentatv.at/magentatv.at.config.js --channels=sites/magentatv.at/magentatv.at.channels.xml --output=guide.xml --days=2
|
||||
|
||||
const { parser, url } = require('./magentatv.at.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
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 API_STATIC_ENDPOINT = 'https://static.spark.magentatv.at/deu/web/epg-service-lite/at'
|
||||
const API_PROD_ENDPOINT = 'https://prod.spark.magentatv.at/deu/web/linear-service/v2'
|
||||
|
||||
jest.mock('axios')
|
||||
|
||||
const date = dayjs.utc('2022-10-30', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '13TH_STREET_HD',
|
||||
xmltv_id: '13thStreet.de',
|
||||
lang: 'de'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date })).toBe(`${API_STATIC_ENDPOINT}/de/events/segments/20221030000000`)
|
||||
})
|
||||
|
||||
it('can parse response', async () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content_0000.json'))
|
||||
|
||||
axios.get.mockImplementation(url => {
|
||||
if (url === `${API_STATIC_ENDPOINT}/de/events/segments/20221030060000`) {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/content_0600.json'))
|
||||
})
|
||||
} else if (url === `${API_STATIC_ENDPOINT}/de/events/segments/20221030120000`) {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/content_1200.json'))
|
||||
})
|
||||
} else if (url === `${API_STATIC_ENDPOINT}/de/events/segments/20221030180000`) {
|
||||
return Promise.resolve({
|
||||
data: fs.readFileSync(path.resolve(__dirname, '__data__/content_1800.json'))
|
||||
})
|
||||
} else if (
|
||||
url ===
|
||||
`${API_PROD_ENDPOINT}/replayEvent/crid:~~2F~~2Fgn.tv~~2F2236391~~2FEP019388320252,imi:af4af994f29354e64878101c0612b17999d0c1a3?returnLinearContent=true`
|
||||
) {
|
||||
return Promise.resolve({
|
||||
data: JSON.parse(fs.readFileSync(path.resolve(__dirname, '__data__/program.json')))
|
||||
})
|
||||
} else {
|
||||
return Promise.resolve({ data: '' })
|
||||
}
|
||||
})
|
||||
|
||||
let results = await parser({ content, channel, date })
|
||||
results = results.map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results[0]).toMatchObject({
|
||||
start: '2022-10-29T23:55:00.000Z',
|
||||
stop: '2022-10-30T01:40:00.000Z',
|
||||
title: 'Law & Order: Special Victims Unit',
|
||||
sub_title: 'Mutterinstinkt',
|
||||
description:
|
||||
'Patty Branson wird von einem Jungen in einem Park angegriffen und von diesem verfolgt. Der Junge wurde von Michelle Osborne engagiert, die vorgibt, die leibliche Mutter des Mädchens zu sein. Doch ist dies tatsächlich die Wahrheit?',
|
||||
date: '2004',
|
||||
category: ['Drama-Serie', 'Krimi Drama', 'Action', 'Thriller'],
|
||||
actors: [
|
||||
'Christopher Meloni',
|
||||
'Mariska Hargitay',
|
||||
'Richard Belzer',
|
||||
'Dann Florek',
|
||||
'Ice-T',
|
||||
'BD Wong',
|
||||
'Diane Neal',
|
||||
'Tamara Tunie',
|
||||
'Abigail Breslin',
|
||||
'Lea Thompson'
|
||||
],
|
||||
directors: ['Arthur W. Forney'],
|
||||
producers: ['Dick Wolf', 'Ted Kotcheff', 'Neal Baer'],
|
||||
season: 6,
|
||||
episode: 1
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', async () => {
|
||||
let results = await parser({ content: ``, channel, date })
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
||||
Reference in New Issue
Block a user