diff options
| author | Fuwn <[email protected]> | 2025-02-22 16:51:15 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-02-22 16:51:15 -0800 |
| commit | 70017c1b3c76dbd8c5aa89484109374bba2c07e9 (patch) | |
| tree | 9f125d479d363259695d6bce906d5c1d54a0c7dc /Sora/Data/Booru | |
| parent | feat: Development commit (diff) | |
| download | sora-testing-70017c1b3c76dbd8c5aa89484109374bba2c07e9.tar.xz sora-testing-70017c1b3c76dbd8c5aa89484109374bba2c07e9.zip | |
feat: Development commit
Diffstat (limited to 'Sora/Data/Booru')
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 12 | ||||
| -rw-r--r-- | Sora/Data/Booru/BooruProvider.swift | 2 |
2 files changed, 13 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( diff --git a/Sora/Data/Booru/BooruProvider.swift b/Sora/Data/Booru/BooruProvider.swift index 19e5234..2aa9238 100644 --- a/Sora/Data/Booru/BooruProvider.swift +++ b/Sora/Data/Booru/BooruProvider.swift @@ -1,4 +1,6 @@ enum BooruProvider: String, CaseIterable, Decodable, Encodable { + case konachan = "Konachan.com" case safebooru = "Safebooru" + case sakugabooru = "sakugabooru" case yandere = "yande.re" } |