mirror of
https://github.com/iptv-org/epg
synced 2026-05-09 10:57:03 -04:00
Merge pull request #3118 from tohenk/site-maxstream.tv
Add site `maxstream.tv`.
This commit is contained in:
5365
sites/maxstream.tv/__data__/content.json
Normal file
5365
sites/maxstream.tv/__data__/content.json
Normal file
File diff suppressed because it is too large
Load Diff
132
sites/maxstream.tv/maxstream.tv.channels.xml
Normal file
132
sites/maxstream.tv/maxstream.tv.channels.xml
Normal file
@@ -0,0 +1,132 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<channels>
|
||||
<channel site="maxstream.tv" site_id="0_armtdhuu" lang="id" xmltv_id="ABCAustralia.au@SD">ABC Australia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_ss6ehuur" lang="id" xmltv_id="AlJazeera.qa@Arabic">Al Jazeera</channel>
|
||||
<channel site="maxstream.tv" site_id="0_oyquzepi" lang="id" xmltv_id="AnimalPlanetSoutheastAsia.sg@SD">Animal Planet</channel>
|
||||
<channel site="maxstream.tv" site_id="0_86sal99e" lang="id" xmltv_id="AnimaxAsia.sg@SD">Animax</channel>
|
||||
<channel site="maxstream.tv" site_id="0_bidjh24z" lang="id" xmltv_id="AniplusAsia.sg@SD">Aniplus</channel>
|
||||
<channel site="maxstream.tv" site_id="0_3n2pn24p" lang="id" xmltv_id="AntaraTV.id@SD">ANTARA TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_6y0oafne" lang="id" xmltv_id="ANTV.id@SD">ANTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_wd3w16vp" lang="id" xmltv_id="ArirangTV.kr@SD">Arirang</channel>
|
||||
<channel site="maxstream.tv" site_id="0_3q4th1ok" lang="id" xmltv_id="AsianFoodNetwork.sg@SD">afn</channel>
|
||||
<channel site="maxstream.tv" site_id="0_kk9nyx3y" lang="id" xmltv_id="AXNAsia.sg@Indonesia">AXN</channel>
|
||||
<channel site="maxstream.tv" site_id="0_14pjqs63" lang="id" xmltv_id="BBCNews.uk@AsiaPacific">BBC News</channel>
|
||||
<channel site="maxstream.tv" site_id="0_e2vtvhqt" lang="id" xmltv_id="BeritaSatu.id@SD">Berita Satu</channel>
|
||||
<channel site="maxstream.tv" site_id="0_urq0w0mp" lang="id" xmltv_id="BioskopIndonesia.id@SD">Bioskop Indonesia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_ayq5nxva" lang="id" xmltv_id="BloombergTV.us@Asia">Bloomberg</channel>
|
||||
<channel site="maxstream.tv" site_id="0_gv023ysj" lang="id" xmltv_id="BTV.id@SD">BTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_84kdjuht" lang="id" xmltv_id="CBeebiesAsia.uk@SD">CBeebies</channel>
|
||||
<channel site="maxstream.tv" site_id="0_xvxr7u43" lang="id" xmltv_id="CCTV4Asia.cn@SD">CCTV 4</channel>
|
||||
<channel site="maxstream.tv" site_id="0_vq7m2eeg" lang="id" xmltv_id="CelestialMoviesIndonesia.id@SD">Celestial Movies</channel>
|
||||
<channel site="maxstream.tv" site_id="0_7csp48nr" lang="id" xmltv_id="CGTN.cn@SD">CGTN</channel>
|
||||
<channel site="maxstream.tv" site_id="0_ypi11pce" lang="id" xmltv_id="CGTNDocumentary.cn@SD">CGTN Documentary</channel>
|
||||
<channel site="maxstream.tv" site_id="0_yvb8lpzs" lang="id" xmltv_id="ChineseDrama.hk@SD">Chinese Drama</channel>
|
||||
<channel site="maxstream.tv" site_id="0_s7gzj2we" lang="id" xmltv_id="CinemaWorld.my@SD">CinemaWorld</channel>
|
||||
<channel site="maxstream.tv" site_id="0_7vx2webw" lang="id" xmltv_id="CinemaxAsia.sg@SD">Cinemax</channel>
|
||||
<channel site="maxstream.tv" site_id="0_n1y6rlt4" lang="id" xmltv_id="CitraDangdut.id@SD">Citra Dangdut</channel>
|
||||
<channel site="maxstream.tv" site_id="0_k0hnuzu4" lang="id" xmltv_id="CitraDrama.id@SD">Citra Drama</channel>
|
||||
<channel site="maxstream.tv" site_id="0_xi5ysa4r" lang="id" xmltv_id="CNA.sg@SD">CNA</channel>
|
||||
<channel site="maxstream.tv" site_id="0_af2rxjmy" lang="id" xmltv_id="CNBCAsia.sg@SD">CNBC Asia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_do3tuwa9" lang="id" xmltv_id="CNBCIndonesia.id@SD">CNBC Indonesia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_cavdcfwq" lang="id" xmltv_id="CNNIndonesia.id@SD">CNN Indonesia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_455xkjp3" lang="id" xmltv_id="CNNInternational.us@AsiaPacific">CNN International</channel>
|
||||
<channel site="maxstream.tv" site_id="0_7gka297f" lang="id" xmltv_id="CrimePlusInvestigationAsia.sg@SD">Crime Investigation</channel>
|
||||
<channel site="maxstream.tv" site_id="0_3karb7oy" lang="id" xmltv_id="CuriosityChannel.us@SD">Curiosity Channel</channel>
|
||||
<channel site="maxstream.tv" site_id="0_wfgm77pv" lang="id" xmltv_id="DAAITV.id@SD">DAAI TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_enfa8a2h" lang="id" xmltv_id="DaVinciAsia.de@SD">Da Vinci Learning</channel>
|
||||
<channel site="maxstream.tv" site_id="0_nhmzmt8u" lang="id" xmltv_id="DiscoveryAsia.sg@SD">Discovery Asia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_efpv3846" lang="id" xmltv_id="DiscoveryChannelSoutheastAsia.sg@SD">Discovery Channel</channel>
|
||||
<channel site="maxstream.tv" site_id="0_muy891nb" lang="id" xmltv_id="DMITV.id@SD">DMI TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_h4cdmhi1" lang="id" xmltv_id="DreamWorksChannelAsia.us@SD">DreamWorks</channel>
|
||||
<channel site="maxstream.tv" site_id="0_3wiy77wh" lang="id" xmltv_id="DuniaAnak.id@SD">Dunia Anak</channel>
|
||||
<channel site="maxstream.tv" site_id="0_s5oc8paq" lang="id" xmltv_id="DuniaLain.id@SD">Dunia Lain</channel>
|
||||
<channel site="maxstream.tv" site_id="0_urjthrku" lang="id" xmltv_id="DW.de@English">DW English</channel>
|
||||
<channel site="maxstream.tv" site_id="0_nt2t5yrg" lang="id" xmltv_id="EuronewsEnglish.fr@SD">Euronews</channel>
|
||||
<channel site="maxstream.tv" site_id="0_brgzui5c" lang="id" xmltv_id="FashionTVAsia.fr@SD">Fashion TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_chy9zuqn" lang="id" xmltv_id="FightSports.us@SD">Fight Sports</channel>
|
||||
<channel site="maxstream.tv" site_id="0_y6gkb9ud" lang="id" xmltv_id="Flik.id@SD">Flik</channel>
|
||||
<channel site="maxstream.tv" site_id="0_gvz1a46f" lang="id" xmltv_id="France24.fr@English">France 24</channel>
|
||||
<channel site="maxstream.tv" site_id="0_anqaquwl" lang="id" xmltv_id="Galaxy.id@SD">Galaxy</channel>
|
||||
<channel site="maxstream.tv" site_id="0_menqjsva" lang="id" xmltv_id="GalaxyPremium.id@SD">Galaxy Premium</channel>
|
||||
<channel site="maxstream.tv" site_id="0_p7vlqu2a" lang="id" xmltv_id="GTV.id@SD">GTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_xgdr0qbd" lang="id" xmltv_id="HBOAsia.sg@SD">HBO</channel>
|
||||
<channel site="maxstream.tv" site_id="0_qqui53si" lang="id" xmltv_id="HBOFamilyAsia.sg@SD">HBO Family</channel>
|
||||
<channel site="maxstream.tv" site_id="0_k7eh4erk" lang="id" xmltv_id="HBOHitsAsia.sg@SD">HBO Hits</channel>
|
||||
<channel site="maxstream.tv" site_id="0_s6bo567h" lang="id" xmltv_id="HBOSignatureAsia.sg@SD">HBO Signature</channel>
|
||||
<channel site="maxstream.tv" site_id="0_uvp3wz05" lang="id" xmltv_id="HGTVAsia.us@SD">HGTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_k9r5lq30" lang="id" xmltv_id="HistoryAsia.us@SD">History</channel>
|
||||
<channel site="maxstream.tv" site_id="0_hd1c30bo" lang="id" xmltv_id="HITS.sg@SD">HITS</channel>
|
||||
<channel site="maxstream.tv" site_id="0_zrs82szk" lang="id" xmltv_id="HITSMovies.sg@SD">HITS MOVIES</channel>
|
||||
<channel site="maxstream.tv" site_id="0_zg4mwqv7" lang="id" xmltv_id="HITSNOW.sg@SD">HITS Now</channel>
|
||||
<channel site="maxstream.tv" site_id="0_h0tqx9o4" lang="id" xmltv_id="Horee.id@SD">Horee</channel>
|
||||
<channel site="maxstream.tv" site_id="0_1plxq8l8" lang="id" xmltv_id="HorizonSports.us@SD">Horizon Sports</channel>
|
||||
<channel site="maxstream.tv" site_id="0_rfc1zphz" lang="id" xmltv_id="IDXChannel.id@SD">IDX Channel</channel>
|
||||
<channel site="maxstream.tv" site_id="0_blvd5qf0" lang="id" xmltv_id="IMC.id@SD">IMC</channel>
|
||||
<channel site="maxstream.tv" site_id="0_y2cx87w8" lang="id" xmltv_id="Indosiar.id@SD">Indosiar</channel>
|
||||
<channel site="maxstream.tv" site_id="0_fn0qos3d" lang="id" xmltv_id="iNews.id@SD">Inews</channel>
|
||||
<channel site="maxstream.tv" site_id="0_rkv5gee2" lang="id" xmltv_id="JakTV.id@SD">JAK TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_lrp6fabo" lang="id" xmltv_id="JawaPosTV.id@SD">Jawa Pos TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_qesewoxv" lang="id" xmltv_id="JTV.id@SD">JTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_4oku2lux" lang="id" xmltv_id="KBSWorld.kr@SD">KBS World</channel>
|
||||
<channel site="maxstream.tv" site_id="0_jqlzd1wf" lang="id" xmltv_id="KIX.hk@SD">KIX</channel>
|
||||
<channel site="maxstream.tv" site_id="0_930nfsqj" lang="id" xmltv_id="KompasTV.id@SD">Kompas TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_8ijijzlz" lang="id" xmltv_id="KPlus.sg@SD">K Plus</channel>
|
||||
<channel site="maxstream.tv" site_id="0_b65cebi2" lang="id" xmltv_id="LifetimeAsia.us@SD">Lifetime</channel>
|
||||
<channel site="maxstream.tv" site_id="0_moy42tni" lang="id" xmltv_id="LoveNature.ca@SD">Love Nature</channel>
|
||||
<channel site="maxstream.tv" site_id="0_z7t4c568" lang="id" xmltv_id="MAXEats.id@SD">MAXEats</channel>
|
||||
<channel site="maxstream.tv" site_id="0_ynh2anw4" lang="id" xmltv_id="MAXKids.id@SD">MAXKids</channel>
|
||||
<channel site="maxstream.tv" site_id="0_psqdb637" lang="id" xmltv_id="MAXReels.id@SD">MAXReels</channel>
|
||||
<channel site="maxstream.tv" site_id="0_1u20u1ok" lang="id" xmltv_id="MAXSports.id@SD">MAXSports</channel>
|
||||
<channel site="maxstream.tv" site_id="0_720wy4x6" lang="id" xmltv_id="MAXStreak.id@SD">MAXStreak</channel>
|
||||
<channel site="maxstream.tv" site_id="0_ixad1kw8" lang="id" xmltv_id="MAXStream.id@SD">MAXStream TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_keojjla6" lang="id" xmltv_id="MDTV.id@HD">MDTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_0hjh536t" lang="id" xmltv_id="MentariTV.id@SD">Mentari TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_2jt2oz81" lang="id" xmltv_id="MetroTV.id@SD">Metro TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_3k1552mp" lang="id" xmltv_id="MNCTV.id@SD">MNC TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_o6n0u3cx" lang="id" xmltv_id="Moji.id@SD">Moji</channel>
|
||||
<channel site="maxstream.tv" site_id="0_0pf1skv6" lang="id" xmltv_id="MoonbugKids.uk@SD">Moonbug</channel>
|
||||
<channel site="maxstream.tv" site_id="0_voqn75wc" lang="id" xmltv_id="MQTV.id@SD">MQTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_5zvla2hz" lang="id" xmltv_id="MTATV.id@SD">MTA TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_qe3k01sq" lang="id" xmltv_id="MusikIndonesia.id@SD">Musik Indonesia</channel>
|
||||
<channel site="maxstream.tv" site_id="0_1qolvnju" lang="id" xmltv_id="MyKidz.id@SD">My Kidz</channel>
|
||||
<channel site="maxstream.tv" site_id="0_wz2sim1e" lang="id" xmltv_id="NewTVComprehensive.id@SD">New TV Comprehensive</channel>
|
||||
<channel site="maxstream.tv" site_id="0_2xlnqlst" lang="id" xmltv_id="NewTVFinance.id@SD">New TV Finance</channel>
|
||||
<channel site="maxstream.tv" site_id="0_emchwlj8" lang="id" xmltv_id="NewTVVariety.id@SD">New TV Variety</channel>
|
||||
<channel site="maxstream.tv" site_id="0_mgr46jjf" lang="id" xmltv_id="NHKWorldJapan.jp@SD">NHK World Japan</channel>
|
||||
<channel site="maxstream.tv" site_id="0_2sdk0nou" lang="id" xmltv_id="NickelodeonAsia.sg@SD">Nickelodeon</channel>
|
||||
<channel site="maxstream.tv" site_id="0_pz6xuyqn" lang="id" xmltv_id="NickJrAsia.sg@SD">Nick Junior</channel>
|
||||
<channel site="maxstream.tv" site_id="0_awblng5d" lang="id" xmltv_id="ONE.sg@SD">ONE</channel>
|
||||
<channel site="maxstream.tv" site_id="0_gtyd8oju" lang="id" xmltv_id="PhoenixChineseChannel.hk@SD">Phoenix Chinese</channel>
|
||||
<channel site="maxstream.tv" site_id="0_40isuyzv" lang="id" xmltv_id="PhoenixInfoNewsChannel.hk@SD">Phoenix Info News</channel>
|
||||
<channel site="maxstream.tv" site_id="0_e59etfmm" lang="id" xmltv_id="Prambors.id@SD">Prambors</channel>
|
||||
<channel site="maxstream.tv" site_id="0_hii9fpgx" lang="id" xmltv_id="RajawaliTV.id@SD">RTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_nwsd3m5r" lang="id" xmltv_id="RCTI.id@SD">RCTI</channel>
|
||||
<channel site="maxstream.tv" site_id="0_1gshn4os" lang="id" xmltv_id="ROCKAction.sg@SD">Rock Action</channel>
|
||||
<channel site="maxstream.tv" site_id="0_a98kaoda" lang="id" xmltv_id="ROCKEntertainment.sg@SD">Rock Entertainment</channel>
|
||||
<channel site="maxstream.tv" site_id="0_9km1pl2v" lang="id" xmltv_id="RodjaTV.id@SD">Rodja TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_xgmdprq0" lang="id" xmltv_id="SCTV.id@SD">SCTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_uxjvyh90" lang="id" xmltv_id="ShenzhenTV.cn@SD">Shenzhen TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_nhoeiawb" lang="id" xmltv_id="SindoNewsTV.id@SD">Sindo News</channel>
|
||||
<channel site="maxstream.tv" site_id="0_pfklvvig" lang="id" xmltv_id="SinPoTV.id@HD">Sinpo TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_mubcipck" lang="id" xmltv_id="SPOTV2.id@SD">SPOTV 2</channel>
|
||||
<channel site="maxstream.tv" site_id="0_e9m9jzif" lang="id" xmltv_id="SPOTV.id@SD">SPOTV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_jhb1o6kj" lang="id" xmltv_id="StudioUniversalLatinAmerica.us@Brazil">Studio Universal</channel>
|
||||
<channel site="maxstream.tv" site_id="0_cms3x58k" lang="id" xmltv_id="TheIndonesiaChannel.id@SD">The Indonesia Channel</channel>
|
||||
<channel site="maxstream.tv" site_id="0_wiy2wbmv" lang="id" xmltv_id="Thrill.hk@SD">Thrill</channel>
|
||||
<channel site="maxstream.tv" site_id="0_57ujtr57" lang="id" xmltv_id="TLCSoutheastAsia.sg@SD">TLC</channel>
|
||||
<channel site="maxstream.tv" site_id="0_a7dno7wk" lang="id" xmltv_id="Trans7.id@SD">TRANS 7</channel>
|
||||
<channel site="maxstream.tv" site_id="0_uakgnhip" lang="id" xmltv_id="TransTV.id@SD">Trans TV</channel>
|
||||
<channel site="maxstream.tv" site_id="0_6y33rxed" lang="id" xmltv_id="TV5MondeAsia.fr@SD">TV5 MONDE</channel>
|
||||
<channel site="maxstream.tv" site_id="0_cbqtpojf" lang="id" xmltv_id="TV9Nusantara.id@SD">TV9</channel>
|
||||
<channel site="maxstream.tv" site_id="0_kp6grg1f" lang="id" xmltv_id="TVBSNews.tw@SD">TVBS News</channel>
|
||||
<channel site="maxstream.tv" site_id="0_j93el3os" lang="id" xmltv_id="TVMu.id@SD">TV MU</channel>
|
||||
<channel site="maxstream.tv" site_id="0_6r3crrac" lang="id" xmltv_id="TVMUI.id@SD">TV MUI</channel>
|
||||
<channel site="maxstream.tv" site_id="0_r16b30de" lang="id" xmltv_id="tvNAsia.hk@SD">tvN</channel>
|
||||
<channel site="maxstream.tv" site_id="0_2ayrv6w3" lang="id" xmltv_id="tvNMoviesAsia.hk@SD">tvN Movies</channel>
|
||||
<channel site="maxstream.tv" site_id="0_qy8d9ng1" lang="id" xmltv_id="tvOne.id@SD">TV One</channel>
|
||||
<channel site="maxstream.tv" site_id="0_vu7lebet" lang="id" xmltv_id="TVRI.id@SD">TVRI</channel>
|
||||
<channel site="maxstream.tv" site_id="0_iu9ah7cu" lang="id" xmltv_id="TVRIWorld.id@SD">TVRI World</channel>
|
||||
<channel site="maxstream.tv" site_id="0_7i9iue7v" lang="id" xmltv_id="UChannel.id@SD">U Channel</channel>
|
||||
<channel site="maxstream.tv" site_id="0_k6etp5l6" lang="id" xmltv_id="ZeeBioskop.id@SD">Zee Bioskop</channel>
|
||||
<channel site="maxstream.tv" site_id="0_r3bzcf53" lang="id" xmltv_id="ZhejiangInternationalChannel.cn@SD">Zhejiang Int</channel>
|
||||
</channels>
|
||||
73
sites/maxstream.tv/maxstream.tv.config.js
Normal file
73
sites/maxstream.tv/maxstream.tv.config.js
Normal file
@@ -0,0 +1,73 @@
|
||||
const axios = require('axios')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
const timezone = require('dayjs/plugin/timezone')
|
||||
const customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
|
||||
dayjs.extend(utc)
|
||||
dayjs.extend(timezone)
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
const tz = 'Asia/Jakarta'
|
||||
|
||||
module.exports = {
|
||||
site: 'maxstream.tv',
|
||||
days: 2,
|
||||
url({ channel }) {
|
||||
return `https://vmp.maxstream.tv/api/v3/videos/${channel.site_id}/schedules`
|
||||
},
|
||||
parser({ content, channel, date }) {
|
||||
const programs = []
|
||||
if (content && typeof content === 'string') {
|
||||
content = JSON.parse(content)
|
||||
}
|
||||
if (Array.isArray(content?.data)) {
|
||||
const schedules = []
|
||||
content.data.forEach(item => {
|
||||
schedules.push(...item.metadata)
|
||||
})
|
||||
const f = dt => dayjs.tz(dt, tz).isSame(date, 'day')
|
||||
schedules
|
||||
.filter(
|
||||
entry => entry.parentId === channel.site_id && (f(entry.startTime) || f(entry.endTime))
|
||||
)
|
||||
.forEach(entry => {
|
||||
const [, , , season, , , session2, , , episode] = entry.tvProgram.match(
|
||||
/((\s(\d+)[a-zA-Z]{2})?\s(Season(\s)?||S)(\d+)?)?(\s-\sEps\.(\s)?(\d+))/
|
||||
) || [null, null, null, null, null, null, null, null, null, null]
|
||||
programs.push({
|
||||
title: entry.tvProgram,
|
||||
description: entry.description,
|
||||
start: dayjs.tz(entry.startTime, tz),
|
||||
stop: dayjs.tz(entry.endTime, tz),
|
||||
season: season || session2 ? parseInt(season || session2) : null,
|
||||
episode: episode ? parseInt(episode) : null,
|
||||
image: entry.thumbnail_url
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
},
|
||||
async channels() {
|
||||
const channels = []
|
||||
const data = await axios
|
||||
.get('https://vmp.maxstream.tv/api/v3/videos/list?contentType=channel')
|
||||
.then(response => response.data)
|
||||
.catch(console.error)
|
||||
|
||||
if (Array.isArray(data?.videos)) {
|
||||
channels.push(
|
||||
...data.videos
|
||||
.filter(item => item?.contentType === 'Channel')
|
||||
.map(item => ({
|
||||
lang: 'id',
|
||||
site_id: item.id,
|
||||
name: item.translations.id.title
|
||||
}))
|
||||
)
|
||||
}
|
||||
|
||||
return channels
|
||||
}
|
||||
}
|
||||
51
sites/maxstream.tv/maxstream.tv.test.js
Normal file
51
sites/maxstream.tv/maxstream.tv.test.js
Normal file
@@ -0,0 +1,51 @@
|
||||
const { parser, url } = require('./maxstream.tv.config.js')
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
|
||||
dayjs.extend(utc)
|
||||
|
||||
const date = dayjs.utc('2026-05-02').startOf('d')
|
||||
const channel = { site_id: '0_86sal99e' }
|
||||
|
||||
it('can generate valid url', () => {
|
||||
expect(url({ channel })).toBe('https://vmp.maxstream.tv/api/v3/videos/0_86sal99e/schedules')
|
||||
})
|
||||
|
||||
it('can parse response', () => {
|
||||
const content = fs.readFileSync(path.resolve(__dirname, '__data__/content.json')).toString()
|
||||
const results = parser({ content, channel, date }).map(p => {
|
||||
p.start = p.start.toJSON()
|
||||
p.stop = p.stop.toJSON()
|
||||
return p
|
||||
})
|
||||
|
||||
expect(results.length).toBe(49)
|
||||
expect(results[0]).toMatchObject({
|
||||
title: "I'll Become A Villainess Who Goes Down In History - Eps.12",
|
||||
description:
|
||||
'Seorang gadis bereinkarnasi sebagai tokoh antagonis dalam novel fantasi. Ia bertekad menjadi villain sejati, namun pilihan tindakannya justru mengubah jalan cerita dan memengaruhi hubungan dengan karakter lain.',
|
||||
start: '2026-05-01T16:30:00.000Z',
|
||||
stop: '2026-05-01T17:00:00.000Z',
|
||||
episode: 12
|
||||
})
|
||||
expect(results[46]).toMatchObject({
|
||||
title: 'Haikyu!! 4Th Season - Eps.22',
|
||||
description:
|
||||
'Karasuno melaju ke turnamen nasional dan menghadapi tim-tim elit dengan gaya bermain berbeda. Latihan intens dan strategi baru menguji kemampuan Hinata serta rekan-rekannya dalam menghadapi tekanan pertandingan besar.',
|
||||
start: '2026-05-02T15:26:00.000Z',
|
||||
stop: '2026-05-02T16:00:00.000Z',
|
||||
season: 4,
|
||||
episode: 22
|
||||
})
|
||||
})
|
||||
|
||||
it('can handle empty guide', () => {
|
||||
const results = parser({
|
||||
content: '',
|
||||
channel
|
||||
})
|
||||
|
||||
expect(results).toMatchObject([])
|
||||
})
|
||||
21
sites/maxstream.tv/readme.md
Normal file
21
sites/maxstream.tv/readme.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# maxstream.tv
|
||||
|
||||
https://maxstream.tv/home
|
||||
|
||||
### Download the guide
|
||||
|
||||
```sh
|
||||
npm run grab --- --channels=sites/maxstream.tv/maxstream.tv.channels.xml
|
||||
```
|
||||
|
||||
### Update channel list
|
||||
|
||||
```sh
|
||||
npm run channels:parse --- --config=./sites/maxstream.tv/maxstream.tv.config.js --output=./sites/maxstream.tv/maxstream.tv.channels.xml
|
||||
```
|
||||
|
||||
### Test
|
||||
|
||||
```sh
|
||||
npm test --- maxstream.tv
|
||||
```
|
||||
Reference in New Issue
Block a user