kulmapaikka-ircbot/owmapi.js
2015-10-02 20:14:31 +03:00

72 lines
1.4 KiB
JavaScript

var request = require('request');
var Promise = require('promise');
var requestPromise = function(url, urlArgs) {
var promise = new Promise(function(resolve, reject) {
request({
url: url,
qs: urlArgs,
json: false
}, function(error, response, body) {
if(!error && response.statusCode == 200) {
resolve(JSON.parse(body));
} else {
reject(error);
}
});
});
return promise;
};
/**
* weather API module.
* @module kulmapaikka/owmapi
*/
module.exports = function(config) {
'use strict';
var apikey = config.keys.owm.apiKey;
return {
/** Get temperatures from Pena API (Aura) */
getTemperature: function(city, code) {
var language = 'fi';
var urlArgs = {
'q': city,
'lang': language,
'APPID': apikey
};
var url = 'http://api.openweathermap.org/data/2.5/weather';
var promise = requestPromise(url, urlArgs);
return promise;
},
getTemperatures: function(cities, code) {
if(typeof code === 'undefined') {
code = 'fi';
}
var language = 'fi';
var idList = '';
for(var city in cities) {
idList += cities[city] + ',';
}
idList = idList.substring(0,idList.length - 1);
var urlArgs = {
'id': idList,
'lang': language,
'APPID': apikey
};
var url = 'http://api.openweathermap.org/data/2.5/group';
var promise = requestPromise(url, urlArgs);
return promise;
}
};
};