Add multiple video download support

This commit is contained in:
the1812 2019-04-24 12:14:51 +08:00
parent 13b864c851
commit 372d637155
2 changed files with 50 additions and 35 deletions

View File

@ -153,25 +153,31 @@ Downloader.workingDownloader = null;
else {
jsonText = await clipboardy.read();
}
let inputData = { fragments: [], totalSize: 0, title: '' };
try {
inputData = JSON.parse(jsonText);
const inputData = JSON.parse(jsonText);
try {
process.chdir(options.output);
process.on("SIGINT", () => {
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
process.exit();
});
if (Array.isArray(inputData)) {
for (const data of inputData) {
const downloader = new Downloader(data);
await downloader.download();
}
}
else {
const downloader = new Downloader(inputData);
await downloader.download();
}
}
catch (error) {
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
console.error(`\n错误: ${error}`);
}
}
catch (error) {
console.log(`[无数据] 未在剪贴板检测到有效数据/没有指定输入文件/输入文件的数据无效.`);
process.exit();
}
try {
process.chdir(options.output);
process.on("SIGINT", () => {
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
process.exit();
});
const downloader = new Downloader(inputData);
await downloader.download();
}
catch (error) {
// Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
console.error(`\n错误: ${error}`);
}
})();

View File

@ -206,30 +206,39 @@ class Downloader
{
jsonText = await clipboardy.read();
}
let inputData: InputData = { fragments: [], totalSize: 0, title: '' };
try
{
inputData = JSON.parse(jsonText) as InputData;
const inputData = JSON.parse(jsonText) as InputData | InputData[];
try
{
process.chdir(options.output);
process.on("SIGINT", () =>
{
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
process.exit();
});
if (Array.isArray(inputData))
{
for (const data of inputData)
{
const downloader = new Downloader(data);
await downloader.download();
}
}
else
{
const downloader = new Downloader(inputData);
await downloader.download();
}
}
catch (error)
{
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
console.error(`\n错误: ${error}`);
}
}
catch (error)
{
console.log(`[无数据] 未在剪贴板检测到有效数据/没有指定输入文件/输入文件的数据无效.`);
process.exit();
}
try
{
process.chdir(options.output);
process.on("SIGINT", () =>
{
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
process.exit();
});
const downloader = new Downloader(inputData);
await downloader.download();
}
catch (error)
{
// Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
console.error(`\n错误: ${error}`);
}
})();