diff --git a/Mist/Commands/Download/DownloadFirmwareCommand.swift b/Mist/Commands/Download/DownloadFirmwareCommand.swift index 3f5ad71..61fd5d9 100644 --- a/Mist/Commands/Download/DownloadFirmwareCommand.swift +++ b/Mist/Commands/Download/DownloadFirmwareCommand.swift @@ -259,7 +259,7 @@ struct DownloadFirmwareCommand: ParsableCommand { } let dictionary: [String: Any] = [ - "firmware": firmware.exportDictionary, + "firmware": firmware.dictionary, "options": exportDictionary(for: firmware, options: options) ] diff --git a/Mist/Commands/Download/DownloadInstallerCommand.swift b/Mist/Commands/Download/DownloadInstallerCommand.swift index 6f640b4..9cb14c4 100644 --- a/Mist/Commands/Download/DownloadInstallerCommand.swift +++ b/Mist/Commands/Download/DownloadInstallerCommand.swift @@ -475,7 +475,7 @@ struct DownloadInstallerCommand: ParsableCommand { } let dictionary: [String: Any] = [ - "installer": installer.exportDictionary, + "installer": installer.dictionary, "options": exportDictionary(for: installer, options: options) ] diff --git a/Mist/Commands/List/ListFirmwareCommand.swift b/Mist/Commands/List/ListFirmwareCommand.swift index 22ffd12..5ec7e18 100644 --- a/Mist/Commands/List/ListFirmwareCommand.swift +++ b/Mist/Commands/List/ListFirmwareCommand.swift @@ -49,7 +49,7 @@ struct ListFirmwareCommand: ParsableCommand { } } - try export(firmwares.map(\.exportDictionary), options: options) + try export(firmwares.map(\.dictionary), options: options) !options.quiet ? PrettyPrint.print("Found \(firmwares.count) macOS Firmware(s) available for download\n", noAnsi: options.noAnsi, prefix: .ending) : Mist.noop() if !firmwares.isEmpty { diff --git a/Mist/Extensions/Dictionary+Extension.swift b/Mist/Extensions/Dictionary+Extension.swift index 7a8e15f..7bd8bfc 100644 --- a/Mist/Extensions/Dictionary+Extension.swift +++ b/Mist/Extensions/Dictionary+Extension.swift @@ -54,11 +54,31 @@ extension Dictionary where Key == String { let version: String = self["version"] as? String, let build: String = self["build"] as? String, let size: Int64 = self["size"] as? Int64, - let date: String = self["date"] as? String else { + let date: String = self["date"] as? String, + let compatible: Bool = self["compatible"] as? Bool, + let beta: Bool = self["beta"] as? Bool else { return "" } - let string: String = "\"\(identifier)\",\"\(name)\",\"=\"\"\(version)\"\"\",\"=\"\"\(build)\"\"\",\(size),\(date)\n" + let identifierString: String = "\"\(identifier)\"" + let nameString: String = "\"\(name)\"" + let versionString: String = "\"=\"\"\(version)\"\"\"" + let buildString: String = "\"=\"\"\(build)\"\"\"" + let sizeString: String = "\(size)" + let dateString: String = "\(date)" + let compatibleString: String = "\(compatible ? "YES" : "NO")" + let betaString: String = "\(beta ? "YES" : "NO")" + + let string: String = [ + identifierString, + nameString, + versionString, + buildString, + sizeString, + dateString, + compatibleString, + betaString + ].joined(separator: ",") + "\n" return string } diff --git a/Mist/Extensions/Sequence+Extension.swift b/Mist/Extensions/Sequence+Extension.swift index aae167f..a6e9a4b 100644 --- a/Mist/Extensions/Sequence+Extension.swift +++ b/Mist/Extensions/Sequence+Extension.swift @@ -232,7 +232,7 @@ extension Sequence where Iterator.Element == [String: Any] { } func installersCSVString() -> String { - "Identifier,Name,Version,Build,Size,Date,Compatible\n" + map { $0.installerCSVString() }.joined() + "Identifier,Name,Version,Build,Size,Date,Compatible,Beta\n" + map { $0.installerCSVString() }.joined() } func jsonString() throws -> String { diff --git a/Mist/Model/Firmware.swift b/Mist/Model/Firmware.swift index b431ae5..dd85053 100644 --- a/Mist/Model/Firmware.swift +++ b/Mist/Model/Firmware.swift @@ -68,18 +68,6 @@ struct Firmware: Decodable { } var dictionary: [String: Any] { - [ - "signed": signed, - "name": name, - "version": version, - "build": build, - "size": size, - "date": dateDescription, - "compatible": compatible - ] - } - - var exportDictionary: [String: Any] { [ "name": name, "version": version, diff --git a/Mist/Model/Installer.swift b/Mist/Model/Installer.swift index bab0684..fcaf983 100644 --- a/Mist/Model/Installer.swift +++ b/Mist/Model/Installer.swift @@ -588,18 +588,6 @@ struct Installer: Decodable { } var dictionary: [String: Any] { - [ - "identifier": identifier, - "name": name, - "version": version, - "build": build, - "size": size, - "date": date, - "compatible": compatible - ] - } - - var exportDictionary: [String: Any] { [ "identifier": identifier, "name": name,