|
|
|
|
@ -9,7 +9,32 @@ import Foundation |
|
|
|
|
|
|
|
|
|
class SourceFileManager { |
|
|
|
|
static let shared = SourceFileManager() |
|
|
|
|
|
|
|
|
|
init() { |
|
|
|
|
createDirectoryIfNeeded() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
let rankingSourceDirectory : URL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true).appending(path: "rankings") |
|
|
|
|
|
|
|
|
|
func createDirectoryIfNeeded() { |
|
|
|
|
let fileManager = FileManager.default |
|
|
|
|
do { |
|
|
|
|
let directoryURL = rankingSourceDirectory |
|
|
|
|
|
|
|
|
|
// Check if the directory exists |
|
|
|
|
if !fileManager.fileExists(atPath: directoryURL.path) { |
|
|
|
|
// Directory does not exist, create it |
|
|
|
|
try fileManager.createDirectory(at: directoryURL, withIntermediateDirectories: true, attributes: nil) |
|
|
|
|
print("Directory created at: \(directoryURL)") |
|
|
|
|
} else { |
|
|
|
|
print("Directory already exists at: \(directoryURL)") |
|
|
|
|
} |
|
|
|
|
} catch { |
|
|
|
|
print("Error: \(error)") |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var lastDataSource: String? { |
|
|
|
|
DataStore.shared.appSettings.lastDataSource |
|
|
|
|
} |
|
|
|
|
@ -117,16 +142,14 @@ class SourceFileManager { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func removeAllFilesFromServer() { |
|
|
|
|
let docDir = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) |
|
|
|
|
let allFiles = try! FileManager.default.contentsOfDirectory(at: docDir, includingPropertiesForKeys: nil) |
|
|
|
|
let allFiles = try! FileManager.default.contentsOfDirectory(at: rankingSourceDirectory, includingPropertiesForKeys: nil) |
|
|
|
|
allFiles.filter { $0.pathExtension == "csv" }.forEach { url in |
|
|
|
|
try? FileManager.default.removeItem(at: url) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
var allFiles: [URL] { |
|
|
|
|
let docDir = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) |
|
|
|
|
let allFiles = try! FileManager.default.contentsOfDirectory(at: docDir, includingPropertiesForKeys: nil).filter({ url in |
|
|
|
|
let allFiles = try! FileManager.default.contentsOfDirectory(at: rankingSourceDirectory, includingPropertiesForKeys: nil).filter({ url in |
|
|
|
|
url.pathExtension == "csv" |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
@ -149,8 +172,8 @@ enum SourceFile: String, CaseIterable { |
|
|
|
|
case messieurs = "MESSIEURS" |
|
|
|
|
|
|
|
|
|
var filesFromServer: [URL] { |
|
|
|
|
let docDir = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: true) |
|
|
|
|
let allFiles = try! FileManager.default.contentsOfDirectory(at: docDir, includingPropertiesForKeys: nil) |
|
|
|
|
let rankingSourceDirectory = SourceFileManager.shared.rankingSourceDirectory |
|
|
|
|
let allFiles = try! FileManager.default.contentsOfDirectory(at: rankingSourceDirectory, includingPropertiesForKeys: nil) |
|
|
|
|
return allFiles.filter{$0.pathExtension == "csv" && $0.path().contains(rawValue)} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|