mirror of
https://github.com/LinoSchmidt/StickExporterTX.git
synced 2026-03-21 01:51:15 +01:00
Fixed settings wont repair itself
This commit is contained in:
@@ -25,17 +25,18 @@ const defaultSettings = {
|
|||||||
output: defaultOutputPath
|
output: defaultOutputPath
|
||||||
}
|
}
|
||||||
|
|
||||||
function catchStr(tryFunc:()=>string, catchFunc:()=>string) {
|
let allSettingsFound = true;
|
||||||
|
function catchSetting(tryFunc:()=>string, catchFunc:()=>string) {
|
||||||
let val;
|
let val;
|
||||||
try {
|
try {
|
||||||
val = tryFunc();
|
val = tryFunc();
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
logger.info("Failed to get setting value. Using default value:" + String(err));
|
logger.info("Failed to get setting value. Using default value:" + String(err));
|
||||||
|
allSettingsFound = false;
|
||||||
val = catchFunc();
|
val = catchFunc();
|
||||||
}
|
}
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
const settingList = await fetch(SettingPath).then(function(response) {
|
const settingList = await fetch(SettingPath).then(function(response) {
|
||||||
return response.text();
|
return response.text();
|
||||||
}).catch(function(err) {
|
}).catch(function(err) {
|
||||||
@@ -43,6 +44,7 @@ const settingList = await fetch(SettingPath).then(function(response) {
|
|||||||
return "fileLoadFailed";
|
return "fileLoadFailed";
|
||||||
}).then(function(data) {
|
}).then(function(data) {
|
||||||
if(data === "fileLoadFailed") {
|
if(data === "fileLoadFailed") {
|
||||||
|
allSettingsFound = false;
|
||||||
return defaultSettings;
|
return defaultSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -50,15 +52,18 @@ const settingList = await fetch(SettingPath).then(function(response) {
|
|||||||
const xmlDoc = parser.parseFromString(data, 'text/xml');
|
const xmlDoc = parser.parseFromString(data, 'text/xml');
|
||||||
|
|
||||||
return {
|
return {
|
||||||
fps: parseInt(catchStr(function() {return getXMLChild(xmlDoc, "fps");},function() {return defaultSettings.fps.toString();})),
|
fps: parseInt(catchSetting(function() {return getXMLChild(xmlDoc, "fps");},function() {return defaultSettings.fps.toString();})),
|
||||||
width: parseInt(catchStr(function() {return getXMLChild(xmlDoc, "width");},function() {return defaultSettings.width.toString();})),
|
width: parseInt(catchSetting(function() {return getXMLChild(xmlDoc, "width");},function() {return defaultSettings.width.toString();})),
|
||||||
stickDistance: parseInt(catchStr(function() {return getXMLChild(xmlDoc, "stickDistance");},function() {return defaultSettings.stickDistance.toString();})),
|
stickDistance: parseInt(catchSetting(function() {return getXMLChild(xmlDoc, "stickDistance");},function() {return defaultSettings.stickDistance.toString();})),
|
||||||
stickMode2: catchStr(function() {return getXMLChild(xmlDoc, "stickMode2");},function() {return defaultSettings.stickMode2.toString();}) === "true",
|
stickMode2: catchSetting(function() {return getXMLChild(xmlDoc, "stickMode2");},function() {return defaultSettings.stickMode2.toString();}) === "true",
|
||||||
videoFormat: catchStr(function() {return getXMLChild(xmlDoc, "videoFormat");},function() {return defaultSettings.videoFormat.toString();}) as VideoFormat as VideoFormat,
|
videoFormat: catchSetting(function() {return getXMLChild(xmlDoc, "videoFormat");},function() {return defaultSettings.videoFormat.toString();}) as VideoFormat as VideoFormat,
|
||||||
log: catchStr(function() {return (getXMLChild(xmlDoc, "log") === "None")? "":getXMLChild(xmlDoc, "log");},function() {return defaultSettings.log;}),
|
log: catchSetting(function() {return (getXMLChild(xmlDoc, "log") === "None")? "":getXMLChild(xmlDoc, "log");},function() {return defaultSettings.log;}),
|
||||||
output: catchStr(function() {return getXMLChild(xmlDoc, "output");},function() {return defaultSettings.output;})
|
output: catchSetting(function() {return getXMLChild(xmlDoc, "output");},function() {return defaultSettings.output;})
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if(!allSettingsFound) {
|
||||||
|
updateSettings({});
|
||||||
|
}
|
||||||
|
|
||||||
function updateSettings(optiones:{fps?:number, width?:number, stickDistance?:number, stickMode2?:boolean, videoFormat?:VideoFormat, log?:string, output?:string}) {
|
function updateSettings(optiones:{fps?:number, width?:number, stickDistance?:number, stickMode2?:boolean, videoFormat?:VideoFormat, log?:string, output?:string}) {
|
||||||
if(optiones.fps === undefined) {
|
if(optiones.fps === undefined) {
|
||||||
|
|||||||
Reference in New Issue
Block a user