Improved installation script a bit

This commit is contained in:
Master Kwoth
2017-06-05 07:39:06 +02:00
parent d391e42fa7
commit 53b45c1fdb
2 changed files with 29 additions and 24 deletions

View File

@ -47,31 +47,31 @@ namespace NadekoBot.Services
string.Join(",", responseStrings.Keys),
sw.Elapsed.TotalSeconds);
//improper string format checks
var compareTo = responseStrings["en-us"]
.Select(x =>
{
return (StringKey: x.Key, Placeholders: formatFinder.Matches(x.Value).Cast<Match>().Select(y => y.Value).ToArray());
})
.ToDictionary(x => x.StringKey, x => x.Placeholders);
////improper string format checks
//var compareTo = responseStrings["en-us"]
// .Select(x =>
// {
// return (StringKey: x.Key, Placeholders: formatFinder.Matches(x.Value).Cast<Match>().Select(y => y.Value).ToArray());
// })
// .ToDictionary(x => x.StringKey, x => x.Placeholders);
var errors = responseStrings
.Select(a => (a.Key, a.Value.Select(x =>
{
if (!compareTo.ContainsKey(x.Key))
return (StringKey: x.Key, Placeholders: new HashSet<string>(), Missing: true);
var hs = new HashSet<string>(compareTo[x.Key]);
hs.SymmetricExceptWith(formatFinder.Matches(x.Value).Cast<Match>().Select(y => y.Value).ToArray());
return (StringKey: x.Key, Placeholders: hs, Missing: false);
})
.Where(x => x.Placeholders.Any() || x.Missing)))
.Where(x => x.Item2.Any());
//var errors = responseStrings
// .Select(a => (a.Key, a.Value.Select(x =>
// {
// if (!compareTo.ContainsKey(x.Key))
// return (StringKey: x.Key, Placeholders: new HashSet<string>(), Missing: true);
// var hs = new HashSet<string>(compareTo[x.Key]);
// hs.SymmetricExceptWith(formatFinder.Matches(x.Value).Cast<Match>().Select(y => y.Value).ToArray());
// return (StringKey: x.Key, Placeholders: hs, Missing: false);
// })
// .Where(x => x.Placeholders.Any() || x.Missing)))
// .Where(x => x.Item2.Any());
var str = string.Join("\n", errors.Select(x => $"------{x.Item1}------\n" +
string.Join("\n", x.Item2.Select(y =>
y.StringKey + ": " + (y.Missing ? "MISSING" : string.Join(", ", y.Placeholders))))));
if (!string.IsNullOrWhiteSpace(str))
_log.Warn($"Improperly Formatted strings:\n{str}");
//var str = string.Join("\n", errors.Select(x => $"------{x.Item1}------\n" +
// string.Join("\n", x.Item2.Select(y =>
// y.StringKey + ": " + (y.Missing ? "MISSING" : string.Join(", ", y.Placeholders))))));
//if (!string.IsNullOrWhiteSpace(str))
// _log.Warn($"Improperly Formatted strings:\n{str}");
}
private string GetLocaleName(string fileName)