diff --git a/fileProcessor.js b/fileProcessor.js index 543367e..19a14fe 100644 --- a/fileProcessor.js +++ b/fileProcessor.js @@ -73,23 +73,26 @@ async function getLayers2(fileName) { } async function getLayers(fileName) { - try { + return new Promise((resolve, reject) => { const tempDir = path.join(__dirname, 'gerber', 'tmp', 'archive'); extractArchive(fileName) .then(numfiles => { - // const layers = gerberFiles.map(fileName => ({ - // filename: fileName, - // gerber: fs.createReadStream(path.join(tempDir, fileName)) - // })); - // console.log(layers); console.log(`${numfiles} files extracted successfully`); + const layers = gerberFiles.map(fileName => ({ + filename: fileName, + gerber: fs.createReadStream(path.join(tempDir, fileName)) + })); + if(numfiles > 0) { + // Some files were extracted + resolve(layers); + } else { + reject(); + } }) .catch(e => { console.log(e); }) - } catch (err) { - console.error(err); - } + }) } function extractArchive(fileName) { diff --git a/index.js b/index.js index dba97d5..a0d075e 100644 --- a/index.js +++ b/index.js @@ -20,7 +20,7 @@ const sampleNames = [ './gerber/default/profile.gbr', ] -const layers = sampleNames.map(filename => ({ +const samplelayers = sampleNames.map(filename => ({ filename, gerber: fs.createReadStream(filename), })); @@ -60,4 +60,26 @@ const layers = sampleNames.map(filename => ({ // console.log('done'); // }) -fileProc.getLayers('./gerber/sho_v2.zip') \ No newline at end of file +// const templayers = fileProc.getLayers('./gerber/sho_v2.zip') +// console.log(templayers) + +fileProc.getLayers('./gerber/Timmy.zip') + .then(layers => { + pcbStackup(layers).then(stackup => { + // Create buffer from SVG string + sharp(Buffer.from(stackup.top.svg), { density: density }) + .resize({ width: resizeWidth }) + .png({ + compressionLevel: compLevel }) + .toFile(destfile) + .then((info) => { + console.log(info) + }) + .catch((e) => { + console.error(e); + }) + }) + .catch((e) => { + console.error(e); + }); + })