1
0
Fork 0

Take advantage of recent nonbreaking change that stops readJSON from causing errors

master
Gordon Williams 2020-02-28 17:02:26 +00:00
parent 3998688179
commit 6cfe9c340b
20 changed files with 31 additions and 39 deletions

View File

@ -306,6 +306,11 @@ See [apps/gpsrec/interface.html](the GPS Recorder) for a full example.
- 'Welcome' apps define a file called `welcome.js` which the booloader picks up. This then chain-loads the welcome app itself.
- 'Alarm' apps define a file called `alarm.js` which handles the actual alarm window.
- Locale is handled by `require("locale")`. An app may create a `locale` file in Storage which is
a module that overwrites Bangle.js's default locale.
### Graphic areas

View File

@ -11,7 +11,7 @@ g.drawString("Powered by Espruino",0,y+=4+h);
g.drawString("Version "+ENV.VERSION,0,y+=h);
g.drawString("Commit "+ENV.GIT_COMMIT,0,y+=h);
function getVersion(name,file) {
var j = s.readJSON(file);
var j = s.readJSON(file,1);
var v = ("object"==typeof j)?j.version:false;
g.drawString(v?(name+" "+(v?"v"+v:"Unknown")):"NO "+name,0,y+=h);
}

View File

@ -48,7 +48,7 @@ function showAlarm(alarm) {
// Check for alarms
var day = (new Date()).getDate();
var hr = getCurrentHr();
var alarms = require("Storage").readJSON("alarm.json")||[];
var alarms = require("Storage").readJSON("alarm.json",1)||[];
var active = alarms.filter(a=>a.on&&(a.hr<hr)&&(a.last!=day));
if (active.length) {
// if there's an alarm, show it

View File

@ -1,7 +1,7 @@
Bangle.loadWidgets();
Bangle.drawWidgets();
var alarms = require("Storage").readJSON("alarm.json")||[];
var alarms = require("Storage").readJSON("alarm.json",1)||[];
/*alarms = [
{ on : true,
hr : 6.5, // hours + minutes/60

View File

@ -1,5 +1,5 @@
(() => {
var alarms = require('Storage').readJSON('alarm.json')||[];
var alarms = require('Storage').readJSON('alarm.json',1)||[];
alarms = alarms.filter(alarm=>alarm.on);
if (!alarms.length) return;
delete alarms;

View File

@ -1,7 +1,7 @@
// This ALWAYS runs at boot
E.setFlags({pretokenise:1});
// Load settings...
var s = require('Storage').readJSON('setting.json')||{};
var s = require('Storage').readJSON('setting.json',1)||{};
if (s.ble!==false) {
if (s.HID) { // Human interface device
Bangle.HID = E.toUint8Array(atob("BQEJBqEBhQIFBxngKecVACUBdQGVCIEClQF1CIEBlQV1AQUIGQEpBZEClQF1A5EBlQZ1CBUAJXMFBxkAKXOBAAkFFQAm/wB1CJUCsQLABQwJAaEBhQEVACUBdQGVAQm1gQIJtoECCbeBAgm4gQIJzYECCeKBAgnpgQIJ6oECwA=="));
@ -26,7 +26,7 @@ E.setTimeZone(s.timezone);
delete s;
// check for alarms
function checkAlarm() {
var alarms = require('Storage').readJSON('alarm.json')||[];
var alarms = require('Storage').readJSON('alarm.json',1)||[];
var time = new Date();
var active = alarms.filter(a=>a.on&&(a.last!=time.getDate()));
if (active.length) {

View File

@ -1,6 +1,5 @@
// This runs after a 'fresh' boot
var settings={};
try { settings = require("Storage").readJSON('setting.json'); } catch (e) {}
var settings=require("Storage").readJSON('setting.json',1)||{};
if (!settings.welcomed && require("Storage").read("welcome.js")!==undefined) {
setTimeout(()=>load("welcome.js"));
} else {
@ -8,10 +7,7 @@ if (!settings.welcomed && require("Storage").read("welcome.js")!==undefined) {
var clockApp = settings.clock;
if (clockApp) clockApp = require("Storage").read(clockApp)
if (!clockApp) {
var clockApps = require("Storage").list(/\.info$/).map(app=>{
try { return require("Storage").readJSON(app); }
catch (e) {}
}).filter(app=>app.type=="clock").sort((a, b) => a.sortorder - b.sortorder);
var clockApps = require("Storage").list(/\.info$/).map(app=>require("Storage").readJSON(app,1)||{}).filter(app=>app.type=="clock").sort((a, b) => a.sortorder - b.sortorder);
if (clockApps && clockApps.length > 0)
clockApp = require("Storage").read(clockApps[0].src);
delete clockApps;

View File

@ -69,7 +69,7 @@ function showApps() {
var list = storage.list(/\.info$/).filter((a)=> {
return a !== 'setting.info';
}).sort().map((app) => {
var ret = storage.readJSON(app);
var ret = storage.readJSON(app,1)||{};
ret[''] = app;
return ret;
});

View File

@ -1,7 +1,7 @@
Bangle.loadWidgets();
Bangle.drawWidgets();
var settings = require("Storage").readJSON("gpsrec.json")||{};
var settings = require("Storage").readJSON("gpsrec.json",1)||{};
function getFN(n) {
return ".gpsrc"+n.toString(36);

View File

@ -55,7 +55,7 @@
// Called by the GPS app to reload settings and decide what's
function reload() {
settings = require("Storage").readJSON("gpsrec.json")||{};
settings = require("Storage").readJSON("gpsrec.json",1)||{};
settings.period = settings.period||1;
settings.file |= 0;

View File

@ -5,7 +5,7 @@ the touchscreen
var storage = require('Storage');
const settings = storage.readJSON('setting.json') || { HID: false };
const settings = storage.readJSON('setting.json',1) || { HID: false };
const KEY = {
A : 4 ,
B : 5 ,

View File

@ -1,6 +1,6 @@
var storage = require('Storage');
const settings = storage.readJSON('setting.json') || { HID: false };
const settings = storage.readJSON('setting.json',1) || { HID: false };
var sendHid, next, prev, toggle, up, down, profile;

View File

@ -1,6 +1,6 @@
var storage = require('Storage');
const settings = storage.readJSON('setting.json') || { HID: false };
const settings = storage.readJSON('setting.json',1) || { HID: false };
var sendHid, next, prev, toggle, up, down, profile;

View File

@ -1,8 +1,5 @@
var s = require("Storage");
var apps = s.list(/\.info$/).map(app=>{
try { return s.readJSON(app); }
catch (e) { return {name:"DEAD: "+app.substr(1)} }
}).filter(app=>app.type=="app" || app.type=="clock" || !app.type);
var apps = s.list(/\.info$/).map(app=>s.readJSON(app,1)||{name:"DEAD: "+app.substr(1)}).filter(app=>app.type=="app" || app.type=="clock" || !app.type);
apps.sort((a,b)=>{
var n=(0|a.sortorder)-(0|b.sortorder);
if (n) return n; // do sortorder first

View File

@ -115,11 +115,9 @@ function info() {
}
function cleanup() {
try {
var settings = require("Storage").readJSON('setting.json');
settings.welcomed = true;
require("Storage").write('setting.json',settings);
} catch (e) {}
var settings = require("Storage").readJSON('setting.json',1)||{};
settings.welcomed = true;
require("Storage").write('setting.json',settings);
return Promise.resolve();
}

View File

@ -11,7 +11,7 @@ const yposYear = 175;
const yposGMT = 220;
// Check settings for what type our clock should be
var is12Hour = (require("Storage").readJSON("setting.json")||{})["12hour"];
var is12Hour = (require("Storage").readJSON("setting.json",1)||{})["12hour"];
function drawSimpleClock() {
// get date

View File

@ -27,9 +27,7 @@ function resetSettings() {
updateSettings();
}
try {
settings = storage.readJSON('setting.json');
} catch (e) {}
settings = storage.readJSON('setting.json',1);
if (!settings) resetSettings();
const boolFormat = v => v ? "On" : "Off";

View File

@ -283,11 +283,9 @@ setWatch(()=>move(1), BTN3, {repeat:true});
setWatch(()=>{
// If we're on the last page
if (sceneNumber == scenes.length-1) {
try {
var settings = require("Storage").readJSON('setting.json');
settings.welcomed = true;
require("Storage").write('setting.json',settings);
} catch (e) {}
var settings = require("Storage").readJSON('setting.json');
settings.welcomed = true;
require("Storage").write('setting.json',settings);
load();
}
}, BTN2, {repeat:true,edge:"rising"});

View File

@ -57,7 +57,7 @@
// add your widget
WIDGETS["wpedom"]={draw:draw};
// Load data at startup
let pedomData = require("Storage").readJSON(PEDOMFILE);
let pedomData = require("Storage").readJSON(PEDOMFILE,1);
if (pedomData) {
if (pedomData.lastUpdate)
lastUpdate = new Date(pedomData.lastUpdate);

View File

@ -32,7 +32,7 @@ getInstalledApps : () => {
return new Promise((resolve,reject) => {
Puck.write("\x03",(result) => {
if (result===null) return reject("");
Puck.eval('require("Storage").list(/\.info$/).map(f=>{var j=require("Storage").readJSON(f)||{};j.id=f.slice(0,-5);return j})', (appList,err) => {
Puck.eval('require("Storage").list(/\.info$/).map(f=>{var j=require("Storage").readJSON(f,1)||{};j.id=f.slice(0,-5);return j})', (appList,err) => {
if (appList===null) return reject(err || "");
console.log("getInstalledApps", appList);
resolve(appList);
@ -68,7 +68,7 @@ setTime : () => {
var cmd = '\x03\x10setTime('+(d.getTime()/1000)+');';
// in 1v93 we have timezones too
cmd += 'E.setTimeZone('+tz+');';
cmd += "(s=>{s&&(s.timezone="+tz+")&&require('Storage').write('setting.json',s);})(require('Storage').readJSON('setting.json'))\n";
cmd += "(s=>{s&&(s.timezone="+tz+")&&require('Storage').write('setting.json',s);})(require('Storage').readJSON('setting.json',1))\n";
Puck.write(cmd, (result) => {
if (result===null) return reject("");
resolve();