Refactored Utility block Conversion and File

This commit is contained in:
ruri
2020-03-19 03:43:12 +01:00
parent ffe2d61c3d
commit 04ae99a1f3
+9 -10
View File
@@ -433,10 +433,10 @@ namespace RuriLib
try
{
var replacedInput = ReplaceValues(inputString, data);
switch (group)
{
case UtilityGroup.List:
var list = data.Variables.GetList(listName);
var list2 = data.Variables.GetList(secondListName);
var item = ReplaceValues(listItem, data);
@@ -548,15 +548,14 @@ namespace RuriLib
break;
case UtilityGroup.Conversion:
byte[] convertedBytes = ReplaceValues(inputString, data).ConvertFrom(conversionFrom);
data.Variables.Set(new CVar(variableName, convertedBytes.ConvertTo(conversionTo), isCapture));
data.Log(new LogEntry($"Converted input {conversionFrom} to {conversionTo}", Colors.White));
byte[] conversionInputBytes = replacedInput.ConvertFrom(conversionFrom);
var conversionResult = conversionInputBytes.ConvertTo(conversionTo);
data.Variables.Set(new CVar(variableName, conversionResult, isCapture));
data.Log(new LogEntry($"Executed conversion {conversionFrom} to {conversionTo} on input {replacedInput} with outcome {conversionResult}", Colors.White));
break;
case UtilityGroup.File:
var file = ReplaceValues(filePath, data);
var input = ReplaceValues(inputString, data).Replace("\\r\\n", "\r\n").Replace("\\n", "\n");
var inputs = ReplaceValuesRecursive(inputString, data).Select(i => i.Replace("\\r\\n", "\r\n").Replace("\\n", "\n"));
switch (fileAction)
{
case FileAction.Read:
@@ -568,19 +567,19 @@ namespace RuriLib
break;
case FileAction.Write:
File.WriteAllText(file, input);
File.WriteAllText(file, replacedInput.Unescape());
break;
case FileAction.WriteLines:
File.WriteAllLines(file, inputs);
File.WriteAllLines(file, ReplaceValuesRecursive(inputString, data).Select(i => i.Unescape()));
break;
case FileAction.Append:
File.AppendAllText(file, input);
File.AppendAllText(file, replacedInput.Unescape());
break;
case FileAction.AppendLines:
File.AppendAllLines(file, inputs);
File.AppendAllLines(file, ReplaceValuesRecursive(inputString, data).Select(i => i.Unescape()));
break;
}
data.Log(new LogEntry($"Executed action {fileAction} on file {file}", Colors.White));