53 lines
1.7 KiB
JavaScript
53 lines
1.7 KiB
JavaScript
/**
|
|
* Created by Martin on 31/03/2016.
|
|
*/
|
|
var Forecast = require('forecast.io');
|
|
var STRING = require('string');
|
|
var logger = require('log4js').getLogger();
|
|
|
|
|
|
var forecastOptions = {
|
|
APIKey: '0657dc0d81c037cbc89ca88e383b6bbf', units: 'uk2'
|
|
};
|
|
|
|
module.exports = {
|
|
newDoGetWeather: function() {
|
|
'use strict';
|
|
return new Promise(function(resolve, reject) {
|
|
logger.info('New Retrieving weather..');
|
|
var j = {};
|
|
var forecast = new Forecast(forecastOptions);
|
|
forecast.get(55.8582846,
|
|
-4.2593033,
|
|
{units: 'uk2'},
|
|
function(err, res, data) {
|
|
if (err) {
|
|
// logger.error(err);
|
|
return reject(err);
|
|
// throw err;
|
|
}
|
|
|
|
var tempMin = parseInt(data.daily.data[0].temperatureMin);
|
|
var tempMax = parseInt(data.daily.data[0].temperatureMax);
|
|
|
|
j.currently = data.currently.summary;
|
|
j.today = data.daily.data[0].summary;
|
|
j.later = data.daily.summary;
|
|
j.alerts = data.alerts || {};
|
|
j.data = data;
|
|
|
|
var fs = STRING(j.currently).endsWith('.') ? '' : '.';
|
|
if (tempMax == tempMin) {
|
|
j.currently += fs + ' Around ' + tempMin.toString() + ' degrees.';
|
|
}
|
|
else {
|
|
j.currently += fs + ' Around ' + tempMin.toString() + ' to ' + tempMax.toString() + ' degrees.';
|
|
}
|
|
// logger.debug(j);
|
|
return resolve(j);
|
|
});
|
|
});
|
|
}
|
|
|
|
|
|
}; |