Fix weather plugin

This commit is contained in:
lanxu 2025-08-30 12:58:25 +03:00
parent e5f83ec639
commit 58eaafa685

View File

@ -56,29 +56,30 @@ class Weather extends BasePlugin {
return promise
}
getTemperatures(cities, code) {
logger.info('getting temperatures ', cities, code)
if (typeof code === 'undefined') {
code = 'fi'
}
getTemperatureById(cityId) {
var language = 'fi'
var idList = ''
for (var city in cities) {
idList += cities[city] + ','
}
idList = idList.substring(0, idList.length - 1)
var urlArgs = {
'id': idList,
'id': cityId,
'lang': language,
'APPID': this.apikey
}
var url = 'http://api.openweathermap.org/data/2.5/group'
var promise = requestPromise(url, urlArgs).catch(e => {
logger.error('Failed to retrieve openweathermap data')
})
var url = 'http://api.openweathermap.org/data/2.5/weather'
var promise = requestPromise(url, urlArgs)
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
}