import Cocoa
-fileprivate struct LFSeparateLine {
+private struct LFSeparateLine {
static let empty = LFSeparateLine(line: "", empty: true)
}
}
-// swiftlint:disable type_body_length
final class TSVSupport {
private let store = LocalDataStore.oneTimeEditor()
panel.allowedFileTypes = ["kcdlocaldata"]
panel.begin {
- guard $0 == NSModalResponseOK
- else { return }
+ guard $0 == .OK else { return }
panel.urls.forEach { url in
- guard let fileW = try? FileWrapper(url: url)
- else { return }
+ guard let fileW = try? FileWrapper(url: url) else { return }
fileW.fileWrappers?.forEach {
- guard let data = $0.value.regularFileContents
- else { return }
+ guard let data = $0.value.regularFileContents else { return }
switch $0.key {
case "kaihatu.tsv": self.registerKaihatuHistory(data)
panel.allowedFileTypes = ["kcdlocaldata"]
panel.begin {
- guard $0 == NSModalResponseOK,
- let url = panel.url
- else { return }
- guard let kaihatuHistory = self.dataOfKaihatuHistory(),
- let kenzoHistory = self.dataOfKenzoHistory(),
- let kenzoMark = self.dataOfKenzoMark(),
- let dropShipHistory = self.dataOfDropShipHistory()
- else { return }
+ guard $0 == .OK else { return }
+ guard let url = panel.url else { return }
+ guard let kaihatuHistory = self.dataOfKaihatuHistory() else { return }
+ guard let kenzoHistory = self.dataOfKenzoHistory() else { return }
+ guard let kenzoMark = self.dataOfKenzoMark() else { return }
+ guard let dropShipHistory = self.dataOfDropShipHistory() else { return }
let fileW = FileWrapper(directoryWithFileWrappers: [:])
fileW.addRegularFile(withContents: kaihatuHistory, preferredFilename: "kaihatu.tsv")
let sortDesc = NSSortDescriptor(key: sortBy, ascending: true)
- guard let array = try? store.objects(with: entity, sortDescriptors: [sortDesc])
- else {
- print("Can not get \(entity.name)")
- return []
+ guard let array = try? store.objects(of: entity, sortDescriptors: [sortDesc]) else {
+
+ print("Can not get \(entity.name)")
+ return []
}
return array
let attr = $0.components(separatedBy: "\t")
- guard attr.count == 10,
- let date = dateFomatter.date(from: attr[0]),
- let fuel = Int(attr[1]),
- let bull = Int(attr[2]),
- let steel = Int(attr[3]),
- let bauxite = Int(attr[4]),
- let kaihatu = Int(attr[5]),
- let flagLv = Int(attr[8]),
- let commandLv = Int(attr[9])
- else { return }
-
- let p = NSPredicate(format: "date = %@", argumentArray: [date])
+ guard attr.count == 10 else { return }
+ guard let date = dateFomatter.date(from: attr[0]) else { return }
+ guard let fuel = Int(attr[1]) else { return }
+ guard let bull = Int(attr[2]) else { return }
+ guard let steel = Int(attr[3]) else { return }
+ guard let bauxite = Int(attr[4]) else { return }
+ guard let kaihatu = Int(attr[5]) else { return }
+ guard let flagLv = Int(attr[8]) else { return }
+ guard let commandLv = Int(attr[9]) else { return }
- guard let oo = try? store.objects(with: KaihatuHistory.entity, predicate: p),
- oo.count != 0
- else { return }
+ let p = NSPredicate(#keyPath(KaihatuHistory.date), equal: date)
- guard let obj = store.insertNewObject(for: KaihatuHistory.entity)
- else { return }
+ guard let oo = try? store.objects(of: KaihatuHistory.entity, predicate: p) else { return }
+ guard oo.count != 0 else { return }
+ guard let obj = store.insertNewObject(for: KaihatuHistory.entity) else { return }
obj.date = date
obj.fuel = fuel
let attr = $0.components(separatedBy: "\t")
- guard attr.count == 11,
- let date = dateFomatter.date(from: attr[0]),
- let fuel = Int(attr[1]),
- let bull = Int(attr[2]),
- let steel = Int(attr[3]),
- let bauxite = Int(attr[4]),
- let kaihatu = Int(attr[5]),
- let sType = Int(attr[7]),
- let flagLv = Int(attr[9]),
- let commandLv = Int(attr[10])
- else { return }
-
- let p = NSPredicate(format: "date = %@", argumentArray: [date])
+ guard attr.count == 11 else { return }
+ guard let date = dateFomatter.date(from: attr[0]) else { return }
+ guard let fuel = Int(attr[1]) else { return }
+ guard let bull = Int(attr[2]) else { return }
+ guard let steel = Int(attr[3]) else { return }
+ guard let bauxite = Int(attr[4]) else { return }
+ guard let kaihatu = Int(attr[5]) else { return }
+ guard let sType = Int(attr[7]) else { return }
+ guard let flagLv = Int(attr[9]) else { return }
+ guard let commandLv = Int(attr[10]) else { return }
- guard let oo = try? store.objects(with: KenzoHistory.entity, predicate: p),
- oo.count != 0
- else { return }
+ let p = NSPredicate(#keyPath(KenzoHistory.date), equal: date)
- guard let obj = store.insertNewObject(for: KenzoHistory.entity)
- else { return }
+ guard let oo = try? store.objects(of: KenzoHistory.entity, predicate: p) else { return }
+ guard oo.count != 0 else { return }
+ guard let obj = store.insertNewObject(for: KenzoHistory.entity) else { return }
obj.date = date
obj.fuel = fuel
let attr = $0.components(separatedBy: "\t")
- guard attr.count == 11,
- let date = dateFomatter.date(from: attr[0]),
- let fuel = Int(attr[1]),
- let bull = Int(attr[2]),
- let steel = Int(attr[3]),
- let bauxite = Int(attr[4]),
- let kaihatu = Int(attr[5]),
- let shiId = Int(attr[6]),
- let kDock = Int(attr[7]),
- let flagLv = Int(attr[9]),
- let commandLv = Int(attr[10])
- else { return }
+ guard attr.count == 11 else { return }
+ guard let date = dateFomatter.date(from: attr[0]) else { return }
+ guard let fuel = Int(attr[1]) else { return }
+ guard let bull = Int(attr[2]) else { return }
+ guard let steel = Int(attr[3]) else { return }
+ guard let bauxite = Int(attr[4]) else { return }
+ guard let kaihatu = Int(attr[5]) else { return }
+ guard let shiId = Int(attr[6]) else { return }
+ guard let kDock = Int(attr[7]) else { return }
+ guard let flagLv = Int(attr[9]) else { return }
+ guard let commandLv = Int(attr[10]) else { return }
- let p = NSPredicate(format: "date = %@", argumentArray: [date])
+ let p = NSPredicate(#keyPath(KenzoMark.date), equal: date)
- guard let oo = try? store.objects(with: KenzoMark.entity, predicate: p),
- oo.count != 0
- else { return }
-
- guard let obj = store.insertNewObject(for: KenzoMark.entity)
- else { return }
+ guard let oo = try? store.objects(of: KenzoMark.entity, predicate: p) else { return }
+ guard oo.count != 0 else { return }
+ guard let obj = store.insertNewObject(for: KenzoMark.entity) else { return }
obj.date = date
obj.fuel = fuel
let attr = $0.components(separatedBy: "\t")
- guard attr.count == 9,
- let date = dateFomatter.date(from: attr[0]),
- let mapInfo = Int(attr[3]),
- let mapCell = Int(attr[4]),
- let mark = Int(attr[7])
- else { return }
-
- let p = NSPredicate(format: "date = %@", argumentArray: [date])
+ guard attr.count == 9 else { return }
+ guard let date = dateFomatter.date(from: attr[0]) else { return }
+ guard let mapInfo = Int(attr[3]) else { return }
+ guard let mapCell = Int(attr[4]) else { return }
+ guard let mark = Int(attr[7]) else { return }
- guard let oo = try? store.objects(with: DropShipHistory.entity, predicate: p),
- oo.count != 0
- else { return }
+ let p = NSPredicate(#keyPath(DropShipHistory.date), equal: date)
- guard let obj = store.insertNewObject(for: DropShipHistory.entity)
- else { return }
+ guard let oo = try? store.objects(of: DropShipHistory.entity, predicate: p) else { return }
+ guard oo.count != 0 else { return }
+ guard let obj = store.insertNewObject(for: DropShipHistory.entity) else { return }
obj.date = date
obj.shipName = attr[1]