diff --git a/extras/video-link-downloader/test.js b/extras/video-link-downloader/test.js index 475ca91dc..078ce8b08 100644 --- a/extras/video-link-downloader/test.js +++ b/extras/video-link-downloader/test.js @@ -1,7 +1,20 @@ -const commandLineArgs = require("command-line-args"); +//@ts-check +const fs = require("fs"); -const optionDefinitions = [ - { name: 'info', alias: 'i', defaultOption: true, type: String, defaultValue: undefined }, - { name: 'parts', alias: 'p', type: Number, defaultValue: undefined }, -]; -console.log(commandLineArgs(optionDefinitions)); +const title = "【2019·东方华灯宴】 - 九天共开怀"; +const dest = title + ".flv"; + +const files = fs.readdirSync("."); +const parts = files.filter(it => it.includes(title + ".part")); +const partRegex = /.*\.part([\d]+)/; +parts.sort((a, b) => +{ + const partA = parseInt(a.replace(partRegex, "$1")); + const partB = parseInt(b.replace(partRegex, "$1")); + return partA - partB; +}).forEach(file => +{ + const buffer = fs.readFileSync(file); + fs.appendFileSync(dest, buffer); +}); +console.log("end"); \ No newline at end of file diff --git a/extras/video-link-downloader/video-link-downloader.js b/extras/video-link-downloader/video-link-downloader.js index 2247f7601..1cfc874e1 100644 --- a/extras/video-link-downloader/video-link-downloader.js +++ b/extras/video-link-downloader/video-link-downloader.js @@ -91,14 +91,14 @@ class Downloader { const files = fs.readdirSync("."); const parts = files.filter(it => it.includes(title + ".part")); const partRegex = /.*\.part([\d]+)/; - const data = parts.sort((a, b) => { + parts.sort((a, b) => { const partA = parseInt(a.replace(partRegex, "$1")); const partB = parseInt(b.replace(partRegex, "$1")); return partA - partB; - }).map(file => fs.readFileSync(file)); - const stream = fs.createWriteStream(dest); - data.forEach(it => stream.write(it)); - stream.close(); + }).forEach(file => { + const buffer = fs.readFileSync(file); + fs.appendFileSync(dest, buffer); + }); parts.forEach(file => fs.unlinkSync(file)); } return dest; diff --git a/extras/video-link-downloader/video-link-downloader.ts b/extras/video-link-downloader/video-link-downloader.ts index 05554e1d8..9a3fd0e05 100644 --- a/extras/video-link-downloader/video-link-downloader.ts +++ b/extras/video-link-downloader/video-link-downloader.ts @@ -121,15 +121,16 @@ class Downloader const files = fs.readdirSync("."); const parts = files.filter(it => it.includes(title + ".part")); const partRegex = /.*\.part([\d]+)/; - const data = parts.sort((a, b) => + parts.sort((a, b) => { const partA = parseInt(a.replace(partRegex, "$1")); const partB = parseInt(b.replace(partRegex, "$1")); return partA - partB; - }).map(file => fs.readFileSync(file)); - const stream = fs.createWriteStream(dest); - data.forEach(it => stream.write(it)); - stream.close(); + }).forEach(file => + { + const buffer = fs.readFileSync(file); + fs.appendFileSync(dest, buffer); + }); parts.forEach(file => fs.unlinkSync(file)); } return dest;