diff --git a/.github/workflows/auto-update.yml b/.github/workflows/auto-update.yml
index c8f254cc..8f607c64 100644
--- a/.github/workflows/auto-update.yml
+++ b/.github/workflows/auto-update.yml
@@ -4,6 +4,21 @@ on:
schedule:
- cron: '0 0 * * *'
jobs:
+ programetv_ro:
+ 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/programetv.ro.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
programtv_onet_pl:
runs-on: ubuntu-latest
steps:
diff --git a/README.md b/README.md
index 9c81ccf8..8f91c0c9 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ To load a program guide, all you need to do is copy the link to one of the guide
Italian | guidatv.sky.it | 178 | https://iptv-org.github.io/epg/guides/guidatv.sky.it.guide.xml |
Italian | mediaset.it | 16 | https://iptv-org.github.io/epg/guides/mediaset.it.guide.xml |
Polish | programtv.onet.pl | 581 | https://iptv-org.github.io/epg/guides/programtv.onet.pl.guide.xml |
+ Romanian | programetv.ro | 312 | https://iptv-org.github.io/epg/guides/programetv.ro.guide.xml |
Russian | tv.yandex.ru | 378 | https://iptv-org.github.io/epg/guides/tv.yandex.ru.guide.xml |
Spanish | programacion-tv.elpais.com | 158 | https://iptv-org.github.io/epg/guides/programacion-tv.elpais.com.guide.xml |
Turkish | digiturk.com.tr | 106 | https://iptv-org.github.io/epg/guides/digiturk.com.tr.guide.xml |
diff --git a/sites/programetv.ro.channels.xml b/sites/programetv.ro.channels.xml
new file mode 100755
index 00000000..436b81b1
--- /dev/null
+++ b/sites/programetv.ro.channels.xml
@@ -0,0 +1,317 @@
+
+
+
+ 24 Mix Teleshop
+ 24 Mix Teleshop HD
+ 3sat
+ Agro TV
+ Al Jazeera English
+ Aleph News
+ Alfa Omega TV
+ AMC Romania
+ AMC HD Romania
+ Animal Planet Europe
+ Animal Planet HD Europe
+ Antena 1
+ Antena 1 HD
+ Antena 3
+ Antena 3 HD
+ Antena International
+ Antena International HD
+ Antena Stars
+ Antena Stars HD
+ Arcadia TV
+ Das Erste
+ ARTE Français
+ Auto Motor und Sport
+ Auto Motor und Sport HD
+ AXN Romania
+ AXN Black România
+ AXN HD Romania
+ AXN Spin Romania
+ AXN White România
+ B1
+ BabyTV Europe
+ Balkanika TV
+ BBC Earth Romania
+ BBC Earth HD Romania
+ BBC World News Europe
+ BBC World News HD Europe
+ Bloomberg TV Europe
+ Blue Hustler Europe
+ Bollywood TV Romania
+ Bollywood Film
+ Bollywood HD
+ Bollywood TV Romania
+ Boomerang Central & Eastern Europe
+ Brazzers TV Europe
+ Bucuresti TV
+ Cartoon Network România
+ CBS Reality Europe
+ CGTN
+ Cinemax Central Europe
+ Cinemax 2 Central Europe
+ Cinemax 2 HD Central Europe
+ Cinemax HD Central Europe
+ Club MTV
+ CNN International Europe
+ Comedy Central România
+ Comedy Central HD România
+ Cool TV
+ Credo TV
+ Crime+Investigation Romania
+ Da Vinci
+ Deutsche Welle English
+ Digi 24
+ Digi 24 HD
+ Digi Animal World
+ Digi Animal World HD
+ Digi Life Romania
+ Digi Life HD Romania
+ Digi Sport 1 Romania
+ Digi Sport 1 HD Romania
+ Digi Sport 2 Romania
+ Digi Sport 2 HD Romania
+ Digi Sport 3 Romania
+ Digi Sport 3 HD Romania
+ Digi Sport 4 Romania
+ Digi World Romania
+ Digi World HD Romania
+ Discovery Channel Romania
+ Discovery Science Romanian
+ Discovery Science HD Romanian
+ DTX East Europe
+ Disney Channel Romania
+ Disney Junior Romania & Bulgaria
+ Diva Romania
+ DocuBox HD
+ Dorcel TV
+ Duck TV
+ Duck TV HD
+ Duna
+ Duna World HD
+ E! Europe
+ E! Europe HD
+ Emi TV
+ Emi TV HD
+ Epic Drama
+ Erdély TV
+ Erox HD
+ Eroxxx HD
+ Est TV
+ Etno TV
+ Euronews English
+ Eurosport 1 Romania
+ Eurosport 1 HD Romania
+ Eurosport 2 Romania
+ Eurosport 2 HD Romania
+ Eurosport 4K Romania
+ Extreme Sports
+ FashionBox HD
+ Fashion TV Europe
+ Fashion TV HD Europe
+ Favorit TV
+ FightBox HD
+ Film Café Romania
+ Film Now
+ Film Now HD
+ Film+
+ Film4 UK
+ FilmBox Romania
+ FilmBox Arthouse Worldwide
+ FilmBox Extra HD Romania
+ FilmBox Family Romania
+ FilmBox Premium Romania
+ FilmBox Stars Romania
+ Food Network
+ Food Network HD
+ France 2
+ France 24 Français
+ France 24 English
+ France 3
+ France 5
+ Fuel TV HD
+ FunBox UHD
+ Galaxy4
+ GINX eSports TV
+ Happy Channel
+ Happy Channel HD
+ HBO Romania
+ HBO2 Central Europe
+ HBO2 HD Central Europe
+ HBO3 Romania
+ HBO3 HD Romania
+ HBO HD Romania
+ HGTV Romania
+ History România
+ History HD România
+ H!T Music Channel
+ Hustler HD Europe
+ Hustler TV Europe
+ Investigation Discovery Europe
+ Investigation Discovery HD Europe
+ IDA TV
+ Inedit TV
+ JimJam Romania
+ Kabel Eins Deutschland
+ Kanal D
+ Kanal D HD
+ KiKA
+ Kiss TV
+ Litoral TV
+ LookSport
+ LookSport 2
+ LookSport 2 HD
+ LookSport 3
+ LookSport 3 HD
+ LookSport HD
+ LookSport+
+ LookSport+ HD
+ Love Nature
+ Luxe TV
+ M1
+ M2
+ M4 Sport
+ M5 HD
+ Magic TV
+ Magic TV HD
+ Mediaset Italia
+ Medika TV
+ Mezzo
+ Mezzo Live HD
+ Minimax Romania
+ Mooz Dance
+ Mooz Dance HD
+ Mooz HD
+ Mooz Hits
+ Mooz Ro!
+ Motorvision TV HD
+ MTV 80s
+ MTV 90s
+ MTV Europe
+ MTV Hits Europe
+ MTV Live HD
+ Museum HD
+ Music Channel Romania
+ Muzsika TV
+ MyZen TV HD
+ n-tv
+ Nasul TV
+ Nat Geo People România
+ Nat Geo People HD România
+ National 24 Plus
+ National Geographic România
+ National Geographic HD România
+ National Geographic Wild Romania
+ National Geographic Wild HD Romania
+ National TV
+ Nautical Channel
+ Nick Jr România
+ Nickelodeon România
+ Nickelodeon HD România
+ Nicktoons România
+ Orizont TV
+ Outdoor Channel
+ Party Mix
+ Party Mix HD
+ Phoenix
+ Playboy TV Europe
+ Prima TV
+ Prima TV HD
+ Private TV
+ Pro 2
+ Pro 2 HD
+ ProSieben Deutschland
+ Pro Cinema HD
+ Pro Gold HD
+ Pro TV
+ Pro TV HD
+ Pro X
+ Pro X HD
+ Profit.ro
+ Pro TV Internacional
+ Publika TV
+ Rai 1
+ Rai 2
+ Rai 3
+ Realitatea Plus
+ Redlight HD
+ Rock TV
+ Rock TV HD
+ România TV
+ RT HD
+ RTL Deutschland
+ RTL Gold
+ RTL II
+ RTL Klub HD
+ Nitro Deutschland
+ RTL+
+ RTL Zwei
+ Sat. 1 Deutschland
+ Sixx Deutschland
+ Sorozat+
+ Speranta TV
+ Sport Extra
+ Sport Extra HD
+ Stingray Classica
+ Stingray Djazz
+ Stingray iConcerts
+ Story4
+ Super RTL Deutschland
+ Taraf TV
+ Timeless Drama Channel
+ TeenNick România
+ Telekom Sport 1
+ Telekom Sport 1 HD
+ Telekom Sport 2
+ Telekom Sport 3
+ Telekom Sport 4
+ The Fishing & Hunting Channel
+ The Fishing & Hunting Channel HD
+ TLC Rômania
+ TNT Romania
+ TNT HD Romania
+ Trace Caribbean
+ Trace Sport Stars HD
+ Trace Urban HD
+ Travel Channel Europe
+ Travel Channel HD Europe
+ Travel Mix
+ Trinitas TV
+ TV Paprika Romania
+ TV SudEst National
+ TV SudEst Regional
+ TV1000
+ TV1000 Русское кино
+ TV4
+ TV5Monde Europe
+ TVE Internacional Europa
+ TVR 1
+ TVR 1 HD
+ TVR 2
+ TVR 2 HD
+ TVR 3
+ TVR Cluj
+ TVR Craiova
+ TVR Iași
+ TVR International
+ TVR Moldova
+ TVR Târgu Mureș
+ TVR Timișoara
+ UTV
+ UTV HD
+ Valea Prahovei TV
+ VH1 Europe
+ Viasat Explore Romania
+ Viasat History Romania
+ Viasat Nature Romania
+ Vox Deutschland
+ VTV
+ Welt
+ ZDF
+ ZDFinfo
+ ZDFneo
+ ZU TV
+ ZU TV HD
+
+
\ No newline at end of file
diff --git a/sites/programetv.ro.config.js b/sites/programetv.ro.config.js
new file mode 100644
index 00000000..015ff262
--- /dev/null
+++ b/sites/programetv.ro.config.js
@@ -0,0 +1,58 @@
+const urlParser = require('url')
+const dayjs = require('dayjs')
+const jsdom = require('jsdom')
+const { JSDOM } = jsdom
+
+require('dayjs/locale/ro')
+dayjs.locale('ro')
+
+module.exports = {
+ lang: 'ro',
+ site: 'programetv.ro',
+ channels: 'programetv.ro.channels.xml',
+ output: '.gh-pages/guides/programetv.ro.guide.xml',
+ url: function ({ date, channel }) {
+ const diff = dayjs().diff(date, 'd')
+ let day
+ if (diff === 0) {
+ day = 'azi'
+ } else {
+ day = date.format('ddd').toLowerCase()
+ }
+
+ return `https://www.programetv.ro/post/${channel.site_id}/${day}/`
+ },
+ logo({ content }) {
+ const data = parseContent(content)
+
+ return data ? data.station.icon : null
+ },
+ parser: function ({ content }) {
+ let programs = []
+ const data = parseContent(content)
+ if (!data) return programs
+ if (data) {
+ programs = data.shows.map(i => {
+ let title = i.title
+ if (i.season) title += ` Sez.${i.season}`
+ if (i.episode) title += ` Ep.${i.episode}`
+ return {
+ title,
+ description: i.desc,
+ category: i.categories[0],
+ start: i.start,
+ stop: i.stop
+ }
+ })
+ }
+
+ return programs
+ }
+}
+
+function parseContent(content) {
+ const pageData = content.match(/var pageData = (.*);/i)
+ if (!pageData && !pageData[1]) return null
+
+ return JSON.parse(pageData[1], null, 2)
+}