mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 16:40:07 -04:00
Added guide from tvgid.ua
This commit is contained in:
parent
dbb01811f0
commit
c2d507e62a
6 changed files with 237 additions and 8 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:
|
||||||
|
tvgid_ua:
|
||||||
|
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/tvgid.ua.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
|
||||||
m_tv_sms_cz:
|
m_tv_sms_cz:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
|
|
@ -22,6 +22,7 @@ To load a program guide, all you need to do is copy the link to one of the guide
|
||||||
<tr><td align="left">Russian</td><td align="left" nowrap><a href="https://tv.yandex.ru/">tv.yandex.ru</a></td><td align="right">469</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">Russian</td><td align="left" nowrap><a href="https://tv.yandex.ru/">tv.yandex.ru</a></td><td align="right">469</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">Spanish</td><td align="left" nowrap><a href="https://programacion-tv.elpais.com/">programacion-tv.elpais.com</a></td><td align="right">158</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/programacion-tv.elpais.com.guide.xml</code></td></tr>
|
<tr><td align="left">Spanish</td><td align="left" nowrap><a href="https://programacion-tv.elpais.com/">programacion-tv.elpais.com</a></td><td align="right">158</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/programacion-tv.elpais.com.guide.xml</code></td></tr>
|
||||||
<tr><td align="left">Turkish</td><td align="left" nowrap><a href="https://www.digiturk.com.tr/yayin-akisi">digiturk.com.tr</a></td><td align="right">106</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/digiturk.com.tr.guide.xml</code></td></tr>
|
<tr><td align="left">Turkish</td><td align="left" nowrap><a href="https://www.digiturk.com.tr/yayin-akisi">digiturk.com.tr</a></td><td align="right">106</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/digiturk.com.tr.guide.xml</code></td></tr>
|
||||||
|
<tr><td align="left">Ukrainian</td><td align="left" nowrap><a href="https://tvgid.ua/">tvgid.ua</a></td><td align="right">152</td><td align="left" nowrap><code>https://iptv-org.github.io/epg/guides/tvgid.ua.guide.xml</code></td></tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
15
package-lock.json
generated
15
package-lock.json
generated
|
@ -7,9 +7,10 @@
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"epg-grabber": "^0.2.6",
|
"epg-grabber": "^0.3.0",
|
||||||
"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",
|
||||||
"jsdom": "^16.5.0",
|
"jsdom": "^16.5.0",
|
||||||
"parse-duration": "^0.4.4",
|
"parse-duration": "^0.4.4",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
|
@ -364,9 +365,9 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/epg-grabber": {
|
"node_modules/epg-grabber": {
|
||||||
"version": "0.2.6",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.3.0.tgz",
|
||||||
"integrity": "sha512-SEeAI7JoZt8NSozlEHP/E/LA82Qo85l53Ifw5yOunqcw9S211oapmCTE5t2rj67Bw7I5+61xJx1M8+OMqvIIHQ==",
|
"integrity": "sha512-wemhE2TqCHkxSy+bhaeHDzZ6OL1KR3YnDb2qmci8uq98PX36sYx6wNIcrskTFYYy/URKXwLZj/9Z1QLqKKAP5Q==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"axios-cookiejar-support": "^1.0.1",
|
"axios-cookiejar-support": "^1.0.1",
|
||||||
|
@ -1548,9 +1549,9 @@
|
||||||
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
"integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w=="
|
||||||
},
|
},
|
||||||
"epg-grabber": {
|
"epg-grabber": {
|
||||||
"version": "0.2.6",
|
"version": "0.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.2.6.tgz",
|
"resolved": "https://registry.npmjs.org/epg-grabber/-/epg-grabber-0.3.0.tgz",
|
||||||
"integrity": "sha512-SEeAI7JoZt8NSozlEHP/E/LA82Qo85l53Ifw5yOunqcw9S211oapmCTE5t2rj67Bw7I5+61xJx1M8+OMqvIIHQ==",
|
"integrity": "sha512-wemhE2TqCHkxSy+bhaeHDzZ6OL1KR3YnDb2qmci8uq98PX36sYx6wNIcrskTFYYy/URKXwLZj/9Z1QLqKKAP5Q==",
|
||||||
"requires": {
|
"requires": {
|
||||||
"axios": "^0.21.1",
|
"axios": "^0.21.1",
|
||||||
"axios-cookiejar-support": "^1.0.1",
|
"axios-cookiejar-support": "^1.0.1",
|
||||||
|
|
|
@ -8,9 +8,10 @@
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"epg-grabber": "^0.2.6",
|
"epg-grabber": "^0.3.0",
|
||||||
"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",
|
||||||
"jsdom": "^16.5.0",
|
"jsdom": "^16.5.0",
|
||||||
"parse-duration": "^0.4.4",
|
"parse-duration": "^0.4.4",
|
||||||
"xml-js": "^1.6.11"
|
"xml-js": "^1.6.11"
|
||||||
|
|
157
sites/tvgid.ua.channels.xml
Executable file
157
sites/tvgid.ua.channels.xml
Executable file
|
@ -0,0 +1,157 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<site site="tvgid.ua">
|
||||||
|
<channels>
|
||||||
|
<channel site_id="11kanal" xmltv_id="11kanal.ua">11 канал</channel>
|
||||||
|
<channel site_id="1plus1" xmltv_id="1Plus1.ua">1+1</channel>
|
||||||
|
<channel site_id="2plus2" xmltv_id="2Plus2.ua">2+2</channel>
|
||||||
|
<channel site_id="34kanal" xmltv_id="34telekanal.ua">34 телеканал</channel>
|
||||||
|
<channel site_id="51kanal" xmltv_id="UADnipro.ua">UA: Дніпро</channel>
|
||||||
|
<channel site_id="5kanal" xmltv_id="5kanal.ua">5 канал</channel>
|
||||||
|
<channel site_id="8_kanal" xmltv_id="8kanal.ua">8 канал</channel>
|
||||||
|
<channel site_id="9kanal" xmltv_id="9kanal.ua">9 канал</channel>
|
||||||
|
<channel site_id="ajara_tv" xmltv_id="AjaraTV.ge">Ajara TV</channel>
|
||||||
|
<channel site_id="akademiya" xmltv_id="Akademiya.ua">Академія</channel>
|
||||||
|
<channel site_id="alex_trk" xmltv_id="TRKAleks.ua">ТРК Алекс</channel>
|
||||||
|
<channel site_id="amc" xmltv_id="AMCUkraine.us">AMC Ukraine</channel>
|
||||||
|
<channel site_id="animal_planet" xmltv_id="AnimalPlanetEurope.us">Animal Planet Europe</channel>
|
||||||
|
<channel site_id="bbc_world" xmltv_id="BBCWorldNewsEurope.uk">BBC World News Europe</channel>
|
||||||
|
<channel site_id="belarus_24" xmltv_id="Belarus24.by">Беларусь 24</channel>
|
||||||
|
<channel site_id="bigudi" xmltv_id="Bigudi.ua">Бігуді</channel>
|
||||||
|
<channel site_id="bolt" xmltv_id="Bolt.ua">Bolt</channel>
|
||||||
|
<channel site_id="bug_tv" xmltv_id="BugTV.by">Буг-ТВ</channel>
|
||||||
|
<channel site_id="cartoon_network" xmltv_id="CartoonNetworkRussiaSoutheasternEuropean.us">Cartoon Network Russia & Southeastern European</channel>
|
||||||
|
<channel site_id="cbs_reality" xmltv_id="CBSRealityEurope.us">CBS Reality Europe</channel>
|
||||||
|
<channel site_id="che" xmltv_id="Che.ru">Че</channel>
|
||||||
|
<channel site_id="chp_info" xmltv_id="ChPinfo.ua">ЧП.інфо</channel>
|
||||||
|
<channel site_id="detskiy_mir" xmltv_id="Detskiymir.ru">Детский мир</channel>
|
||||||
|
<channel site_id="discovery_channel_europe" xmltv_id="DiscoveryChannelEurope.us">Discovery Channel Europe</channel>
|
||||||
|
<channel site_id="discovery_science" xmltv_id="DiscoveryChannelUkraine.us">Discovery Channel Ukraine</channel>
|
||||||
|
<channel site_id="disney_channel" xmltv_id="DisneyChannelUkraine.us">Disney Channel Ukraine</channel>
|
||||||
|
<channel site_id="domashniy" xmltv_id="Domashniy.ru">Домашний</channel>
|
||||||
|
<channel site_id="donbass" xmltv_id="Donbass.ua">Донбасс</channel>
|
||||||
|
<channel site_id="dtx" xmltv_id="DTXUkraine.us">DTX Ukraine</channel>
|
||||||
|
<channel site_id="enter_film" xmltv_id="Enterfilm.ua">Enter-фільм</channel>
|
||||||
|
<channel site_id="espresso_tv" xmltv_id="EspresoTV.ua">Еспресо TV</channel>
|
||||||
|
<channel site_id="eu_music" xmltv_id="EUMusic.ua">EU Music</channel>
|
||||||
|
<channel site_id="euronews" xmltv_id="Euronewsporusski.fr">Euronews по-русски</channel>
|
||||||
|
<channel site_id="eurosport_1_rossiya" xmltv_id="Eurosport1Rossiya.fr">Eurosport 1 Россия</channel>
|
||||||
|
<channel site_id="eurosport_2_rossiya" xmltv_id="Eurosport2Rossiya.fr">Eurosport 2 Россия</channel>
|
||||||
|
<channel site_id="evrokino" xmltv_id="Evrokino.ru">Еврокино</channel>
|
||||||
|
<channel site_id="extreme_sport" xmltv_id="ExtremeSportsChannel.nl">Extreme Sports Channel</channel>
|
||||||
|
<channel site_id="fox" xmltv_id="FoxRussia.us">Fox Russia</channel>
|
||||||
|
<channel site_id="fox_life" xmltv_id="FoxLifeRussia.us">Fox Life Russia</channel>
|
||||||
|
<channel site_id="futbol_1" xmltv_id="Futbol1.ua">Футбол 1</channel>
|
||||||
|
<channel site_id="futbol_2" xmltv_id="Futbol2.ua">Футбол 2</channel>
|
||||||
|
<channel site_id="galicsina_otb" xmltv_id="OTBGalichina.ua">ОТБ Галичина</channel>
|
||||||
|
<channel site_id="glas" xmltv_id="Glas.ua">Глас</channel>
|
||||||
|
<channel site_id="gtrk_kultura" xmltv_id="UAKultura.ua">UA: Культура</channel>
|
||||||
|
<channel site_id="ictv" xmltv_id="ICTV.ua">ICTV</channel>
|
||||||
|
<channel site_id="id_investigation_discovery_yevropa" xmltv_id="InvestigationDiscoveryEurope.us">Investigation Discovery Europe</channel>
|
||||||
|
<channel site_id="indigo_tv" xmltv_id="IndigoTV.ua">Індиго TV</channel>
|
||||||
|
<channel site_id="inter" xmltv_id="Inter.ua">Інтер</channel>
|
||||||
|
<channel site_id="inter_plus" xmltv_id="InterPlus.ua">Інтер+</channel>
|
||||||
|
<channel site_id="itv" xmltv_id="ITV.ru">ИТВ</channel>
|
||||||
|
<channel site_id="jivi" xmltv_id="Zhivi.ru">Живи!</channel>
|
||||||
|
<channel site_id="k1" xmltv_id="K1.ua">К1</channel>
|
||||||
|
<channel site_id="k2" xmltv_id="K2.ua">К2</channel>
|
||||||
|
<channel site_id="kiev_tv" xmltv_id="KiyivTV.ua">Київ TV</channel>
|
||||||
|
<channel site_id="kinomiks" xmltv_id="Kinomiks.ru">Киномикс</channel>
|
||||||
|
<channel site_id="kinopremera_hd" xmltv_id="KinopremeraHD.ru">Кинопремьера HD</channel>
|
||||||
|
<channel site_id="kinoxit" xmltv_id="Kinohit.ru">Кинохит</channel>
|
||||||
|
<channel site_id="kultura_rossiya_k" xmltv_id="Kultura.ru">Культура</channel>
|
||||||
|
<channel site_id="kvartal_tv" xmltv_id="KvartalTV.ua">Квартал TV</channel>
|
||||||
|
<channel site_id="m1" xmltv_id="M1.ua">М1</channel>
|
||||||
|
<channel site_id="malyatko_tv" xmltv_id="MalyatkoTV.ua">Малятко TV</channel>
|
||||||
|
<channel site_id="mariupolskoe_tv" xmltv_id="MariupolskeTB.ua">Маріупольське ТБ</channel>
|
||||||
|
<channel site_id="match_arena" xmltv_id="MatchArena.ru">Матч! Арена</channel>
|
||||||
|
<channel site_id="match_boets" xmltv_id="MatchBoec.ru">Матч! Боец</channel>
|
||||||
|
<channel site_id="match_igra" xmltv_id="MatchIgra.ru">Матч! Игра</channel>
|
||||||
|
<channel site_id="match_tv" xmltv_id="MatchTV.ru">Матч ТВ</channel>
|
||||||
|
<channel site_id="mega" xmltv_id="Mega.ua">Мега</channel>
|
||||||
|
<channel site_id="mir" xmltv_id="MirTV.ru">Мир ТВ</channel>
|
||||||
|
<channel site_id="mtm" xmltv_id="MTM.ua">МТМ</channel>
|
||||||
|
<channel site_id="multilandiya" xmltv_id="Multilandiya.ru">Мультиландия</channel>
|
||||||
|
<channel site_id="music_box_ua" xmltv_id="MusicBoxUA.ua">Music Box UA</channel>
|
||||||
|
<channel site_id="muz_tv" xmltv_id="MuzTV.ru">Муз-ТВ</channel>
|
||||||
|
<channel site_id="muzhskoe_kino" xmltv_id="Muzhskoekino.ru">Мужское кино</channel>
|
||||||
|
<channel site_id="nadia" xmltv_id="Nadiya.ua">Надія</channel>
|
||||||
|
<channel site_id="nash" xmltv_id="NASh.ua">НАШ</channel>
|
||||||
|
<channel site_id="nashe-ulyublene-kino" xmltv_id="RTVLyubimoekino.ru">РТВ - Любимое кино</channel>
|
||||||
|
<channel site_id="nashe_novoe-kino" xmltv_id="NasheNovoeKino.ru">Наше Новое Кино</channel>
|
||||||
|
<channel site_id="nat_geo_wild" xmltv_id="NatGeoWildRussia.us">Nat Geo Wild Russia</channel>
|
||||||
|
<channel site_id="national_geographic" xmltv_id="NationalGeographicRussia.us">National Geographic Russia</channel>
|
||||||
|
<channel site_id="nezavisimoe_televidenie_sevastopolya" xmltv_id="NTS.ru">НТС</channel>
|
||||||
|
<channel site_id="nickelodeon_sng" xmltv_id="NickelodeonRossiya.us">Nickelodeon Россия</channel>
|
||||||
|
<channel site_id="nlo_tv" xmltv_id="NLOTV.ua">НЛО TV</channel>
|
||||||
|
<channel site_id="nobel_tv" xmltv_id="NobelTV.ua">Nobel TV</channel>
|
||||||
|
<channel site_id="noviy_kanal" xmltv_id="Noviykanal.ua">Новий канал</channel>
|
||||||
|
<channel site_id="ntn" xmltv_id="NTN.ua">НТН</channel>
|
||||||
|
<channel site_id="obozrevatel" xmltv_id="ObozrevatelTV.ua">Obozrevatel TV</channel>
|
||||||
|
<channel site_id="ohotnik_rybolov" xmltv_id="Ohotnikirybolov.ru">Охотник и рыболов</channel>
|
||||||
|
<channel site_id="ont" xmltv_id="ONT.by">ОНТ</channel>
|
||||||
|
<channel site_id="otse" xmltv_id="OCETB.ua">ОЦЕ ТБ</channel>
|
||||||
|
<channel site_id="otv" xmltv_id="OTV.ua">O-TV</channel>
|
||||||
|
<channel site_id="paramount_comedy" xmltv_id="ParamountComedyUkrayina.us">Paramount Comedy Україна</channel>
|
||||||
|
<channel site_id="perviy_avtomobilni" xmltv_id="PershiyAvtomobilniy.ua">Перший Автомобільний</channel>
|
||||||
|
<channel site_id="perviy_krimskiy" xmltv_id="Pervyykrymskiy.ru">Первый крымский</channel>
|
||||||
|
<channel site_id="pervyj-delovoj" xmltv_id="PershiyDiloviy.ua">Перший Діловий</channel>
|
||||||
|
<channel site_id="pixel" xmltv_id="PikselTV.ua">Піксель TV</channel>
|
||||||
|
<channel site_id="plus_plus" xmltv_id="PlyusPlyus.ua">ПлюсПлюс</channel>
|
||||||
|
<channel site_id="polonia" xmltv_id="TVPPolonia.pl">TVP Polonia</channel>
|
||||||
|
<channel site_id="polsat" xmltv_id="Polsat.pl">Polsat</channel>
|
||||||
|
<channel site_id="prime_time" xmltv_id="PrimeTime.ua">Prime Time</channel>
|
||||||
|
<channel site_id="pryamoj" xmltv_id="Pryamiy.ua">Прямий</channel>
|
||||||
|
<channel site_id="pyatnitsa" xmltv_id="Pyatnica.ru">Пятница!</channel>
|
||||||
|
<channel site_id="rivne_1" xmltv_id="Rivne1.ua">Рівне 1</channel>
|
||||||
|
<channel site_id="riziy" xmltv_id="Ryzhiy.ru">Рыжий</channel>
|
||||||
|
<channel site_id="rtvi" xmltv_id="RTViEurope.ru">RTVi Europe</channel>
|
||||||
|
<channel site_id="setanta_sports_ukraine" xmltv_id="SetantaSportsUkraine.ie">Setanta Sports Ukraine</channel>
|
||||||
|
<channel site_id="sigma" xmltv_id="Sigma.ua">Сігма</channel>
|
||||||
|
<channel site_id="simon" xmltv_id="Simon.ua">Simon</channel>
|
||||||
|
<channel site_id="solnce" xmltv_id="Sonce.ua">Сонце</channel>
|
||||||
|
<channel site_id="sony_sci_fi" xmltv_id="SonySciFiRussia.us">Sony Sci-Fi Russia</channel>
|
||||||
|
<channel site_id="spas" xmltv_id="Spas.ru">Спас</channel>
|
||||||
|
<channel site_id="sport_1" xmltv_id="Sport1.ua">Спорт 1</channel>
|
||||||
|
<channel site_id="sport_2" xmltv_id="Sport2.ua">Спорт 2</channel>
|
||||||
|
<channel site_id="star_cinema" xmltv_id="StarCinema.ua">Star Cinema</channel>
|
||||||
|
<channel site_id="star_family" xmltv_id="StarFamily.ua">Star Family</channel>
|
||||||
|
<channel site_id="stb" xmltv_id="STB.ua">СТБ</channel>
|
||||||
|
<channel site_id="sts" xmltv_id="STS.ru">СТС</channel>
|
||||||
|
<channel site_id="telekanal_novostej_24" xmltv_id="24Kanal.ua">24 Канал</channel>
|
||||||
|
<channel site_id="tet" xmltv_id="TET.ua">ТЕТ</channel>
|
||||||
|
<channel site_id="travel_channel" xmltv_id="TravelChannelEurope.us">Travel Channel Europe</channel>
|
||||||
|
<channel site_id="tv1000_cee" xmltv_id="TV1000CEE.se">TV1000 CEE</channel>
|
||||||
|
<channel site_id="tv1000_east" xmltv_id="TV1000East.se">TV1000 East</channel>
|
||||||
|
<channel site_id="tv1000_world_kino" xmltv_id="TV1000WorldKino.se">TV1000 World Kino</channel>
|
||||||
|
<channel site_id="tv3" xmltv_id="TV3.ru">ТВ-3</channel>
|
||||||
|
<channel site_id="tv_1000_action_cee" xmltv_id="TV1000ActionCEE.se">TV1000 Action CEE</channel>
|
||||||
|
<channel site_id="tv_1000_action_east" xmltv_id="TV1000ActionEast.se">TV1000 Action East</channel>
|
||||||
|
<channel site_id="tv_4" xmltv_id="TV4.ua">TV-4</channel>
|
||||||
|
<channel site_id="tv_5" xmltv_id="TV5Zaporozhe.ua">TV5 (Запорожье)</channel>
|
||||||
|
<channel site_id="tv_xxi" xmltv_id="TVXXI.ru">TV XXI</channel>
|
||||||
|
<channel site_id="tvp1" xmltv_id="TVP1.pl">TVP1</channel>
|
||||||
|
<channel site_id="tvp2" xmltv_id="TVP2.pl">TVP2</channel>
|
||||||
|
<channel site_id="u" xmltv_id="Yu.ru">Ю</channel>
|
||||||
|
<channel site_id="ua_cherkasi" xmltv_id="UACherkasi.ua">UA: Черкаси</channel>
|
||||||
|
<channel site_id="ua_pervyj" xmltv_id="UAPershiy.ua">UA: Перший</channel>
|
||||||
|
<channel site_id="ua_poltava" xmltv_id="UAPoltava.ua">UA: Полтава</channel>
|
||||||
|
<channel site_id="ua_ternopil" xmltv_id="UATernopil.ua">UA: Тернопіль</channel>
|
||||||
|
<channel site_id="ua_zakarpattya" xmltv_id="UAZakarpattya.ua">UA: Закарпаття</channel>
|
||||||
|
<channel site_id="ukraina" xmltv_id="Ukrayina.ua">Україна</channel>
|
||||||
|
<channel site_id="unian_tb" xmltv_id="UNIANTB.ua">УНІАН ТБ</channel>
|
||||||
|
<channel site_id="viasat_explore" xmltv_id="ViasatExploreEast.se">Viasat Explore East</channel>
|
||||||
|
<channel site_id="viasat_history" xmltv_id="ViasatHistory.se">Viasat History</channel>
|
||||||
|
<channel site_id="viasat_nature" xmltv_id="ViasatNatureEast.se">Viasat Nature East</channel>
|
||||||
|
<channel site_id="viasat_sport" xmltv_id="ViasatSportEast.se">Viasat Sport East</channel>
|
||||||
|
<channel site_id="vidkritij" xmltv_id="Vidkritiy.ua">Відкритий</channel>
|
||||||
|
<channel site_id="vip_comedy" xmltv_id="ViPComedyRussia.se">ViP Comedy Russia</channel>
|
||||||
|
<channel site_id="vip_comedy_cee" xmltv_id="ViPComedyCEE.se">ViP Comedy CEE</channel>
|
||||||
|
<channel site_id="vip_premiere_cee" xmltv_id="ViPPremiereCEE.se">ViP Premiere CEE</channel>
|
||||||
|
<channel site_id="vita" xmltv_id="VitaTB.ua">Віта ТБ</channel>
|
||||||
|
<channel site_id="xsport" xmltv_id="XSPORT.ua">XSPORT</channel>
|
||||||
|
<channel site_id="zaporoge" xmltv_id="UAZaporizhzhya.ua">UA: Запоріжжя</channel>
|
||||||
|
<channel site_id="zoo_tv" xmltv_id="ZooTV.ru">Зоо ТВ</channel>
|
||||||
|
<channel site_id="zoom" xmltv_id="Zoom.ua">Zoom</channel>
|
||||||
|
<channel site_id="zoopark" xmltv_id="Zoopark.ua">Zоопарк</channel>
|
||||||
|
</channels>
|
||||||
|
</site>
|
54
sites/tvgid.ua.config.js
Normal file
54
sites/tvgid.ua.config.js
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
const urlParser = require('url')
|
||||||
|
const jsdom = require('jsdom')
|
||||||
|
const iconv = require('iconv-lite')
|
||||||
|
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: 'uk',
|
||||||
|
site: 'tvgid.ua',
|
||||||
|
channels: 'tvgid.ua.channels.xml',
|
||||||
|
output: '.gh-pages/guides/tvgid.ua.guide.xml',
|
||||||
|
url: function ({ date, channel }) {
|
||||||
|
return `https://tvgid.ua/channels/${channel.site_id}/${date.format('DDMMYYYY')}/tmall/`
|
||||||
|
},
|
||||||
|
parser: function ({ buffer, date }) {
|
||||||
|
const programs = []
|
||||||
|
const string = iconv.decode(buffer, 'win1251')
|
||||||
|
const dom = new JSDOM(string)
|
||||||
|
const items = dom.window.document.querySelectorAll(
|
||||||
|
'#container > tbody > tr:nth-child(2) > td > table > tbody > tr > td > table:nth-child(2) > tbody > tr'
|
||||||
|
)
|
||||||
|
|
||||||
|
items.forEach(item => {
|
||||||
|
const time = (item.querySelector('td > table > tbody > tr > td.time') || { textContent: '' })
|
||||||
|
.textContent
|
||||||
|
const title = (
|
||||||
|
item.querySelector('td > table > tbody > tr > td.item > a') ||
|
||||||
|
item.querySelector('td > table > tbody > tr > td.item') || { textContent: '' }
|
||||||
|
).textContent
|
||||||
|
|
||||||
|
const start = dayjs
|
||||||
|
.utc(time, 'HH:mm')
|
||||||
|
.set('D', date.get('D'))
|
||||||
|
.set('M', date.get('M'))
|
||||||
|
.set('y', date.get('y'))
|
||||||
|
|
||||||
|
if (programs.length && !programs[programs.length - 1].stop) {
|
||||||
|
programs[programs.length - 1].stop = start
|
||||||
|
}
|
||||||
|
|
||||||
|
programs.push({
|
||||||
|
title,
|
||||||
|
start
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
return programs
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue