Advertisement
Javve

pipe

May 25th, 2011
415
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Grabber.prototype = {
  2.     method2: function(url, offset, limit) {
  3.         console.log(url);
  4.         var self = this;
  5.         request.get({url: url+"&offset="+offset+"&limit="+limit }, function(error, response, body) {
  6.             console.log(http.getAgent('localhost', 8001));
  7.             if (error || response.statusCode != 200) {
  8.                 console.log(error);
  9.                 console.log(response);
  10.                 return;
  11.             }
  12.             var jsonImages = JSON.parse(body);
  13.  
  14.             for (var i = 0, il = jsonImages.data.length; i < il; i++) {
  15.                 var img = jsonImages.data[i];
  16.  
  17.                 var r = request.get({url:img.source, headers: {'content-type': 'image/jpg'}}, function(error, response, body) {
  18.                     if (error || response.statusCode != 200) {
  19.                         console.log(error);
  20.                         console.log(response);
  21.                         return;
  22.                     }
  23.                 });
  24.                 r.pipe(fs.createWriteStream('images/'+img.id+'.jpg'));
  25.             }
  26.             if (jsonImages.data.length != 0 || offset != 30) {
  27.                 offset = offset + 5;
  28.                 self.method2(url,offset, limit);
  29.             }
  30.         });
  31.     },
  32.     method1: function(url) {
  33.         function readImage(images, i, il) {
  34.             if (i == il) {
  35.                 return;
  36.             }
  37.             var r = request.get({url:images[i].source, headers: {'content-type': 'image/jpg'}}, function(error, response, body) {
  38.                 if (error || response.statusCode != 200) {
  39.                     console.log(error);
  40.                     console.log(response);
  41.                     return;
  42.                 }
  43.             });
  44.             var ws = fs.createWriteStream('images/'+images[i].id+'.jpg');
  45.             ws.on("error", function(exception) {
  46.                 console.log(exception);
  47.             });
  48.             r.pipe(ws);
  49.             setTimeout(function() {
  50.                 console.log(i, il, images[i].id, images[i].source);
  51.                 i++;
  52.                 readImage(images, i, il);
  53.             }, 400);
  54.         }
  55.        
  56.         request.get({url: url }, function(error, response, body) {
  57.             if (error || response.statusCode != 200) {
  58.                 console.log(error);
  59.                 console.log(response);
  60.                 return;
  61.             }
  62.             var jsonImages = JSON.parse(body);
  63.             readImage(jsonImages.data, 0, 30 /*jsonImages.data.length*/);
  64.         });
  65.     }
  66. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement