From 921baf66cb4b96d4f40f202bd533d85f70d13216 Mon Sep 17 00:00:00 2001 From: Yan Maniez Date: Sat, 15 Jun 2019 01:11:42 +0200 Subject: [PATCH] Parsing --- AideDeJeu/AideDeJeuCmd/Program.cs | 67 ++++++++++++++++--------------- 1 file changed, 35 insertions(+), 32 deletions(-) diff --git a/AideDeJeu/AideDeJeuCmd/Program.cs b/AideDeJeu/AideDeJeuCmd/Program.cs index 31ad69d3..7807572f 100644 --- a/AideDeJeu/AideDeJeuCmd/Program.cs +++ b/AideDeJeu/AideDeJeuCmd/Program.cs @@ -478,40 +478,43 @@ namespace AideDeJeuCmd bool started = false; foreach (var line in fullText) { - foreach(var spa in line) + var keySpan = line.FirstOrDefault(); + if (keySpan.Style.Contains("font-size:11px")) + { // nom (démarrage) + started = true; + } + if (started) { - if (spa.Style.Contains("font-size:11px")) - { // nom (démarrage) - started = true; - } - if (started) + + string value = ""; + if (line.Count > 1) { - if (!spa.IdStyle.Contains("font-family:sans-serif; font-weight:normal; font-style:normal;") && CloseKeyValue()) - { - } - else if (spa.Style.Contains("font-size:11px")) - { // nom - Console.WriteLine($"# {spa.Text}"); - } - else if (spa.IdStyle.Contains("font-family:sans-serif; font-weight:normal; font-style:italic;") && spa.Text.Contains("taille")) - { // type / size / alignment - // todo : découper type / size / alignment - Console.WriteLine($"-  {spa.Text}"); - } - else if (spa.Style.Contains("rgba(121,27,16,1)")) - { // key / value - key = spa.Text; - //Console.WriteLine($"-  {span.InnerText}"); - } - else if (spa.IdStyle.Contains("font-family:sans-serif; font-weight:normal; font-style:normal;")) - { - value += (value.Length == 0 ? " " : "") + spa.Text; - } - else - { - //Console.Write($"{spanStyle} => {span.InnerText} "); - Console.Write($"{spa.Text}"); - } + value = line.Skip(1).Select(p => p.Text).Aggregate((p1, p2) => p1 + p2); + } + if (keySpan.Style.Contains("font-size:11px")) + { // nom + Console.WriteLine($"# {keySpan.Text}"); + } + else if (!keySpan.IdStyle.Contains("font-family:sans-serif; font-weight:normal; font-style:normal;") && CloseKeyValue()) + { + } + else if (keySpan.IdStyle.Contains("font-family:sans-serif; font-weight:normal; font-style:italic;") && keySpan.Text.Contains("taille")) + { // type / size / alignment + // todo : découper type / size / alignment + Console.WriteLine($"-  {keySpan.Text}"); + } + else if (keySpan.Style.Contains("rgba(121,27,16,1)")) + { // key / value + Console.WriteLine($"- **{keySpan.Text}** {value}"); + } + else if (keySpan.IdStyle.Contains("font-family:sans-serif; font-weight:normal; font-style:normal;")) + { + Console.Write($"{keySpan.Text} {value}"); + } + else + { + //Console.Write($"{spanStyle} => {span.InnerText} "); + Console.Write($"{keySpan.Text} {value}"); } //Console.Write(spa.Text); }