1 | var GoogleImages, fs, request;
|
2 | request = require('request');
|
3 | fs = require('fs');
|
4 | GoogleImages = (function() {
|
5 | function GoogleImages() {}
|
6 | GoogleImages.prototype.search = function(query, callback) {
|
7 | if (!query) {
|
8 | return callback([]);
|
9 | }
|
10 | return request('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=' + query.replace(/\s+/, '+'), function(err, res, body) {
|
11 | var images, item, items, _i, _len;
|
12 | items = JSON.parse(body).responseData.results;
|
13 | images = [];
|
14 | for (_i = 0, _len = items.length; _i < _len; _i++) {
|
15 | item = items[_i];
|
16 | images.push({
|
17 | width: item.width,
|
18 | height: item.height,
|
19 | unescapedUrl: item.unescapedUrl,
|
20 | url: item.url,
|
21 | writeTo: function(path, callback) {
|
22 | var stream;
|
23 | stream = fs.createWriteStream(path);
|
24 | stream.on('close', function() {
|
25 | return callback();
|
26 | });
|
27 | return request(item.url).pipe(stream);
|
28 | }
|
29 | });
|
30 | }
|
31 | return callback(images);
|
32 | });
|
33 | };
|
34 | return GoogleImages;
|
35 | })();
|
36 | module.exports = new GoogleImages; |
\ | No newline at end of file |