You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ro...@apache.org on 2020/05/07 15:34:38 UTC
[sling-slingpackager] 09/15: Implementing download command.
This is an automated email from the ASF dual-hosted git repository.
rombert pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-slingpackager.git
commit b3770980b4ecb0cf73235db050b72c8455e62b67
Author: Henry Saginor <hs...@gmail.com>
AuthorDate: Tue Apr 21 21:16:44 2020 -0700
Implementing download command.
---
utils/aempackager.js | 34 +++++++++++++++++++++++-----------
1 file changed, 23 insertions(+), 11 deletions(-)
diff --git a/utils/aempackager.js b/utils/aempackager.js
index d8ccb32..7b03294 100644
--- a/utils/aempackager.js
+++ b/utils/aempackager.js
@@ -91,14 +91,16 @@ const build = (url, username, password, package, maxRetry) => {
}
const download = (url, username, password, destination, package, maxRetry) => {
- logger.log('Downloading AEM package', package, 'from', url, 'to', destination);
let serviceURL = url + endpoint + '?cmd=get&name='+package;
- downloadPackag({serviceURL, username, password, destination, package, maxRetry});
+ downloadPackage({url, username, password, destination, package, maxRetry});
}
-function downloadPackag(data) {
- data.download = true;
+function downloadPackage(data) {
+ logger.log('Downloading AEM package', data.package, 'from', data.url, 'to', data.destination);
if(data.filePath) {
+ data.download = true;
+ data.serviceURL = data.url + endpoint + '?cmd=get&name='+data.package;
+ logger.debug(data.package, "to", data.filePath);
callService(data, (error, response) => {
if(error) {
logger.error("Unable to download package.");
@@ -110,17 +112,27 @@ function downloadPackag(data) {
logger.log(stats.size + " " + data.filePath);
}
}
- }, true).pipe(fs.createWriteStream(data.filePath));;
+ }, true).pipe(fs.createWriteStream(data.filePath));
} else {
- callService(data, (error, response) => {
+ data.download = false;
+ data.serviceURL = data.url + endpoint + '?cmd=ls';
+ callService(data, (error, result) => {
if(error) {
logger.error("Unable to download package.");
process.exit(1);
- } else {
- let fileName = response.headers['content-disposition'].split('=').reverse()[0];
- let filePath = path.join(data.destination, fileName);
- data.filePath = filePath;
- downloadPackag(data);
+ } else if(result) {
+ var packages = getData(result)[0].packages[0].package;
+ for (var i = 0; i < packages.length; i++) {
+ var pack = packages[i];
+ if(pack.name[0] === data.package || pack.downloadName[0] === data.package) {
+ let fileName = packages[i].downloadName[0];
+ let filePath = path.join(data.destination, fileName);
+ data.filePath = filePath;
+ data.package = packages[i].name[0];
+ downloadPackage(data);
+ return;
+ }
+ }
}
}, true);
}