Compare commits

...

4 Commits

Author SHA1 Message Date
1f885bbd1c update readme
All checks were successful
Build docker container / build (push) Successful in 8m36s
2024-12-02 20:04:38 +01:00
e99af0bc2b update readme 2024-12-02 19:47:52 +01:00
2f86d79697 update orangetv channel list 2024-12-02 15:48:54 +01:00
0e72cce51f update orangetv.es custom fix 2024-12-02 14:05:42 +01:00
3 changed files with 34 additions and 6 deletions

View File

@ -42,7 +42,7 @@ This the list of the provided custom fixes :
|------------------|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| movistarplus.es | [davidclaeysquinones](https://github.com/davidclaeysquinones) | [PR](https://github.com/iptv-org/epg/pull/2440) pending approval |
| orangetv.es | [fraudiay79](https://github.com/fraudiay79) and [davidclaeysquinones](https://github.com/davidclaeysquinones) | PR not submitted |
| pickx.be | [davidclaeysquinones](https://github.com/davidclaeysquinones) and [BellezaEmporium](https://github.com/BellezaEmporium) | [PR](https://github.com/iptv-org/epg/pull/2480) pending approval |
| pickx.be | [davidclaeysquinones](https://github.com/davidclaeysquinones) and [BellezaEmporium](https://github.com/BellezaEmporium) | [PR](https://github.com/iptv-org/epg/pull/2480) merged since commit [296d616](https://github.com/iptv-org/epg/commit/296d6162ecbeb1b3c3e392845187d30624d50aa2) |
| telenet.tv | [davidclaeysquinones](https://github.com/davidclaeysquinones) | [PR](https://github.com/iptv-org/epg/pull/2429) merged since commit [fd382db](https://github.com/iptv-org/epg/commit/fd382db08da7a96150928b8dcfef115e29e661d3) |
| web.magentatv.de | [klausellus-wallace](https://github.com/klausellus-wallace) | [PR](https://github.com/iptv-org/epg/pull/2458) pending approval |
@ -135,4 +135,6 @@ Sometimes a new version of this image will be bound to the same source commit. T
- 1.0.21
[11-28-2024](https://github.com/iptv-org/epg/commit/da18b70ddb1c3950e5a315411fd9aeaf60b6092c)<br>Add orangetv.es
- 1.0.22
[11-30-2024](https://github.com/iptv-org/epg/commit/1883338c0aee9909ac4567312b25701d10a765f2)
[11-30-2024](https://github.com/iptv-org/epg/commit/1883338c0aee9909ac4567312b25701d10a765f2)
- 1.0.23
[12-02-2024](https://github.com/iptv-org/epg/commit/296d6162ecbeb1b3c3e392845187d30624d50aa2)

View File

@ -2,7 +2,7 @@
<channels>
<channel site="orangetv.es" lang="es" xmltv_id="La1.es" site_id="1010">LA 1 HD</channel>
<channel site="orangetv.es" lang="es" xmltv_id="La2.es" site_id="1062">La 2 HD</channel>
<channel site="orangetv.es" lang="es" xmltv_id="24Horas.es" site_id="12051">24h horas</channel>
<channel site="orangetv.es" lang="es" xmltv_id="24Horas.es" site_id="12051">24 Horas</channel>
<channel site="orangetv.es" lang="es" xmltv_id="Teledeporte.es" site_id="1063">TDP HD</channel>
<channel site="orangetv.es" lang="es" xmltv_id="Clan.es" site_id="1064">Clan HD</channel>
<channel site="orangetv.es" lang="es" xmltv_id="Antena3.es" site_id="1011">Antena 3 HD</channel>

View File

@ -3,6 +3,7 @@
// for now the source code can be found at https://github.com/davidclaeysquinones/epg/tree/orangetv.orange.es
const dayjs = require('dayjs')
const axios = require('axios')
const API_PROGRAM_ENDPOINT = 'https://epg.orangetv.orange.es/epg/Smartphone_Android/1_PRO'
const API_CHANNEL_ENDPOINT = 'https://pc.orangetv.orange.es/pc/api/rtv/v1/GetChannelList?bouquet_id=1&model_external_id=PC&filter_unsupported_channels=false&client=json'
@ -21,9 +22,34 @@ module.exports = {
url({ date }) {
return `${API_PROGRAM_ENDPOINT}/${date.format('YYYYMMDD')}_8h_1.json`
},
parser: function ({ content, channel }) {
async parser({ content, channel, date }) {
let items = []
const promises = [
axios.get(
`${API_PROGRAM_ENDPOINT}/${date.format('YYYYMMDD')}_8h_1.json`,
),
axios.get(
`${API_PROGRAM_ENDPOINT}/${date.format('YYYYMMDD')}_8h_2.json`,
),
axios.get(
`${API_PROGRAM_ENDPOINT}/${date.format('YYYYMMDD')}_8h_3.json`,
),
]
await Promise.all(promises)
.then(results => {
results.forEach(r => {
const responseContent = r.data
items = items.concat(parseItems(responseContent, channel))
})
})
.catch(console.error)
// remove duplicates
items = items.filter((item, index) => items.findIndex(oi => oi.id === item.id) === index);
let programs = []
const items = parseItems(content, channel)
items.forEach(item => {
programs.push({
title: item.name,
@ -69,7 +95,7 @@ function parseIcon(item){
}
function parseItems(content, channel) {
const json = typeof content === 'string' ? JSON.parse(content) : content
const json = typeof content === 'string' ? JSON.parse(content) : typeof content === 'object' ? content : []
const channelData = json.find(i => i.channelExternalId == channel.site_id);