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

View File

@ -206,16 +206,9 @@ class Downloader
{ {
jsonText = await clipboardy.read(); jsonText = await clipboardy.read();
} }
let inputData: InputData = { fragments: [], totalSize: 0, title: '' };
try try
{ {
inputData = JSON.parse(jsonText) as InputData; const inputData = JSON.parse(jsonText) as InputData | InputData[];
}
catch (error)
{
console.log(`[无数据] 未在剪贴板检测到有效数据/没有指定输入文件/输入文件的数据无效.`);
process.exit();
}
try try
{ {
process.chdir(options.output); process.chdir(options.output);
@ -224,12 +217,28 @@ class Downloader
Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload(); Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
process.exit(); 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); const downloader = new Downloader(inputData);
await downloader.download(); await downloader.download();
} }
}
catch (error) catch (error)
{ {
// Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload(); Downloader.workingDownloader && Downloader.workingDownloader.cancelDownload();
console.error(`\n错误: ${error}`); console.error(`\n错误: ${error}`);
} }
}
catch (error)
{
console.log(`[无数据] 未在剪贴板检测到有效数据/没有指定输入文件/输入文件的数据无效.`);
}
})(); })();