Updated results + new reports + formatting

master
Laurent 7 years ago
parent cb8f63222a
commit 5f736fc12c
  1. 4
      TournamentStats.xcodeproj/project.pbxproj
  2. BIN
      TournamentStats.xcodeproj/project.xcworkspace/xcuserdata/laurent.xcuserdatad/UserInterfaceState.xcuserstate
  3. 619
      TournamentStats/Events/event3
  4. 108
      TournamentStats/Events/event8
  5. 4
      TournamentStats/NotablePlayers.swift
  6. 24
      TournamentStats/Seed.swift
  7. 8
      TournamentStats/core/Formatters.swift
  8. 4
      TournamentStats/realm/Model.swift
  9. 11
      TournamentStats/report/Queries.swift
  10. 14
      TournamentStats/report/ReportGenerator.swift
  11. 2
      TournamentStats/report/structures/CumulatedResults.swift
  12. 2
      TournamentStats/report/structures/PlayerResult.swift
  13. 37
      TournamentStats/report/structures/TournamentRepresentable.swift
  14. 2
      TournamentStats/report/structures/TournamentWinner.swift
  15. 2
      TournamentStats/utils/CSVUtils.swift

@ -93,6 +93,7 @@
4DF7614A22A66675004B0EF1 /* TournamentWinner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7614922A66675004B0EF1 /* TournamentWinner.swift */; }; 4DF7614A22A66675004B0EF1 /* TournamentWinner.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7614922A66675004B0EF1 /* TournamentWinner.swift */; };
4DF7614D22A6CC0D004B0EF1 /* NotablePlayers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7614C22A6CC0D004B0EF1 /* NotablePlayers.swift */; }; 4DF7614D22A6CC0D004B0EF1 /* NotablePlayers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7614C22A6CC0D004B0EF1 /* NotablePlayers.swift */; };
4DF7614F22A6CF93004B0EF1 /* PlayerResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7614E22A6CF93004B0EF1 /* PlayerResult.swift */; }; 4DF7614F22A6CF93004B0EF1 /* PlayerResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7614E22A6CF93004B0EF1 /* PlayerResult.swift */; };
4DF7615122A7AECA004B0EF1 /* TournamentRepresentable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4DF7615022A7AECA004B0EF1 /* TournamentRepresentable.swift */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */ /* Begin PBXContainerItemProxy section */
@ -196,6 +197,7 @@
4DF7614922A66675004B0EF1 /* TournamentWinner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TournamentWinner.swift; sourceTree = "<group>"; }; 4DF7614922A66675004B0EF1 /* TournamentWinner.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TournamentWinner.swift; sourceTree = "<group>"; };
4DF7614C22A6CC0D004B0EF1 /* NotablePlayers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotablePlayers.swift; sourceTree = "<group>"; }; 4DF7614C22A6CC0D004B0EF1 /* NotablePlayers.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotablePlayers.swift; sourceTree = "<group>"; };
4DF7614E22A6CF93004B0EF1 /* PlayerResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerResult.swift; sourceTree = "<group>"; }; 4DF7614E22A6CF93004B0EF1 /* PlayerResult.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PlayerResult.swift; sourceTree = "<group>"; };
4DF7615022A7AECA004B0EF1 /* TournamentRepresentable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TournamentRepresentable.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -398,6 +400,7 @@
4DF7614522A59407004B0EF1 /* CumulatedResults.swift */, 4DF7614522A59407004B0EF1 /* CumulatedResults.swift */,
4DF7614922A66675004B0EF1 /* TournamentWinner.swift */, 4DF7614922A66675004B0EF1 /* TournamentWinner.swift */,
4DF7614E22A6CF93004B0EF1 /* PlayerResult.swift */, 4DF7614E22A6CF93004B0EF1 /* PlayerResult.swift */,
4DF7615022A7AECA004B0EF1 /* TournamentRepresentable.swift */,
); );
path = structures; path = structures;
sourceTree = "<group>"; sourceTree = "<group>";
@ -596,6 +599,7 @@
4DF7614A22A66675004B0EF1 /* TournamentWinner.swift in Sources */, 4DF7614A22A66675004B0EF1 /* TournamentWinner.swift in Sources */,
4DF760B322A47CAE004B0EF1 /* Realm+Extensions.swift in Sources */, 4DF760B322A47CAE004B0EF1 /* Realm+Extensions.swift in Sources */,
4DF7608822A3FB96004B0EF1 /* DetailViewController.swift in Sources */, 4DF7608822A3FB96004B0EF1 /* DetailViewController.swift in Sources */,
4DF7615122A7AECA004B0EF1 /* TournamentRepresentable.swift in Sources */,
4DF7608622A3FB96004B0EF1 /* MasterViewController.swift in Sources */, 4DF7608622A3FB96004B0EF1 /* MasterViewController.swift in Sources */,
4DF7608422A3FB96004B0EF1 /* AppDelegate.swift in Sources */, 4DF7608422A3FB96004B0EF1 /* AppDelegate.swift in Sources */,
4DF760A722A3FD12004B0EF1 /* Model.swift in Sources */, 4DF760A722A3FD12004B0EF1 /* Model.swift in Sources */,

@ -1,618 +1 @@
1
United StatesNicholas Haynes
$62,248
Tampa
FL
United States
2
United StatesIsaac Hanson
$38,447
Las Vegas
NV
United States
3
United StatesJorge Ruiz
$26,642
West Wendover
NV
United States
4
United StatesJesse Kertland
$18,758
Ellensburg
WA
United States
5
CanadaAdam Lamers
$13,421
Edmonton
AB
Canada
6
CanadaJeffrey Fast
$9,761
Welland
ON
Canada
7
United StatesChristopher Bowen
$7,219
San Francisco
CA
United States
8
United StatesJoseph Appler
$5,430
Utica
NY
United States
9
United StatesTravis Williams
$4,155
Laurel
MD
United States
10
United StatesErrol Krupiarz
$3,236
Sussex
NJ
United States
11
United StatesCosmo Andoloro
$3,236
Woodinville
WA
United States
12
United StatesZachary Lee
$3,236
Las Vegas
NV
United States
13
United States Justin Wong
$2,565
Piscataway
NJ
United States
14
United StatesAustin Roberts
$2,565
Henderson
NV
United States
15
United StatesDarrin Phillips
$2,565
Las Vegas
NV
United States
16
United StatesJesse Odenheimer
$2,071
Bozeman
MT
United States
17
United StatesSergey Babayan
$2,071
Burien
WA
United States
18
United StatesYun Zheng
$2,071
Philadelphia
PA
United States
19
United StatesDerek Shoemaker
$1,703
Yakima
WA
United States
20
CanadaShane Patreau
$1,703
Lansdowne
ON
Canada
21
United StatesMiguel Cardenas
$1,703
Rocklin
CA
United States
22
United StatesJoseph Lamberta
$1,703
Bartlett
IL
United States
23
United StatesPatrick Chung
$1,703
Seattle
WA
United States
24
United StatesSteven Mcloughlin
$1,703
Las Vegas
NV
United States
25
United StatesAmanda Wheeler
$1,703
Las Vegas
NV
United States
26
United StatesBradley Helm
$1,703
Scottsdale
AZ
United States
27
United StatesRobert Ostler
$1,703
San Diego
CA
United States
28
FranceJulien Martini
$5,055
Paris
-
France
29
United StatesDavid "ODB" Baker
$5,055
Sahuarita
AZ
United States
30
United StatesDoug Lorgeree
$5,055
Buffalo Grove
IL
United States
31
Russian FederationAndrey Zhigalov
$4,419
Moscow
-
Russian Federation
32
United StatesScott Abrams
$4,419
Henderson
NV
United States
33
Russian FederationVladimir Shchemelev
$4,419
St Petersburg
-
Russian Federation
34
United StatesJoel Tushnet
$4,419
Tarzana
CA
United States
35
United StatesCody Espeseth
$4,419
Merrifield
MN
United States
36
United StatesRandy Ohel
$4,419
Las Vegas
NV
United States
37
AustriaIsmael Bojang
$3,994
Vienna
-
Austria
38
United StatesTroy Evans
$3,994
Mount Pleasant
SC
United States
39
United StatesSteven Wolansky
$3,994
Cooper City
FL
United States
40
United StatesAndrew Woodmancey
$3,994
Coconut Creek
FL
United States
41
United StatesDavid Moskowitz
$3,994
Sunset Beach
CA
United States
42
United StatesJoshua Tieman
$3,994
Chicago
IL
United States
43
United StatesChristopher McHugh
$3,737
Las Vegas
NV
United States
44
United StatesBariscan Betil
$3,737
Philadelphia
PA
United States
45
AustraliaJames Obst
$3,737
Melbourne
-
Australia
46
United StatesJon Friedberg
$1,063
Las Vegas
NV
United States
47
United StatesCorey Eiferle
$1,063
De Witt
MI
United States
48
United StatesThomas Timmons
$1,063
Diberville
MS
United States
49
United StatesRios Dagoberto
$1,063
Coral Gables
FL
United States
50
United StatesMark Fucile
$1,063
Las Vegas
NV
United States
51
United StatesPatrick Fewell
$1,063
N Las Vegas
NV
United States
52
United StatesIan Feller
$1,063
Tampa
FL
United States
53
United StatesFilimon Zamora
$1,063
Orange Cove
CA
United States
54
United StatesCecil Simms
$1,063
Renton
WA
United States
55
United StatesEric Fenzke
$944
Thousand Oaks
CA
United States
56
United StatesCarlos Aldaz
$944
Socorro
TX
United States
57
United StatesRichard Maxie
$944
Primm
NV
United States
58
United StatesJustin Slavin
$944
Port Orange
FL
United States
59
United StatesGregorios Lamprinos
$944
Las Vegas
NV
United States
60
United StatesFredric David
$944
Las Vegas
NV
United States
61
United StatesMelchor Espiritu
$944
Las Vegas
NV
United States
62
United StatesThomas Kubin
$944
St. Louis
MI
United States
63
United StatesKeith Lauder III
$944
Jamestown
ND
United States
64
United StatesJordan Ragan
$857
Henderson
NV
United States
65
United StatesMichael Parker
$857
Las Vegas
NV
United States
66
United StatesDaniel Goldman
$857
Redondo Beach
CA
United States
67
United StatesRick Marting
$857
Las Vegas
NV
United States
68
United StatesJoshua Greville
$857
Hamilton
-
United States
69
United StatesMike Majerus
$857
Las Vegas
NV
United States
70
United StatesVincent Ikeh
$857
South Gate
CA
United States
71
United StatesJeremy Daum
$857
Rochester
NY
United States
72
United StatesScott Hecker
$857
Fort Lauderdale
FL
United States
73
United StatesBrian Matthiessen
$794
Omaha
NE
United States
74
United StatesAsad Abdullah
$794
Boston
MA
United States
75
United StatesStephen Duvall
$794
Lemoore
CA
United States
76
United StatesWen Wang
$794
Weatherby Lake
MO
United States
77
United StatesFrank Nguyen
$794
Las Vegas
NV
United States
78
United StatesLap Nguyen
$794
Las Vegas
NV
United States
79
United StatesCarlo Argentino
$794
Baltimore
MD
United States
80
United StatesAndrew Proesch
$794
Maplewood
MN
United States
81
United StatesBenjamin Chang
$794
Renton
WA
United States
82
United StatesChris Conner
$751
Rosamond
CA
United States
83
United StatesBrian Mikesh
$751
Little Canada
MN
United States
84
United StatesLeon Wheeler
$751
Las Vegas
NV
United States
85
United StatesKurtis Hendrickson
$751
Las Vegas
NV
United States
86
United StatesAdrian Hollie
$751
Los Angeles
CA
United States
87
United StatesBohao Zhu
$751
Sacramento
CA
United States
88
United StatesMatthew Schlesinger
$751
N Las Vegas
NV
United States
89
United StatesMatthew Mich
$751
Oskaloosa
IA
United States
90
United StatesJason Bardol
$751
Henderson
NV
United States
91
United StatesArmando Osuna
$726
Las Vegas
NV
United States
92
United StatesBrian Wong
$726
Las Vegas
NV
United States
93
United StatesGene Lee
$726
Chicago
IL
United States
94
United StatesBrian Burgess
$726
Bullhead City
AZ
United States
95
United StatesTomasz Trelski
$726
Middletown
CT
United States
96
United StatesChaan Thomas
$726
Las Vegas
NV
United States
97
United StatesJohn Postl
$726
Warren
MI
United States
98
United StatesJeramie Contreras
$726
Hudson
WI
United States
99
United StatesEvan Zlock
$726
Las Vegas
NV
United States
100
United StatesBrett Janiga
$726
Columbia Falls
MT
United States
101
United StatesSpencer Bennett
$726
Sacramento
CA
United States
102
United StatesWilliam Strough
$726
Peculiar
MO
United States
103
United StatesTimothy Schonherr
$726
Berkley
MI
United States

@ -0,0 +1,108 @@
1
United StatesAlexander Epstein
$296,227
Oakland
CA
United States
2
United StatesThai Ha
$183,081
Factoryville
PA
United States
3
Hong KongYan Shing Tsang
$130,482
Island Harbourview
-
Hong Kong
4
United StatesChance Kornuth
$93,593
Las Vegas
NV
United States
5
NetherlandsRene Van Krevelen
$67,566
Rotterdam
-
Netherlands
6
ChinaYong Wang
$49,095
-
-
China
7
United StatesAndrew Robl
$35,907
Las Vegas
NV
United States
8
ChinaJiaxiu Liu
$35,907
Beijing
-
China
9
United StatesGalen Hall
$26,435
New York City
NY
United States
10
United StatesEric Kurtzman
$26,435
Las Vegas
NV
United States
11
United StatesJustin Bonomo
$19,591
Las Vegas
NV
United States
12
United StatesAlex Foxen
$19,591
Cold Spring Harbor
NY
United States
13
United StatesDustin Dirksen
$14,615
Las Vegas
NV
United States
14
Russian FederationNikolai Yakovenko
$14,615
Moscow
-
Russian Federation
15
United StatesKane Kalas
$14,615
Philadelphia
PA
United States
16
NetherlandsMartijn Gerrits
$14,615
-
-
Netherlands
17
United StatesBill Perkins
$14,615
Houston
TX
United States
18
United StatesMatthew Gonzales
$14,615
San Ramon
CA
United States

@ -24,8 +24,8 @@ class NotablePlayers {
"Stephen Chidwick", "Stephen Chidwick",
"David Peters", "David Peters",
"Jason Koon", "Jason Koon",
// "", "Andrew Robl",
// "", "Bill Perkins",
// "", // "",
// "", // "",
// "", // "",

@ -16,20 +16,26 @@ struct TD {
var name: String = "" var name: String = ""
var number: Int = 0 var number: Int = 0
var buyin: Int = 0 var buyin: Int = 0
var entrants: Int = 0 var entries: Int = 0
var prizePool: Double = 0 var prizePool: Double = 0
} }
class Seed { class Seed {
static let tournamentsDescriptions = [ static let tournamentsDescriptions = [
TD(date: "31/05/2019", name: "Casino Employees Event", number: 1, buyin: 500, entrants: 685, prizePool: 297975), TD(date: "31/05/2019", name: "Casino Employees Event", number: 1, buyin: 500, entries: 685, prizePool: 297975),
TD(date: "30/05/2019", name: "Super Turbo Bounty", number: 2, buyin: 10000, entrants: 204, prizePool: 1917600), TD(date: "30/05/2019", name: "Super Turbo Bounty", number: 2, buyin: 10000, entries: 204, prizePool: 1917600),
TD(date: "02/06/2019", name: "Omaha Hi/Lo 8 or Better", number: 4, buyin: 1500, entrants: 853, prizePool: 1151550), TD(date: "07/06/2019", name: "BIG 50 No-Limit Hold'em", number: 3, buyin: 500, entries: 28371, prizePool: 13509435),
TD(date: "03/06/2019", name: "High Roller No-Limit Hold'em for the 50th Annual", number: 5, buyin: 50000, entrants: 110, prizePool: 5280000), TD(date: "02/06/2019", name: "Omaha Hi/Lo 8 or Better", number: 4, buyin: 1500, entries: 853, prizePool: 1151550),
TD(date: "03/06/2019", name: "Limit Mixed Triple Draw", number: 6, buyin: 2500, entrants: 296, prizePool: 666000), TD(date: "03/06/2019", name: "High Roller No-Limit Hold'em for the 50th Annual", number: 5, buyin: 50000, entries: 110, prizePool: 5280000),
TD(date: "03/06/2019", name: "WSOP.com ONLINE No-Limit Hold'em", number: 7, buyin: 400, entrants: 2825, prizePool: 1017000), TD(date: "03/06/2019", name: "Limit Mixed Triple Draw", number: 6, buyin: 2500, entries: 296, prizePool: 666000),
TD(date: "04/06/2019", name: "Short Deck No-Limit Hold'em", number: 8, buyin: 10000, entrants: 114, prizePool: 1071600), TD(date: "03/06/2019", name: "WSOP.com ONLINE No-Limit Hold'em", number: 7, buyin: 400, entries: 2825, prizePool: 1017000),
TD(date: "05/06/2019", name: "Short Deck No-Limit Hold'em", number: 8, buyin: 10000, entries: 114, prizePool: 1071600),
TD(date: "06/06/2019", name: "No-Limit Hold'em Deepstack", number: 9, buyin: 600, entries: 6151, prizePool: 3229275),
TD(date: "06/06/2019", name: "Dealers Choice", number: 10, buyin: 150, entries: 470, prizePool: 634500),
TD(date: "06/06/2019", name: "No-Limit Hold'em", number: 11, buyin: 5000, entries: 400, prizePool: 1860000),
TD(date: "06/06/2019", name: "No-Limit Hold'em Super Turbo Bounty", number: 12, buyin: 1000, entries: 2452, prizePool: 1471200),
// TD(date: "06/06/2019", name: "No-Limit 2-7 Lowball Draw", number: 13, buyin: 1500, entrants: 114, prizePool: 1071600),
] ]
@ -47,7 +53,7 @@ class Seed {
event.date = Formatter.basicDate.date(from: td.date) ?? Date() event.date = Formatter.basicDate.date(from: td.date) ?? Date()
event.number = td.number event.number = td.number
event.buyin = td.buyin event.buyin = td.buyin
event.entrants = td.entrants event.entries = td.entries
event.prizepool = td.prizePool event.prizepool = td.prizePool
wsopFestival.tournaments.append(event) wsopFestival.tournaments.append(event)
} }

@ -61,11 +61,9 @@ extension Int {
case 13: case 13:
return "13th" return "13th"
default: default:
var unit = self let unit = "\(self)"
while unit > 10 { let n = Int(String(unit.last!))
unit /= 10 switch n {
}
switch unit {
case 1: case 1:
return "\(self)st" return "\(self)st"
case 2: case 2:

@ -26,11 +26,11 @@ class Tournament : Object, Named {
let results = List<Result>() let results = List<Result>()
@objc dynamic var prizepool: Double = 0.0 @objc dynamic var prizepool: Double = 0.0
@objc dynamic var entrants: Int = 0 @objc dynamic var entries: Int = 0
var rows: [Columns] { var rows: [Columns] {
switch self.number { switch self.number {
case 1: return [.rank, .player, .earnings, .city, .state, .country] case 1, 8: return [.rank, .player, .earnings, .city, .state, .country]
default: return [.rank, .player, .earnings, .poy, .city, .state, .country] default: return [.rank, .player, .earnings, .poy, .city, .state, .country]
} }
} }

@ -43,7 +43,7 @@ class Queries {
}) })
} }
static func allWinners(realm: Realm, date: Date? = nil) -> [TournamentWinner] { static func allWinnersSortedByEvent(realm: Realm, date: Date? = nil) -> [TournamentWinner] {
let winners: Results<Result> let winners: Results<Result>
if let day = date { if let day = date {
@ -87,4 +87,13 @@ class Queries {
return prs return prs
} }
static func sortedEvents(realm: Realm, fieldName: String, ascending: Bool) -> [TournamentRepresentable] {
let tournies = realm.objects(Tournament.self).sorted(byKeyPath: fieldName, ascending: ascending)
var trs: [TournamentRepresentable] = []
for tourny in tournies {
trs.append(TournamentRepresentable(tournament: tourny))
}
return trs
}
} }

@ -43,8 +43,9 @@ class ReportGenerator {
let mostCashes = Queries.mostCashes(realm: realm) let mostCashes = Queries.mostCashes(realm: realm)
mostCashes.writeHTML(fileName: "reports/mostCashes.html", limit: 25) mostCashes.writeHTML(fileName: "reports/mostCashes.html", limit: 25)
let tournamentWinners = Queries.allWinners(realm: realm) let tournamentWinners = Queries.allWinnersSortedByEvent(realm: realm)
tournamentWinners.writeHTML(fileName: "reports/allWinners.html", limit: 500) tournamentWinners.writeHTML(fileName: "reports/allWinners.html", limit: nil)
tournamentWinners.writeHTML(fileName: "reports/allWinners_top10.html", limit: 10)
let tourniesDate = realm.objects(Tournament.self).distinct(by: ["date"]) let tourniesDate = realm.objects(Tournament.self).distinct(by: ["date"])
@ -53,13 +54,20 @@ class ReportGenerator {
let date = tourny.date let date = tourny.date
let fileDate = Formatter.fileDate.string(from: date) let fileDate = Formatter.fileDate.string(from: date)
let dayWinners = Queries.allWinners(realm: realm, date: date) let dayWinners = Queries.allWinnersSortedByEvent(realm: realm, date: date)
dayWinners.writeHTML(fileName: "reports/winners/bracelets_\(fileDate).html") dayWinners.writeHTML(fileName: "reports/winners/bracelets_\(fileDate).html")
let notableCashes = Queries.notableCashes(realm: realm, date: date) let notableCashes = Queries.notableCashes(realm: realm, date: date)
notableCashes.writeHTML(fileName: "reports/winners/notables_\(fileDate).html") notableCashes.writeHTML(fileName: "reports/winners/notables_\(fileDate).html")
} }
let tourniesByEntries = Queries.sortedEvents(realm: realm, fieldName: "entries", ascending: false)
tourniesByEntries.writeHTML(fileName: "reports/tourniesByEntries.html", limit: nil)
tourniesByEntries.writeHTML(fileName: "reports/tourniesByEntries_top5.html", limit: 5)
let tourniesByPrizepool = Queries.sortedEvents(realm: realm, fieldName: "prizepool", ascending: false)
tourniesByPrizepool.writeHTML(fileName: "reports/tourniesByPrizepool.html", limit: nil)
tourniesByPrizepool.writeHTML(fileName: "reports/tourniesByPrizepool_top5.html", limit: 5)
} }
} }

@ -47,7 +47,7 @@ class CumulatedResults : CSVRepresentable, HTMLRepresentable {
strings.append("Total Earnings") strings.append("Total Earnings")
strings.append("Cashes") strings.append("Cashes")
let all = strings.joined(separator: "</td><td>") let all = strings.joined(separator: "</td><td>")
return "<tr><td>\(all)</td></tr>" return "<tr class=\"table-header\"><td>\(all)</td></tr>"
} }
func html() -> String { func html() -> String {

@ -21,7 +21,7 @@ struct PlayerResult : HTMLRepresentable {
strings.append("#") strings.append("#")
strings.append("Event") strings.append("Event")
let all = strings.joined(separator: "</td><td>") let all = strings.joined(separator: "</td><td>")
return "<tr><td>\(all)</td></tr>" return "<tr class=\"table-header\"><td>\(all)</td></tr>"
} }
func html() -> String { func html() -> String {

@ -0,0 +1,37 @@
//
// TournamentEntries.swift
// TournamentStats
//
// Created by Laurent Morvillier on 05/06/2019.
// Copyright © 2019 Stax River. All rights reserved.
//
import Foundation
struct TournamentRepresentable : HTMLRepresentable {
var tournament: Tournament
static func htmlHeaders() -> String {
var strings: [String] = []
strings.append("#")
strings.append("Buy-in")
strings.append("Event")
strings.append("Prizepool")
strings.append("Entries")
let all = strings.joined(separator: "</td><td>")
return "<tr class=\"table-header\"><td>\(all)</td></tr>"
}
func html() -> String {
var strings: [String] = []
strings.append("\(tournament.number)")
strings.append(tournament.buyin.currencyFormatted)
strings.append(tournament.name)
strings.append(tournament.prizepool.currencyFormatted)
strings.append("\(tournament.entries)")
let all = strings.joined(separator: "</td><td>")
return "<tr><td>\(all)</td></tr>"
}
}

@ -21,7 +21,7 @@ struct TournamentWinner : HTMLRepresentable {
strings.append("Player") strings.append("Player")
strings.append("Prize") strings.append("Prize")
let all = strings.joined(separator: "</td><td>") let all = strings.joined(separator: "</td><td>")
return "<tr><td>\(all)</td></tr>" return "<tr class=\"table-header\"><td>\(all)</td></tr>"
} }
func html() -> String { func html() -> String {

@ -44,7 +44,7 @@ extension Array where Element : HTMLRepresentable {
html.append("\n") html.append("\n")
html.append(rep.html()) html.append(rep.html())
if index >= max { if index + 1 >= max {
break break
} }
} }

Loading…
Cancel
Save