diff --git a/sites/vantagetv.ee/__data__/content.xml b/sites/vantagetv.ee/__data__/content.xml new file mode 100644 index 00000000..b819412d --- /dev/null +++ b/sites/vantagetv.ee/__data__/content.xml @@ -0,0 +1,1069 @@ + + + + Vantage Music + + + Vantage Dance + + + Vantage Rock + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + brand:new + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Urbanzone + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Old Skool Hip-Hop Show + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Rockzone + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Clubzone + + + Partyzone + + + Chillout Zone + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + The European Top 20 + + + Video Mix + + + Urbanzone + + + Old Skool Hip-Hop Show + + + Rockzone + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + The UK Dance Top 20 + + + Old Skool Hip-Hop Show + + + Rockzone + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Chillout Zone + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + brand:new + + + Night Videos + + + Breakfast with Vantage Music + Get ready for your day with Vantage Music + + + It's The 80's + The start of the music video era, with 80's classics not to be forgotten as well as some you probably have forgotten (for good reason!). + + + The 90's + Britpop, Jamming basslines, Catchy pop, forgotten boy bands with a bit of hip hop. It's the 90's baby. + + + Ultimate 2000's + A mix of the hits of 2000's along with some more lesser known artists. + + + Video Mix + Driving basslines, catchy pop, cool boy bands, and top-notch hip hop! You'll find all this and more at WILD 90S. Flashback vibes guaranteed! (Station info) + + + It's The 80's + The start of the music video era, with 80's classics not to be forgotten as well as some you probably have forgotten (for good reason!). + + + The 90's + Britpop, Jamming basslines, Catchy pop, forgotten boy bands with a bit of hip hop. It's the 90's baby. + + + Ultimate 2000's + A mix of the hits of 2000's along with some more lesser known artists. + + + Urbanzone + A playlist of songs to come out from the modern rap scene, along with some upcoming underground rap artists. + + + Night Videos + Whether you can't sleep, doing the night shift, or even if you just want to keep yourself awake, Vantage has non-stop commercial free music all night long. + + + Breakfast with Vantage Music + Get ready for your day with Vantage Music + + + It's The 80's + The start of the music video era, with 80's classics not to be forgotten as well as some you probably have forgotten (for good reason!). + + + The 90's + Britpop, Jamming basslines, Catchy pop, forgotten boy bands with a bit of hip hop. It's the 90's baby. + + + Ultimate 2000's + A mix of the hits of 2000's along with some more lesser known artists. + + + Video Mix + Driving basslines, catchy pop, cool boy bands, and top-notch hip hop! You'll find all this and more at WILD 90S. Flashback vibes guaranteed! (Station info) + + + It's The 80's + The start of the music video era, with 80's classics not to be forgotten as well as some you probably have forgotten (for good reason!). + + + The 90's + Britpop, Jamming basslines, Catchy pop, forgotten boy bands with a bit of hip hop. It's the 90's baby. + + + Ultimate 2000's + A mix of the hits of 2000's along with some more lesser known artists. + + + Old Skool Hip-Hop Show + + + Night Videos + Whether you can't sleep, doing the night shift, or even if you just want to keep yourself awake, Vantage has non-stop commercial free music all night long. + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Rockzone + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Clubzone + + + Partyzone + + + Night Videos + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + The European Top 20 + + + Video Mix + + + Urbanzone + + + Old Skool Hip-Hop Show + + + Rockzone + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Breakfast with Vantage Music + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Video Mix + + + The UK Dance Top 20 + + + Old Skool Hip-Hop Show + + + Rockzone + + + It's The 80's + + + The 90's + + + Ultimate 2000's + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Chillout Zone + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Dance + + + Don't Stop The Dance + + + The UK Official Dance Chart + + + Don't Stop The Dance + + + The German Official Dance Chart + + + Don't Stop The Dance + + + Clubzone Reloaded + + + Partyzone Reloaded + + + Dance All Night + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + + Breakfast with Vantage Rock + Get ready for your day with Vantage Rock + + + Can't Stop The Rock + Commercial free rock music, all day long + + + Rock All Night + It might be late, but that's no reason to stop! + + \ No newline at end of file diff --git a/sites/vantagetv.ee/readme.md b/sites/vantagetv.ee/readme.md new file mode 100644 index 00000000..b7c4b118 --- /dev/null +++ b/sites/vantagetv.ee/readme.md @@ -0,0 +1,15 @@ +# vantagetv.ee + +https://vantagetv.ee/epg.xml + +### Download the guide + +```sh +npm run grab --- --site=vantagetv.ee +``` + +### Test + +```sh +npm test --- vantagetv.ee +``` diff --git a/sites/vantagetv.ee/vantagetv.ee.channels.xml b/sites/vantagetv.ee/vantagetv.ee.channels.xml new file mode 100644 index 00000000..609cc8ca --- /dev/null +++ b/sites/vantagetv.ee/vantagetv.ee.channels.xml @@ -0,0 +1,6 @@ + + + Vantage Music + Vantage Dance + Vantage Rock + \ No newline at end of file diff --git a/sites/vantagetv.ee/vantagetv.ee.config.js b/sites/vantagetv.ee/vantagetv.ee.config.js new file mode 100644 index 00000000..9cd489f4 --- /dev/null +++ b/sites/vantagetv.ee/vantagetv.ee.config.js @@ -0,0 +1,27 @@ +const parser = require('epg-parser') + +module.exports = { + site: 'vantagetv.ee', + days: 2, + url: 'http://vantagetv.ee/epg.xml', + parser: function ({ content, channel, date }) { + let programs = [] + const items = parseItems(content, channel, date) + items.forEach(item => { + programs.push({ + title: item.title?.[0]?.value, + description: item.desc?.[0]?.value, + start: item.start, + stop: item.stop + }) + }) + + return programs + } +} + +function parseItems(content, channel, date) { + const { programs } = parser.parse(content) + + return programs.filter(p => p.channel === channel.site_id && date.isSame(p.start, 'day')) +} diff --git a/sites/vantagetv.ee/vantagetv.ee.test.js b/sites/vantagetv.ee/vantagetv.ee.test.js new file mode 100644 index 00000000..5db1dd3a --- /dev/null +++ b/sites/vantagetv.ee/vantagetv.ee.test.js @@ -0,0 +1,41 @@ +const { parser, url } = require('./vantagetv.ee.config.js') +const fs = require('fs') +const path = require('path') +const dayjs = require('dayjs') +const utc = require('dayjs/plugin/utc') +const customParseFormat = require('dayjs/plugin/customParseFormat') +dayjs.extend(customParseFormat) +dayjs.extend(utc) + +const date = dayjs.utc('2026-02-05', 'YYYY-MM-DD').startOf('d') +const channel = { site_id: 'vrock' } + +it('can generate valid url', () => { + expect(url).toBe('http://vantagetv.ee/epg.xml') +}) + +it('can parse response', () => { + const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.xml')) + + const results = parser({ content, channel, date }) + + expect(results.length).toBe(3) + expect(results[0]).toMatchObject({ + title: 'Breakfast with Vantage Rock', + description: 'Get ready for your day with Vantage Rock', + start: '2026-02-05T04:00:00.000Z', + stop: '2026-02-05T08:00:00.000Z' + }) + expect(results[2]).toMatchObject({ + title: 'Rock All Night', + description: 'It might be late, but that's no reason to stop!', + start: '2026-02-05T22:00:00.000Z', + stop: '2026-02-06T04:00:00.000Z' + }) +}) + +it('can handle empty guide', () => { + const results = parser({ content: '' }) + + expect(results).toMatchObject([]) +})