kulmapaikka-ircbot/owmapi.js
2015-09-01 22:44:55 +03:00

70 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';
return {
/** Get temperatures from Pena API (Aura) */
getTemperature: function(city, code) {
var language = 'fi';
var urlArgs = {
'q': city,
'lang': language,
'APPID': '4e3b7bbd3da07052c4fed6d342e48707'
};
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': '4e3b7bbd3da07052c4fed6d342e48707'
};
var url = 'http://api.openweathermap.org/data/2.5/group';
var promise = requestPromise(url, urlArgs);
return promise;
}
};
};