resgen.swift/Sources/Imagium/Parser/ImageFileParser.swift
Thibaut Schmitt a54a264447
Some checks failed
gitea-openium/resgen.swift/pipeline/head There was a failure building this commit
Bugs fixes, Lint fixes, Refactoring
2022-08-29 13:38:49 +02:00

48 lines
1.4 KiB
Swift

//
// ImageFileParser.swift
//
//
// Created by Thibaut Schmitt on 24/01/2022.
//
import Foundation
class ImageFileParser {
static func parse(_ inputFile: String, platform: PlatormTag) -> [ParsedImage] {
let inputFileContent = try! String(contentsOfFile: inputFile, encoding: .utf8)
let stringsByLines = inputFileContent.components(separatedBy: .newlines)
var imagesToGenerate = [ParsedImage]()
// Parse file
stringsByLines.forEach {
guard $0.removeLeadingTrailingWhitespace().isEmpty == false, $0.first != "#" else {
return
}
let splittedLine = $0.split(separator: " ")
let width: Int = {
if splittedLine[2] == "?" {
return -1
}
return Int(splittedLine[2])!
}()
let height: Int = {
if splittedLine[3] == "?" {
return -1
}
return Int(splittedLine[3])!
}()
let image = ParsedImage(name: String(splittedLine[1]), tags: String(splittedLine[0]), width: width, height: height)
imagesToGenerate.append(image)
}
return imagesToGenerate.filter {
$0.tags.contains(platform.rawValue)
}
}
}