1 | request = require 'request'
|
2 | fs = require 'fs'
|
3 |
|
4 | class GoogleImages
|
5 |
|
6 | search: (query, callback) ->
|
7 | return callback [] if not query
|
8 |
|
9 | request 'http://ajax.googleapis.com/ajax/services/search/images?v=1.0&q=' + query.replace(/\s+/, '+'), (err, res, body) ->
|
10 | items = JSON.parse(body).responseData.results
|
11 | images = []
|
12 | for item in items
|
13 | images.push
|
14 | width: item.width
|
15 | height: item.height
|
16 | unescapedUrl: item.unescapedUrl
|
17 | url: item.url
|
18 | writeTo: (path, callback) ->
|
19 | stream = fs.createWriteStream path
|
20 | stream.on 'close', ->
|
21 | callback()
|
22 | request(item.url).pipe stream
|
23 |
|
24 | callback images
|
25 |
|
26 |
|
27 | module.exports = new GoogleImages |
\ | No newline at end of file |