mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 09:00:07 -04:00
Added guide from cosmote.gr
This commit is contained in:
parent
81ddc6c027
commit
348b523eec
4 changed files with 172 additions and 0 deletions
15
.github/workflows/auto-update.yml
vendored
15
.github/workflows/auto-update.yml
vendored
|
@ -4,6 +4,21 @@ on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '0 0 * * *'
|
- cron: '0 0 * * *'
|
||||||
jobs:
|
jobs:
|
||||||
|
cosmote_gr:
|
||||||
|
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/cosmote.gr.config.js
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
uses: JamesIves/github-pages-deploy-action@4.1.0
|
||||||
|
with:
|
||||||
|
branch: gh-pages
|
||||||
|
folder: .gh-pages
|
||||||
|
clean: false
|
||||||
programetv_ro:
|
programetv_ro:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
|
@ -13,6 +13,7 @@ To load a program guide, all you need to do is copy the link to one of the guide
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr><td align="left">English</td><td align="left" nowrap>ontvtonight.com</td><td align="right">122</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/ontvtonight.com.guide.xml</code></td></tr>
|
<tr><td align="left">English</td><td align="left" nowrap>ontvtonight.com</td><td align="right">122</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/ontvtonight.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left">French</td><td align="left" nowrap>programme-tv.net</td><td align="right">266</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">French</td><td align="left" nowrap>programme-tv.net</td><td align="right">266</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">Greek</td><td align="left" nowrap>cosmote.gr</td><td align="right">91</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/cosmote.gr.guide.xml</code></td></tr>
|
||||||
<tr><td align="left">Italian</td><td align="left" nowrap>guidatv.sky.it</td><td align="right">178</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/guidatv.sky.it.guide.xml</code></td></tr>
|
<tr><td align="left">Italian</td><td align="left" nowrap>guidatv.sky.it</td><td align="right">178</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/guidatv.sky.it.guide.xml</code></td></tr>
|
||||||
<tr><td align="left">Italian</td><td align="left" nowrap>mediaset.it</td><td align="right">16</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mediaset.it.guide.xml</code></td></tr>
|
<tr><td align="left">Italian</td><td align="left" nowrap>mediaset.it</td><td align="right">16</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/mediaset.it.guide.xml</code></td></tr>
|
||||||
<tr><td align="left">Polish</td><td align="left" nowrap>programtv.onet.pl</td><td align="right">581</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/programtv.onet.pl.guide.xml</code></td></tr>
|
<tr><td align="left">Polish</td><td align="left" nowrap>programtv.onet.pl</td><td align="right">581</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/programtv.onet.pl.guide.xml</code></td></tr>
|
||||||
|
|
96
sites/cosmote.gr.channels.xml
Executable file
96
sites/cosmote.gr.channels.xml
Executable file
|
@ -0,0 +1,96 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<site site="cosmote.gr">
|
||||||
|
<channels>
|
||||||
|
<channel site_id="4e" xmltv_id="4E.gr">4Ε</channel>
|
||||||
|
<channel site_id="ant1" xmltv_id="ANT1TVHD.gr">ANT1 TV HD</channel>
|
||||||
|
<channel site_id="action-1" xmltv_id="Action24.gr">Action 24</channel>
|
||||||
|
<channel site_id="al-arabiya" xmltv_id="AlArabiya.ae">Al Arabiya</channel>
|
||||||
|
<channel site_id="al-jazeera" xmltv_id="AlJazeeraEnglish.qa">Al Jazeera English</channel>
|
||||||
|
<channel site_id="alpha" xmltv_id="AlphaTVHD.gr">Alpha TV HD</channel>
|
||||||
|
<channel site_id="alert" xmltv_id="AtlasTV.gr">Atlas TV</channel>
|
||||||
|
<channel site_id="bbc-earth-hd" xmltv_id="BBCEarthHDGreece.uk">BBC Earth HD Greece</channel>
|
||||||
|
<channel site_id="bbc-world-news" xmltv_id="BBCWorldNewsEurope.uk">BBC World News Europe</channel>
|
||||||
|
<channel site_id="baby-tv" xmltv_id="BabyTVEurope.uk">BabyTV Europe</channel>
|
||||||
|
<channel site_id="bloomberg" xmltv_id="BloombergTVEurope.us">Bloomberg TV Europe</channel>
|
||||||
|
<channel site_id="blue-hustler" xmltv_id="BlueHustlerEurope.us">Blue Hustler Europe</channel>
|
||||||
|
<channel site_id="body-in-balance" xmltv_id="BodyinBalanceGreece.uk">Body in Balance Greece</channel>
|
||||||
|
<channel site_id="cbs-reality" xmltv_id="CBSRealityEurope.us">CBS Reality Europe</channel>
|
||||||
|
<channel site_id="cnbc" xmltv_id="CNBCEurope.us">CNBC Europe</channel>
|
||||||
|
<channel site_id="cnn" xmltv_id="CNNInternationalEurope.us">CNN International Europe</channel>
|
||||||
|
<channel site_id="ote-cinema-1" xmltv_id="CosmoteCinema1HD.gr">Cosmote Cinema 1 HD</channel>
|
||||||
|
<channel site_id="ote-cinema-2-hd" xmltv_id="CosmoteCinema2HD.gr">Cosmote Cinema 2 HD</channel>
|
||||||
|
<channel site_id="ote-cinema-3" xmltv_id="CosmoteCinema3.gr">Cosmote Cinema 3</channel>
|
||||||
|
<channel site_id="cosmote-cinema-oscars-hd" xmltv_id="CosmoteCinemaOscarsHD.gr">Cosmote Cinema Oscars HD</channel>
|
||||||
|
<channel site_id="ote-history" xmltv_id="CosmoteHistoryHD.gr">Cosmote History HD</channel>
|
||||||
|
<channel site_id="ote-cinema-4" xmltv_id="CosmoteSeriesHD.gr">Cosmote Series HD</channel>
|
||||||
|
<channel site_id="cosmote-series-marath-1" xmltv_id="CosmoteSeriesMarathon.gr">Cosmote Series Marathon</channel>
|
||||||
|
<channel site_id="ote-sport-1-hd" xmltv_id="CosmoteSport1HD.gr">Cosmote Sport 1 HD</channel>
|
||||||
|
<channel site_id="ote-sport-2-hd" xmltv_id="CosmoteSport2HD.gr">Cosmote Sport 2 HD</channel>
|
||||||
|
<channel site_id="ote-sport-3-hd" xmltv_id="CosmoteSport3HD.gr">Cosmote Sport 3 HD</channel>
|
||||||
|
<channel site_id="ote-sport-4-hd" xmltv_id="CosmoteSport4HD.gr">Cosmote Sport 4 HD</channel>
|
||||||
|
<channel site_id="ote-sport-5-hd" xmltv_id="CosmoteSport5HD.gr">Cosmote Sport 5 HD</channel>
|
||||||
|
<channel site_id="ote-sport-6-hd" xmltv_id="CosmoteSport6HD.gr">Cosmote Sport 6 HD</channel>
|
||||||
|
<channel site_id="ote-sport-7-hd" xmltv_id="CosmoteSport7HD.gr">Cosmote Sport 7 HD</channel>
|
||||||
|
<channel site_id="ote-sport-8-hd" xmltv_id="CosmoteSport8HD.gr">Cosmote Sport 8 HD</channel>
|
||||||
|
<channel site_id="cosmotesport9hd" xmltv_id="CosmoteSport9HD.gr">Cosmote Sport 9 HD</channel>
|
||||||
|
<channel site_id="ote-sport-highlights-hd" xmltv_id="CosmoteSportHighlightsHD.gr">Cosmote Sport Highlights HD</channel>
|
||||||
|
<channel site_id="crime-and-investigation" xmltv_id="CrimePlusInvestigationUK.us">Crime+Investigation UK</channel>
|
||||||
|
<channel site_id="deutsche-welle" xmltv_id="DWEnglish.de">DW English</channel>
|
||||||
|
<channel site_id="disney-channel" xmltv_id="DisneyChannelMiddleEast.us">Disney Channel Middle East</channel>
|
||||||
|
<channel site_id="disney-junior" xmltv_id="DisneyJuniorGreece.us">Disney Junior Greece</channel>
|
||||||
|
<channel site_id="e-hd" xmltv_id="EHDEurope.us">E! HD Europe</channel>
|
||||||
|
<channel site_id="edgesport-hd" xmltv_id="EDGEsportHD.uk">EDGEsport HD</channel>
|
||||||
|
<channel site_id="tv100" xmltv_id="ENAChannel.gr">ENA Channel</channel>
|
||||||
|
<channel site_id="ert-world" xmltv_id="ERTWorld.gr">ERT World</channel>
|
||||||
|
<channel site_id="zoom-tv" xmltv_id="EpsilonTV.gr">Epsilon TV</channel>
|
||||||
|
<channel site_id="euronews-english" xmltv_id="EuronewsEnglish.fr">Euronews English</channel>
|
||||||
|
<channel site_id="euronews" xmltv_id="Euronewsellinika.fr">Euronews ελληνικά</channel>
|
||||||
|
<channel site_id="fashion-tv" xmltv_id="FashionTVHDEurope.fr">Fashion TV HD Europe</channel>
|
||||||
|
<channel site_id="fox-hd" xmltv_id="FoxHDGreece.us">Fox HD Greece</channel>
|
||||||
|
<channel site_id="foxlife-hd" xmltv_id="FoxLifeHDGreece.us">Fox Life HD Greece</channel>
|
||||||
|
<channel site_id="france-24-en" xmltv_id="France24English.fr">France 24 English</channel>
|
||||||
|
<channel site_id="france-24-fr" xmltv_id="France24Francais.fr">France 24 Français</channel>
|
||||||
|
<channel site_id="ginx-esports" xmltv_id="GINXeSportsTVGreece.uk">GINX eSports TV Greece</channel>
|
||||||
|
<channel site_id="hustler-tv-hd" xmltv_id="HustlerHDEurope.us">Hustler HD Europe</channel>
|
||||||
|
<channel site_id="luxe-tv-hd" xmltv_id="LuxeTVHD.lu">Luxe TV HD</channel>
|
||||||
|
<channel site_id="mtv-europe" xmltv_id="MTVEurope.us">MTV Europe</channel>
|
||||||
|
<channel site_id="mtv-live-hd" xmltv_id="MTVLiveHD.us">MTV Live HD</channel>
|
||||||
|
<channel site_id="mad" xmltv_id="MadTV.gr">Mad TV</channel>
|
||||||
|
<channel site_id="mad-hits" xmltv_id="MadViralHD.gr">Mad Viral HD</channel>
|
||||||
|
<channel site_id="mega-hd" xmltv_id="MegaTVHD.gr">Mega TV HD</channel>
|
||||||
|
<channel site_id="mezzo" xmltv_id="MezzoLiveHD.fr">Mezzo Live HD</channel>
|
||||||
|
<channel site_id="motorvision-channel-hd" xmltv_id="MotorvisionTVHD.de">Motorvision TV HD</channel>
|
||||||
|
<channel site_id="nat-geo-wild-hd" xmltv_id="NatGeoWildHDEurope.us">Nat Geo Wild HD Europe</channel>
|
||||||
|
<channel site_id="national-geographic" xmltv_id="NationalGeographicHDGreece.us">National Geographic HD Greece</channel>
|
||||||
|
<channel site_id="nautical-channel-hd" xmltv_id="NauticalChannelHD.it">Nautical Channel HD</channel>
|
||||||
|
<channel site_id="nickelodeon-hd" xmltv_id="NickelodeonHDGreece.us">Nickelodeon HD Greece</channel>
|
||||||
|
<channel site_id="one-channel" xmltv_id="OneChannelHD.gr">One Channel HD</channel>
|
||||||
|
<channel site_id="epsilon-tv" xmltv_id="OpenBeyondHD.gr">Open Beyond HD</channel>
|
||||||
|
<channel site_id="outdoor-channel-hd" xmltv_id="OutdoorChannelHD.us">Outdoor Channel HD</channel>
|
||||||
|
<channel site_id="penthouse-hd1" xmltv_id="PenthouseGold.us">Penthouse Gold</channel>
|
||||||
|
<channel site_id="private-tv" xmltv_id="PrivateTV.nl">Private TV</channel>
|
||||||
|
<channel site_id="russia-today" xmltv_id="RT.ru">RT</channel>
|
||||||
|
<channel site_id="sirina-tv" xmltv_id="SirinaTV.gr">Sirina TV</channel>
|
||||||
|
<channel site_id="smile-tv" xmltv_id="SmileTV.gr">Smile TV</channel>
|
||||||
|
<channel site_id="star" xmltv_id="StarTVHD.gr">Star TV HD</channel>
|
||||||
|
<channel site_id="star-kentrikes-elladas" xmltv_id="StarKentrikisElladas.gr">Star Κεντρικής Ελλάδας</channel>
|
||||||
|
<channel site_id="c-music-tv" xmltv_id="StingrayCMusic.ca">Stingray CMusic</channel>
|
||||||
|
<channel site_id="iconcerts-hd" xmltv_id="StingrayiConcerts.ca">Stingray iConcerts</channel>
|
||||||
|
<channel site_id="tcm" xmltv_id="TCMHDCentralEasternEurope.us">TCM HD Central & Eastern Europe</channel>
|
||||||
|
<channel site_id="vh1" xmltv_id="VH1Europe.us">VH1 Europe</channel>
|
||||||
|
<channel site_id="viasat-explo-1" xmltv_id="ViasatExploreHDEast.se">Viasat Explore HD East</channel>
|
||||||
|
<channel site_id="viasat-history" xmltv_id="ViasatHistoryHD.se">Viasat History HD</channel>
|
||||||
|
<channel site_id="viasat-natu-1" xmltv_id="ViasatNatureHDEast.se">Viasat Nature HD East</channel>
|
||||||
|
<channel site_id="village-cinema-hd" xmltv_id="VillageCinemasHD.gr">Village Cinemas HD</channel>
|
||||||
|
<channel site_id="aigaio-tv" xmltv_id="AigaioTV.gr">Αιγαίο TV</channel>
|
||||||
|
<channel site_id="epeiros-tv1" xmltv_id="VerginaTV.gr">Βεργίνα TV</channel>
|
||||||
|
<channel site_id="boule" xmltv_id="Voyli.gr">Βουλή</channel>
|
||||||
|
<channel site_id="ert1" xmltv_id="ERT1HD.gr">ΕΡΤ1 HD</channel>
|
||||||
|
<channel site_id="ert2" xmltv_id="ERT2HD.gr">ΕΡΤ2 HD</channel>
|
||||||
|
<channel site_id="ert3" xmltv_id="ERT3HD.gr">ΕΡΤ3 HD</channel>
|
||||||
|
<channel site_id="krete-tv" xmltv_id="KritiTV.gr">Κρήτη TV</channel>
|
||||||
|
<channel site_id="makedonia-tv" xmltv_id="MakedoniaTVHD.gr">Μακεδονία TV HD</channel>
|
||||||
|
<channel site_id="nea-teleorase-kretes" xmltv_id="NeaTileorasiKritis.gr">Νέα Τηλεόραση Κρήτης</channel>
|
||||||
|
<channel site_id="skai" xmltv_id="SKAIHD.gr">ΣΚΑΪ HD</channel>
|
||||||
|
</channels>
|
||||||
|
</site>
|
60
sites/cosmote.gr.config.js
Normal file
60
sites/cosmote.gr.config.js
Normal file
|
@ -0,0 +1,60 @@
|
||||||
|
const urlParser = require('url')
|
||||||
|
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: 'el',
|
||||||
|
site: 'cosmote.gr',
|
||||||
|
channels: 'cosmote.gr.channels.xml',
|
||||||
|
output: '.gh-pages/guides/cosmote.gr.guide.xml',
|
||||||
|
url: function ({ date, channel }) {
|
||||||
|
return `https://www.cosmote.gr/cosmotetv/residential/program/epg/programchannel?p_p_id=channelprogram_WAR_OTETVportlet&p_p_lifecycle=0&_channelprogram_WAR_OTETVportlet_platform=IPTV&_channelprogram_WAR_OTETVportlet_date=${date.format(
|
||||||
|
'DD-MM-YYYY'
|
||||||
|
)}&_channelprogram_WAR_OTETVportlet_articleTitleUrl=${channel.site_id}`
|
||||||
|
},
|
||||||
|
logo: function ({ content }) {
|
||||||
|
const dom = new JSDOM(content)
|
||||||
|
const img = dom.window.document.querySelector('img.channel_program-banner')
|
||||||
|
|
||||||
|
return img ? 'https://www.cosmote.gr' + img.src : null
|
||||||
|
},
|
||||||
|
parser: function ({ date, content }) {
|
||||||
|
const dom = new JSDOM(content)
|
||||||
|
const items = dom.window.document.querySelectorAll(
|
||||||
|
'#_channelprogram_WAR_OTETVportlet_programs > tr.visible-xs'
|
||||||
|
)
|
||||||
|
let programs = []
|
||||||
|
items.forEach(item => {
|
||||||
|
const title = (item.querySelector('a') || { textContent: '' }).textContent
|
||||||
|
const meta = (item.querySelector('td') || { innerHTML: '' }).innerHTML
|
||||||
|
const startTime = (item.querySelector('.start-time') || { textContent: '' }).textContent
|
||||||
|
const endTime = (item.querySelector('.end-time') || { textContent: '' }).textContent
|
||||||
|
const category = meta.match(/\| (.+)<br>/)[1]
|
||||||
|
const start = dayjs
|
||||||
|
.utc(startTime, 'HH:mm')
|
||||||
|
.set('D', date.get('D'))
|
||||||
|
.set('M', date.get('M'))
|
||||||
|
.set('y', date.get('y'))
|
||||||
|
const stop = dayjs
|
||||||
|
.utc(endTime, 'HH:mm')
|
||||||
|
.set('D', date.get('D'))
|
||||||
|
.set('M', date.get('M'))
|
||||||
|
.set('y', date.get('y'))
|
||||||
|
|
||||||
|
programs.push({
|
||||||
|
title,
|
||||||
|
category,
|
||||||
|
start,
|
||||||
|
stop
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return programs
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue