diff options
| author | Fuwn <[email protected]> | 2026-03-22 13:55:55 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-03-22 14:02:13 +0000 |
| commit | 9a19ff4b3caa8d650a009636e4234f5c677b1438 (patch) | |
| tree | ef6b2dcab091e2558d06e7c992755fdb53c110b3 /Sora/Data/Booru/BooruManager.swift | |
| parent | fix: repair moebooru tag suggestions (diff) | |
| download | sora-testing-9a19ff4b3caa8d650a009636e4234f5c677b1438.tar.xz sora-testing-9a19ff4b3caa8d650a009636e4234f5c677b1438.zip | |
fix: restore danbooru tag suggestions
Diffstat (limited to 'Sora/Data/Booru/BooruManager.swift')
| -rw-r--r-- | Sora/Data/Booru/BooruManager.swift | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Sora/Data/Booru/BooruManager.swift b/Sora/Data/Booru/BooruManager.swift index 7d11158..8f055af 100644 --- a/Sora/Data/Booru/BooruManager.swift +++ b/Sora/Data/Booru/BooruManager.swift @@ -308,7 +308,12 @@ class BooruManager: ObservableObject { // swiftlint:disable:this type_body_leng guard !Task.isCancelled else { return [] } - return BooruTagXMLParser(data: data).parse().sorted { $0.count > $1.count } + let parsedTags = + flavor == .danbooru + ? DanbooruTagParser(data: data).parse() + : BooruTagXMLParser(data: data).parse() + + return parsedTags.sorted { $0.count > $1.count } } catch { if (error as? URLError)?.code != .cancelled { debugPrint("BooruManager.searchTags: \(error)") @@ -516,7 +521,17 @@ class BooruManager: ObservableObject { // swiftlint:disable:this type_body_leng return components.url case .danbooru: - return nil + var components = URLComponents() + + components.scheme = "https" + components.host = domain + components.path = "/tags.json" + components.queryItems = [ + URLQueryItem(name: "search[name_matches]", value: "\(name)*"), + URLQueryItem(name: "limit", value: "50"), + ] + + return components.url } } |