mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 08:30:06 -04:00
Fix linter issues
This commit is contained in:
parent
a66a06b4ea
commit
63d5f4877f
4 changed files with 252 additions and 242 deletions
|
@ -1,21 +1,21 @@
|
|||
# rikstv.no
|
||||
|
||||
https://play.rikstv.no/tv-guide
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=rikstv.no
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/rikstv.no/rikstv.no.config.js --output=./sites/rikstv.no/rikstv.no.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- rikstv.no
|
||||
```
|
||||
# rikstv.no
|
||||
|
||||
https://play.rikstv.no/tv-guide
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --site=rikstv.no
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/rikstv.no/rikstv.no.config.js --output=./sites/rikstv.no/rikstv.no.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- rikstv.no
|
||||
```
|
||||
|
|
|
@ -1,83 +1,83 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="12">BBC News</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="21">Discovery</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="22">TLC</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="23">Disney Channel</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="26">Eurosport 1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="27">FEM</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="29">Frikanalen</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="43">REX</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="45">National Geographic</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="46">NRK Super/3</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="47">NRK1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="48">NRK1 Tegnspråk</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="49">NRK2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="55">SVT1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="58">TV 2 Livsstil</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="60">TV 2 Direkte</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="61">TV 2 Nyheter</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="68">TV 2 Zebra</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="69">TV3</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="70">TVNorge</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="71">TV3+</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="72">Visjon Norge</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="73">VOX</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="74">Animal Planet</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="75">BBC Nordic</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="76">TV6</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="77">History Channel</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="121">Eurosport Norge</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="142">Nick Jr.</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="143">Nickelodeon</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="201">TV 2 Danmark</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="202">DR2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="203">DR1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="204">SVT2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="205">TV4</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="241">CNN</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="281">Discovery Science</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="282">Investigation Discovery</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="283">Norway Live</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="361">V Sport +</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="362">V Sport 1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="363">V Sport 2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="364">V Sport 3</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="441">Hits</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="461">Stars</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="462">SF-kanalen</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="481">TV 2 Sport 1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="501">TV 2 Sport 2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="522">Sky News</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="524">CNBC</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="525">Deutsche Welle</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="526">France 24</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="561">NRK1 Sørlandet</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="562">NRK1 Nordland</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="563">NRK1 Midtnytt</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="564">NRK1 Vestfold og Telemark</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="565">NRK1 Vestlandsrevyen</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="567">NRK1 Nordnytt</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="581">NRK1 Innlandet</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="601">MTV00s</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="602">TV Nord</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="619">Travel Channel</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="620">Food Network</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="621">Euronews</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="622">Auto Motor og Sport TV</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="628">Rikstoto Direkte</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="629">TV Øst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="630">NRK1 Rogaland</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="631">NRK1 Møre og Romsdal</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="632">NRK1 Lydtekst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="633">NRK2 Lydtekst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="634">NRK3 Super Lydtekst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="635">Heim TV</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="642">V sport golf</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="643">NRK1 Underteksting</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="644">NRK2 Underteksting</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="650">Naturkanal1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="651">V Film Action</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="652">V Film Premiere</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="653">V Series</channel>
|
||||
</channels>
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="12">BBC News</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="21">Discovery</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="22">TLC</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="23">Disney Channel</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="26">Eurosport 1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="27">FEM</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="29">Frikanalen</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="43">REX</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="45">National Geographic</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="46">NRK Super/3</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="47">NRK1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="48">NRK1 Tegnspråk</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="49">NRK2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="55">SVT1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="58">TV 2 Livsstil</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="60">TV 2 Direkte</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="61">TV 2 Nyheter</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="68">TV 2 Zebra</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="69">TV3</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="70">TVNorge</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="71">TV3+</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="72">Visjon Norge</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="73">VOX</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="74">Animal Planet</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="75">BBC Nordic</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="76">TV6</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="77">History Channel</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="121">Eurosport Norge</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="142">Nick Jr.</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="143">Nickelodeon</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="201">TV 2 Danmark</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="202">DR2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="203">DR1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="204">SVT2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="205">TV4</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="241">CNN</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="281">Discovery Science</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="282">Investigation Discovery</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="283">Norway Live</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="361">V Sport +</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="362">V Sport 1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="363">V Sport 2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="364">V Sport 3</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="441">Hits</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="461">Stars</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="462">SF-kanalen</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="481">TV 2 Sport 1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="501">TV 2 Sport 2</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="522">Sky News</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="524">CNBC</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="525">Deutsche Welle</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="526">France 24</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="561">NRK1 Sørlandet</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="562">NRK1 Nordland</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="563">NRK1 Midtnytt</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="564">NRK1 Vestfold og Telemark</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="565">NRK1 Vestlandsrevyen</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="567">NRK1 Nordnytt</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="581">NRK1 Innlandet</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="601">MTV00s</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="602">TV Nord</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="619">Travel Channel</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="620">Food Network</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="621">Euronews</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="622">Auto Motor og Sport TV</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="628">Rikstoto Direkte</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="629">TV Øst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="630">NRK1 Rogaland</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="631">NRK1 Møre og Romsdal</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="632">NRK1 Lydtekst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="633">NRK2 Lydtekst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="634">NRK3 Super Lydtekst</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="635">Heim TV</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="642">V sport golf</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="643">NRK1 Underteksting</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="644">NRK2 Underteksting</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="650">Naturkanal1</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="651">V Film Action</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="652">V Film Premiere</channel>
|
||||
<channel site="rikstv.no" lang="no" xmltv_id="" site_id="653">V Series</channel>
|
||||
</channels>
|
||||
|
|
|
@ -1,72 +1,76 @@
|
|||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const axios = require('axios')
|
||||
|
||||
dayjs.extend(utc)
|
||||
|
||||
module.exports = {
|
||||
site: 'rikstv.no',
|
||||
days: 3,
|
||||
request: {
|
||||
cache: {
|
||||
ttl: 60 * 60 * 1000 // 1 hour
|
||||
}
|
||||
},
|
||||
url({ channel, date }) {
|
||||
return `https://play.rikstv.no/api/content-search/1/channel/${channel.site_id}/epg/${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser: function ({ content }) {
|
||||
let data
|
||||
try {
|
||||
data = JSON.parse(content)
|
||||
} catch (error) {
|
||||
console.error('Error parsing JSON:', error)
|
||||
return []
|
||||
}
|
||||
|
||||
const programs = []
|
||||
|
||||
if (data && Array.isArray(data)) {
|
||||
data.forEach(item => {
|
||||
if (!item) return
|
||||
//const start = dayjs.utc(item.broadcastedTime)
|
||||
//const stop = dayjs.utc(item.broadcastedTimeEnd)
|
||||
|
||||
programs.push({
|
||||
title: item.seriesName,
|
||||
sub_title: item.name,
|
||||
description: item.description || item.synopsis,
|
||||
season: item.season || null,
|
||||
episode: item.episode || null,
|
||||
category: item.genres,
|
||||
actors: item.actors,
|
||||
directors: item.director || item.directors,
|
||||
icon: item.imagePackUri,
|
||||
start: item.broadcastedTime,
|
||||
stop: item.broadcastedTimeEnd
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
try {
|
||||
const response = await axios.get('https://play.rikstv.no/api/content-search/1/channel?includePrograms=false')
|
||||
if (!response.data || !Array.isArray(response.data)) {
|
||||
console.error('Error: No channels data found')
|
||||
return []
|
||||
}
|
||||
return response.data.map(item => {
|
||||
return {
|
||||
lang: 'no',
|
||||
site_id: item.channelId,
|
||||
name: item.serviceName
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('Error fetching channels:', error)
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const axios = require('axios')
|
||||
|
||||
dayjs.extend(utc)
|
||||
|
||||
module.exports = {
|
||||
site: 'rikstv.no',
|
||||
days: 3,
|
||||
request: {
|
||||
cache: {
|
||||
ttl: 60 * 60 * 1000 // 1 hour
|
||||
}
|
||||
},
|
||||
url({ channel, date }) {
|
||||
return `https://play.rikstv.no/api/content-search/1/channel/${
|
||||
channel.site_id
|
||||
}/epg/${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser: function ({ content }) {
|
||||
let data
|
||||
try {
|
||||
data = JSON.parse(content)
|
||||
} catch (error) {
|
||||
console.error('Error parsing JSON:', error)
|
||||
return []
|
||||
}
|
||||
|
||||
const programs = []
|
||||
|
||||
if (data && Array.isArray(data)) {
|
||||
data.forEach(item => {
|
||||
if (!item) return
|
||||
//const start = dayjs.utc(item.broadcastedTime)
|
||||
//const stop = dayjs.utc(item.broadcastedTimeEnd)
|
||||
|
||||
programs.push({
|
||||
title: item.seriesName,
|
||||
sub_title: item.name,
|
||||
description: item.description || item.synopsis,
|
||||
season: item.season || null,
|
||||
episode: item.episode || null,
|
||||
category: item.genres,
|
||||
actors: item.actors,
|
||||
directors: item.director || item.directors,
|
||||
icon: item.imagePackUri,
|
||||
start: item.broadcastedTime,
|
||||
stop: item.broadcastedTimeEnd
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
try {
|
||||
const response = await axios.get(
|
||||
'https://play.rikstv.no/api/content-search/1/channel?includePrograms=false'
|
||||
)
|
||||
if (!response.data || !Array.isArray(response.data)) {
|
||||
console.error('Error: No channels data found')
|
||||
return []
|
||||
}
|
||||
return response.data.map(item => {
|
||||
return {
|
||||
lang: 'no',
|
||||
site_id: item.channelId,
|
||||
name: item.serviceName
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
console.error('Error fetching channels:', error)
|
||||
return []
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,66 +1,72 @@
|
|||
const { parser, url } = require('./rikstv.no.config.js')
|
||||
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('2025-01-14', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '47',
|
||||
xmltv_id: 'NRK1.no'
|
||||
}
|
||||
|
||||
describe('rikstv.no Module Tests', () => {
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date, channel })).toBe(`https://play.rikstv.no/api/content-search/1/channel/${channel.site_id}/epg/${date.format('YYYY-MM-DD')}`)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = JSON.stringify([
|
||||
{
|
||||
seriesName: 'Vakre og ville Oman',
|
||||
name: 'Vakre og ville Oman',
|
||||
description: 'Oman er eit arabisk skattkammer av unike habitat og variert dyreliv. Rev, kvalhai, reptil og skjelpadder er blant skapningane du finn her.',
|
||||
season: 1,
|
||||
episode: 1,
|
||||
genres: ['Dokumentar', 'Fakta', 'Natur'],
|
||||
actors: ['Gergana Muskalla'],
|
||||
director: 'Stefania Muller',
|
||||
imagePackUri: 'https://imageservice.rikstv.no/hash/EC206C374F42287C0BDF850A7D3CB4D3.jpg',
|
||||
broadcastedTime: '2025-01-13T23:00:00Z',
|
||||
broadcastedTimeEnd: '2025-01-13T23:55:00Z'
|
||||
}
|
||||
])
|
||||
|
||||
const result = parser({ content }).map(p => {
|
||||
p.start = dayjs(p.start).toISOString()
|
||||
p.stop = dayjs(p.stop).toISOString()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
title: 'Vakre og ville Oman',
|
||||
sub_title: 'Vakre og ville Oman',
|
||||
description: 'Oman er eit arabisk skattkammer av unike habitat og variert dyreliv. Rev, kvalhai, reptil og skjelpadder er blant skapningane du finn her.',
|
||||
season: 1,
|
||||
episode: 1,
|
||||
category: ['Dokumentar', 'Fakta', 'Natur'],
|
||||
actors: ['Gergana Muskalla'],
|
||||
directors: 'Stefania Muller',
|
||||
icon: 'https://imageservice.rikstv.no/hash/EC206C374F42287C0BDF850A7D3CB4D3.jpg',
|
||||
start: '2025-01-13T23:00:00.000Z',
|
||||
stop: '2025-01-13T23:55:00.000Z'
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
content: '[]'
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
})
|
||||
const { parser, url } = require('./rikstv.no.config.js')
|
||||
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('2025-01-14', 'YYYY-MM-DD').startOf('d')
|
||||
const channel = {
|
||||
site_id: '47',
|
||||
xmltv_id: 'NRK1.no'
|
||||
}
|
||||
|
||||
describe('rikstv.no Module Tests', () => {
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ date, channel })).toBe(
|
||||
`https://play.rikstv.no/api/content-search/1/channel/${channel.site_id}/epg/${date.format(
|
||||
'YYYY-MM-DD'
|
||||
)}`
|
||||
)
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = JSON.stringify([
|
||||
{
|
||||
seriesName: 'Vakre og ville Oman',
|
||||
name: 'Vakre og ville Oman',
|
||||
description:
|
||||
'Oman er eit arabisk skattkammer av unike habitat og variert dyreliv. Rev, kvalhai, reptil og skjelpadder er blant skapningane du finn her.',
|
||||
season: 1,
|
||||
episode: 1,
|
||||
genres: ['Dokumentar', 'Fakta', 'Natur'],
|
||||
actors: ['Gergana Muskalla'],
|
||||
director: 'Stefania Muller',
|
||||
imagePackUri: 'https://imageservice.rikstv.no/hash/EC206C374F42287C0BDF850A7D3CB4D3.jpg',
|
||||
broadcastedTime: '2025-01-13T23:00:00Z',
|
||||
broadcastedTimeEnd: '2025-01-13T23:55:00Z'
|
||||
}
|
||||
])
|
||||
|
||||
const result = parser({ content }).map(p => {
|
||||
p.start = dayjs(p.start).toISOString()
|
||||
p.stop = dayjs(p.stop).toISOString()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(result).toMatchObject([
|
||||
{
|
||||
title: 'Vakre og ville Oman',
|
||||
sub_title: 'Vakre og ville Oman',
|
||||
description:
|
||||
'Oman er eit arabisk skattkammer av unike habitat og variert dyreliv. Rev, kvalhai, reptil og skjelpadder er blant skapningane du finn her.',
|
||||
season: 1,
|
||||
episode: 1,
|
||||
category: ['Dokumentar', 'Fakta', 'Natur'],
|
||||
actors: ['Gergana Muskalla'],
|
||||
directors: 'Stefania Muller',
|
||||
icon: 'https://imageservice.rikstv.no/hash/EC206C374F42287C0BDF850A7D3CB4D3.jpg',
|
||||
start: '2025-01-13T23:00:00.000Z',
|
||||
stop: '2025-01-13T23:55:00.000Z'
|
||||
}
|
||||
])
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const result = parser({
|
||||
content: '[]'
|
||||
})
|
||||
expect(result).toMatchObject([])
|
||||
})
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue