Files
elwig/Elwig/Helpers/Config.cs
2023-04-15 23:05:21 +02:00

39 lines
1.0 KiB
C#

using System.IO;
using System.Text;
using IniParser;
using IniParser.Model;
namespace Elwig.Helpers {
public class Config {
private readonly string FileName;
public string DatabaseFile;
public Config(string filename) {
FileName = filename;
Read();
}
public void Read() {
var parser = new FileIniDataParser();
IniData? ini = null;
try {
ini = parser.ReadFile(FileName, Encoding.UTF8);
} catch {}
if (ini == null || !ini.TryGetKey("database.file", out string db)) {
DatabaseFile = App.DataPath + "database.sqlite3";
} else if (db.Length > 1 && db[1] == ':') {
DatabaseFile = db;
} else {
DatabaseFile = App.DataPath + db;
}
}
public void Write() {
using var file = new StreamWriter(FileName, false, Encoding.UTF8);
file.Write($"\n[database]\nfile = {DatabaseFile}\n");
}
}
}