Fix weather plugin
This commit is contained in:
parent
e5f83ec639
commit
58eaafa685
@ -56,29 +56,30 @@ class Weather extends BasePlugin {
|
|||||||
|
|
||||||
return promise
|
return promise
|
||||||
}
|
}
|
||||||
|
getTemperatureById(cityId) {
|
||||||
getTemperatures(cities, code) {
|
|
||||||
logger.info('getting temperatures ', cities, code)
|
|
||||||
if (typeof code === 'undefined') {
|
|
||||||
code = 'fi'
|
|
||||||
}
|
|
||||||
var language = 'fi'
|
var language = 'fi'
|
||||||
|
|
||||||
var idList = ''
|
|
||||||
for (var city in cities) {
|
|
||||||
idList += cities[city] + ','
|
|
||||||
}
|
|
||||||
idList = idList.substring(0, idList.length - 1)
|
|
||||||
|
|
||||||
var urlArgs = {
|
var urlArgs = {
|
||||||
'id': idList,
|
'id': cityId,
|
||||||
'lang': language,
|
'lang': language,
|
||||||
'APPID': this.apikey
|
'APPID': this.apikey
|
||||||
}
|
}
|
||||||
var url = 'http://api.openweathermap.org/data/2.5/group'
|
var url = 'http://api.openweathermap.org/data/2.5/weather'
|
||||||
var promise = requestPromise(url, urlArgs).catch(e => {
|
var promise = requestPromise(url, urlArgs)
|
||||||
logger.error('Failed to retrieve openweathermap data')
|
|
||||||
})
|
return promise
|
||||||
|
}
|
||||||
|
getTemperatures(cities, code) {
|
||||||
|
const allQueries = Promise.allSettled(Object.keys(cities).map(city => this.getTemperatureById(cities[city])))
|
||||||
|
const promise = new Promise((resolve) => {
|
||||||
|
allQueries.then(responses => {
|
||||||
|
console.log('done!')
|
||||||
|
console.log(responses)
|
||||||
|
resolve({
|
||||||
|
list: responses.filter(r => r.status === 'fulfilled').map(r => r.value)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
});
|
||||||
|
|
||||||
return promise
|
return promise
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user