UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

1 lines 1.3 kB
var request=require("request"),fs=require("fs"),Promise=require("bluebird"),path=require("path"),job={executable:"ComponentSizeRLE",parameters:[{flag:"--i",name:"atlas_DD_040_t1w.nrrd"},{flag:"--m",name:"DD_040_seg.nii.gz"},{flag:"--outputHistogram",name:"outputHistogram.csv"},{flag:"--outputRLE",name:"outputRLE.csv"}],inputs:[{name:"atlas_DD_040_t1w.nrrd"},{name:"DD_040_seg.nii.gz"}],outputs:[{type:"file",name:"outputHistogram.csv"},{type:"file",name:"outputRLE.csv"}],type:"job",userEmail:"juanprietob@gmail.com",executionserver:"testserver"},inputs=["/tools/atlas/canine/legMuscle/atlas_image/atlas_DD_040_t1w.nrrd","/tools/atlas/canine/legMuscle/atlas_image/segmentation/DD_040_seg.nii.gz"],uploadfile=function(e){var t=e.filename,a=e.id;return new Promise(function(e,o){try{var r={url:"http://localhost:8180/dataprovider/"+a+"/"+path.basename(t),method:"PUT",headers:{"Content-Type":"application/octet-stream"}};fs.createReadStream(t).pipe(request(r,function(t,a,o){t&&e(t),e(o)}))}catch(e){o(e)}})},options={url:"http://localhost:8180/dataprovider",method:"POST",json:job};request(options,function(e,t,a){if(e)throw e;for(var o=a,r=[],n=0;n<inputs.length;n++)r.push({filename:inputs[n],id:o.id});Promise.map(r,uploadfile,{concurrency:1}).then(function(e){console.log(e)}).catch(console.error)});