From 618dad37ac9fa986facdcc21c1faa277f760dcb2 Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 30 Jul 2017 03:39:44 +0200 Subject: Data retrieval from RRB tournament files --- Aktywator/RRBTournament.cs | 83 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 Aktywator/RRBTournament.cs (limited to 'Aktywator/RRBTournament.cs') diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs new file mode 100644 index 0000000..d35e8f3 --- /dev/null +++ b/Aktywator/RRBTournament.cs @@ -0,0 +1,83 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Xml; +using System.IO; + +namespace Aktywator +{ + class RRBTournament : Tournament + { + private XmlDocument _xml; + private string p; + + public RRBTournament(string name) + { + this._name = name; + this._type = Tournament.TYPE_RRB; + } + + override internal void setup() + { + this._xml = new XmlDocument(); + this._xml.Load(this._name); + } + + override internal string getName() + { + return this._xml.SelectSingleNode("//ustawienia/nazwa").InnerText; + } + + override public string getSectionsNum() + { + List sections = new List(); + foreach (XmlNode table in this._xml.SelectNodes("//monitor/stoly/stol")) + { + string section = table.SelectSingleNode("sektor").InnerText; + if (!sections.Contains(section)) + { + sections.Add(section); + } + } + return sections.Count.ToString(); + } + + override public string getTablesNum() + { + return this._xml.SelectNodes("//monitor/stoly/stol").Count.ToString(); + } + + override internal string getTypeLabel() + { + return "RRBridge"; + } + + override internal Dictionary> getNameList() + { + Dictionary> names = new Dictionary>(); + foreach (XmlNode pair in this._xml.SelectNodes("//lista/para")) + { + int pairNo = Int32.Parse(pair.SelectSingleNode("numer").InnerText); + names.Add(pairNo, new List()); + foreach (XmlNode player in pair.SelectNodes("gracz/nazwisko")) + { + string[] name = player.InnerText.Trim().Split(' '); + if (name.Length > 0) + { + name[0] = name[0][0].ToString(); + names[pairNo].Add(String.Join(" ", name)); + } + } + } + + foreach (KeyValuePair> pair in names) + { + while (pair.Value.Count < 2) + { + pair.Value.Add(""); + } + } + return names; + } + } +} -- cgit v1.2.3 From 915e4fd49087c38a2559f08512db5d2e2cfb37bc Mon Sep 17 00:00:00 2001 From: emkael Date: Sun, 30 Jul 2017 14:23:19 +0200 Subject: Checking for zero-length names in RRB provider --- Aktywator/RRBTournament.cs | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'Aktywator/RRBTournament.cs') diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs index d35e8f3..20a3c21 100644 --- a/Aktywator/RRBTournament.cs +++ b/Aktywator/RRBTournament.cs @@ -61,10 +61,17 @@ namespace Aktywator names.Add(pairNo, new List()); foreach (XmlNode player in pair.SelectNodes("gracz/nazwisko")) { - string[] name = player.InnerText.Trim().Split(' '); - if (name.Length > 0) + if ("pauza".Equals(player.InnerText.Trim())) { - name[0] = name[0][0].ToString(); + names[pairNo].Add(""); + } + else + { + string[] name = player.InnerText.Trim().Split(' '); + if (name.Length > 0) + { + name[0] = (name[0].Length > 0) ? name[0][0].ToString() : ""; + } names[pairNo].Add(String.Join(" ", name)); } } -- cgit v1.2.3 From c3be44ed94e61c3c4bb6a69f0db891580ee7a037 Mon Sep 17 00:00:00 2001 From: emkael Date: Tue, 22 Aug 2017 13:13:08 +0200 Subject: Filling empty player names with spaces so that "name n/a" message is not displayed in the bridgemate --- Aktywator/ParyTournament.cs | 4 ++-- Aktywator/RRBTournament.cs | 6 +++--- Aktywator/TeamyTournament.cs | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'Aktywator/RRBTournament.cs') diff --git a/Aktywator/ParyTournament.cs b/Aktywator/ParyTournament.cs index 9a592d7..f467119 100644 --- a/Aktywator/ParyTournament.cs +++ b/Aktywator/ParyTournament.cs @@ -39,13 +39,13 @@ namespace Aktywator { pairs.Add(pairNo, new List()); } - pairs[pairNo].Add(dbData.IsDBNull(1) ? "" : dbData.GetString(1)); + pairs[pairNo].Add(dbData.IsDBNull(1) ? " " : dbData.GetString(1)); } foreach (KeyValuePair> pair in pairs) { while (pair.Value.Count < 2) { - pair.Value.Add(""); + pair.Value.Add(" "); } } dbData.Close(); diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs index 20a3c21..a86e199 100644 --- a/Aktywator/RRBTournament.cs +++ b/Aktywator/RRBTournament.cs @@ -63,14 +63,14 @@ namespace Aktywator { if ("pauza".Equals(player.InnerText.Trim())) { - names[pairNo].Add(""); + names[pairNo].Add(" "); } else { string[] name = player.InnerText.Trim().Split(' '); if (name.Length > 0) { - name[0] = (name[0].Length > 0) ? name[0][0].ToString() : ""; + name[0] = (name[0].Length > 0) ? name[0][0].ToString() : " "; } names[pairNo].Add(String.Join(" ", name)); } @@ -81,7 +81,7 @@ namespace Aktywator { while (pair.Value.Count < 2) { - pair.Value.Add(""); + pair.Value.Add(" "); } } return names; diff --git a/Aktywator/TeamyTournament.cs b/Aktywator/TeamyTournament.cs index 7bc3496..78ce0e0 100644 --- a/Aktywator/TeamyTournament.cs +++ b/Aktywator/TeamyTournament.cs @@ -35,8 +35,8 @@ namespace Aktywator while (dbData.Read()) { List names = new List(); - names.Add(dbData.IsDBNull(1) ? "" : dbData.GetString(1)); - names.Add(""); + names.Add(dbData.IsDBNull(1) ? " " : dbData.GetString(1)); + names.Add(" "); teams.Add(dbData.GetInt32(0), names); } dbData.Close(); -- cgit v1.2.3 From 4315e1a19c582133053ed01b82c801b5904c2aa3 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 23 Aug 2017 14:45:50 +0200 Subject: Fallback name for RRB tournaments --- Aktywator/RRBTournament.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'Aktywator/RRBTournament.cs') diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs index a86e199..4d5fff8 100644 --- a/Aktywator/RRBTournament.cs +++ b/Aktywator/RRBTournament.cs @@ -25,7 +25,8 @@ namespace Aktywator override internal string getName() { - return this._xml.SelectSingleNode("//ustawienia/nazwa").InnerText; + string tName = this._xml.SelectSingleNode("//ustawienia/nazwa").InnerText.Trim(); + return tName.Length > 0 ? tName : Path.GetFileName(this._name); } override public string getSectionsNum() -- cgit v1.2.3 From 903f2af3cabb5dfff04136a20fe375b95d629a02 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 23 Aug 2017 17:16:00 +0200 Subject: Reloading XML file before reading names --- Aktywator/RRBTournament.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Aktywator/RRBTournament.cs') diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs index 4d5fff8..4c8f281 100644 --- a/Aktywator/RRBTournament.cs +++ b/Aktywator/RRBTournament.cs @@ -9,7 +9,6 @@ namespace Aktywator class RRBTournament : Tournament { private XmlDocument _xml; - private string p; public RRBTournament(string name) { @@ -55,6 +54,7 @@ namespace Aktywator override internal Dictionary> getNameList() { + this._xml.Load(this._name); Dictionary> names = new Dictionary>(); foreach (XmlNode pair in this._xml.SelectNodes("//lista/para")) { -- cgit v1.2.3 From 6ad488f28bfd74c39be0c420a671b7c33f9250d6 Mon Sep 17 00:00:00 2001 From: emkael Date: Wed, 23 Aug 2017 17:17:49 +0200 Subject: Name shortening independent from torunament source --- Aktywator/ParyTournament.cs | 2 +- Aktywator/RRBTournament.cs | 14 +------------- Aktywator/Tournament.cs | 16 ++++++++++++++++ 3 files changed, 18 insertions(+), 14 deletions(-) (limited to 'Aktywator/RRBTournament.cs') diff --git a/Aktywator/ParyTournament.cs b/Aktywator/ParyTournament.cs index f467119..4950c3d 100644 --- a/Aktywator/ParyTournament.cs +++ b/Aktywator/ParyTournament.cs @@ -31,7 +31,7 @@ namespace Aktywator override internal Dictionary> getNameList() { Dictionary> pairs = new Dictionary>(); - MySqlDataReader dbData = this.mysql.select("SELECT idp, CONCAT(SUBSTR(imie,1,1),'.',nazw) name FROM zawodnicy"); + MySqlDataReader dbData = this.mysql.select("SELECT idp, CONCAT(imie, ' ', nazw) name FROM zawodnicy"); while (dbData.Read()) { int pairNo = dbData.GetInt32(0); diff --git a/Aktywator/RRBTournament.cs b/Aktywator/RRBTournament.cs index 4c8f281..48040ee 100644 --- a/Aktywator/RRBTournament.cs +++ b/Aktywator/RRBTournament.cs @@ -62,19 +62,7 @@ namespace Aktywator names.Add(pairNo, new List()); foreach (XmlNode player in pair.SelectNodes("gracz/nazwisko")) { - if ("pauza".Equals(player.InnerText.Trim())) - { - names[pairNo].Add(" "); - } - else - { - string[] name = player.InnerText.Trim().Split(' '); - if (name.Length > 0) - { - name[0] = (name[0].Length > 0) ? name[0][0].ToString() : " "; - } - names[pairNo].Add(String.Join(" ", name)); - } + names[pairNo].Add(player.InnerText); } } diff --git a/Aktywator/Tournament.cs b/Aktywator/Tournament.cs index 85a2666..cbe9bf9 100644 --- a/Aktywator/Tournament.cs +++ b/Aktywator/Tournament.cs @@ -38,5 +38,21 @@ namespace Aktywator return new Dictionary>(); } + virtual internal string shortenNameToBWS(string name) + { + if ("pauza".Equals(name.Trim())) + { + return " "; + } + else + { + string[] nameParts = name.Trim().Split(' '); + if (nameParts.Length > 0) + { + nameParts[0] = (nameParts[0].Length > 0) ? nameParts[0][0].ToString() : " "; + } + return String.Join(" ", nameParts); + } + } } } -- cgit v1.2.3