Exemplo n.º 1
0
m.aio.syncmanager.RemoteDownloader.prototype._downloadFileFromServer=function(d,b,c){if(b.ref){var a=require("path"),e=require("fs"),f=b.file.replace(/\//g,a.sep),g=d+a.sep+f;this._logger.log("trace","download file to:"+g);d=g.lastIndexOf(a.sep);d=g.substr(0,d);try{e.mkdirRecursiveSync(d)}catch(p){c&&c(p);return}d=require(m.aio.syncmanager.RemoteDownloader.PROTOCOL);a=this._host?this._host:m.aio.syncmanager.RemoteDownloader.OPTIONS.host;f=this._port?this._port:m.aio.syncmanager.RemoteDownloader.OPTIONS.port;
var h=m.aio.syncmanager.RemoteDownloader.OPTIONS.path+"/creatorneo/remote/downloadFile";b=b.ref.split("/");for(var k=0;k<b.length;k++)b[k]=encodeURI(b[k]);b=m.aio.syncmanager.RemoteDownloader.PROTOCOL+"://"+a+":"+f+h+"/"+b.join("/");a=this._username?encodeURIComponent(this._username):"";f=this._password?encodeURIComponent(this._password):"";b+="?username="******"&password="******"trace","download file url:"+b);var l=e.createWriteStream(g);d.get(b,function(a){a.pipe(l);l.on("finish",function(){l.close(c)})}).on("error",
function(a){e.unlink(g);c&&c(a)})}else c&&c(Error("file info has no ref"))};
Exemplo n.º 2
0
m.aio.syncmanager.RemoteDownloader.prototype._downloadFileFromS3=function(d,b,c){if(this._s3Client)if(b.ref){var a=require("path"),e=require("fs"),f=b.file.replace(/\//g,a.sep),g=d+a.sep+f;this._logger.log("trace","download file to:"+g);d=g.lastIndexOf(a.sep);d=g.substr(0,d);try{e.mkdirRecursiveSync(d)}catch(h){c&&c(h);return}this._s3Client.getObject({Bucket:"mediola-creator",Key:"resources/"+b.ref},function(a,b){a?c&&c(a):e.writeFile(g,b.Body,function(a){c&&c(a)})})}else c&&c(Error("file info has no ref"));
else c&&c(Error("s3 client not properly initialized"))};m.aio.syncmanager.RemoteDownloader.prototype._mkdir=function(d,b){var c=require("fs");try{c.mkdirSync(d)}catch(a){this._logger.log("warn","creator folder "+d+" error:"+a.message)}b&&b()};m.aio.syncmanager.RemoteDownloader.prototype._deldir=function(d){var b=require("fs"),c=this;b.existsSync(d)&&(b.readdirSync(d).forEach(function(a,e){a=d+"/"+a;b.lstatSync(a).isDirectory()?c._deldir(a):b.unlinkSync(a)}),b.rmdirSync(d))};
Exemplo n.º 3
0
m.aio.syncmanager.RemoteDownloader.prototype._downloadFile=function(d,b,c){var a=this;this._logger.log("trace","download file:"+b.file);b.file?"device_db"===b.file?c&&c():b.file.match(/^resources.*/)&&this._s3cred?this._downloadFileFromS3(d,b,function(e){a._logger.log("trace","download file finish:"+b.file);e&&a._logger.log("trace","download file "+b.file+" from s3 error:"+e.message);c&&c(e)}):this._downloadFileFromServer(d,b,function(e){a._logger.log("trace","download file finish:"+b.file);if(e)a._logger.log("trace",
"download file "+b.file+" from server error:"+e.message),c&&c(e);else if("device_db"==b.file&&a._encrypted){e=require("path");var f=b.file.replace(/\//g,e.sep);a._decryptFile(d+e.sep+f,function(a){c&&c(a)})}else c&&c()}):c&&c(Error("file info has no file path"))};