Added guide from hd-plus.de

This commit is contained in:
freearhey 2021-04-22 17:17:04 +03:00
parent 93ccb8c493
commit 0681bc4bf7
4 changed files with 210 additions and 0 deletions

View file

@ -4,6 +4,21 @@ on:
schedule:
- cron: '0 0 * * *'
jobs:
hd-plus_de:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2.3.1
- name: Install Dependencies
run: npm install
- name: Run EPG Grabber
run: npx epg-grabber --config=sites/hd-plus.de.config.js
- name: Deploy to GitHub Pages
uses: JamesIves/github-pages-deploy-action@4.1.1
with:
branch: gh-pages
folder: .gh-pages
clean: false
astro_com_my:
runs-on: ubuntu-latest
steps:

View file

@ -23,6 +23,7 @@ To load a program guide, all you need to do is copy the link to one of the guide
<tr><td align="left" nowrap>🇨🇿 Czechia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/m.tv.sms.cz.guide.xml</code></td></tr>
<tr><td align="left" nowrap>🇸🇻 El Salvador</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
<tr><td align="left" nowrap>🇫🇷 France</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/programme-tv.net.guide.xml</code></td></tr>
<tr><td align="left" nowrap>🇩🇪 Germany</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/hd-plus.de.guide.xml</code></td></tr>
<tr><td align="left" nowrap>🇬🇷 Greece</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/cosmote.gr.guide.xml</code></td></tr>
<tr><td align="left" nowrap>🇬🇹 Guatemala</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>
<tr><td align="left" nowrap>🇭🇳 Honduras</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mi.tv.guide.xml</code></td></tr>

143
sites/hd-plus.de.channels.xml Executable file
View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<site site="hd-plus.de">
<channels>
<channel site_id="1-2-3-tv-hd" xmltv_id="123tv.de">1-2-3.tv</channel>
<channel site_id="13th-street-hd" xmltv_id="13thStreetDeutschland.us">13th Street Deutschland</channel>
<channel site_id="3sat-hd" xmltv_id="3sat.de">3sat</channel>
<channel site_id="a-tv" xmltv_id="atv.de">a.tv</channel>
<channel site_id="allgaeu-tv" xmltv_id="allgautv.de">allgäu.tv</channel>
<channel site_id="anixe-hd" xmltv_id="AnixeHDSerie.de">Anixe HD Serie</channel>
<channel site_id="ard-alpha" xmltv_id="ARDalpha.de">ARD-alpha</channel>
<channel site_id="arte-hd" xmltv_id="ARTEDeutsch.fr">ARTE Deutsch</channel>
<channel site_id="astrotv" xmltv_id="AstroTV.de">AstroTV</channel>
<channel site_id="atv-hd" xmltv_id="ATV.at">ATV</channel>
<channel site_id="atv2" xmltv_id="ATV2.at">ATV2</channel>
<channel site_id="axn-hd" xmltv_id="AXNDeutschland.us">AXN Deutschland</channel>
<channel site_id="bayerisches-fernsehen-hd" xmltv_id="BayerischesFernsehen.de">Bayerisches Fernsehen</channel>
<channel site_id="bibel-tv-hd" xmltv_id="BibelTV.de">Bibel TV</channel>
<channel site_id="bloomberg-tv-europe" xmltv_id="BloombergTVEurope.us">Bloomberg TV Europe</channel>
<channel site_id="boomerang" xmltv_id="BoomerangDeutschland.us">Boomerang Deutschland</channel>
<channel site_id="cartoon-network" xmltv_id="CartoonNetworkDeutschland.us">Cartoon Network Deutschland</channel>
<channel site_id="channel-21" xmltv_id="Channel21.de">Channel 21</channel>
<channel site_id="comedy-central" xmltv_id="ComedyCentralDeutschland.us">Comedy Central Deutschland</channel>
<channel site_id="das-erste-hd" xmltv_id="DasErste.de">Das Erste</channel>
<channel site_id="deluxe-music-hd" xmltv_id="DeluxeMusic.de">Deluxe Music</channel>
<channel site_id="deutsches-musik-fernsehen" xmltv_id="DeutschesMusikFernsehen.de">Deutsches Musik Fernsehen</channel>
<channel site_id="die-neue-zeit-tv" xmltv_id="DieNeueZeitTV.ch">Die Neue Zeit TV</channel>
<channel site_id="discovery-channel-hd" xmltv_id="DiscoveryChannelDeutschland.us">Discovery Channel Deutschland</channel>
<channel site_id="disney-channel-hd" xmltv_id="DisneyChannelDeutschland.us">Disney Channel Deutschland</channel>
<channel site_id="disney-junior-hd" xmltv_id="DisneyJuniorDeutschland.us">Disney Junior Deutschland</channel>
<channel site_id="dmax-hd" xmltv_id="DMAXDeutschland.us">DMAX Deutschland</channel>
<channel site_id="donau-tv" xmltv_id="DonauTV.de">Donau TV</channel>
<channel site_id="e-entertainment-hd" xmltv_id="EEurope.us">E! Europe</channel>
<channel site_id="euronews" xmltv_id="EuronewsDeutsch.fr">Euronews Deutsch</channel>
<channel site_id="eurosport-hd" xmltv_id="Eurosport1Germany.fr">Eurosport 1 Germany</channel>
<channel site_id="ewtn" xmltv_id="EWTNaufDeutsch.us">EWTN auf Deutsch</channel>
<channel site_id="fox-hd" xmltv_id="FoxDeutschland.us">Fox Deutschland</channel>
<channel site_id="franken-fernsehen" xmltv_id="FrankenFernsehen.de">Franken Fernsehen</channel>
<channel site_id="goldstar-tv" xmltv_id="GoldStarTV.de">GoldStar TV</channel>
<channel site_id="gotv" xmltv_id="GoTV.at">GoTV</channel>
<channel site_id="heimatkanal" xmltv_id="Heimatkanal.de">Heimatkanal</channel>
<channel site_id="history-hd" xmltv_id="HistoryDeutschland.us">History Deutschland</channel>
<channel site_id="hope-channel" xmltv_id="HopeChannelDeutsch.us">Hope Channel Deutsch</channel>
<channel site_id="hr-fernsehen-hd" xmltv_id="hrfernsehen.de">hr-fernsehen</channel>
<channel site_id="hse24-hd" xmltv_id="HSE.de">HSE</channel>
<channel site_id="hse24-extra-hd" xmltv_id="HSEExtra.de">HSE Extra</channel>
<channel site_id="jml" xmltv_id="JMLDirectTV.uk">JML Direct TV</channel>
<channel site_id="junior" xmltv_id="Junior.de">Junior</channel>
<channel site_id="juwelo-hd" xmltv_id="Juwelo.de">Juwelo</channel>
<channel site_id="k-tv" xmltv_id="KTV.at">K-TV</channel>
<channel site_id="kabel-eins-classics" xmltv_id="KabelEinsClassics.de">Kabel Eins Classics</channel>
<channel site_id="kabel-eins-hd" xmltv_id="KabelEinsDeutschland.de">Kabel Eins Deutschland</channel>
<channel site_id="kika-hd" xmltv_id="KiKA.de">KiKA</channel>
<channel site_id="kinowelt-tv" xmltv_id="KinoweltTV.de">Kinowelt TV</channel>
<channel site_id="l-tv" xmltv_id="LTV.de">L-TV</channel>
<channel site_id="mdr-fernsehen-hd" xmltv_id="MDRFernsehen.de">MDR Fernsehen</channel>
<channel site_id="motorvision-tv" xmltv_id="MotorvisionTV.de">Motorvision TV</channel>
<channel site_id="mtv-hd" xmltv_id="MTVGermany.us">MTV Germany</channel>
<channel site_id="mtv-hits" xmltv_id="MTVHitsEurope.us">MTV Hits Europe</channel>
<channel site_id="mtv-live-hd" xmltv_id="MTVLiveHD.us">MTV Live HD</channel>
<channel site_id="mtv-music-24" xmltv_id="MTVMusic24.us">MTV Music 24</channel>
<channel site_id="muehlviertel-tv" xmltv_id="MuhlviertelTV.at">Mühlviertel TV</channel>
<channel site_id="muenchen-tv" xmltv_id="munchentv.de">münchen.tv</channel>
<channel site_id="n-tv-hd" xmltv_id="ntv.de">n-tv</channel>
<channel site_id="nat-geo-hd" xmltv_id="NationalGeographicDeutschland.us">National Geographic Deutschland</channel>
<channel site_id="nat-geo-wild-hd" xmltv_id="NationalGeographicWildDeutschland.us">National Geographic Wild Deutschland</channel>
<channel site_id="ndr-fernsehen-hd" xmltv_id="NDRFernsehen.de">NDR Fernsehen</channel>
<channel site_id="rtl-nitro-hd" xmltv_id="NitroDeutschland.de">Nitro Deutschland</channel>
<channel site_id="nl-1" xmltv_id="NPO1.nl">NPO 1</channel>
<channel site_id="nl-2" xmltv_id="NPO2.nl">NPO 2</channel>
<channel site_id="one-hd" xmltv_id="One.de">One</channel>
<channel site_id="orf-eins-hd" xmltv_id="ORF1.at">ORF 1</channel>
<channel site_id="orf2" xmltv_id="ORF2.at">ORF 2</channel>
<channel site_id="orf-iii-hd" xmltv_id="ORFIII.at">ORF III</channel>
<channel site_id="orf-sport-plus-hd" xmltv_id="ORFSportPlus.at">ORF Sport +</channel>
<channel site_id="parlamentsfernsehen-des-deutschen-bundestages" xmltv_id="ParlamentsfernsehendesDeutschenBundestages.de">Parlamentsfernsehen des Deutschen Bundestages</channel>
<channel site_id="pearl-tv-hd" xmltv_id="pearltv.de">pearl.tv</channel>
<channel site_id="phoenix-hd" xmltv_id="Phoenix.de">Phoenix</channel>
<channel site_id="prosieben-hd" xmltv_id="ProSiebenDeutschland.de">ProSieben Deutschland</channel>
<channel site_id="prosieben-maxx-hd" xmltv_id="ProSiebenMaxxDeutschland.de">ProSieben Maxx Deutschland</channel>
<channel site_id="puls-4-hd" xmltv_id="Puls4.at">Puls 4</channel>
<channel site_id="qvc-hd" xmltv_id="QVCDeutschland.us">QVC Deutschland</channel>
<channel site_id="qvc-plus-hd" xmltv_id="QVCZwei.us">QVC Zwei</channel>
<channel site_id="rbb-fernsehen-hd" xmltv_id="rbbFernsehen.de">rbb Fernsehen</channel>
<channel site_id="regio-tv" xmltv_id="RegioTV.de">Regio TV</channel>
<channel site_id="rfo" xmltv_id="RFO.de">RFO</channel>
<channel site_id="rhein-main-tv" xmltv_id="rheinmaintv.de">rheinmaintv</channel>
<channel site_id="ric" xmltv_id="RiC.de">RiC</channel>
<channel site_id="romance-tv" xmltv_id="RomanceTVDeutschland.de">Romance TV Deutschland</channel>
<channel site_id="rtl-crime-hd" xmltv_id="RTLCrimeDeutschland.de">RTL Crime Deutschland</channel>
<channel site_id="rtl-hd" xmltv_id="RTLDeutschland.de">RTL Deutschland</channel>
<channel site_id="rtl-living" xmltv_id="RTLLivingDeutschland.de">RTL Living Deutschland</channel>
<channel site_id="passion" xmltv_id="RTLPassionDeutschland.de">RTL Passion Deutschland</channel>
<channel site_id="rtl-ii-hd" xmltv_id="RTLZweiDeutschland.de">RTL Zwei Deutschland</channel>
<channel site_id="sat-1-hd" xmltv_id="Sat1Deutschland.de">Sat.1 Deutschland</channel>
<channel site_id="sat-1-emotions" xmltv_id="Sat1Emotions.de">Sat.1 Emotions</channel>
<channel site_id="sat-1-gold-hd" xmltv_id="Sat1GoldDeutschland.de">Sat.1 Gold Deutschland</channel>
<channel site_id="servustv-hd-deutschland" xmltv_id="ServusTVDeutschland.at">Servus TV Deutschland</channel>
<channel site_id="sixx-hd" xmltv_id="SixxDeutschland.de">Sixx Deutschland</channel>
<channel site_id="sky-atlantic-hd" xmltv_id="SkyAtlantic.de">Sky Atlantic</channel>
<channel site_id="sky-cinema-hd" xmltv_id="SkyCinema.de">Sky Cinema</channel>
<channel site_id="sky-cinema-plus24-hd" xmltv_id="SkyCinemaPlus24.de">Sky Cinema +24</channel>
<channel site_id="sky-action-hd" xmltv_id="SkyCinemaAction.de">Sky Cinema Action</channel>
<channel site_id="sky-comedy" xmltv_id="SkyCinemaComedy.de">Sky Cinema Comedy</channel>
<channel site_id="sky-hits-hd" xmltv_id="SkyCinemaHits.de">Sky Cinema Hits</channel>
<channel site_id="sky-nostalgie" xmltv_id="SkyCinemaNostalgie.de">Sky Cinema Nostalgie</channel>
<channel site_id="sky-krimi" xmltv_id="SkyKrimi.de">Sky Krimi</channel>
<channel site_id="sky-sport-hd-1" xmltv_id="SkySport1.de">Sky Sport 1</channel>
<channel site_id="sky-sport-hd-2" xmltv_id="SkySport2.de">Sky Sport 2</channel>
<channel site_id="sky-sport-austria-hd" xmltv_id="SkySportAustria1.de">Sky Sport Austria 1</channel>
<channel site_id="sky-bundesliga-hd-1" xmltv_id="SkySportBundesliga1.de">Sky Sport Bundesliga 1</channel>
<channel site_id="sky-bundesliga-hd-2" xmltv_id="SkySportBundesliga2.de">Sky Sport Bundesliga 2</channel>
<channel site_id="sky-bundesliga-hd-3" xmltv_id="SkySportBundesliga3.de">Sky Sport Bundesliga 3</channel>
<channel site_id="sky-bundesliga-hd-4" xmltv_id="SkySportBundesliga4.de">Sky Sport Bundesliga 4</channel>
<channel site_id="sky-sport-news-hd" xmltv_id="SkySportNews.de">Sky Sport News</channel>
<channel site_id="sonnenklar-tv-hd" xmltv_id="sonnenklarTV.de">sonnenklar.TV</channel>
<channel site_id="sport1-plus-hd" xmltv_id="Sport1Plus.de">Sport 1+</channel>
<channel site_id="sport1-hd" xmltv_id="Sport1.de">Sport1</channel>
<channel site_id="sportdigital" xmltv_id="Sportdigital.de">Sportdigital</channel>
<channel site_id="sr-fernsehen-hd" xmltv_id="SRFernsehen.de">SR Fernsehen</channel>
<channel site_id="srf-1-hd" xmltv_id="SRF1.ch">SRF 1</channel>
<channel site_id="srf-zwei-hd" xmltv_id="SRFzwei.ch">SRF zwei</channel>
<channel site_id="classica" xmltv_id="StingrayClassica.ca">Stingray Classica</channel>
<channel site_id="super-rtl-hd" xmltv_id="SuperRTLDeutschland.de">Super RTL Deutschland</channel>
<channel site_id="swr-fernsehen-hd" xmltv_id="SWRFernsehen.de">SWR Fernsehen</channel>
<channel site_id="syfy-hd" xmltv_id="SyfyDeutschland.us">Syfy Deutschland</channel>
<channel site_id="tagesschau24-hd" xmltv_id="Tagesschau24.de">Tagesschau24</channel>
<channel site_id="tele-5-hd" xmltv_id="Tele5.de">Tele 5</channel>
<channel site_id="tlc-hd" xmltv_id="TLCGermany.us">TLC Germany</channel>
<channel site_id="tnt-film" xmltv_id="TNTFilm.us">TNT Film</channel>
<channel site_id="tnt-serie-hd" xmltv_id="TNTSerie.us">TNT Serie</channel>
<channel site_id="tv-oberfranken" xmltv_id="TVOberfranken.de">TV Oberfranken</channel>
<channel site_id="tva-ostbayern" xmltv_id="TVAOstbayern.de">TVA Ostbayern</channel>
<channel site_id="universal-channel-hd" xmltv_id="UniversalTVDeutschland.us">Universal TV Deutschland</channel>
<channel site_id="vh1-classic" xmltv_id="VH1Classic.us">VH1 Classic</channel>
<channel site_id="vox-hd" xmltv_id="VoxDeutschland.de">Vox Deutschland</channel>
<channel site_id="wdr-fernsehen-hd" xmltv_id="WDRFernsehen.de">WDR Fernsehen</channel>
<channel site_id="n24-hd" xmltv_id="Welt.de">Welt</channel>
<channel site_id="welt-der-wunder-tv" xmltv_id="WeltderWunderTV.de">Welt der Wunder TV</channel>
<channel site_id="zdf-hd" xmltv_id="ZDF.de">ZDF</channel>
<channel site_id="zdfinfo-hd" xmltv_id="ZDFinfo.de">ZDFinfo</channel>
<channel site_id="zdfneo-hd" xmltv_id="ZDFneo.de">ZDFneo</channel>
</channels>
</site>

View file

@ -0,0 +1,51 @@
const jsdom = require('jsdom')
const { JSDOM } = jsdom
const dayjs = require('dayjs')
const utc = require('dayjs/plugin/utc')
const customParseFormat = require('dayjs/plugin/customParseFormat')
dayjs.extend(utc)
dayjs.extend(customParseFormat)
module.exports = {
lang: 'de',
site: 'hd-plus.de',
channels: 'hd-plus.de.channels.xml',
output: '.gh-pages/guides/hd-plus.de.guide.xml',
url({ date, channel }) {
const now = dayjs()
const day = now.diff(date, 'd')
return `https://www.hd-plus.de/epg/channel/${channel.site_id}?d=${day}`
},
logo({ content }) {
const dom = new JSDOM(content)
const img = dom.window.document.querySelector('header > img')
return img ? img.src : null
},
parser({ content }) {
const dom = new JSDOM(content)
const items = dom.window.document.querySelectorAll('table > tbody > tr')
let programs = []
items.forEach(item => {
const title = (item.querySelector('td:nth-child(1) > a') || { textContent: '' }).textContent
const fullDate = (item.querySelector('td:nth-child(2)') || { textContent: '' }).textContent
if (title && fullDate) {
const time = fullDate.split(' ').pop()
const start = dayjs.utc(time, 'HH:mm')
if (programs.length && !programs[programs.length - 1].stop) {
programs[programs.length - 1].stop = start
}
programs.push({
title,
start: start.toString()
})
}
})
return programs
}
}