This commit is contained in:
Izuco 2021-09-19 13:04:35 +02:00
parent e37abcaf57
commit 6b8595e418
No known key found for this signature in database
GPG key ID: 318460063D70949F
3 changed files with 66 additions and 67 deletions

View file

@ -15,7 +15,7 @@ const api_host = 'https://prod-api-funimationnow.dadcdigital.com/api';
const shlp = require('sei-helper');
const { lookpath } = require('lookpath');
const m3u8 = require('m3u8-parsed');
const hlsDownload = require("hls-download")
const hlsDownload = require('hls-download');
// extra
const appYargs = require('./modules/module.app-args');
@ -43,9 +43,9 @@ module.exports = {
// Import modules after argv has been exported
const getData = require('./modules/module.getdata.js');
const merger = require('./modules/merger');
const parseSelect = require('./modules/module.parseSelect')
const parseSelect = require('./modules/module.parseSelect');
parseSelect(argv.e)
parseSelect(argv.e);
// check page
if(!isNaN(parseInt(argv.p, 10)) && parseInt(argv.p, 10) > 0){
@ -171,7 +171,6 @@ async function getShow(){
if(!episodesData.ok){return;}
let selEps = typeof argv.e == 'string' ? argv.e.split(',') : [];
let epsDataArr = JSON.parse(episodesData.res.body).items;
let epNumRegex = /^([A-Z0-9]*[A-Z])?(\d+)$/i;
let epSelEpsTxt = [], epSelList, typeIdLen = 0, epIdLen = 4;
@ -739,7 +738,7 @@ async function downloadFile(filename, chunkList) {
output: `${filename + '.ts'}`,
timeout: argv.timeout,
pcount: argv.partsize
}).download()
}).download();
return downloadStatus.ok;
}

View file

@ -15,7 +15,7 @@ const buildCommandFFmpeg = (simul, videoAndAudio, onlyVid, onlyAudio, subtitles,
let index = 0;
let audioIndex = 0;
let hasVideo = false;
console.log(videoAndAudio, onlyAudio, onlyVid)
console.log(videoAndAudio, onlyAudio, onlyVid);
for (let vid of videoAndAudio) {
args.push(`-i "${vid.path}"`);
if (!hasVideo) {

View file

@ -6,70 +6,70 @@
* }}
*/
module.exports = (selectString) => {
let parts = selectString.split(',');
let select = [];
let parts = selectString.split(',');
let select = [];
parts.forEach(part => {
if (part.includes('-')) {
let splits = part.split('-')
if (splits.length !== 2) {
console.log(`[WARN] Unable to parse input "${part}"`)
return;
}
parts.forEach(part => {
if (part.includes('-')) {
let splits = part.split('-');
if (splits.length !== 2) {
console.log(`[WARN] Unable to parse input "${part}"`);
return;
}
let firstPart = splits[0];
let match = firstPart.match(/[A-Za-z]+/);
if (match && match.length > 0) {
if (match.index && match.index !== 0) {
console.log(`[WARN] Unable to parse input "${part}"`)
return;
}
let letters = firstPart.substring(0, match[0].length)
let number = parseInt(firstPart.substring(match[0].length))
let b = parseInt(splits[1]);
if (isNaN(number) || isNaN(b)) {
console.log(`[WARN] Unable to parse input "${part}"`)
return;
}
for (let i = number; i <= b; i++) {
select.push(`${letters}${i}`);
}
let firstPart = splits[0];
let match = firstPart.match(/[A-Za-z]+/);
if (match && match.length > 0) {
if (match.index && match.index !== 0) {
console.log(`[WARN] Unable to parse input "${part}"`);
return;
}
let letters = firstPart.substring(0, match[0].length);
let number = parseInt(firstPart.substring(match[0].length));
let b = parseInt(splits[1]);
if (isNaN(number) || isNaN(b)) {
console.log(`[WARN] Unable to parse input "${part}"`);
return;
}
for (let i = number; i <= b; i++) {
select.push(`${letters}${i}`);
}
} else {
let a = parseInt(firstPart);
let b = parseInt(splits[1])
if (isNaN(a) || isNaN(b)) {
console.log(`[WARN] Unable to parse input "${part}"`)
return;
}
for (let i = a; i <= b; i++) {
select.push(`${i}`);
}
}
} else {
let a = parseInt(firstPart);
let b = parseInt(splits[1]);
if (isNaN(a) || isNaN(b)) {
console.log(`[WARN] Unable to parse input "${part}"`);
return;
}
for (let i = a; i <= b; i++) {
select.push(`${i}`);
}
}
} else {
select.push(part)
}
})
return {
values: select,
isSelected: (st) => {
let match = st.match(/[A-Za-z]+/);
if (match && match.length > 0) {
if (match.index && match.index !== 0) {
return false;
}
let letter = st.substring(0, match[0].length);
let number = parseInt(st.substring(match[0].length))
if (isNaN(number)) {
return false;
} else {
select.push(part);
}
});
return select.includes(`${letter}${number}`)
} else {
return select.includes(`${parseInt(st)}`)
}
}
};
}
return {
values: select,
isSelected: (st) => {
let match = st.match(/[A-Za-z]+/);
if (match && match.length > 0) {
if (match.index && match.index !== 0) {
return false;
}
let letter = st.substring(0, match[0].length);
let number = parseInt(st.substring(match[0].length));
if (isNaN(number)) {
return false;
}
return select.includes(`${letter}${number}`);
} else {
return select.includes(`${parseInt(st)}`);
}
}
};
};