owmweather - Display error on unexpected data
parent
8a14255c5f
commit
09e5c8cadc
|
|
@ -11,7 +11,7 @@
|
||||||
"location": "London"
|
"location": "London"
|
||||||
};
|
};
|
||||||
|
|
||||||
Bangle.pullOwmWeather = function(force) {
|
Bangle.pullOwmWeather = function(force, completionCallback) {
|
||||||
if (!force && responsePromise){
|
if (!force && responsePromise){
|
||||||
print("Waiting for response");
|
print("Waiting for response");
|
||||||
return;
|
return;
|
||||||
|
|
@ -22,11 +22,13 @@
|
||||||
if (Bangle.http){
|
if (Bangle.http){
|
||||||
responsePromise = Bangle.http(uri, {id:"debug"}).then(event => {
|
responsePromise = Bangle.http(uri, {id:"debug"}).then(event => {
|
||||||
print("Got event ", event);
|
print("Got event ", event);
|
||||||
parseWeather(event.resp);
|
let result = parseWeather(event.resp);
|
||||||
responsePromise = false;
|
responsePromise = false;
|
||||||
|
if (completionCallback) completionCallback(result);
|
||||||
}).catch((e)=>{
|
}).catch((e)=>{
|
||||||
print("Rejected call", e);
|
print("Rejected call", e);
|
||||||
responsePromise = false;
|
responsePromise = false;
|
||||||
|
if (completionCallback) completionCallback(e);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
print("No http method found");
|
print("No http method found");
|
||||||
|
|
@ -64,6 +66,9 @@
|
||||||
print("Parsed data", json);
|
print("Parsed data", json);
|
||||||
require("Storage").writeJSON('weather.json', json);
|
require("Storage").writeJSON('weather.json', json);
|
||||||
require("weather").emit("update", json.weather);
|
require("weather").emit("update", json.weather);
|
||||||
|
return undefined;
|
||||||
|
} else {
|
||||||
|
return "Not OWM data";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,20 @@
|
||||||
writeSettings("refresh",Math.round(v * 60));
|
writeSettings("refresh",Math.round(v * 60));
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Force refresh": Bangle.pullOwmWeather
|
"Force refresh": ()=>{
|
||||||
|
E.showMessage("Reloading weather");
|
||||||
|
Bangle.pullOwmWeather(true, (e)=>{
|
||||||
|
if (e) {
|
||||||
|
E.showAlert(e,"Error").then(()=>{
|
||||||
|
E.showMenu(buildMainMenu());
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
E.showAlert("Success").then(()=>{
|
||||||
|
E.showMenu(buildMainMenu());
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
mainmenu["API key"] = function (){
|
mainmenu["API key"] = function (){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue