forked from FOSS/BangleApps
Merge pull request #2762 from halemmerich/owmweather
owmweather - Fix updating weather too oftenmaster
commit
f49ca11111
|
@ -1,2 +1,3 @@
|
||||||
0.01: New App!
|
0.01: New App!
|
||||||
0.02: Do first update request 5s after boot to boot up faster
|
0.02: Do first update request 5s after boot to boot up faster
|
||||||
|
0.03: Fix updating weather too often
|
||||||
|
|
|
@ -1,19 +1,21 @@
|
||||||
{
|
{
|
||||||
let waiting = false;
|
let waiting = false;
|
||||||
let settings = require("Storage").readJSON("owmweather.json", 1) || {
|
let settings = Object.assign(
|
||||||
enabled: false
|
require('Storage').readJSON("owmweather.default.json", true) || {},
|
||||||
};
|
require('Storage').readJSON("owmweather.json", true) || {}
|
||||||
|
);
|
||||||
|
|
||||||
let completion = function(){
|
let completion = function(){
|
||||||
waiting = false;
|
waiting = false;
|
||||||
|
settings.updated = Date.now();
|
||||||
|
require('Storage').writeJSON("owmweather.json", settings);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings.enabled) {
|
if (settings.enabled) {
|
||||||
let weather = require("Storage").readJSON('weather.json') || {};
|
let weather = require("Storage").readJSON('weather.json') || {};
|
||||||
let lastUpdate;
|
|
||||||
if (weather && weather.weather && weather.weather.time) lastUpdate = weather.weather.time;
|
if (weather && weather.weather && weather.weather.time) lastUpdate = weather.weather.time;
|
||||||
|
|
||||||
if (!lastUpdate || lastUpdate + settings.refresh * 1000 * 60 < Date.now()){
|
if (!settings.updated || settings.updated + settings.refresh * 1000 * 60 < Date.now()){
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (!waiting){
|
if (!waiting){
|
||||||
waiting = true;
|
waiting = true;
|
||||||
|
|
|
@ -25,7 +25,7 @@ function parseWeather(response) {
|
||||||
|
|
||||||
json.weather = weather;
|
json.weather = weather;
|
||||||
require("Storage").writeJSON('weather.json', json);
|
require("Storage").writeJSON('weather.json', json);
|
||||||
require("weather").emit("update", json.weather);
|
if (require("Storage").read("weather")!==undefined) require("weather").emit("update", json.weather);
|
||||||
return undefined;
|
return undefined;
|
||||||
} else {
|
} else {
|
||||||
return /*LANG*/"Not OWM data";
|
return /*LANG*/"Not OWM data";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ "id": "owmweather",
|
{ "id": "owmweather",
|
||||||
"name": "OpenWeatherMap weather provider",
|
"name": "OpenWeatherMap weather provider",
|
||||||
"shortName":"OWM Weather",
|
"shortName":"OWM Weather",
|
||||||
"version":"0.02",
|
"version":"0.03",
|
||||||
"description": "Pulls weather from OpenWeatherMap (OWM) API",
|
"description": "Pulls weather from OpenWeatherMap (OWM) API",
|
||||||
"icon": "app.png",
|
"icon": "app.png",
|
||||||
"type": "bootloader",
|
"type": "bootloader",
|
||||||
|
|
Loading…
Reference in New Issue