/// <summary> /// Runs this modification. /// </summary> /// <returns></returns> public bool Run() { if (config.StampRenderData) { //TODO: Nini doesnt seem to do comments for us, need to do this by hand. } //Add them in a specific order foreach (IniAdd mod in file.Add) { mod.Value = RenderConfigEngine.ReplaceEnvironmentVariables(mod.Value); LogUtilities.LogKeyValue("TYPE", "ADD", 27, MessageImportance.High, log); LogModificationDetails(mod.section, mod.key, mod.Value, string.Empty, log); Add(mod); } foreach (IniUpdate mod in file.Update) { mod.Value = RenderConfigEngine.ReplaceEnvironmentVariables(mod.Value); LogUtilities.LogKeyValue("TYPE", "Update", 27, MessageImportance.High, log); LogModificationDetails(mod.section, mod.key, mod.Value, string.Empty, log); Update(mod); } foreach (IniReplace mod in file.Replace) { mod.Value = RenderConfigEngine.ReplaceEnvironmentVariables(mod.Value); LogUtilities.LogKeyValue("TYPE", "ADD", 27, MessageImportance.High, log); LogModificationDetails(string.Empty, string.Empty, mod.Value, mod.regex, log); LogUtilities.LogCount(RenderConfigEngine.ReplaceTokenInFile(mod.regex, mod.Value, targetFile), log); } foreach (IniDelete mod in file.Delete) { LogUtilities.LogKeyValue("TYPE", "DELETE", 27, MessageImportance.High, log); LogModificationDetails(mod.section, mod.key, string.Empty, string.Empty, log); Delete(mod); } //HACK BAd returnCode = true; return(returnCode); }
/// <summary> /// Runs this instance. /// </summary> /// <returns></returns> public bool Run() { int count = 0; foreach (IniReplace mod in file.Replace) { mod.Value = RenderConfigEngine.ReplaceEnvironmentVariables(mod.Value); LogUtilities.LogKeyValue("TYPE", "REPLACE", 27, MessageImportance.High, log); LogUtilities.LogKeyValue("REGEX", mod.regex, 27, MessageImportance.Normal, log); LogUtilities.LogKeyValue("VALUE", mod.Value, 27, MessageImportance.Normal, log); count = RenderConfigEngine.ReplaceTokenInFile(mod.regex, mod.Value, targetFile); LogUtilities.LogCount(count, log); } //TODO if (config.BreakOnNoMatch && count == 0) { return(false); } else { return(true); } }