1
0
mirror of https://github.com/chylex/TweetDuck.git synced 2025-04-22 00:15:48 +02:00

Rewrite loadConfigurationFile in plugins.js to accept default config file

This commit is contained in:
chylex 2016-09-04 04:33:55 +02:00
parent da71f2de2b
commit 520db2c32e

View File

@ -2,25 +2,52 @@
//
// Block: Setup a simple JavaScript object configuration loader.
//
window.TDPF_loadConfigurationFile = function(pluginObject, fileName, onSuccess, onFailure){
$TDP.readFile(pluginObject.$token, fileName, true).then(contents => {
var obj;
(function(){
var continueLoading = function(token, identifier, fileName, onSuccess, onFailure){
$TDP.readFile(token, fileName, true).then(contents => {
var obj;
try{
obj = eval("("+contents+")");
}catch(err){
if (!(onFailure && onFailure(err.message))){
alert("Problem loading '"+fileName+"' file for '"+pluginObject.$id+"' plugin, the JavaScript syntax is invalid: "+err.message);
try{
obj = eval("("+contents+")");
}catch(err){
if (!(onFailure && onFailure(err.message))){
alert("Problem loading '"+fileName+"' file for '"+identifier+"' plugin, the JavaScript syntax is invalid: "+err.message);
}
return;
}
return;
}
onSuccess && onSuccess(obj);
}).catch(err => {
if (!(onFailure && onFailure(err))){
alert("Problem loading '"+fileName+"' file for '"+identifier+"' plugin: "+err);
}
});
};
window.TDPF_loadConfigurationFile = function(pluginObject, fileNameUser, fileNameDefault, onSuccess, onFailure){
var identifier = pluginObject.$id;
var token = pluginObject.$token;
onSuccess && onSuccess(obj);
}).catch(err => {
if (!(onFailure && onFailure(err))){
alert("Problem loading '"+fileName+"' file for '"+pluginObject.$id+"' plugin: "+err);
}
});
};
$TDP.checkFileExists(token, fileNameUser).then(exists => {
if (!exists){
$TDP.readFile(token, fileNameDefault, true).then(contents => {
$TDP.writeFile(token, fileNameUser, contents);
continueLoading(token, identifier, fileNameUser, onSuccess, onFailure);
}).catch(err => {
if (!(onFailure && onFailure(err))){
alert("Problem generating '"+fileNameUser+"' file for '"+identifier+"' plugin: "+err);
}
});
}
else{
continueLoading(token, identifier, fileNameUser, onSuccess, onFailure);
}
}).catch(err => {
if (!(onFailure && onFailure(err))){
alert("Problem checking '"+fileNameUser+"' file for '"+identifier+"' plugin: "+err);
}
});
};
})();
})($TDP);