diff --git a/sites/mncvision.id/mncvision.id.config.js b/sites/mncvision.id/mncvision.id.config.js
index 5dd8ccd0..8a791500 100644
--- a/sites/mncvision.id/mncvision.id.config.js
+++ b/sites/mncvision.id/mncvision.id.config.js
@@ -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
}
diff --git a/sites/mncvision.id/mncvision.id.test.js b/sites/mncvision.id/mncvision.id.test.js
index 8c5b0ca9..1ce385d6 100644
--- a/sites/mncvision.id/mncvision.id.test.js
+++ b/sites/mncvision.id/mncvision.id.test.js
@@ -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'))
})
diff --git a/sites/mncvision.id/mncvision.id_en.channels.xml b/sites/mncvision.id/mncvision.id_en.channels.xml
index 5924af97..256ea708 100644
--- a/sites/mncvision.id/mncvision.id_en.channels.xml
+++ b/sites/mncvision.id/mncvision.id_en.channels.xml
@@ -20,9 +20,9 @@
CGTN
CGTN Documentary
CINEMACHI
- CINEMACHI HD
CINEMACHI ACTION
CINEMACHI ACTION HD
+ CINEMACHI HD
CINEMACHI KIDS
CINEMACHI KIDS HD
CINEMACHI MAX
@@ -102,9 +102,9 @@
Sportstars 2 HD
Sportstars 3
Sportstars 4
- Sportstars 4 HD
+ Sportstars 4 HD
Sportstars
- Sportstars HD
+ Sportstars HD
SPOTV 2
SPOTV 2 HD
SPOTV
@@ -119,8 +119,8 @@
tvN Movies HD
tvOne
TVRI
- Vision Prime HD
Vision Prime
+ Vision Prime HD
Zee Bioskop
Zoomoo
diff --git a/sites/mncvision.id/mncvision.id_id.channels.xml b/sites/mncvision.id/mncvision.id_id.channels.xml
index cf2dfc29..eb4766a7 100644
--- a/sites/mncvision.id/mncvision.id_id.channels.xml
+++ b/sites/mncvision.id/mncvision.id_id.channels.xml
@@ -20,9 +20,9 @@
CGTN
CGTN Documentary
CINEMACHI
- CINEMACHI HD
CINEMACHI ACTION
CINEMACHI ACTION HD
+ CINEMACHI HD
CINEMACHI KIDS
CINEMACHI KIDS HD
CINEMACHI MAX
@@ -102,9 +102,9 @@
Sportstars 2 HD
Sportstars 3
Sportstars 4
- Sportstars 4 HD
+ Sportstars 4 HD
Sportstars
- Sportstars HD
+ Sportstars HD
SPOTV 2
SPOTV 2 HD
SPOTV
@@ -119,8 +119,8 @@
tvN Movies HD
tvOne
TVRI
- Vision Prime HD
Vision Prime
+ Vision Prime HD
Zee Bioskop
Zoomoo
diff --git a/sites/mncvision.id/readme.md b/sites/mncvision.id/readme.md
new file mode 100644
index 00000000..bee9dc42
--- /dev/null
+++ b/sites/mncvision.id/readme.md
@@ -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
+```