Update mncvision.id.

This update contains the following fix:
- Fix cookie language logic
- Update channels
- Add readme

Signed-off-by: Toha <tohenk@yahoo.com>
This commit is contained in:
Toha 2023-12-02 16:40:01 +07:00
parent a9d065e3d3
commit 23bf7f79bc
No known key found for this signature in database
GPG key ID: 2D7AA6389D44DCAB
5 changed files with 65 additions and 19 deletions

View file

@ -34,8 +34,10 @@ module.exports = {
const headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
if (channel && !cookies[channel.lang]) {
cookies[channel.lang] = await loadLangCookies(channel)
if (channel) {
if (!cookies[channel.lang]) {
cookies[channel.lang] = await loadLangCookies(channel)
}
if (cookies[channel.lang]) {
headers.Cookie = cookies[channel.lang]
}
@ -44,7 +46,7 @@ module.exports = {
},
jar: null
},
async parser({ content, headers, date, channel}) {
async parser({ content, headers, date, channel }) {
const programs = []
if (!cookies[channel.lang]) {
@ -69,7 +71,7 @@ module.exports = {
return programs
},
async channels({lang = 'id'}) {
async channels({ lang = 'id' }) {
const axios = require('axios')
const cheerio = require('cheerio')
const result = await axios
@ -161,5 +163,11 @@ async function loadDescription($item, cookies) {
}
function parseCookies(headers) {
return Array.isArray(headers['set-cookie']) ? headers['set-cookie'].join(';') : null
const cookies = []
if (Array.isArray(headers['set-cookie'])) {
headers['set-cookie'].forEach(cookie => {
cookies.push(cookie.split('; ')[0])
})
}
return cookies.length ? cookies.join('; ') : null
}

View file

@ -1,7 +1,3 @@
// npm run channels:parse -- --config=./sites/mncvision.id/mncvision.id.config.js --output=./sites/mncvision.id/mncvision.id_id.channels.xml --set=lang:id
// npm run channels:parse -- --config=./sites/mncvision.id/mncvision.id.config.js --output=./sites/mncvision.id/mncvision.id_en.channels.xml --set=lang:en
// npm run grab -- --site=mncvision.id --lang=id
const { parser, url, request } = require('./mncvision.id.config.js')
const fs = require('fs')
const path = require('path')
@ -46,12 +42,17 @@ axios.get.mockImplementation((url, opts) => {
if (
url === 'https://www.mncvision.id/schedule/detail/20231119001500154/Blue-Bloods-S13-Ep-19/1'
) {
if (opts.headers['Cookie'] === indonesiaHeaders['set-cookie'][0]) {
const getCookie = headers => {
if (Array.isArray(headers['set-cookie'])) {
return headers['set-cookie'][0].split('; ')[0]
}
}
if (opts.headers['Cookie'] === getCookie(indonesiaHeaders)) {
return Promise.resolve({
data: fs.readFileSync(path.resolve(__dirname, '__data__/program_id.html'))
})
}
if (opts.headers['Cookie'] === englishHeaders['set-cookie'][0]) {
if (opts.headers['Cookie'] === getCookie(englishHeaders)) {
return Promise.resolve({
data: fs.readFileSync(path.resolve(__dirname, '__data__/program_en.html'))
})

View file

@ -20,9 +20,9 @@
<channel site="mncvision.id" lang="en" xmltv_id="CGTN.cn" site_id="353">CGTN</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CGTNDocumentary.cn" site_id="205">CGTN Documentary</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Cinemachi.uk" site_id="7">CINEMACHI</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiHD.uk" site_id="401">CINEMACHI HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiAction.uk" site_id="8">CINEMACHI ACTION</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiActionHD.uk" site_id="402">CINEMACHI ACTION HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiHD.uk" site_id="401">CINEMACHI HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiKids.uk" site_id="9">CINEMACHI KIDS</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiKidsHD.uk" site_id="403">CINEMACHI KIDS HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="CinemachiMax.uk" site_id="10">CINEMACHI MAX</channel>
@ -102,9 +102,9 @@
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars2HD.id" site_id="422">Sportstars 2 HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars3.id" site_id="99">Sportstars 3</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars4.id" site_id="88">Sportstars 4</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars4.id" site_id="424">Sportstars 4 HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars4HD.id" site_id="424">Sportstars 4 HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars.id" site_id="102">Sportstars</channel>
<channel site="mncvision.id" lang="en" xmltv_id="Sportstars4HD.id" site_id="421">Sportstars HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="SportstarsHD.id" site_id="421">Sportstars HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="SPOTV2.kr" site_id="308">SPOTV 2</channel>
<channel site="mncvision.id" lang="en" xmltv_id="SPOTV2HD.kr" site_id="428">SPOTV 2 HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="SPOTV.kr" site_id="307">SPOTV</channel>
@ -119,8 +119,8 @@
<channel site="mncvision.id" lang="en" xmltv_id="tvNMoviesAsiaHD.hk" site_id="415">tvN Movies HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="tvOne.id" site_id="97">tvOne</channel>
<channel site="mncvision.id" lang="en" xmltv_id="TVRINasional.id" site_id="118">TVRI</channel>
<channel site="mncvision.id" lang="en" xmltv_id="VisionPrimeHD.id" site_id="1">Vision Prime HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="VisionPrime.id" site_id="94">Vision Prime</channel>
<channel site="mncvision.id" lang="en" xmltv_id="VisionPrimeHD.id" site_id="1">Vision Prime HD</channel>
<channel site="mncvision.id" lang="en" xmltv_id="ZeeBioskop.id" site_id="23">Zee Bioskop</channel>
<channel site="mncvision.id" lang="en" xmltv_id="ZooMoo.sg" site_id="39">Zoomoo</channel>
</channels>

View file

@ -20,9 +20,9 @@
<channel site="mncvision.id" lang="id" xmltv_id="CGTN.cn" site_id="353">CGTN</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CGTNDocumentary.cn" site_id="205">CGTN Documentary</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Cinemachi.uk" site_id="7">CINEMACHI</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiHD.uk" site_id="401">CINEMACHI HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiAction.uk" site_id="8">CINEMACHI ACTION</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiActionHD.uk" site_id="402">CINEMACHI ACTION HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiHD.uk" site_id="401">CINEMACHI HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiKids.uk" site_id="9">CINEMACHI KIDS</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiKidsHD.uk" site_id="403">CINEMACHI KIDS HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="CinemachiMax.uk" site_id="10">CINEMACHI MAX</channel>
@ -102,9 +102,9 @@
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars2HD.id" site_id="422">Sportstars 2 HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars3.id" site_id="99">Sportstars 3</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars4.id" site_id="88">Sportstars 4</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars4.id" site_id="424">Sportstars 4 HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars4HD.id" site_id="424">Sportstars 4 HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars.id" site_id="102">Sportstars</channel>
<channel site="mncvision.id" lang="id" xmltv_id="Sportstars4HD.id" site_id="421">Sportstars HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="SportstarsHD.id" site_id="421">Sportstars HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="SPOTV2.kr" site_id="308">SPOTV 2</channel>
<channel site="mncvision.id" lang="id" xmltv_id="SPOTV2HD.kr" site_id="428">SPOTV 2 HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="SPOTV.kr" site_id="307">SPOTV</channel>
@ -119,8 +119,8 @@
<channel site="mncvision.id" lang="id" xmltv_id="tvNMoviesAsiaHD.hk" site_id="415">tvN Movies HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="tvOne.id" site_id="97">tvOne</channel>
<channel site="mncvision.id" lang="id" xmltv_id="TVRINasional.id" site_id="118">TVRI</channel>
<channel site="mncvision.id" lang="id" xmltv_id="VisionPrimeHD.id" site_id="1">Vision Prime HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="VisionPrime.id" site_id="94">Vision Prime</channel>
<channel site="mncvision.id" lang="id" xmltv_id="VisionPrimeHD.id" site_id="1">Vision Prime HD</channel>
<channel site="mncvision.id" lang="id" xmltv_id="ZeeBioskop.id" site_id="23">Zee Bioskop</channel>
<channel site="mncvision.id" lang="id" xmltv_id="ZooMoo.sg" site_id="39">Zoomoo</channel>
</channels>

View file

@ -0,0 +1,37 @@
# mncvision.id
https://www.mncvision.id/schedule/table
### Download the guide
Indonesian:
```sh
npm run grab -- --site=mncvision.id --lang=id
```
English:
```sh
npm run grab -- --site=mncvision.id --lang=en
```
### Update channel list
Indonesian:
```sh
npm run channels:parse -- --config=./sites/mncvision.id/mncvision.id.config.js --output=./sites/mncvision.id/mncvision.id_id.channels.xml --set=lang:id
```
English:
```sh
npm run channels:parse -- --config=./sites/mncvision.id/mncvision.id.config.js --output=./sites/mncvision.id/mncvision.id_en.channels.xml --set=lang:en
```
### Test
```sh
npm test -- mncvision.id
```