|
|
|
|
@ -99,6 +99,7 @@ class PersistenceController: NSObject { |
|
|
|
|
func batchInsertPlayers(_ importedPlayers: [FederalPlayer], importingDate: Date) async { |
|
|
|
|
guard !importedPlayers.isEmpty else { return } |
|
|
|
|
let context = newTaskContext() |
|
|
|
|
|
|
|
|
|
context.performAndWait { |
|
|
|
|
context.transactionAuthor = PersistenceController.remoteDataImportAuthorName |
|
|
|
|
|
|
|
|
|
@ -121,6 +122,15 @@ class PersistenceController: NSObject { |
|
|
|
|
// 1 |
|
|
|
|
var index = 0 |
|
|
|
|
let total = imported.count |
|
|
|
|
let replacements: [(Character, Character)] = [("Á", "ç"), ("‡", "à"), ("Ù", "ô"), ("Ë", "è"), ("Ó", "î"), ("Î", "ë"), ("…", "É"), ("Ô", "ï"), ("È", "é"), ("«", "Ç"), ("»", "È")] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
let replacementsCharacters = replacements |
|
|
|
|
var fixApril2024 = false |
|
|
|
|
//april 04-2024 bug with accent characters / adobe / fft |
|
|
|
|
if URL.importDateFormatter.string(from: importingDate) == "04-2024" { |
|
|
|
|
fixApril2024 = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 2 |
|
|
|
|
let batchInsert = NSBatchInsertRequest( |
|
|
|
|
@ -133,15 +143,34 @@ class PersistenceController: NSObject { |
|
|
|
|
let data = imported[index] |
|
|
|
|
importedPlayer.license = data.license |
|
|
|
|
importedPlayer.ligueName = data.ligue |
|
|
|
|
if fixApril2024 { |
|
|
|
|
importedPlayer.ligueName?.replace(characters: replacementsCharacters) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
importedPlayer.rank = Int64(data.rank) |
|
|
|
|
importedPlayer.points = data.points ?? 0 |
|
|
|
|
importedPlayer.assimilation = data.assimilation |
|
|
|
|
importedPlayer.country = data.country |
|
|
|
|
if fixApril2024 { |
|
|
|
|
importedPlayer.country?.replace(characters: replacementsCharacters) |
|
|
|
|
} |
|
|
|
|
importedPlayer.tournamentCount = Int64(data.tournamentCount ?? 0) |
|
|
|
|
importedPlayer.lastName = data.lastName |
|
|
|
|
if fixApril2024 { |
|
|
|
|
importedPlayer.lastName?.replace(characters: replacementsCharacters) |
|
|
|
|
} |
|
|
|
|
importedPlayer.firstName = data.firstName |
|
|
|
|
if fixApril2024 { |
|
|
|
|
importedPlayer.firstName?.replace(characters: replacementsCharacters) |
|
|
|
|
} |
|
|
|
|
importedPlayer.fullName = data.firstName + " " + data.lastName |
|
|
|
|
if fixApril2024 { |
|
|
|
|
importedPlayer.fullName?.replace(characters: replacementsCharacters) |
|
|
|
|
} |
|
|
|
|
importedPlayer.clubName = data.club |
|
|
|
|
if fixApril2024 { |
|
|
|
|
importedPlayer.clubName?.replace(characters: replacementsCharacters) |
|
|
|
|
} |
|
|
|
|
importedPlayer.clubCode = data.clubCode.replaceCharactersFromSet(characterSet: .whitespaces) |
|
|
|
|
importedPlayer.male = data.isMale |
|
|
|
|
importedPlayer.importDate = importingDate |
|
|
|
|
|