44 lines
1.7 KiB
Swift
44 lines
1.7 KiB
Swift
//
|
|
// ImagiumError.swift
|
|
//
|
|
//
|
|
// Created by Thibaut Schmitt on 24/01/2022.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
enum ImagiumError: Error {
|
|
case inputFolderNotFound(String)
|
|
case fileNotExists(String)
|
|
case unknownImageExtension(String)
|
|
case getFileAttributed(String, String)
|
|
case rsvgConvertNotFound
|
|
case writeFile(String, String)
|
|
case unknown(String)
|
|
|
|
var localizedDescription: String {
|
|
switch self {
|
|
case .inputFolderNotFound(let inputFolder):
|
|
return " error:[\(Imagium.toolName)] Input folder not found: \(inputFolder)"
|
|
|
|
case .fileNotExists(let filename):
|
|
return " error:[\(Imagium.toolName)] File \(filename) does not exists"
|
|
|
|
case .unknownImageExtension(let filename):
|
|
return " error:[\(Imagium.toolName)] File \(filename) have an unhandled file extension. Cannot generate image."
|
|
|
|
case .getFileAttributed(let filename, let errorDescription):
|
|
return " error:[\(Imagium.toolName)] Getting file attributes of \(filename) failed with error: \(errorDescription)"
|
|
|
|
case .rsvgConvertNotFound:
|
|
return " error:[\(Imagium.toolName)] Can't find rsvg-convert (can be installed with 'brew remove imagemagick && brew install imagemagick --with-librsvg')"
|
|
|
|
case .writeFile(let subErrorDescription, let filename):
|
|
return " error:[\(Imagium.toolName)] An error occured while writing content to \(filename): \(subErrorDescription)"
|
|
|
|
case .unknown(let errorDescription):
|
|
return " error:[\(Imagium.toolName)] Unknown error: \(errorDescription)"
|
|
}
|
|
}
|
|
}
|