Skip to content

Commit

Permalink
Add formatting and printing for upcoming tournaments
Browse files Browse the repository at this point in the history
  • Loading branch information
marcusziade committed May 16, 2024
1 parent 3f67410 commit 3c34541
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 3 deletions.
33 changes: 30 additions & 3 deletions Sources/StarCraftCLI/main.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,36 @@ func ongoingTournaments() async {
func upcomingTournaments() async {
do {
let response = try await api.allTournaments()
let upcoming = response.upcomingTournaments
let tournamentNames = upcoming.map { $0.league?.name ?? "Unknown" }
print(Set(tournamentNames))
let upcoming = response.tournaments.filter { $0.beginAt > Date() } // Filtering upcoming tournaments

// Format and print all props for each tournament
let formattedTournaments = upcoming.map { tournament in
"""
Name: \t\t\t\(tournament.name)
Start Date: \t\t\(DateFormatter.prettyFormatter.string(from: tournament.beginAt))
End Date: \t\t\(DateFormatter.prettyFormatter.string(from: tournament.endAt))
League: \t\t\(tournament.league?.name ?? "Unknown")
Game: \t\t\t\(tournament.videogame?.name ?? "Unknown")
Tier: \t\t\t\(tournament.tier)
Slug: \t\t\t\(tournament.slug)
Has Bracket: \t\t\(tournament.hasBracket)
Live Supported: \t\(tournament.liveSupported)
Detailed Stats: \t\(tournament.detailedStats)
Prize Pool: \t\t\(tournament.prizepool ?? "Unknown")
Series: \t\t\(tournament.serie?.name ?? "Unknown")
Winner ID: \t\t\(tournament.winnerId ?? 0)
Winner Type: \t\t\(tournament.winnerType ?? "Unknown")
Match Count: \t\t\(tournament.matches?.count ?? 0)
Last Modified: \t\t\(DateFormatter.prettyFormatter.string(from: tournament.modifiedAt))
ID: \t\t\t\(tournament.id)
League ID: \t\t\(tournament.leagueId)
Series ID: \t\t\(tournament.serieId)
Game Slug: \t\t\(tournament.videogame?.slug ?? "Unknown")
\n
"""
}

formattedTournaments.forEach { print($0) }
} catch {
print("Failed to fetch upcoming tournaments: \(error)")
}
Expand Down
12 changes: 12 additions & 0 deletions Sources/StarCraftKit/API_PandaScore/Models/DateFormatter+Ext.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import Foundation

public extension DateFormatter {

static let prettyFormatter: DateFormatter = {
let formatter = DateFormatter()
formatter.dateStyle = .medium
formatter.timeStyle = .short
formatter.locale = Locale(identifier: "en_US_POSIX")
return formatter
}()
}

0 comments on commit 3c34541

Please sign in to comment.