mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-10 00:50:09 -04:00
commit
82f6fc114b
5 changed files with 5742 additions and 0 deletions
5489
sites/cyta.com.cy/_data_/content.json
Normal file
5489
sites/cyta.com.cy/_data_/content.json
Normal file
File diff suppressed because it is too large
Load diff
119
sites/cyta.com.cy/cyta.com.cy.channels.xml
Normal file
119
sites/cyta.com.cy/cyta.com.cy.channels.xml
Normal file
|
@ -0,0 +1,119 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="1945">CNN</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2001">Sky News</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2221">Vergina TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2266">Cartoonito</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2374">Cartoon Network</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2394">Disney Channel</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2491">Motorvision</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2498">Nickelodeon</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2743">Baby TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2755">FOX HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2767">History HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2831">National Geographic Wild HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="2926">Disney Junior</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="206750">4E</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="211368">Al Jazeera</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213706">BBC News</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213719">Bloomberg</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213775">Deutsche Welle</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213814">E! Entertainment</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213835">NBA TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213889">France 24 (French)</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="213936">TV 5 Monde</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216382">Fashion TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216389">MTV 80s</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216415">Novasports PrimeHD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216459">National Geographic HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216501">Novacinema 2 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216582">Novacinema 1 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216595">FOX life HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="216630">Βουλή Ελλήνων</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="218874">TLC</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="218883">Novasports 2HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="289530">SIGMA TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="289542">ANT1 TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="289555">OMEGA</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="289568">PLUS TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="289607">Alpha Cyprus</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="349455">Euronews ENG</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="561066">RIK 1</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="561078">RIK 2</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="561166">Capital TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="561178">One Channel</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="561210">Smile TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="573851">Greek Cınema</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="573950">MAD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="573974">Euronews Ελληνικό</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="574035">MAD Viral</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="574094">Euronews (Russıan)</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="574124">MAD Greekζ</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="574264">ERT World</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="604956">Cytavision Sports1 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="607141">Movies Best HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="608096">RIK HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="4185119">Eurosport 1 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="5183085">Eurosport 2 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="6260715">Nova Christmas</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="8242808">Cytavision Sports3 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="8242848">Cytavision Sports2 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="8242862">Cytavision Sports4 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="8242886">Cytavision Sports5 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="8243873">Cytavision Sports6 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="9744271">Novacinema 4 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="9745267">Novacinema 3 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="9821917">BBC Earth HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="9821930">TCM HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="10963625">Novalife HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="10965536">Novasports 3 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="10965554">Novasports 4 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="10973069">Novasports 5 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="11762362">Mezzo Live HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="12253994">MTV Live SD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="13132700">Food Network HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="24654412">Cytavision Sports7 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="24745114">Cablenet Sports 1 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="24746908">Cablenet Sports 2 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="35973256">HGTV HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="38335692">Discovery Channel HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="38335714">Animal Planet HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="38335725">Investigation Discovery HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="39337317">Alpha Cyprus HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="46137467">Novasports 6 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="46137848">Novasports Start HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52027167">Novasportsextra1HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52027180">Novasportsextra4HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52027399">Novasportsextra2HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52027412">Novasportsextra3HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52098866">Cytavision Sports2 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52101919">Cytavision Sports1 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52101930">Cytavision Sports3 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52103938">Cytavision Sports4 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52103947">Cytavision Sports6 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52105043">Cytavision Sports5 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52105052">Cytavision Sports7 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52187736">Cablenet Sports 1 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52187749">Cablenet Sports 2 HD CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52196563">PPV1 CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52196572">PPV3 CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52196581">PPV5 CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52196745">PPV2 CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52196754">PPV4 CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="52196763">PPV6 CMAF</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="53005467">Cablenet Sports 3 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="54111184">OMEGA HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="54111209">CVSPORTS UHD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="54111722">Premier League</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="54184415">ANT1 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="55844755">Current Time HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="56063885">CCTV 4E</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="56064497">CGTN</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="57944046">CGTN Documentary</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="66620028">CVSPORTS Multiview</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="71037984">Bloomberg TV+</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="71037999">Bloomberg Original</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="74516237">Cytavision Sports8 HD</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="75835625">OMONOIA TV</channel>
|
||||
<channel site="cyta.com.cy" lang="el" xmltv_id="" site_id="77956035">Cytavision Sports8 HD CMAF</channel>
|
||||
</channels>
|
60
sites/cyta.com.cy/cyta.com.cy.config.js
Normal file
60
sites/cyta.com.cy/cyta.com.cy.config.js
Normal file
|
@ -0,0 +1,60 @@
|
|||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
const cheerio = require('cheerio')
|
||||
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
module.exports = {
|
||||
site: 'cyta.com.cy',
|
||||
days: 7,
|
||||
request: {
|
||||
cache: {
|
||||
ttl: 60 * 60 * 1000 // 1 hour
|
||||
}
|
||||
},
|
||||
url: function ({date, channel}) {
|
||||
// Get the epoch timestamp
|
||||
const todayEpoch = date.startOf('day').utc().valueOf()
|
||||
// Get the epoch timestamp for the next day
|
||||
const nextDayEpoch = date.add(1, 'day').startOf('day').utc().valueOf()
|
||||
return `https://epg.cyta.com.cy/api/mediacatalog/fetchEpg?startTimeEpoch=${todayEpoch}&endTimeEpoch=${nextDayEpoch}&language=1&channelIds=${channel.site_id}`
|
||||
},
|
||||
parser: function ({content}) {
|
||||
const data = JSON.parse(content)
|
||||
const programs = []
|
||||
|
||||
data.channelEpgs.forEach(channel => {
|
||||
channel.epgPlayables.forEach(epg => {
|
||||
const start = new Date(epg.startTime).toISOString();
|
||||
const stop = new Date(epg.endTime).toISOString();
|
||||
|
||||
programs.push({
|
||||
title: epg.name,
|
||||
start,
|
||||
stop
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const axios = require('axios')
|
||||
const data = await axios
|
||||
.get(`https://epg.cyta.com.cy/api/mediacatalog/fetchChannels?language=1`)
|
||||
.then(r => r.data)
|
||||
.catch(console.log)
|
||||
|
||||
return data.channels.map(item => {
|
||||
return {
|
||||
lang: 'el',
|
||||
site_id: item.id,
|
||||
name: item.name
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
53
sites/cyta.com.cy/cyta.com.cy.test.js
Normal file
53
sites/cyta.com.cy/cyta.com.cy.test.js
Normal file
|
@ -0,0 +1,53 @@
|
|||
const { url, parser } = require('./cyta.com.cy.config.js')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
const date = dayjs.utc('2025-01-03', 'YYYY-MM-DD').startOf('day')
|
||||
const channel = {
|
||||
site_id: '561066',
|
||||
xmltv_id: 'RIK1.cy'
|
||||
}
|
||||
|
||||
it('can generate valid url', () => {
|
||||
const generatedUrl = url({ date, channel })
|
||||
expect(generatedUrl).toBe(
|
||||
'https://epg.cyta.com.cy/api/mediacatalog/fetchEpg?startTimeEpoch=1735862400000&endTimeEpoch=1735948800000&language=1&channelIds=561066'
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = `
|
||||
{
|
||||
"channelEpgs": [
|
||||
{
|
||||
"epgPlayables": [
|
||||
{ "name": "Πρώτη Ενημέρωση", "startTime": 1735879500000, "endTime": 1735889400000 }
|
||||
]
|
||||
}
|
||||
]
|
||||
}`
|
||||
|
||||
const result = parser({ content }).map(p => {
|
||||
p.start = p.start
|
||||
p.stop = p.stop
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
title: 'Πρώτη Ενημέρωση',
|
||||
start: '2025-01-03T04:45:00.000Z',
|
||||
stop: '2025-01-03T07:30:00.000Z'
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
content: '{"channelEpgs":[]}'
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
21
sites/cyta.com.cy/readme.md
Normal file
21
sites/cyta.com.cy/readme.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# cyta.com.cy
|
||||
|
||||
https://epg.cyta.com.cy/tv-guide/el
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=cyta.com.cy
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/cyta.com.cy/cyta.com.cy.config.js --output=./sites/cyta.com.cy/cyta.com.cy.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- cyta.com.cy
|
||||
```
|
Loading…
Add table
Add a link
Reference in a new issue