diff options
Diffstat (limited to 'Sora/Data/Booru/BooruManager.swift')
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index d650593..3c9c5ca 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -125,12 +125,22 @@ class BooruManager: ObservableObject { } } + private func moebooruURL(domain: String, page: Int, limit: Int, tagString: String) -> URL? { + URL(string: "https://\(domain)/post.xml?page=\(page)&limit=\(limit)&tags=\(tagString)") + } + private func urlForPosts(page: Int, limit: Int, tags: [String]) -> URL? { let tagString = tags.joined(separator: "+") switch provider { case .yandere: - return URL(string: "https://yande.re/post.xml?page=\(page)&limit=\(limit)&tags=\(tagString)") + return moebooruURL(domain: "yande.re", page: page, limit: limit, tagString: tagString) + + case .konachan: + return moebooruURL(domain: "konachan.com", page: page, limit: limit, tagString: tagString) + + case .sakugabooru: + return moebooruURL(domain: "sakugabooru.com", page: page, limit: limit, tagString: tagString) case .safebooru: return URL( |