public SettingsCollection ReadSettingsFile(string filepath) { var settings = new SettingsCollection(); if (string.IsNullOrEmpty(filepath)) { throw new Exception("ReadSettingsFile received empty filename"); } if (!File.Exists(filepath)) { throw new Exception("Missing file: " + filepath); } using (var file = new StreamReader(filepath)) { string contents = file.ReadToEnd(); string[] stringSeps = new string[] { "\r\n" }; string[] lines = contents.Split(stringSeps, StringSplitOptions.RemoveEmptyEntries); foreach (string line in lines) { var lineParser = new SettingsLineParser(); Setting setting = lineParser.ExtractLine(line); settings.AddSetting(setting); } } return(settings); }
public static DateTime GetSingleDateTimeValue(SettingsCollection coll, string key) { string text = GetSingleStringValue(coll, key); DateTime value; if (!DateTime.TryParse(text, out value)) { throw new Exception(string.Format("Setting '{0}' failed to parse as DateTime: '{1}'", key, value)); } return(value); }
public static int GetSingleIntValue(SettingsCollection coll, string key) { string text = GetSingleStringValue(coll, key); int value; if (!int.TryParse(text, out value)) { throw new Exception(string.Format("Setting '{0}' failed to parse as int: '{1}'", key, value)); } return(value); }
public SettingsCollection ParseSettings(IEnumerable <string> lines) { var settings = new SettingsCollection(); foreach (string line in lines) { var lineParser = new SettingsLineParser(); Setting setting = lineParser.ExtractLine(line); settings.AddSetting(setting); } return(settings); }
public static string GetSingleStringValue(SettingsCollection coll, string key) { var setting = coll.GetValue(key); if (setting.ParameterCount > 0) { throw new Exception(string.Format("Setting '{0}' has multiple parameters", key)); } if (!setting.HasSingleValue) { return(null); } return(setting.SingleValue); }
public static bool GetSingleBoolValue(SettingsCollection coll, string key, bool defVal) { string text = GetSingleStringValue(coll, key); return(ObjToBool(text, defVal)); }