mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Fix memory problems
This commit is contained in:
parent
6b67dd59fe
commit
01496b3ac4
@ -1,7 +1,20 @@
|
|||||||
const commandLineArgs = require("command-line-args");
|
//@ts-check
|
||||||
|
const fs = require("fs");
|
||||||
|
|
||||||
const optionDefinitions = [
|
const title = "【2019·东方华灯宴】 - 九天共开怀";
|
||||||
{ name: 'info', alias: 'i', defaultOption: true, type: String, defaultValue: undefined },
|
const dest = title + ".flv";
|
||||||
{ name: 'parts', alias: 'p', type: Number, defaultValue: undefined },
|
|
||||||
];
|
const files = fs.readdirSync(".");
|
||||||
console.log(commandLineArgs(optionDefinitions));
|
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");
|
||||||
@ -91,14 +91,14 @@ class Downloader {
|
|||||||
const files = fs.readdirSync(".");
|
const files = fs.readdirSync(".");
|
||||||
const parts = files.filter(it => it.includes(title + ".part"));
|
const parts = files.filter(it => it.includes(title + ".part"));
|
||||||
const partRegex = /.*\.part([\d]+)/;
|
const partRegex = /.*\.part([\d]+)/;
|
||||||
const data = parts.sort((a, b) => {
|
parts.sort((a, b) => {
|
||||||
const partA = parseInt(a.replace(partRegex, "$1"));
|
const partA = parseInt(a.replace(partRegex, "$1"));
|
||||||
const partB = parseInt(b.replace(partRegex, "$1"));
|
const partB = parseInt(b.replace(partRegex, "$1"));
|
||||||
return partA - partB;
|
return partA - partB;
|
||||||
}).map(file => fs.readFileSync(file));
|
}).forEach(file => {
|
||||||
const stream = fs.createWriteStream(dest);
|
const buffer = fs.readFileSync(file);
|
||||||
data.forEach(it => stream.write(it));
|
fs.appendFileSync(dest, buffer);
|
||||||
stream.close();
|
});
|
||||||
parts.forEach(file => fs.unlinkSync(file));
|
parts.forEach(file => fs.unlinkSync(file));
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
|
|||||||
@ -121,15 +121,16 @@ class Downloader
|
|||||||
const files = fs.readdirSync(".");
|
const files = fs.readdirSync(".");
|
||||||
const parts = files.filter(it => it.includes(title + ".part"));
|
const parts = files.filter(it => it.includes(title + ".part"));
|
||||||
const partRegex = /.*\.part([\d]+)/;
|
const partRegex = /.*\.part([\d]+)/;
|
||||||
const data = parts.sort((a, b) =>
|
parts.sort((a, b) =>
|
||||||
{
|
{
|
||||||
const partA = parseInt(a.replace(partRegex, "$1"));
|
const partA = parseInt(a.replace(partRegex, "$1"));
|
||||||
const partB = parseInt(b.replace(partRegex, "$1"));
|
const partB = parseInt(b.replace(partRegex, "$1"));
|
||||||
return partA - partB;
|
return partA - partB;
|
||||||
}).map(file => fs.readFileSync(file));
|
}).forEach(file =>
|
||||||
const stream = fs.createWriteStream(dest);
|
{
|
||||||
data.forEach(it => stream.write(it));
|
const buffer = fs.readFileSync(file);
|
||||||
stream.close();
|
fs.appendFileSync(dest, buffer);
|
||||||
|
});
|
||||||
parts.forEach(file => fs.unlinkSync(file));
|
parts.forEach(file => fs.unlinkSync(file));
|
||||||
}
|
}
|
||||||
return dest;
|
return dest;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user