mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 16:40:07 -04:00
Added guide from albepg.com
This commit is contained in:
parent
652b71e317
commit
f85f598692
6 changed files with 209 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:
|
||||||
|
albepg_com:
|
||||||
|
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/albepg.com.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
|
||||||
tvtv_ca:
|
tvtv_ca:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
|
@ -11,6 +11,7 @@ To load a program guide, all you need to do is copy the link to one of the guide
|
||||||
<tr><th align="left">Country</th><th align="left">EPG</th></tr>
|
<tr><th align="left">Country</th><th align="left">EPG</th></tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
<tr><td align="left" nowrap>🇦🇱 Albania</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/albepg.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇦🇷 Argentina</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>🇦🇷 Argentina</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>🇦🇺 Australia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/ontvtonight.com.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇦🇺 Australia</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/ontvtonight.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left" nowrap>🇧🇾 Belarus</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tv.yandex.ru.guide.xml</code></td></tr>
|
<tr><td align="left" nowrap>🇧🇾 Belarus</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tv.yandex.ru.guide.xml</code></td></tr>
|
||||||
|
|
17
package-lock.json
generated
17
package-lock.json
generated
|
@ -8,6 +8,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"epg-grabber": "^0.6.5",
|
"epg-grabber": "^0.6.5",
|
||||||
|
"epg-parser": "^0.1.3",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"html-to-text": "^7.0.0",
|
"html-to-text": "^7.0.0",
|
||||||
"iconv-lite": "^0.4.24",
|
"iconv-lite": "^0.4.24",
|
||||||
|
@ -385,6 +386,14 @@
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/epg-parser": {
|
||||||
|
"version": "0.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/epg-parser/-/epg-parser-0.1.3.tgz",
|
||||||
|
"integrity": "sha512-+PUYT8UAA598nD4AKleojSeb1QqpFJ6rdcMCrjc0tddkQ3Q7qRYfBMbl1mXj/YWRpoLCjE5RT9u8MsMI15H2xA==",
|
||||||
|
"dependencies": {
|
||||||
|
"xml-js": "^1.6.11"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/escodegen": {
|
"node_modules/escodegen": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
|
||||||
|
@ -1568,6 +1577,14 @@
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"epg-parser": {
|
||||||
|
"version": "0.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/epg-parser/-/epg-parser-0.1.3.tgz",
|
||||||
|
"integrity": "sha512-+PUYT8UAA598nD4AKleojSeb1QqpFJ6rdcMCrjc0tddkQ3Q7qRYfBMbl1mXj/YWRpoLCjE5RT9u8MsMI15H2xA==",
|
||||||
|
"requires": {
|
||||||
|
"xml-js": "^1.6.11"
|
||||||
|
}
|
||||||
|
},
|
||||||
"escodegen": {
|
"escodegen": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"epg-grabber": "^0.6.5",
|
"epg-grabber": "^0.6.5",
|
||||||
|
"epg-parser": "^0.1.3",
|
||||||
"glob": "^7.1.6",
|
"glob": "^7.1.6",
|
||||||
"html-to-text": "^7.0.0",
|
"html-to-text": "^7.0.0",
|
||||||
"iconv-lite": "^0.4.24",
|
"iconv-lite": "^0.4.24",
|
||||||
|
|
124
sites/albepg.com.channels.xml
Executable file
124
sites/albepg.com.channels.xml
Executable file
|
@ -0,0 +1,124 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<site site="albepg.com">
|
||||||
|
<channels>
|
||||||
|
<channel site_id="21 Junior" xmltv_id="21Junior.rs">21 Junior</channel>
|
||||||
|
<channel site_id="21 Popullore" xmltv_id="21Popullore.rs">21 Popullore</channel>
|
||||||
|
<channel site_id="24 Kitchen" xmltv_id="24KitchenSrbija.us">24 Kitchen Srbija</channel>
|
||||||
|
<channel site_id="3 Plus" xmltv_id="3Plus.al">3 Plus</channel>
|
||||||
|
<channel site_id="ABC News" xmltv_id="ABCNews.al">ABC News</channel>
|
||||||
|
<channel site_id="ALBUK TV" xmltv_id="AlbUKTV.uk">AlbUK TV</channel>
|
||||||
|
<channel site_id="Alsat-M" xmltv_id="Alsat.mk">Alsat</channel>
|
||||||
|
<channel site_id="Animal Planet" xmltv_id="AnimalPlanetEurope.us">Animal Planet Europe</channel>
|
||||||
|
<channel site_id="Arena Sport 1" xmltv_id="ArenaSport1.rs">Arena Sport 1</channel>
|
||||||
|
<channel site_id="Arena Sport 2" xmltv_id="ArenaSport2.rs">Arena Sport 2</channel>
|
||||||
|
<channel site_id="Arena Sport 3" xmltv_id="ArenaSport3.rs">Arena Sport 3</channel>
|
||||||
|
<channel site_id="Arena Sport 4" xmltv_id="ArenaSport4.rs">Arena Sport 4</channel>
|
||||||
|
<channel site_id="Arta HD" xmltv_id="Arta.rs">Arta</channel>
|
||||||
|
<channel site_id="BBF" xmltv_id="BBFMusicTV.al">BBF Music TV</channel>
|
||||||
|
<channel site_id="Baby TV" xmltv_id="BabyTVEurope.uk">BabyTV Europe</channel>
|
||||||
|
<channel site_id="Balkanika" xmltv_id="BalkanikaTV.bg">Balkanika TV</channel>
|
||||||
|
<channel site_id="Bang Bang" xmltv_id="BangBang.al">Bang Bang</channel>
|
||||||
|
<channel site_id="Boomerang" xmltv_id="BoomerangEMEA.us">Boomerang EMEA</channel>
|
||||||
|
<channel site_id="Click TV" xmltv_id="ClickTV.al">Click TV</channel>
|
||||||
|
<channel site_id="Discovery Channel" xmltv_id="DiscoveryChannelBulgaria.us">Discovery Channel Bulgaria</channel>
|
||||||
|
<channel site_id="Elrodi TV" xmltv_id="ElrodiTV.al">Elrodi TV</channel>
|
||||||
|
<channel site_id="EuroNews Albania" xmltv_id="EuronewsAlbania.fr">Euronews Albania</channel>
|
||||||
|
<channel site_id="EuroSport" xmltv_id="Eurosport1.fr">Eurosport 1</channel>
|
||||||
|
<channel site_id="EXPLORER Histori" xmltv_id="ExplorerHistori.al">Explorer Histori</channel>
|
||||||
|
<channel site_id="EXPLORER Natyra" xmltv_id="ExplorerNatyra.al">Explorer Natyra</channel>
|
||||||
|
<channel site_id="EXPLORER Shkence" xmltv_id="ExplorerShkence.al">Explorer Shkencë</channel>
|
||||||
|
<channel site_id="Family HD" xmltv_id="FamilyHD.al">Family HD</channel>
|
||||||
|
<channel site_id="Fashion TV" xmltv_id="FashionTVEurope.fr">FashionTV Europe</channel>
|
||||||
|
<channel site_id="Film Aksion" xmltv_id="FilmAksion.al">Film Aksion</channel>
|
||||||
|
<channel site_id="Film Drame" xmltv_id="FilmDrame.al">Film Drame</channel>
|
||||||
|
<channel site_id="Film Dy HD" xmltv_id="FilmDyHD.al">Film Dy HD</channel>
|
||||||
|
<channel site_id="Film Hits" xmltv_id="FilmHits.al">Film Hits</channel>
|
||||||
|
<channel site_id="Film Hits+1" xmltv_id="FilmHitsPlus1.al">Film Hits +1</channel>
|
||||||
|
<channel site_id="Film Komedi" xmltv_id="FilmKomedi.al">Film Komedi</channel>
|
||||||
|
<channel site_id="Film Nje HD" xmltv_id="FilmNjeHD.al">Film Një HD</channel>
|
||||||
|
<channel site_id="Film Thriller" xmltv_id="FilmThriller.al">Film Thriller</channel>
|
||||||
|
<channel site_id="Folk Plus" xmltv_id="FolkPlus.al">Folk+</channel>
|
||||||
|
<channel site_id="FOX Life" xmltv_id="FoxLifeRegional.us">Fox Life Regional</channel>
|
||||||
|
<channel site_id="FOX" xmltv_id="FoxSrbija.us">Fox Srbija</channel>
|
||||||
|
<channel site_id="INTV" xmltv_id="InTV.al">In TV</channel>
|
||||||
|
<channel site_id="ID Xtra HD" xmltv_id="InvestigationDiscoveryEurope.us">Investigation Discovery Europe</channel>
|
||||||
|
<channel site_id="Junior" xmltv_id="JuniorTV.al">Junior TV</channel>
|
||||||
|
<channel site_id="Kanal 10" xmltv_id="Kanal10.rs">Kanal 10</channel>
|
||||||
|
<channel site_id="KanalD Drama" xmltv_id="KanalDDrama.tr">Kanal D Drama</channel>
|
||||||
|
<channel site_id="Kanali 7" xmltv_id="Kanali7.al">Kanali 7</channel>
|
||||||
|
<channel site_id="Klan Kosova" xmltv_id="KlanKosova.al">Klan Kosova</channel>
|
||||||
|
<channel site_id="Klan Macedonia" xmltv_id="KlanMacedonia.al">Klan Macedonia</channel>
|
||||||
|
<channel site_id="Klan Plus" xmltv_id="KlanPlus.al">Klan Plus</channel>
|
||||||
|
<channel site_id="KTV" xmltv_id="Kohavision.rs">Kohavision</channel>
|
||||||
|
<channel site_id="Living HD" xmltv_id="LivingHD.al">Living HD</channel>
|
||||||
|
<channel site_id="MFM" xmltv_id="MFM.al">MFM</channel>
|
||||||
|
<channel site_id="MTV Live HD" xmltv_id="MTVLiveHD.us">MTV Live HD</channel>
|
||||||
|
<channel site_id="Muse" xmltv_id="Muse.al">Muse</channel>
|
||||||
|
<channel site_id="My Music" xmltv_id="MyMusic.al">My Music</channel>
|
||||||
|
<channel site_id="National Geographic" xmltv_id="NationalGeographicChannelHDEurope.us">National Geographic Channel HD Europe</channel>
|
||||||
|
<channel site_id="Neser TV" xmltv_id="NeserTV.al">Nesër TV</channel>
|
||||||
|
<channel site_id="News 24" xmltv_id="News24.al">News 24</channel>
|
||||||
|
<channel site_id="On-TV" xmltv_id="OnTV.al">On-TV</channel>
|
||||||
|
<channel site_id="Ora News" xmltv_id="OraNews.al">Ora News</channel>
|
||||||
|
<channel site_id="Peace TV" xmltv_id="PeaceTVEnglish.ae">Peace TV English</channel>
|
||||||
|
<channel site_id="RTSH1 HD" xmltv_id="RTSH1.al">RTSH 1</channel>
|
||||||
|
<channel site_id="RTSH2 HD" xmltv_id="RTSH2.al">RTSH 2</channel>
|
||||||
|
<channel site_id="RTSH3 HD" xmltv_id="RTSH3.al">RTSH 3</channel>
|
||||||
|
<channel site_id="RTSH Agro" xmltv_id="RTSHAgro.al">RTSH Agro</channel>
|
||||||
|
<channel site_id="RTSH Femije" xmltv_id="RTSHFemije.al">RTSH Femije</channel>
|
||||||
|
<channel site_id="RTSH Film" xmltv_id="RTSHFilm.al">RTSH Film</channel>
|
||||||
|
<channel site_id="RTSH Korca" xmltv_id="RTSHKorca.al">RTSH Korca</channel>
|
||||||
|
<channel site_id="RTSH Muzike" xmltv_id="RTSHMuzike.al">RTSH Muzike</channel>
|
||||||
|
<channel site_id="RTSH Plus" xmltv_id="RTSHPlus.al">RTSH Plus</channel>
|
||||||
|
<channel site_id="RTSH Shkolle" xmltv_id="RTSHShkolle.al">RTSH Shkolle</channel>
|
||||||
|
<channel site_id="RTSH Shqip" xmltv_id="RTSHShqip.al">RTSH Shqip</channel>
|
||||||
|
<channel site_id="RTSH Sport" xmltv_id="RTSHSport.al">RTSH Sport</channel>
|
||||||
|
<channel site_id="RTV 21" xmltv_id="RTV21.rs">RTV21</channel>
|
||||||
|
<channel site_id="STV Folk" xmltv_id="STVFolk.al">STV Folk</channel>
|
||||||
|
<channel site_id="Stinet" xmltv_id="Stinet.al">Stinët</channel>
|
||||||
|
<channel site_id="SuperSonic TV" xmltv_id="SuperSonicTV.al">Super Sonic TV</channel>
|
||||||
|
<channel site_id="SuperSport 1" xmltv_id="SuperSport1.al">SuperSport 1</channel>
|
||||||
|
<channel site_id="SuperSport 2" xmltv_id="SuperSport2.al">SuperSport 2</channel>
|
||||||
|
<channel site_id="SuperSport 3" xmltv_id="SuperSport3.al">SuperSport 3</channel>
|
||||||
|
<channel site_id="SuperSport 4" xmltv_id="SuperSport4.al">SuperSport 4</channel>
|
||||||
|
<channel site_id="SuperSport 5" xmltv_id="SuperSport5.al">SuperSport 5</channel>
|
||||||
|
<channel site_id="SuperSport 6" xmltv_id="SuperSport6.al">SuperSport 6</channel>
|
||||||
|
<channel site_id="SS Kosova 1" xmltv_id="SuperSportKosova1.al">SuperSport Kosova 1</channel>
|
||||||
|
<channel site_id="SS Kosova 2" xmltv_id="SuperSportKosova2.al">SuperSport Kosova 2</channel>
|
||||||
|
<channel site_id="SS Kosova 3" xmltv_id="SuperSportKosova3.al">SuperSport Kosova 3</channel>
|
||||||
|
<channel site_id="T 7" xmltv_id="T7.rs">T7</channel>
|
||||||
|
<channel site_id="RTV 21 MK" xmltv_id="TV21Macedonia.rs">TV 21 Macedonia</channel>
|
||||||
|
<channel site_id="Klan TV" xmltv_id="TVKlan.al">TV Klan</channel>
|
||||||
|
<channel site_id="Koha TV" xmltv_id="TVKoha.al">TV Koha</channel>
|
||||||
|
<channel site_id="Shenja TV" xmltv_id="TVShenja.mk">TV Shenja</channel>
|
||||||
|
<channel site_id="TV Tetova" xmltv_id="TVTetova.mk">TV Tetova</channel>
|
||||||
|
<channel site_id="RTM2" xmltv_id="TVM2.mk">TVM2</channel>
|
||||||
|
<channel site_id="TeleSport" xmltv_id="Telesport.al">Telesport</channel>
|
||||||
|
<channel site_id="Tip TV" xmltv_id="TipTV.al">Tip TV</channel>
|
||||||
|
<channel site_id="Top Channel" xmltv_id="TopChannel.al">Top Channel</channel>
|
||||||
|
<channel site_id="Top News" xmltv_id="TopNews.al">Top News</channel>
|
||||||
|
<channel site_id="Tribuna Channel" xmltv_id="TribunaChannel.xk">Tribuna Channel</channel>
|
||||||
|
<channel site_id="Tring Action" xmltv_id="TringAction.al">Tring Action</channel>
|
||||||
|
<channel site_id="Tring Comedy" xmltv_id="TringComedy.al">Tring Comedy</channel>
|
||||||
|
<channel site_id="Tring Family" xmltv_id="TringFamily.al">Tring Family</channel>
|
||||||
|
<channel site_id="Tring Fantasy" xmltv_id="TringFantasy.al">Tring Fantasy</channel>
|
||||||
|
<channel site_id="Tring History" xmltv_id="TringHistory.al">Tring History</channel>
|
||||||
|
<channel site_id="Tring International" xmltv_id="TringInternational.al">Tring International</channel>
|
||||||
|
<channel site_id="Jolly HD" xmltv_id="TringJolly.al">Tring Jolly</channel>
|
||||||
|
<channel site_id="Tring Kids" xmltv_id="TringKids.al">Tring Kids</channel>
|
||||||
|
<channel site_id="Tring Life" xmltv_id="TringLife.al">Tring Life</channel>
|
||||||
|
<channel site_id="Tring Planet" xmltv_id="TringPlanet.al">Tring Planet</channel>
|
||||||
|
<channel site_id="Tring Shqip" xmltv_id="TringShqip.al">Tring Shqip</channel>
|
||||||
|
<channel site_id="Smile" xmltv_id="TringSmile.al">Tring Smile</channel>
|
||||||
|
<channel site_id="Tring Sport 1 HD" xmltv_id="TringSport1.al">Tring Sport 1</channel>
|
||||||
|
<channel site_id="Tring Sport 2 HD" xmltv_id="TringSport2.al">Tring Sport 2</channel>
|
||||||
|
<channel site_id="Tring Sport 3 HD" xmltv_id="TringSport3.al">Tring Sport 3</channel>
|
||||||
|
<channel site_id="Tring Sport 4 HD" xmltv_id="TringSport4.al">Tring Sport 4</channel>
|
||||||
|
<channel site_id="Tring Sport News HD" xmltv_id="TringSportNews.al">Tring Sport News</channel>
|
||||||
|
<channel site_id="Tring Super" xmltv_id="TringSuper.al">Tring Super</channel>
|
||||||
|
<channel site_id="Tring Tring" xmltv_id="TringTring.al">Tring Tring</channel>
|
||||||
|
<channel site_id="Tring World" xmltv_id="TringWorld.al">Tring World</channel>
|
||||||
|
<channel site_id="Vizion Plus" xmltv_id="VizionPlus.al">Vizion Plus</channel>
|
||||||
|
<channel site_id="Cufo TV" xmltv_id="Cufo.al">Çufo</channel>
|
||||||
|
</channels>
|
||||||
|
</site>
|
51
sites/albepg.com.config.js
Normal file
51
sites/albepg.com.config.js
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
const epgParser = require('epg-parser')
|
||||||
|
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: 'sq',
|
||||||
|
site: 'albepg.com',
|
||||||
|
channels: 'albepg.com.channels.xml',
|
||||||
|
output: '.gh-pages/guides/albepg.com.guide.xml',
|
||||||
|
request: {
|
||||||
|
timeout: 15000,
|
||||||
|
headers: {
|
||||||
|
Referer: 'http://albepg.com/epg.html'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
url: function () {
|
||||||
|
return `http://albepg.com/epg/guide.xml`
|
||||||
|
},
|
||||||
|
logo: function ({ channel }) {
|
||||||
|
return `http://albepg.com/tvlogi/${encodeURI(channel.site_id)}.png`
|
||||||
|
},
|
||||||
|
parser: function ({ content, channel, date }) {
|
||||||
|
const results = epgParser.parse(content)
|
||||||
|
let programs = []
|
||||||
|
results.programs
|
||||||
|
.filter(item => item.channel === channel.site_id)
|
||||||
|
.forEach(item => {
|
||||||
|
if (item.title.length && item.start && item.stop) {
|
||||||
|
const description = item.desc.length ? item.desc[0].value : null
|
||||||
|
const category = item.category.length ? item.category[0].value : null
|
||||||
|
const start = dayjs.utc(item.start, 'YYYYMMDDHHmmss Z')
|
||||||
|
const stop = dayjs.utc(item.stop, 'YYYYMMDDHHmmss Z')
|
||||||
|
if (start.diff(date.format('YYYY-MM-DD'), 'd') === 0) {
|
||||||
|
programs.push({
|
||||||
|
title: item.title[0].value,
|
||||||
|
description,
|
||||||
|
category,
|
||||||
|
start: start.toString(),
|
||||||
|
stop: stop.toString()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
return programs
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue