2020-07-07 07:15:45 +12:00
|
|
|
|
// <copyright file="FileIni.cs" company="PlaceholderCompany">
|
|
|
|
|
// Copyright (c) PlaceholderCompany. All rights reserved.
|
|
|
|
|
// </copyright>
|
2019-07-05 05:04:14 +12:00
|
|
|
|
|
2020-03-28 12:42:32 +13:00
|
|
|
|
namespace SystemTrayMenu.Utilities
|
2019-07-05 05:04:14 +12:00
|
|
|
|
{
|
2020-07-07 07:15:45 +12:00
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
2020-07-07 09:37:55 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
public class FileIni
|
|
|
|
|
{
|
2020-03-24 00:35:10 +13:00
|
|
|
|
private readonly Dictionary<string, string> values;
|
2020-07-07 09:37:55 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
public FileIni(string path)
|
|
|
|
|
{
|
|
|
|
|
values = File.ReadLines(path)
|
2020-03-25 02:39:43 +13:00
|
|
|
|
.Where(line => !string.IsNullOrWhiteSpace(line) &&
|
|
|
|
|
!line.StartsWith("#", System.StringComparison.InvariantCulture))
|
2019-07-05 05:04:14 +12:00
|
|
|
|
.Select(line => line.Split(new char[] { '=' }, 2, 0))
|
2020-03-25 02:39:43 +13:00
|
|
|
|
.ToDictionary(parts => parts[0].Trim(), parts =>
|
|
|
|
|
parts.Length > 1 ? parts[1].Trim() : null);
|
2019-07-05 05:04:14 +12:00
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
public string Value(string name, string value = null)
|
|
|
|
|
{
|
|
|
|
|
if (values != null && values.ContainsKey(name))
|
|
|
|
|
{
|
|
|
|
|
return values[name];
|
|
|
|
|
}
|
2020-07-07 07:15:45 +12:00
|
|
|
|
|
2019-07-05 05:04:14 +12:00
|
|
|
|
return value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|