diff options
Diffstat (limited to 'DSACore/Auxiliary/WeaponImporter.cs')
-rw-r--r-- | DSACore/Auxiliary/WeaponImporter.cs | 61 |
1 files changed, 29 insertions, 32 deletions
diff --git a/DSACore/Auxiliary/WeaponImporter.cs b/DSACore/Auxiliary/WeaponImporter.cs index 635d477..3375236 100644 --- a/DSACore/Auxiliary/WeaponImporter.cs +++ b/DSACore/Auxiliary/WeaponImporter.cs @@ -1,5 +1,4 @@ -using DSACore.Models.Database; -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; @@ -7,26 +6,25 @@ using System.Text.RegularExpressions; using System.Threading.Tasks; using DSACore.FireBase; using DSACore.Models.Database.DSA; -using Group = System.Text.RegularExpressions.Group; namespace DSACore.Auxiliary { public class WeaponImporter { - private List<MeleeWeapon> Weapons = new List<MeleeWeapon>(); - private List<RangedWeapon> Range = new List<RangedWeapon>(); + private readonly List<RangedWeapon> Range = new List<RangedWeapon>(); + private readonly List<MeleeWeapon> Weapons = new List<MeleeWeapon>(); public async Task DownloadWeapons() { var client = new HttpClient(); - - for (int i = 1; i <= 25; i++) + for (var i = 1; i <= 25; i++) { - var responseString = await client.GetStringAsync("http://diarium.eu/dsa4-forge/ajax/categoryChanged/" + i); + var responseString = + await client.GetStringAsync("http://diarium.eu/dsa4-forge/ajax/categoryChanged/" + i); - Regex talentRegex = new Regex(@"(?<=<option value="")([0-9]*)("">)(.*?)(?=<)"); + var talentRegex = new Regex(@"(?<=<option value="")([0-9]*)("">)(.*?)(?=<)"); //Regex idsRegex = new Regex(@"(?<=<option value=\"")([0-9]*)"); @@ -37,25 +35,25 @@ namespace DSACore.Auxiliary var ids = new List<int>(); foreach (var matchGroup in talentMatch.ToList()) - { if (matchGroup.Success) { lines.Add(matchGroup.Groups[3].Value); ids.Add(int.Parse(matchGroup.Groups[1].Value)); } - } - - for (int j = 0; j < lines.Count; j++) + for (var j = 0; j < lines.Count; j++) { var talent = lines[j]; - var values = await client.GetStringAsync($"http://diarium.eu/dsa4-forge/ajax/calculate/" + i + "/" + ids[j] + "/0/0/0/0/0/10/0/0/0"); + var values = await client.GetStringAsync("http://diarium.eu/dsa4-forge/ajax/calculate/" + i + "/" + + ids[j] + "/0/0/0/0/0/10/0/0/0"); values = Regex.Unescape(values.Replace(@"\t", "")); // ... Use named group in regular expression. - Regex expression = new Regex(@"(((?<=(<td>))|(?<=(<td style=\""padding:2px\"">))).*?(?=<\/td>))|((?<=<span style=\""font-weight:bold;text-decoration:underline;\"">).*?(?=<\/span>))"); + var expression = + new Regex( + @"(((?<=(<td>))|(?<=(<td style=\""padding:2px\"">))).*?(?=<\/td>))|((?<=<span style=\""font-weight:bold;text-decoration:underline;\"">).*?(?=<\/span>))"); // ... See if we matched. var matches = expression.Matches(values).Select(x => x.ToString()).ToList(); @@ -64,7 +62,6 @@ namespace DSACore.Auxiliary await AddMelee(i, talent, matches); Console.Write(j + ","); //await Task.Delay(TimeSpan.FromSeconds(5)); - } Console.WriteLine($"{i}: {ids.Count} => {Weapons.Count}"); @@ -76,17 +73,17 @@ namespace DSACore.Auxiliary private async Task AddMelee(int i, string talent, List<string> matches) { - string name = talent.Replace(' ', '_').Replace(".", ""); + var name = talent.Replace(' ', '_').Replace(".", ""); if (!matches[1].Equals(string.Empty)) { var temp = new MeleeWeapon( name, matches[1], - int.TryParse(matches[10], out int weight) ? weight : 0, + int.TryParse(matches[10], out var weight) ? weight : 0, matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), matches[11]) { - INI = int.TryParse(matches[3], out int ini) ? ini : 0, + INI = int.TryParse(matches[3], out var ini) ? ini : 0, MW = matches[4], TpKK = matches[2] }; @@ -94,6 +91,7 @@ namespace DSACore.Auxiliary Weapons.Add(temp); await Database.AddWeapon(temp); } + /*if (i > 23) { var range = new RangedWeapon( @@ -118,15 +116,15 @@ namespace DSACore.Auxiliary var range = new RangedWeapon( name, matches[13].Replace(' ', '+'), - int.TryParse(matches[10], out int weight) ? weight : 0, + int.TryParse(matches[10], out var weight) ? weight : 0, matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), matches[11]) { - AtMod = int.TryParse(matches[18], out int atMod) ? atMod : 0, - KKMod = int.TryParse(matches[17], out int kkMod) ? kkMod : 0, + AtMod = int.TryParse(matches[18], out var atMod) ? atMod : 0, + KKMod = int.TryParse(matches[17], out var kkMod) ? kkMod : 0, AtReach = matches[14], TpReach = matches[15], - LoadTime = int.TryParse(matches[18], out int loadTime) ? loadTime : 0 + LoadTime = int.TryParse(matches[18], out var loadTime) ? loadTime : 0 }; Range.Add(range); await Database.AddWeapon(range); @@ -135,17 +133,17 @@ namespace DSACore.Auxiliary private async Task AddRanged(int i, string talent, List<string> matches) { - string name = talent.Replace(' ', '_').Replace(".", ""); + var name = talent.Replace(' ', '_').Replace(".", ""); if (!matches[1].Equals(string.Empty)) { var temp = new MeleeWeapon( name, matches[1], - int.TryParse(matches[10], out int weight) ? weight : 0, + int.TryParse(matches[10], out var weight) ? weight : 0, matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), matches[11]) { - INI = int.TryParse(matches[3], out int ini) ? ini : 0, + INI = int.TryParse(matches[3], out var ini) ? ini : 0, MW = matches[4], TpKK = matches[2] }; @@ -159,20 +157,19 @@ namespace DSACore.Auxiliary var range = new RangedWeapon( name, matches[13].Replace(' ', '+'), - int.TryParse(matches[10], out int weight) ? weight : 0, + int.TryParse(matches[10], out var weight) ? weight : 0, matches[0].Split(':', StringSplitOptions.RemoveEmptyEntries).First(), matches[11]) { - AtMod = int.TryParse(matches[18], out int atMod) ? atMod : 0, - KKMod = int.TryParse(matches[17], out int kkMod) ? kkMod : 0, + AtMod = int.TryParse(matches[18], out var atMod) ? atMod : 0, + KKMod = int.TryParse(matches[17], out var kkMod) ? kkMod : 0, AtReach = matches[14], TpReach = matches[15], - LoadTime = int.TryParse(matches[18], out int loadTime) ? loadTime : 0 + LoadTime = int.TryParse(matches[18], out var loadTime) ? loadTime : 0 }; Range.Add(range); await Database.AddWeapon(range); } } } -} - +}
\ No newline at end of file |