5 Commits
1.1.0 ... 1.1.1

Author SHA1 Message Date
Book Pauk
a7af7342b6 Merge branch 'release/1.1.1' 2022-11-01 02:03:20 +07:00
Book Pauk
2fa8be9cb0 Версия 1.1.1 2022-11-01 02:02:59 +07:00
Book Pauk
9f67b3bf28 Улучшение обработки ошибок в gzipFile 2022-11-01 02:01:15 +07:00
Book Pauk
037d1aa022 Исправления багов скачивания файла в режиме RemoteLib 2022-11-01 01:53:39 +07:00
Book Pauk
b56eeaa024 Merge tag '1.1.0' into develop
1.1.0
2022-11-01 01:11:44 +07:00
5 changed files with 19 additions and 13 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "inpx-web",
"version": "1.1.0",
"version": "1.1.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "inpx-web",
"version": "1.1.0",
"version": "1.1.1",
"hasInstallScript": true,
"license": "CC0-1.0",
"dependencies": {

View File

@@ -1,6 +1,6 @@
{
"name": "inpx-web",
"version": "1.1.0",
"version": "1.1.1",
"author": "Book Pauk <bookpauk@gmail.com>",
"license": "CC0-1.0",
"repository": "bookpauk/inpx-web",

View File

@@ -65,7 +65,7 @@ class RemoteLib {
const buf = await this.down.load(`${this.remoteHost}${link}`, {decompress: false});
const publicPath = `${this.config.publicDir}${link}`;
const publicPath = `${this.config.publicFilesDir}${link}`;
await fs.writeFile(publicPath, buf);

View File

@@ -370,12 +370,14 @@ class WebWorker {
const bookFileDesc = `${bookFile}.json`;
if (!await fs.pathExists(bookFile) || !await fs.pathExists(bookFileDesc)) {
await fs.ensureDir(path.dirname(bookFile));
const tmpFile = `${this.config.tempDir}/${utils.randomHexString(30)}`;
await utils.gzipFile(extractedFile, tmpFile, 4);
await fs.remove(extractedFile);
await fs.move(tmpFile, bookFile, {overwrite: true});
if (!await fs.pathExists(bookFile) && extractedFile) {
const tmpFile = `${this.config.tempDir}/${utils.randomHexString(30)}`;
await utils.gzipFile(extractedFile, tmpFile, 4);
await fs.remove(extractedFile);
await fs.move(tmpFile, bookFile, {overwrite: true});
} else {
await utils.touchFile(bookFile);
}
await fs.writeFile(bookFileDesc, JSON.stringify({bookPath, downFileName}));
} else {
@@ -411,9 +413,10 @@ class WebWorker {
const rows = await db.select({table: 'file_hash', where: `@@id(${db.esc(bookPath)})`});
if (rows.length) {//хеш найден по bookPath
const hash = rows[0].hash;
const bookFileDesc = `${this.config.filesDir}/${hash}.json`;
const bookFile = `${this.config.filesDir}/${hash}`;
const bookFileDesc = `${bookFile}.json`;
if (await fs.pathExists(bookFileDesc)) {
if (await fs.pathExists(bookFile) && await fs.pathExists(bookFileDesc)) {
link = `${this.config.filesPathStatic}/${hash}`;
}
}

View File

@@ -105,7 +105,10 @@ function gzipFile(inputFile, outputFile, level = 1) {
const input = fs.createReadStream(inputFile);
const output = fs.createWriteStream(outputFile);
input.pipe(gzip).pipe(output).on('finish', (err) => {
input.on('error', reject)
.pipe(gzip).on('error', reject)
.pipe(output).on('error', reject)
.on('finish', (err) => {
if (err) reject(err);
else resolve();
});