fix progressview

paca_championship
Raz 11 months ago
parent 7337767dd2
commit 28a0536248
  1. 41
      PadelClub/Utils/FileImportManager.swift
  2. 2
      PadelClub/Views/Navigation/Umpire/PadelClubView.swift
  3. 23
      PadelClub/Views/Tournament/Screen/InscriptionManagerView.swift

@ -476,19 +476,35 @@ class FileImportManager {
let verified : String? = data[safe: 10]
let isVerified = verified == "ok"
if chunkMode == .byColumn {
let predicate = NSPredicate(format: "license == %@", licenceId!.strippedLicense!)
fetchRequest.predicate = predicate
let found = try? federalContext.fetch(fetchRequest).first
if let found {
let player = PlayerRegistration(importedPlayer: found)
player.setComputedRank(in: tournament)
player.sourceName = lastName
player.isNveq = status == "NVEQ"
player.clubCode = found.clubCode
if isVerified {
player.source = .frenchFederationVerified
if let licenceId = licenceId?.strippedLicense {
let predicate = NSPredicate(format: "license == %@", licenceId)
fetchRequest.predicate = predicate
let found = try? federalContext.fetch(fetchRequest).first
if let found {
let player = PlayerRegistration(importedPlayer: found)
player.setComputedRank(in: tournament)
player.sourceName = lastName
player.isNveq = status == "NVEQ"
player.clubCode = found.clubCode
if isVerified {
player.source = .frenchFederationVerified
}
return player
} else {
let player = PlayerRegistration(firstName: firstName, lastName: lastName, licenceId: licenceId, rank: rank, sex: sex, clubName: club, phoneNumber: phoneNumber, email: email)
player.sourceName = lastName
player.isNveq = status == "NVEQ"
if isVerified {
player.source = .frenchFederationVerified
}
if rank == nil {
player.setComputedRank(in: tournament)
} else {
player.computedRank = rank ?? 0
}
return player
}
return player
} else {
let player = PlayerRegistration(firstName: firstName, lastName: lastName, licenceId: licenceId, rank: rank, sex: sex, clubName: club, phoneNumber: phoneNumber, email: email)
player.sourceName = lastName
@ -503,7 +519,6 @@ class FileImportManager {
}
return player
}
} else {
let predicate = NSPredicate(format: "firstName like[cd] %@ && lastName like[cd] %@", firstName, lastName)
fetchRequest.predicate = predicate

@ -269,7 +269,7 @@ func fetchPlayerData(for licenseID: String) async throws -> [Player]? {
request.setValue("XMLHttpRequest", forHTTPHeaderField: "X-Requested-With")
// Add cookies if needed (example cookie header value shown, replace with valid cookies)
request.setValue("JSESSIONID=5CFF7A6F1230AC61667713BC28678544; AWSALB=d/xUzKCfM7GECEn/bcWJCxohx5dtvae5StpaltCHMlHgLKZIINeHHkh5bdT3Gtf1mSZRofvq5ASKmNxf4RpYSOKL9HZDvk53p+UPvCMqEb+p2RkpFjXbT43126fW; AWSALBCORS=d/xUzKCfM7GECEn/bcWJCxohx5dtvae5StpaltCHMlHgLKZIINeHHkh5bdT3Gtf1mSZRofvq5ASKmNxf4RpYSOKL9HZDvk53p+UPvCMqEb+p2RkpFjXbT43126fW; datadome=0~lpnQzmLCZf10rUJM5M1JqeeBye532qFnJrepPMxCtyZEbNv4k308zHOK1aDQE4QrGWbvqDKRZlnanIg8ha99vQcN5Dd7WEMZSsi48G_wYHFqCGcncSgj614Wsb6Iq0; incap_ses_1516_2712217=K1jaVik65R9vNeZfJuoJFcWxYWcAAAAAFRIA2Xyh5etXOwxALj4oxg==; tc_cj_v2=%5Ecl_%5Dny%5B%5D%5D_mmZZZZZZKQMMORPMMMQNNZZZ%5D777m_iZZZ%22**%22%27%20ZZZKQMMQMPMPMKOPZZZ%5D777%5Ecl_%5Dny%5B%5D%5D_mmZZZZZZKQMNNOOQOJPKJZZZ%5D; tc_cj_v2_cmp=; tc_cj_v2_med=; TCSESSION=12412217413110293677085; incap_ses_2223_2712217=m29uCrVnOVs2aRrB967ZHrCpYWcAAAAA/n/Nxses/KF9jVkBaC+b1Q==; nlbi_2712217=8Fq+T/G90h+rYfntb9lUTgAAAACEOhpdLiUx8E3p9MXJo6vA; xtan=-; xtant=1; tCdebugLib=1; _pcid=%7B%22browserId%22%3A%22m42mi4kbtfuyj367%22%2C%22_t%22%3A%22mjr1fm32%7Cm42mi4r2%22%7D; _pctx=%7Bu%7DN4IgrgzgpgThIC4B2YA2qA05owMoBcBDfSREQpAeyRCwgEt8oBJAE0RXSwH18yBbAFYwAjADN%2BAZgCsAH34AWAEz96CmNJABfIA; _pprv=eyJjb25zZW50Ijp7IjAiOnsibW9kZSI6ImVzc2VudGlhbCJ9LCI3Ijp7Im1vZGUiOiJvcHQtaW4ifX0sInB1cnBvc2VzIjpudWxsLCJfdCI6Im1qcjFmbHdofG00Mm1pNGtoIn0%3D; TCID=124122155494907703483; TCPID=124115115191501043230; xtvrn=$548419$; visid_incap_2712217=PSfJngzoSuiowsuXXhvOu5K+7mUAAAAAQUIPAAAAAAAleL9ldvN/FC1VykkU9ret; SessionStatId=10.91.140.42.1662124965429001", forHTTPHeaderField: "Cookie")
request.setValue("JSESSIONID=DB3022D6D4C26667F90F974DEF0839D9; AWSALB=LEi0K3Uo1nILtAPwiQlDKHLVbGLlB6i53kPkmiqt3F5ZjsJ9GmJ+HIF68KASM0cOkvZy1xVBlBvPDXV5b8M/v1agy5zM8FQTDzU7RDSoAjWa8/r2TnYG945lFfyH; AWSALBCORS=LEi0K3Uo1nILtAPwiQlDKHLVbGLlB6i53kPkmiqt3F5ZjsJ9GmJ+HIF68KASM0cOkvZy1xVBlBvPDXV5b8M/v1agy5zM8FQTDzU7RDSoAjWa8/r2TnYG945lFfyH; datadome=Pu2quQW9IroVbvV3nzzbzlUlblZ0tWxdKTa~hJ6xJMZF5XsUWe0BOmUwt046PDc6YKJGmK4EpBmHHGzftQFYWpVSUpsVqFdNLBelUhW_BqvcD3vyatOwSrTo0kAUOVd3; tc_cj_v2=%5Ecl_%5Dny%5B%5D%5D_mmZZZZZZKQMMORPMMMQNNZZZ%5D777m_iZZZ%22**%22%27%20ZZZKQMMQMPMPMKOPZZZ%5D777%5Ecl_%5Dny%5B%5D%5D_mmZZZZZZKQMNNOOQOJPKJZZZ%5D; tc_cj_v2_cmp=; tc_cj_v2_med=; xtan=-; xtant=1; tCdebugLib=1; _pcid=%7B%22browserId%22%3A%22m42mi4kbtfuyj367%22%2C%22_t%22%3A%22mjr1fm32%7Cm42mi4r2%22%7D; _pctx=%7Bu%7DN4IgrgzgpgThIC4B2YA2qA05owMoBcBDfSREQpAeyRCwgEt8oBJAE0RXSwH18yBbAFYwAjADN%2BAZgCsAH34AWAEz96CmNJABfIA; _pprv=eyJjb25zZW50Ijp7IjAiOnsibW9kZSI6ImVzc2VudGlhbCJ9LCI3Ijp7Im1vZGUiOiJvcHQtaW4ifX0sInB1cnBvc2VzIjpudWxsLCJfdCI6Im1qcjFmbHdofG00Mm1pNGtoIn0%3D; TCID=124122155494907703483; TCPID=124115115191501043230; xtvrn=$548419$; visid_incap_2712217=PSfJngzoSuiowsuXXhvOu5K+7mUAAAAAQUIPAAAAAAAleL9ldvN/FC1VykkU9ret; SessionStatId=10.91.140.42.1662124965429001", forHTTPHeaderField: "Cookie")
let (data, _) = try await URLSession.shared.data(for: request)
let decoder = JSONDecoder()

@ -55,7 +55,8 @@ struct InscriptionManagerView: View {
@State private var gatheringInProgress: Bool = false
@State private var gathered: Double = 0
@State private var gatheringDone: Bool = false
@State private var totalUnrankedUnsourced: Double = 0
var tournamentStore: TournamentStore {
return self.tournament.tournamentStore
}
@ -872,13 +873,14 @@ struct InscriptionManagerView: View {
}
}
let unrankedUnsourced = tournament.players().filter({ $0.isUnranked() && $0.source == nil })
Button {
Task {
gatheringInProgress = true
gathered = 0
gatheringDone = false
print("total", unrankedUnsourced)
let unrankedUnsourced = tournament.players().filter({ $0.isUnranked() && $0.source == nil })
totalUnrankedUnsourced = Double(unrankedUnsourced.count)
print("total", unrankedUnsourced.count)
for player in unrankedUnsourced {
do {
if let playerData = try await player.fetchUnrankPlayerData() {
@ -887,20 +889,25 @@ struct InscriptionManagerView: View {
player.clubCode = playerData.codeClub
player.source = .frenchFederation
try tournamentStore.playerRegistrations.addOrUpdate(instance: player)
await MainActor.run {
gathered += 1
print("gathered", gathered)
}
}
gathered += 1
print("gathered", gathered)
} catch {
print(error)
}
}
gatheringDone = true
gatheringInProgress = false
}
} label: {
if gatheringInProgress {
ProgressView("Récupérés", value: gathered, total: Double(unrankedUnsourced.count))
LabeledContent {
Text("\(gathered.formatted()) / \(totalUnrankedUnsourced.formatted())")
} label: {
ProgressView("Récupérés", value: gathered, total: totalUnrankedUnsourced)
}
} else {
LabeledContent {
if gatheringDone {

Loading…
Cancel
Save