diff options
Diffstat (limited to 'Sora/Data')
| -rw-r--r-- | Sora/Data/Booru/BooruPost.swift | 2 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruPostXMLParser.swift | 2 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruRating.swift | 18 |
3 files changed, 20 insertions, 2 deletions
diff --git a/Sora/Data/Booru/BooruPost.swift b/Sora/Data/Booru/BooruPost.swift index 7f995a3..e2e043e 100644 --- a/Sora/Data/Booru/BooruPost.swift +++ b/Sora/Data/Booru/BooruPost.swift @@ -10,7 +10,7 @@ struct BooruPost: Identifiable, Hashable { let sampleWidth: Int let sampleHeight: Int let previewURL: URL - let rating: String + let rating: BooruRating let tags: [String] let width: Int let change: String diff --git a/Sora/Data/Booru/BooruPostXMLParser.swift b/Sora/Data/Booru/BooruPostXMLParser.swift index 3bce127..d316177 100644 --- a/Sora/Data/Booru/BooruPostXMLParser.swift +++ b/Sora/Data/Booru/BooruPostXMLParser.swift @@ -68,7 +68,7 @@ class BooruPostXMLParser: NSObject, XMLParserDelegate { sampleWidth: sampleWidth, sampleHeight: sampleHeight, previewURL: URL(string: previewUrl)!, - rating: rating, + rating: BooruRating(rating), tags: tags.components(separatedBy: " ").filter { !$0.isEmpty }, width: width, change: change, diff --git a/Sora/Data/Booru/BooruRating.swift b/Sora/Data/Booru/BooruRating.swift new file mode 100644 index 0000000..8327868 --- /dev/null +++ b/Sora/Data/Booru/BooruRating.swift @@ -0,0 +1,18 @@ +enum BooruRating { + case explicit + case questionable + case safe + + init(_ string: String) { + switch string { + case "e": + self = .explicit + + case "s": + self = .safe + + default: + self = .questionable + } + } +} |