Skip to content

Commit

Permalink
Fix CSV output for Firmwares and Installers (#170)
Browse files Browse the repository at this point in the history
  • Loading branch information
ninxsoft committed Jul 5, 2024
1 parent 5af434a commit 8f1964b
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 30 deletions.
2 changes: 1 addition & 1 deletion Mist/Commands/Download/DownloadFirmwareCommand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,7 @@ struct DownloadFirmwareCommand: ParsableCommand {
}

let dictionary: [String: Any] = [
"firmware": firmware.exportDictionary,
"firmware": firmware.dictionary,
"options": exportDictionary(for: firmware, options: options)
]

Expand Down
2 changes: 1 addition & 1 deletion Mist/Commands/Download/DownloadInstallerCommand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -475,7 +475,7 @@ struct DownloadInstallerCommand: ParsableCommand {
}

let dictionary: [String: Any] = [
"installer": installer.exportDictionary,
"installer": installer.dictionary,
"options": exportDictionary(for: installer, options: options)
]

Expand Down
2 changes: 1 addition & 1 deletion Mist/Commands/List/ListFirmwareCommand.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
24 changes: 22 additions & 2 deletions Mist/Extensions/Dictionary+Extension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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
}

Expand Down
2 changes: 1 addition & 1 deletion Mist/Extensions/Sequence+Extension.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
12 changes: 0 additions & 12 deletions Mist/Model/Firmware.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
12 changes: 0 additions & 12 deletions Mist/Model/Installer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down

0 comments on commit 8f1964b

Please sign in to comment.