kopia lustrzana https://github.com/OpenDroneMap/NodeODM
26 wiersze
854 B
JavaScript
26 wiersze
854 B
JavaScript
![]() |
const processRunner = require('./processRunner');
|
||
|
const nodeUnzip = require('node-unzip-2');
|
||
|
const config = require('../config');
|
||
|
const fs = require('fs');
|
||
|
|
||
|
module.exports = {
|
||
|
unzip: function(file, outputDir, cb, noDirectories = false){
|
||
|
if (config.has7z){
|
||
|
processRunner.sevenUnzip({
|
||
|
file: file,
|
||
|
destination: outputDir,
|
||
|
noDirectories
|
||
|
}, (err, code, _) => {
|
||
|
if (err) cb(err);
|
||
|
else{
|
||
|
if (code === 0) cb();
|
||
|
else cb(new Error(`Could not extract .zip file, 7z exited with code ${code}`));
|
||
|
}
|
||
|
});
|
||
|
}else{
|
||
|
fs.createReadStream(file).pipe(nodeUnzip.Extract({ path: outputDir }))
|
||
|
.on('close', cb)
|
||
|
.on('error', cb);
|
||
|
}
|
||
|
}
|
||
|
}
|