Update dens.tv

This commit is contained in:
freearhey 2023-11-18 20:04:32 +03:00
parent e9375f8bda
commit b1fcd25508
3 changed files with 112 additions and 63 deletions

View file

@ -1,58 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<channels> <channels>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="3">Live Streaming 1</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="22">RTV</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="78">TBN</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="104">FREEDOM</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="120">MotoRRacing TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="123">W-Sport</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="127">crema.tv</channel>
<channel site="dens.tv" lang="id" xmltv_id="" site_id="130">Dance TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="ANTV.id" site_id="8">antv</channel>
<channel site="dens.tv" lang="id" xmltv_id="AlJazeera.qa" site_id="27">Al Jazeera Arabic</channel>
<channel site="dens.tv" lang="id" xmltv_id="AlJazeeraEnglish.qa" site_id="56">Al Jazeera English</channel> <channel site="dens.tv" lang="id" xmltv_id="AlJazeeraEnglish.qa" site_id="56">Al Jazeera English</channel>
<channel site="dens.tv" lang="id" xmltv_id="AlQuranAlKareemTV.sa" site_id="82">Quran TV</channel> <channel site="dens.tv" lang="id" xmltv_id="AlQuranAlKareemTV.sa" site_id="82">Quran TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="AlSunnahAlNabawiyahTV.sa" site_id="88">Sunna TV</channel> <channel site="dens.tv" lang="id" xmltv_id="AlSunnahAlNabawiyahTV.sa" site_id="88">Sunna TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="AniplusAsia.sg" site_id="38">Aniplus HD</channel> <channel site="dens.tv" lang="id" xmltv_id="AniplusAsia.sg" site_id="38">ANIPLUS HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="ANTV.id" site_id="8">ANTV</channel>
<channel site="dens.tv" lang="id" xmltv_id="BTV.id" site_id="80">BTV</channel> <channel site="dens.tv" lang="id" xmltv_id="BTV.id" site_id="80">BTV</channel>
<channel site="dens.tv" lang="id" xmltv_id="CCM.hk" site_id="110">CCM (Celestial Classic MV)</channel> <channel site="dens.tv" lang="id" xmltv_id="CCM.hk" site_id="110">CCM (Celestial Classic MV)</channel>
<channel site="dens.tv" lang="id" xmltv_id="CCTV4Asia.cn" site_id="85">CCTV-4</channel> <channel site="dens.tv" lang="id" xmltv_id="CCTV4Asia.cn" site_id="85">CCTV-4</channel>
<channel site="dens.tv" lang="id" xmltv_id="CelestialMoviesIndonesia.id" site_id="99">Celestial Movies HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="CinemaWorld.my" site_id="87">Cinema World</channel>
<channel site="dens.tv" lang="id" xmltv_id="CNA.sg" site_id="61">CNA</channel>
<channel site="dens.tv" lang="id" xmltv_id="CGTN.cn" site_id="16">CGTN Documentary</channel> <channel site="dens.tv" lang="id" xmltv_id="CGTN.cn" site_id="16">CGTN Documentary</channel>
<channel site="dens.tv" lang="id" xmltv_id="CNA.sg" site_id="61">CNA</channel>
<channel site="dens.tv" lang="id" xmltv_id="CelestialMoviesIndonesia.id" site_id="99">Celestial Movies HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="CinemaWorld.my" site_id="87">CinemaWorld HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="DAAITV.id" site_id="23">DAAI TV</channel> <channel site="dens.tv" lang="id" xmltv_id="DAAITV.id" site_id="23">DAAI TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="DWEnglish.de" site_id="81">DW-TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="DeluxeLoungeHD.de" site_id="129">Deluxe Lounge HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="DensFoodChannel.id" site_id="117">DensFood Channel</channel> <channel site="dens.tv" lang="id" xmltv_id="DensFoodChannel.id" site_id="117">DensFood Channel</channel>
<channel site="dens.tv" lang="id" xmltv_id="DensLifeStyle.id" site_id="42">DensLife &amp; Style</channel>
<channel site="dens.tv" lang="id" xmltv_id="DensLearningKnowledge.id" site_id="1">DensLearning &amp; Knowledge</channel> <channel site="dens.tv" lang="id" xmltv_id="DensLearningKnowledge.id" site_id="1">DensLearning &amp; Knowledge</channel>
<channel site="dens.tv" lang="id" xmltv_id="DensLifeStyle.id" site_id="42">DensLife &amp; Style</channel>
<channel site="dens.tv" lang="id" xmltv_id="DensPlay.id" site_id="107">DensPlay</channel> <channel site="dens.tv" lang="id" xmltv_id="DensPlay.id" site_id="107">DensPlay</channel>
<channel site="dens.tv" lang="id" xmltv_id="DensShowBiz.id" site_id="102">DensShowBiz</channel> <channel site="dens.tv" lang="id" xmltv_id="DensShowBiz.id" site_id="102">DensShowBiz</channel>
<channel site="dens.tv" lang="id" xmltv_id="DWEnglish.de" site_id="81">DW-TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="ElshintaTV.id" site_id="94">Elshinta TV</channel> <channel site="dens.tv" lang="id" xmltv_id="ElshintaTV.id" site_id="94">Elshinta TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="FightSports.us" site_id="60">FIGHT SPORTS HD</channel> <channel site="dens.tv" lang="id" xmltv_id="FightSports.us" site_id="60">FIGHT SPORTS HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="France24English.fr" site_id="69">France 24</channel> <channel site="dens.tv" lang="id" xmltv_id="France24English.fr" site_id="69">France 24</channel>
<channel site="dens.tv" lang="id" xmltv_id="HITS.sg" site_id="101">HITS HD</channel> <channel site="dens.tv" lang="id" xmltv_id="HITS.sg" site_id="101">HITS HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="HITSMovies.sg" site_id="119">HITS MOVIES</channel> <channel site="dens.tv" lang="id" xmltv_id="HITSMovies.sg" site_id="119">HITS MOVIES</channel>
<channel site="dens.tv" lang="id" xmltv_id="HorizonSports.us" site_id="121">HorizonSports</channel> <channel site="dens.tv" lang="id" xmltv_id="HorizonSports.us" site_id="121">HorizonSports</channel>
<channel site="dens.tv" lang="id" xmltv_id="JakTV.id" site_id="112">JAK TV</channel> <channel site="dens.tv" lang="id" xmltv_id="JakTV.id" site_id="112">Jak tv</channel>
<channel site="dens.tv" lang="id" xmltv_id="KompasTV.id" site_id="14">Kompas TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="KIX.hk" site_id="49">KIX HD</channel> <channel site="dens.tv" lang="id" xmltv_id="KIX.hk" site_id="49">KIX HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="KPlus.sg" site_id="100">K-PLUS HD</channel> <channel site="dens.tv" lang="id" xmltv_id="KPlus.sg" site_id="100">K-PLUS HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="KompasTV.id" site_id="14">Kompas TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="MagnaChannel.id" site_id="122">Magna Channel</channel> <channel site="dens.tv" lang="id" xmltv_id="MagnaChannel.id" site_id="122">Magna Channel</channel>
<channel site="dens.tv" lang="id" xmltv_id="MetroTV.id" site_id="6">Metro TV</channel> <channel site="dens.tv" lang="id" xmltv_id="MetroTV.id" site_id="6">Metro TV</channel>
<channel site="dens.tv" lang="id" xmltv_id="Motorvision.de" site_id="98">Motorvision+</channel> <channel site="dens.tv" lang="id" xmltv_id="Motorvision.de" site_id="98">Motorvision+</channel>
<channel site="dens.tv" lang="id" xmltv_id="MyCinema.id" site_id="95">My Cinema</channel> <channel site="dens.tv" lang="id" xmltv_id="MyCinema.id" site_id="95">My Cinema HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="MyCinemaAsia.id" site_id="109">My Cinema Asia</channel> <channel site="dens.tv" lang="id" xmltv_id="MyCinemaAsia.id" site_id="109">My Cinema Asia</channel>
<channel site="dens.tv" lang="id" xmltv_id="MyCinemaEurope.ch" site_id="92">My Cinema Europe</channel> <channel site="dens.tv" lang="id" xmltv_id="MyCinemaEurope.ch" site_id="92">My Cinema Europe HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="MyFamily.id" site_id="114">My Family Channel</channel> <channel site="dens.tv" lang="id" xmltv_id="MyFamily.id" site_id="114">My Family Channel</channel>
<channel site="dens.tv" lang="id" xmltv_id="MyKidz.id" site_id="96">My Kidz HD</channel> <channel site="dens.tv" lang="id" xmltv_id="MyKidz.id" site_id="96">My Kidz HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="NaDooCommerce.id" site_id="75">NaDoo Commerce</channel>
<channel site="dens.tv" lang="id" xmltv_id="NaDooKorean.id" site_id="126">NaDooKorean</channel>
<channel site="dens.tv" lang="id" xmltv_id="NET.id" site_id="13">NET.</channel> <channel site="dens.tv" lang="id" xmltv_id="NET.id" site_id="13">NET.</channel>
<channel site="dens.tv" lang="id" xmltv_id="NHKWorldJapan.jp" site_id="77">NHK WORLD-JAPAN</channel> <channel site="dens.tv" lang="id" xmltv_id="NHKWorldJapan.jp" site_id="77">NHK WORLD-JAPAN</channel>
<channel site="dens.tv" lang="id" xmltv_id="RajawaliTV.id" site_id="2">RTV</channel> <channel site="dens.tv" lang="id" xmltv_id="NaDooCommerce.id" site_id="75">NaDoo Commerce</channel>
<channel site="dens.tv" lang="id" xmltv_id="NaDooKorean.id" site_id="126">NaDooKorean</channel>
<channel site="dens.tv" lang="id" xmltv_id="ROCKAction.sg" site_id="44">ROCK Action</channel> <channel site="dens.tv" lang="id" xmltv_id="ROCKAction.sg" site_id="44">ROCK Action</channel>
<channel site="dens.tv" lang="id" xmltv_id="ROCKEntertainment.sg" site_id="39">ROCK Entertainment HD</channel> <channel site="dens.tv" lang="id" xmltv_id="ROCKEntertainment.sg" site_id="39">ROCK Entertainment HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="RodjaTV.id" site_id="21">RodjaTV</channel> <channel site="dens.tv" lang="id" xmltv_id="RodjaTV.id" site_id="21">RodjaTV</channel>
<channel site="dens.tv" lang="id" xmltv_id="Thrill.hk" site_id="55">Thrill</channel> <channel site="dens.tv" lang="id" xmltv_id="StingrayClassica.ca" site_id="128">Stingray Classica</channel>
<channel site="dens.tv" lang="id" xmltv_id="TRTWorld.tr" site_id="41">TRT World</channel> <channel site="dens.tv" lang="id" xmltv_id="TRTWorld.tr" site_id="41">TRT World</channel>
<channel site="dens.tv" lang="id" xmltv_id="TV5MondeAsia.fr" site_id="90">TV5MONDE ASIE</channel> <channel site="dens.tv" lang="id" xmltv_id="TV5MondeAsia.fr" site_id="90">TV5MONDE ASIE</channel>
<channel site="dens.tv" lang="id" xmltv_id="TV5MondeStyle.fr" site_id="37">TV5MONDE Style HD</channel> <channel site="dens.tv" lang="id" xmltv_id="TV5MondeStyle.fr" site_id="37">TV5MONDE Style HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="TVRINasional.id" site_id="17">TVRI</channel>
<channel site="dens.tv" lang="id" xmltv_id="TVRISport.id" site_id="118">TVRI Sport</channel>
<channel site="dens.tv" lang="id" xmltv_id="Thrill.hk" site_id="55">Thrill</channel>
<channel site="dens.tv" lang="id" xmltv_id="WION.in" site_id="79">WION</channel>
<channel site="dens.tv" lang="id" xmltv_id="tvNAsia.hk" site_id="59">tvN HD</channel> <channel site="dens.tv" lang="id" xmltv_id="tvNAsia.hk" site_id="59">tvN HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="tvNMoviesAsia.hk" site_id="58">tvN Movies HD</channel> <channel site="dens.tv" lang="id" xmltv_id="tvNMoviesAsia.hk" site_id="58">tvN Movies HD</channel>
<channel site="dens.tv" lang="id" xmltv_id="tvOne.id" site_id="7">tvOne</channel> <channel site="dens.tv" lang="id" xmltv_id="tvOne.id" site_id="7">tvOne</channel>
<channel site="dens.tv" lang="id" xmltv_id="TVRINasional.id" site_id="17">TVRI</channel>
<channel site="dens.tv" lang="id" xmltv_id="TVRISport.id" site_id="118">TVRI Sport</channel>
<channel site="dens.tv" lang="id" xmltv_id="WION.in" site_id="79">WION</channel>
</channels> </channels>

View file

@ -11,23 +11,59 @@ module.exports = {
site: 'dens.tv', site: 'dens.tv',
days: 2, days: 2,
url: function ({ channel, date }) { url: function ({ channel, date }) {
return `https://www.dens.tv/tvpage_octo/epgchannel2/${date.format('YYYY-MM-DD')}/${channel.site_id}` return `https://www.dens.tv/tvpage_octo/epgchannel2/${date.format('YYYY-MM-DD')}/${
channel.site_id
}`
}, },
parser: function ({ content }) { parser: function ({ content }) {
// parsing // parsing
const response = JSON.parse(content) const response = JSON.parse(content)
const programs = [] const programs = []
if(response.response !== undefined && response.response === 0 && response.data !== undefined && Array.isArray(response.data)){ if (
response.response !== undefined &&
response.response === 0 &&
response.data !== undefined &&
Array.isArray(response.data)
) {
response.data.forEach(item => { response.data.forEach(item => {
programs.push({ programs.push({
title: item.title, title: item.title,
start: dayjs.tz(item.starttime, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta'), start: dayjs.tz(item.starttime, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta'),
stop: dayjs.tz(item.endtime, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta'), stop: dayjs.tz(item.endtime, 'YYYY-MM-DD HH:mm:ss', 'Asia/Jakarta')
}) })
}) })
} }
return programs return programs
},
async channels() {
const axios = require('axios')
const categories = {
local: 1,
premium: 2,
international: 3
}
let channels = []
for (const id_category of Object.values(categories)) {
const data = await axios
.get(`https://www.dens.tv/api/dens3/tv/TvChannels/listByCategory`, {
params: { id_category }
})
.then(r => r.data)
.catch(console.log)
data.data.contents.forEach(item => {
channels.push({
lang: 'id',
site_id: item.meta.id,
name: item.meta.title
})
})
}
return channels
} }
} }

View file

@ -1,3 +1,6 @@
// npm run channels:parse -- --config=./sites/dens.tv/dens.tv.config.js --output=./sites/dens.tv/dens.tv.channels.xml
// npm run grab -- --site=dens.tv
const { url, parser } = require('./dens.tv.config.js') const { url, parser } = require('./dens.tv.config.js')
const fs = require('fs') const fs = require('fs')
const path = require('path') const path = require('path')
@ -25,13 +28,13 @@ it('can parse response', () => {
expect(results[0]).toMatchObject({ expect(results[0]).toMatchObject({
start: '2023-11-09T17:00:00.000Z', start: '2023-11-09T17:00:00.000Z',
stop : '2023-11-09T17:05:00.000Z', stop: '2023-11-09T17:05:00.000Z',
title: 'Follow Up' title: 'Follow Up'
}) })
expect(results[12]).toMatchObject({ expect(results[12]).toMatchObject({
start: '2023-11-10T04:05:00.000Z', start: '2023-11-10T04:05:00.000Z',
stop : '2023-11-10T06:05:00.000Z', stop: '2023-11-10T06:05:00.000Z',
title: 'Metro Siang' title: 'Metro Siang'
}) })
}) })