fix issues with json configs

This commit is contained in:
Madpeter 2024-06-30 01:01:56 +01:00
parent f761eacbe9
commit 82db7e54a4
3 changed files with 18 additions and 51 deletions

View file

@ -14,35 +14,7 @@ namespace SecondBotEvents.Config
filename = "onevent"; filename = "onevent";
settings.Add("Enabled"); settings.Add("Enabled");
settings.Add("Count"); settings.Add("Count");
int loop = 1;
while (loop <= GetCount())
{
settings.Add("Event" + loop.ToString() + "Enabled");
if(GetEventEnabled(loop) == false)
{
loop++;
continue;
}
settings.Add("Event" + loop.ToString() + "Source");
settings.Add("Event" + loop.ToString() + "Monitor");
settings.Add("Event" + loop.ToString() + "WhereCount");
int loop2 = 1;
while (loop2 <= GetWhereCount(loop))
{
settings.Add("Event" + loop.ToString() + "Where" + loop2.ToString());
loop2++;
}
settings.Add("Event" + loop.ToString() + "ActionCount");
loop2 = 1;
while (loop2 <= GetActionCount(loop))
{
settings.Add("Event" + loop.ToString() + "Action" + loop2.ToString());
loop2++;
}
loop++;
}
settings.Add("HideStatusOutput"); settings.Add("HideStatusOutput");
return;
} }
public void unloadEvents() public void unloadEvents()

View file

@ -13,16 +13,6 @@ namespace SecondBotEvents.Config
filename = "relay"; filename = "relay";
settings.Add("count"); settings.Add("count");
settings.Add("HideStatusOutput"); settings.Add("HideStatusOutput");
int loop = 1;
while(loop <= GetRelayCount())
{
settings.Add(loop.ToString() + "_enabled");
settings.Add(loop.ToString() + "_source_type");
settings.Add(loop.ToString() + "_source_option");
settings.Add(loop.ToString() + "_target_type");
settings.Add(loop.ToString() + "_target_option");
loop++;
}
} }
public int GetRelayCount() public int GetRelayCount()

View file

@ -79,22 +79,26 @@ namespace SecondBotEvents.Config
MakeSettingsFile(fromFolder); MakeSettingsFile(fromFolder);
return; return;
} }
JObject result = JObject.Parse(IO.ReadFile(readfile)); try
foreach (string setting in settings)
{ {
if(result.ContainsKey(setting) == false) JObject result = JObject.Parse(IO.ReadFile(readfile));
foreach (var x in result)
{ {
continue; settings.Add(x.Key);
string value = x.Value.ToString();
if (SecondbotHelpers.notempty(value) == false)
{
mysettings.Add(x.Key, "");
continue;
}
mysettings.Add(x.Key, value);
} }
string value = result[setting].ToString(); loaded = true;
if (SecondbotHelpers.notempty(value) == false) }
{ catch (Exception ex)
mysettings.Add(setting, ""); {
continue; LogFormater.Warn("Json format for " + readfile + " is broken: " + ex.Message);
}
mysettings.Add(setting, value);
} }
loaded = true;
} }
protected void LoadSettingsFromEnv() protected void LoadSettingsFromEnv()
@ -152,7 +156,8 @@ namespace SecondBotEvents.Config
protected int ReadSettingAsInt(string key, int defaultValue = 30) protected int ReadSettingAsInt(string key, int defaultValue = 30)
{ {
bool result = int.TryParse(ReadSettingAsString(key, defaultValue.ToString()), out int value); string read = ReadSettingAsString(key, defaultValue.ToString());
bool result = int.TryParse(read, out int value);
if (result == false) if (result == false)
{ {
return defaultValue; return defaultValue;