add unzip retry

This commit is contained in:
Eugenio Romano 2018-09-11 10:38:25 +01:00
parent a588c8cd26
commit aa579d6c1f
2 changed files with 61 additions and 42 deletions

View File

@ -21,6 +21,39 @@ replaceHrefInIndex = (folder) => {
});
}
unzipRetry = (tentativeNumber, outputFolder) => {
console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip'));
setTimeout(() => {
fs.createReadStream(path.join(__dirname, '../demo.zip'))
.pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')}))
.on('error', () => {
if (tentativeNumber <= 4) {
setTimeout(() => {
unzipRetry(tentativeNumber++, outputFolder);
}, 10000);
}
})
.on('finish', () => {
setTimeout(() => {
let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`)
let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`)
fs.rename(oldFolder, newFolder, (err) => {
console.log('renamed complete');
});
if (program.baseHref) {
replaceHrefInIndex(outputFolder);
}
}, 10000);
})
}, 10000);
}
async function main() {
program
@ -59,30 +92,7 @@ async function main() {
http.get(`http://${url}`, (response) => {
response.pipe(file);
file.on('finish', async () => {
console.log('Unzip Demo ' + path.join(__dirname, '../demo.zip'));
setTimeout(() => {
fs.createReadStream(path.join(__dirname, '../demo.zip'))
.pipe(unzip.Extract({path: path.join(__dirname, '../demo-shell')}))
.on('finish', () => {
setTimeout(() => {
let oldFolder = path.join(__dirname, `../demo-shell/demo.zip`)
let newFolder = path.join(__dirname, `../demo-shell/${outputFolder}`)
fs.rename(oldFolder, newFolder, (err) => {
console.log('renamed complete');
});
if (program.baseHref) {
replaceHrefInIndex(outputFolder);
}
}, 10000);
})
}, 10000);
unzipRetry(1, outputFolder);
});
});
}

View File

@ -11,30 +11,39 @@ var exec = require('child_process').exec;
var alfrescoJsApi;
unzipRetry = (tentativeNumber, pacakge, outputFolder) => {
console.log(`Unzip ${pacakge}` + path.join(__dirname, `../${pacakge}.zip`));
fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`))
.pipe(unzip.Extract({path: path.join(__dirname, `../${outputFolder}/@alfresco/`)}))
.on('error', () => {
if (tentativeNumber <= 4) {
setTimeout(() => {
unzipRetry(tentativeNumber++, pacakge, outputFolder);
}, 10000);
}
})
.on('finish', () => {
setTimeout(() => {
let oldFolder = path.join(__dirname, `../${outputFolder}/@alfresco/${pacakge}`)
let newFolder = path.join(__dirname, `../${outputFolder}/@alfresco/adf-${pacakge}`)
fs.rename(oldFolder, newFolder, (err) => {
console.log('renamed complete');
});
}, 10000);
})
}
downloadZip = async (url, outputFolder, pacakge) => {
console.log(`Download ${pacakge}`)
console.log(`OutputFolder ${outputFolder}`)
console.log(`Download ${pacakge}`)
console.log(`OutputFolder ${outputFolder}`)
var file = fs.createWriteStream(`${pacakge}.zip`);
return await http.get(`http://${url}`, (response) => {
response.pipe(file);
file.on('finish', async () => {
setTimeout(() => {
console.log(`Unzip ${pacakge}` + path.join(__dirname, `../${pacakge}.zip`));
fs.createReadStream(path.join(__dirname, `../${pacakge}.zip`))
.pipe(unzip.Extract({path: path.join(__dirname, `../${outputFolder}/@alfresco/`)}))
.on('finish', () => {
setTimeout(() => {
let oldFolder = path.join(__dirname, `../${outputFolder}/@alfresco/${pacakge}`)
let newFolder = path.join(__dirname, `../${outputFolder}/@alfresco/adf-${pacakge}`)
fs.rename(oldFolder, newFolder, (err) => {
console.log('renamed complete');
});
}, 10000);
})
})
unzipRetry(1, pacakge, outputFolder);
});
});
}