diff --git a/package-lock.json b/package-lock.json index a6d583a..4e8f525 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "inpx-web", - "version": "1.1.2", + "version": "1.1.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "inpx-web", - "version": "1.1.2", + "version": "1.1.3", "hasInstallScript": true, "license": "CC0-1.0", "dependencies": { diff --git a/package.json b/package.json index b2bb4bc..57cb452 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "inpx-web", - "version": "1.1.2", + "version": "1.1.3", "author": "Book Pauk ", "license": "CC0-1.0", "repository": "bookpauk/inpx-web", diff --git a/server/core/InpxParser.js b/server/core/InpxParser.js index 68dc179..b4c6b21 100644 --- a/server/core/InpxParser.js +++ b/server/core/InpxParser.js @@ -72,7 +72,7 @@ class InpxParser { await readFileCallback({fileName: inpFile, current: ++current}); const buf = await zipReader.extractToBuf(inpFile); - await this.parseInp(buf, structure, parsedCallback); + await this.parseInp(buf, structure, inpFile, parsedCallback); } if (this.chunk.length) { @@ -84,9 +84,10 @@ class InpxParser { } } - async parseInp(inpBuf, structure, parsedCallback) { + async parseInp(inpBuf, structure, inpFile, parsedCallback) { const structLen = structure.length; const rows = inpBuf.toString().split('\n'); + const defaultFolder = `${path.basename(inpFile, '.inp')}.zip`; for (const row of rows) { let line = row; @@ -115,6 +116,9 @@ class InpxParser { rec.genre = rec.genre.split(':').filter(s => s).join(','); } + if (!rec.folder) + rec.folder = defaultFolder; + rec.serno = parseInt(rec.serno, 10) || 0; rec.size = parseInt(rec.size, 10) || 0; rec.del = parseInt(rec.del, 10) || 0;