From cc550dd208b8769c129948e7f0fac6cb85826c03 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 30 Apr 2023 17:40:38 -0400 Subject: [PATCH 01/59] Debrid: Various updates to API and settings Debrid services can change their APIs at any time which negatively impacts user experiences on Ferrite. Add the following: - Ability for a user to add a manually generated API key only showing the last 4 characters for security purposes. - Make ephemeral auth sessions toggle-able. ASWebAuthenticationView does not automatically clear on toggle change. - Add the savedLinks endpoint for AllDebrid so users can access their downloads and magnets. - Add a links section to AD's cloud view. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 4 + Ferrite/API/AllDebridWrapper.swift | 52 +++++- Ferrite/API/PremiumizeWrapper.swift | 21 ++- Ferrite/API/RealDebridWrapper.swift | 37 ++-- Ferrite/Extensions/View.swift | 9 + Ferrite/Models/AllDebridModels.swift | 13 ++ Ferrite/Utils/FerriteKeychain.swift | 13 ++ Ferrite/ViewModels/DebridManager.swift | 172 +++++++++++++----- .../Views/CommonViews/HybridSecureField.swift | 22 ++- .../Library/Cloud/AllDebridCloudView.swift | 41 ++++- .../Library/Cloud/PremiumizeCloudView.swift | 2 +- .../Library/Cloud/RealDebridCloudView.swift | 1 + .../Library/DebridCloudView.swift | 2 +- .../Settings/SettingsDebridInfoView.swift | 33 +++- .../Views/RepresentableViews/WebView.swift | 10 +- Ferrite/Views/SettingsView.swift | 24 ++- 16 files changed, 374 insertions(+), 82 deletions(-) create mode 100644 Ferrite/Utils/FerriteKeychain.swift diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index d314abc..de3bb7d 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -142,6 +142,7 @@ 0CC2CA7429E24F63000A8585 /* ExpandedSearchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC2CA7329E24F63000A8585 /* ExpandedSearchable.swift */; }; 0CC389532970AD900066D06F /* Action+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC389512970AD900066D06F /* Action+CoreDataClass.swift */; }; 0CC389542970AD900066D06F /* Action+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CC389522970AD900066D06F /* Action+CoreDataProperties.swift */; }; + 0CD0265729FEFBF900A83D25 /* FerriteKeychain.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CD0265629FEFBF900A83D25 /* FerriteKeychain.swift */; }; 0CD4030A29DA01B6008D9F03 /* PluginInfoMetaView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CD4030929DA01B6008D9F03 /* PluginInfoMetaView.swift */; }; 0CD4030C29DA0222008D9F03 /* PluginInfoAboutView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CD4030B29DA0222008D9F03 /* PluginInfoAboutView.swift */; }; 0CD4CAC628C980EB0046E1DC /* HistoryActionsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CD4CAC528C980EB0046E1DC /* HistoryActionsView.swift */; }; @@ -288,6 +289,7 @@ 0CC389512970AD900066D06F /* Action+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Action+CoreDataClass.swift"; sourceTree = ""; }; 0CC389522970AD900066D06F /* Action+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "Action+CoreDataProperties.swift"; sourceTree = ""; }; 0CC6E4D428A45BA000AF2BCC /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist; path = Info.plist; sourceTree = ""; }; + 0CD0265629FEFBF900A83D25 /* FerriteKeychain.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FerriteKeychain.swift; sourceTree = ""; }; 0CD4030929DA01B6008D9F03 /* PluginInfoMetaView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginInfoMetaView.swift; sourceTree = ""; }; 0CD4030B29DA0222008D9F03 /* PluginInfoAboutView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginInfoAboutView.swift; sourceTree = ""; }; 0CD4CAC528C980EB0046E1DC /* HistoryActionsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryActionsView.swift; sourceTree = ""; }; @@ -449,6 +451,7 @@ children = ( 0C44E2A728D4DDDC007711AE /* Application.swift */, 0C1A3E5529C9488C00DA9730 /* CodableWrapper.swift */, + 0CD0265629FEFBF900A83D25 /* FerriteKeychain.swift */, ); path = Utils; sourceTree = ""; @@ -852,6 +855,7 @@ 0C3E00D2296F4FD200ECECB2 /* PluginsView.swift in Sources */, 0CBC76FD288D914F0054BE44 /* BatchChoiceView.swift in Sources */, 0C7D11FE28AA03FE00ED92DB /* View.swift in Sources */, + 0CD0265729FEFBF900A83D25 /* FerriteKeychain.swift in Sources */, 0CA3B23728C2660700616D3A /* HistoryView.swift in Sources */, 0C70E40228C3CE9C00A5C72D /* ConditionalContextMenu.swift in Sources */, 0C50B7D0299DF63C00A9FA3C /* UIDevice.swift in Sources */, diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index fbf0163..2b850ff 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -6,12 +6,10 @@ // import Foundation -import KeychainSwift // TODO: Fix errors public class AllDebrid { let jsonDecoder = JSONDecoder() - let keychain = KeychainSwift() let baseApiUrl = "https://api.alldebrid.com/v4" let appName = "Ferrite" @@ -60,7 +58,7 @@ public class AllDebrid { // If there's an API key from the response, end the task successfully if let apiKeyResponse = rawResponse { - keychain.set(apiKeyResponse.apikey, forKey: "AllDebrid.ApiKey") + FerriteKeychain.shared.set(apiKeyResponse.apikey, forKey: "AllDebrid.ApiKey") return } else { @@ -77,14 +75,27 @@ public class AllDebrid { } } + // Adds a manual API key instead of web auth + public func setApiKey(_ key: String) -> Bool { + FerriteKeychain.shared.set(key, forKey: "AllDebrid.ApiKey") + UserDefaults.standard.set(true, forKey: "AllDebrid.UseManualKey") + + return FerriteKeychain.shared.get("AllDebrid.ApiKey") == key + } + + public func getToken() -> String? { + return FerriteKeychain.shared.get("AllDebrid.ApiKey") + } + // Clears tokens. No endpoint to deregister a device public func deleteTokens() { - keychain.delete("AllDebrid.ApiKey") + FerriteKeychain.shared.delete("AllDebrid.ApiKey") + UserDefaults.standard.removeObject(forKey: "AllDebrid.UseManualKey") } // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { - guard let token = keychain.get("AllDebrid.ApiKey") else { + guard let token = getToken() else { throw ADError.InvalidToken } @@ -201,6 +212,37 @@ public class AllDebrid { return rawResponse.link } + public func saveLink(link: String) async throws { + let queryItems = [ + URLQueryItem(name: "links[]", value: link) + ] + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links/save", queryItems: queryItems)) + + try await performRequest(request: &request, requestName: #function) + } + + public func savedLinks() async throws -> [SavedLink] { + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links")) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data + + if rawResponse.links.isEmpty { + throw ADError.EmptyData + } else { + return rawResponse.links + } + } + + public func deleteLink(link: String) async throws { + let queryItems = [ + URLQueryItem(name: "link", value: link) + ] + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links/delete", queryItems: queryItems)) + + try await performRequest(request: &request, requestName: #function) + } + public func instantAvailability(magnets: [Magnet]) async throws -> [IA] { let queryItems = magnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/instant", queryItems: queryItems)) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index ccd4207..47bff26 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -6,11 +6,9 @@ // import Foundation -import KeychainSwift public class Premiumize { let jsonDecoder = JSONDecoder() - let keychain = KeychainSwift() let baseAuthUrl = "https://www.premiumize.me/authorize" let baseApiUrl = "https://www.premiumize.me/api" @@ -45,17 +43,30 @@ public class Premiumize { throw PMError.InvalidToken } - keychain.set(accessToken, forKey: "Premiumize.AccessToken") + FerriteKeychain.shared.set(accessToken, forKey: "Premiumize.AccessToken") + } + + // Adds a manual API key instead of web auth + public func setApiKey(_ key: String) -> Bool { + FerriteKeychain.shared.set(key, forKey: "Premiumize.AccessToken") + UserDefaults.standard.set(true, forKey: "Premiumize.UseManualKey") + + return FerriteKeychain.shared.get("Premiumize.AccessToken") == key + } + + public func getToken() -> String? { + return FerriteKeychain.shared.get("Premiumize.AccessToken") } // Clears tokens. No endpoint to deregister a device public func deleteTokens() { - keychain.delete("Premiumize.AccessToken") + FerriteKeychain.shared.delete("Premiumize.AccessToken") + UserDefaults.standard.removeObject(forKey: "Premiumize.UseManualKey") } // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { - guard let token = keychain.get("Premiumize.AccessToken") else { + guard let token = getToken() else { throw PMError.InvalidToken } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index a81f69c..1291b2e 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -6,11 +6,9 @@ // import Foundation -import KeychainSwift public class RealDebrid { let jsonDecoder = JSONDecoder() - let keychain = KeychainSwift() let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" let baseApiUrl = "https://api.real-debrid.com/rest/1.0" @@ -83,7 +81,7 @@ public class RealDebrid { // If there's a client ID from the response, end the task successfully if let clientId = rawResponse?.clientID, let clientSecret = rawResponse?.clientSecret { await setUserDefaultsValue(clientId, forKey: "RealDebrid.ClientId") - keychain.set(clientSecret, forKey: "RealDebrid.ClientSecret") + FerriteKeychain.shared.set(clientSecret, forKey: "RealDebrid.ClientSecret") try await getTokens(deviceCode: deviceCode) @@ -102,13 +100,13 @@ public class RealDebrid { } } - // Fetch all tokens for the user and store in keychain + // Fetch all tokens for the user and store in FerriteKeychain.shared public func getTokens(deviceCode: String) async throws { guard let clientId = UserDefaults.standard.string(forKey: "RealDebrid.ClientId") else { throw RDError.EmptyData } - guard let clientSecret = keychain.get("RealDebrid.ClientSecret") else { + guard let clientSecret = FerriteKeychain.shared.get("RealDebrid.ClientSecret") else { throw RDError.EmptyData } @@ -130,8 +128,8 @@ public class RealDebrid { let rawResponse = try jsonDecoder.decode(TokenResponse.self, from: data) - keychain.set(rawResponse.accessToken, forKey: "RealDebrid.AccessToken") - keychain.set(rawResponse.refreshToken, forKey: "RealDebrid.RefreshToken") + FerriteKeychain.shared.set(rawResponse.accessToken, forKey: "RealDebrid.AccessToken") + FerriteKeychain.shared.set(rawResponse.refreshToken, forKey: "RealDebrid.RefreshToken") let accessTimestamp = Date().timeIntervalSince1970 + Double(rawResponse.expiresIn) await setUserDefaultsValue(accessTimestamp, forKey: "RealDebrid.AccessTokenStamp") @@ -142,7 +140,7 @@ public class RealDebrid { if Date().timeIntervalSince1970 > accessTokenStamp { do { - if let refreshToken = keychain.get("RealDebrid.RefreshToken") { + if let refreshToken = FerriteKeychain.shared.get("RealDebrid.RefreshToken") { try await getTokens(deviceCode: refreshToken) } } catch { @@ -151,22 +149,35 @@ public class RealDebrid { } } - return keychain.get("RealDebrid.AccessToken") + return FerriteKeychain.shared.get("RealDebrid.AccessToken") + } + + // Adds a manual API key instead of web auth + // Clear out existing refresh tokens and timestamps + public func setApiKey(_ key: String) -> Bool { + FerriteKeychain.shared.set(key, forKey: "RealDebrid.AccessToken") + FerriteKeychain.shared.delete("RealDebrid.RefreshToken") + FerriteKeychain.shared.delete("RealDebrid.AccessTokenStamp") + + UserDefaults.standard.set(true, forKey: "RealDebrid.UseManualKey") + + return FerriteKeychain.shared.get("RealDebrid.AccessToken") == key } public func deleteTokens() async throws { - keychain.delete("RealDebrid.RefreshToken") - keychain.delete("RealDebrid.ClientSecret") + FerriteKeychain.shared.delete("RealDebrid.RefreshToken") + FerriteKeychain.shared.delete("RealDebrid.ClientSecret") await removeUserDefaultsValue(forKey: "RealDebrid.ClientId") await removeUserDefaultsValue(forKey: "RealDebrid.AccessTokenStamp") // Run the request, doesn't matter if it fails - if let token = keychain.get("RealDebrid.AccessToken") { + if let token = FerriteKeychain.shared.get("RealDebrid.AccessToken") { var request = URLRequest(url: URL(string: "\(baseApiUrl)/disable_access_token")!) request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") _ = try? await URLSession.shared.data(for: request) - keychain.delete("RealDebrid.AccessToken") + FerriteKeychain.shared.delete("RealDebrid.AccessToken") + await removeUserDefaultsValue(forKey: "RealDebrid.UseManualKey") } } diff --git a/Ferrite/Extensions/View.swift b/Ferrite/Extensions/View.swift index d5f4880..73bafca 100644 --- a/Ferrite/Extensions/View.swift +++ b/Ferrite/Extensions/View.swift @@ -9,6 +9,15 @@ import Introspect import SwiftUI extension View { + // Modifies properties of a view. Works the same way as a ViewModifier + // From: https://github.com/SwiftUIX/SwiftUIX/blob/master/Sources/Intermodular/Extensions/SwiftUI/View%2B%2B.swift#L10 + public func modifyViewProp(_ body: (inout Self) -> Void) -> Self { + var result = self + body(&result) + + return result + } + // MARK: Modifiers func conditionalContextMenu(id: some Hashable, diff --git a/Ferrite/Models/AllDebridModels.swift b/Ferrite/Models/AllDebridModels.swift index 755ae4a..c12b5c1 100644 --- a/Ferrite/Models/AllDebridModels.swift +++ b/Ferrite/Models/AllDebridModels.swift @@ -130,6 +130,19 @@ public extension AllDebrid { let link: String } + // MARK: - SavedLinksResponse + + struct SavedLinksResponse: Codable { + let links: [SavedLink] + } + + struct SavedLink: Codable, Hashable { + let link: String + let date: Int + let filename: String + let size: Int + } + // MARK: - InstantAvailabilityResponse struct InstantAvailabilityResponse: Codable { diff --git a/Ferrite/Utils/FerriteKeychain.swift b/Ferrite/Utils/FerriteKeychain.swift new file mode 100644 index 0000000..b39ea83 --- /dev/null +++ b/Ferrite/Utils/FerriteKeychain.swift @@ -0,0 +1,13 @@ +// +// FerriteKeychain.swift +// Ferrite +// +// Created by Brian Dashore on 4/30/23. +// + +import Foundation +import KeychainSwift + +class FerriteKeychain { + static let shared = KeychainSwift() +} diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 107fbc0..d5cae76 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -39,8 +39,24 @@ public class DebridManager: ObservableObject { var downloadUrl: String = "" var authUrl: URL? + // Is the current debrid type processing an auth request + func authProcessing(_ passedDebridType: DebridType?) -> Bool { + guard let debridType = passedDebridType ?? selectedDebridType else { + return false + } + + switch debridType { + case .realDebrid: + return realDebridAuthProcessing + case .allDebrid: + return allDebridAuthProcessing + case .premiumize: + return premiumizeAuthProcessing + } + } + // RealDebrid auth variables - @Published var realDebridAuthProcessing: Bool = false + var realDebridAuthProcessing: Bool = false // RealDebrid fetch variables @Published var realDebridIAValues: [RealDebrid.IA] = [] @@ -58,7 +74,7 @@ public class DebridManager: ObservableObject { var realDebridCloudTTL: Double = 0.0 // AllDebrid auth variables - @Published var allDebridAuthProcessing: Bool = false + var allDebridAuthProcessing: Bool = false // AllDebrid fetch variables @Published var allDebridIAValues: [AllDebrid.IA] = [] @@ -68,10 +84,11 @@ public class DebridManager: ObservableObject { // AllDebrid cloud variables @Published var allDebridCloudMagnets: [AllDebrid.MagnetStatusData] = [] + @Published var allDebridCloudLinks: [AllDebrid.SavedLink] = [] var allDebridCloudTTL: Double = 0.0 // Premiumize auth variables - @Published var premiumizeAuthProcessing: Bool = false + var premiumizeAuthProcessing: Bool = false // Premiumize fetch variables @Published var premiumizeIAValues: [Premiumize.IA] = [] @@ -325,34 +342,32 @@ public class DebridManager: ObservableObject { // MARK: - Authentication UI linked functions // Common function to delegate what debrid service to authenticate with - public func authenticateDebrid(debridType: DebridType) async { + public func authenticateDebrid(debridType: DebridType, apiKey: String?) async { switch debridType { case .realDebrid: - let success = await authenticateRd() + let success = apiKey == nil ? await authenticateRd() : realDebrid.setApiKey(apiKey!) completeDebridAuth(debridType, success: success) case .allDebrid: - let success = await authenticateAd() + // Async can't work with nil mapping method + let success = apiKey == nil ? await authenticateAd() : allDebrid.setApiKey(apiKey!) completeDebridAuth(debridType, success: success) case .premiumize: - await authenticatePm() - } - } - - public func getAuthProcessingBool(debridType: DebridType) -> Bool { - switch debridType { - case .realDebrid: - return realDebridAuthProcessing - case .allDebrid: - return allDebridAuthProcessing - case .premiumize: - return premiumizeAuthProcessing + if let apiKey { + let success = premiumize.setApiKey(apiKey) + completeDebridAuth(debridType, success: success) + } else { + await authenticatePm() + } } } // Callback to finish debrid auth since functions can be split - func completeDebridAuth(_ debridType: DebridType, success: Bool = true) { - if enabledDebrids.count == 1, success { - selectedDebridType = enabledDebrids.first + func completeDebridAuth(_ debridType: DebridType, success: Bool) { + if success { + enabledDebrids.insert(debridType) + if enabledDebrids.count == 1 { + selectedDebridType = enabledDebrids.first + } } switch debridType { @@ -365,6 +380,47 @@ public class DebridManager: ObservableObject { } } + // Get a truncated manual API key if it's being used + func getManualAuthKey(_ passedDebridType: DebridType?) async -> String? { + guard let debridType = passedDebridType ?? selectedDebridType else { + return nil + } + + let debridToken: String? + switch debridType { + case .realDebrid: + if UserDefaults.standard.bool(forKey: "RealDebrid.UseManualKey") { + debridToken = FerriteKeychain.shared.get("RealDebrid.AccessToken") + } else { + debridToken = nil + } + case .allDebrid: + if UserDefaults.standard.bool(forKey: "AllDebrid.UseManualKey") { + debridToken = FerriteKeychain.shared.get("AllDebrid.ApiKey") + } else { + debridToken = nil + } + case .premiumize: + if UserDefaults.standard.bool(forKey: "Premiumize.UseManualKey") { + debridToken = FerriteKeychain.shared.get("Premiumize.AccessToken") + } else { + debridToken = nil + } + } + + if let debridToken { + let splitString = debridToken.suffix(4) + + if debridToken.count > 4 { + return String(repeating: "*", count: debridToken.count - 4) + splitString + } else { + return String(splitString) + } + } else { + return nil + } + } + // Wrapper function to validate and present an auth URL to the user @discardableResult func validateAuthUrl(_ url: URL?, useAuthSession: Bool = false) -> Bool { guard let url else { @@ -389,12 +445,10 @@ public class DebridManager: ObservableObject { if validateAuthUrl(URL(string: verificationResponse.directVerificationURL)) { try await realDebrid.getDeviceCredentials(deviceCode: verificationResponse.deviceCode) - enabledDebrids.insert(.realDebrid) + return true } else { throw RealDebrid.RDError.AuthQuery(description: "The verification URL was invalid") } - - return true } catch { await sendDebridError(error, prefix: "RealDebrid authentication error") @@ -410,12 +464,10 @@ public class DebridManager: ObservableObject { if validateAuthUrl(URL(string: pinResponse.userURL)) { try await allDebrid.getApiKey(checkID: pinResponse.check, pin: pinResponse.pin) - enabledDebrids.insert(.allDebrid) + return true } else { throw AllDebrid.ADError.AuthQuery(description: "The PIN URL was invalid") } - - return true } catch { await sendDebridError(error, prefix: "AllDebrid authentication error") @@ -446,8 +498,7 @@ public class DebridManager: ObservableObject { if let callbackUrl = url { try premiumize.handleAuthCallback(url: callbackUrl) - enabledDebrids.insert(.premiumize) - completeDebridAuth(.premiumize) + completeDebridAuth(.premiumize, success: true) } else { throw Premiumize.PMError.AuthQuery(description: "The callback URL was invalid") } @@ -528,19 +579,6 @@ public class DebridManager: ObservableObject { } } - public func fetchDebridCloud() async { - switch selectedDebridType { - case .realDebrid: - await fetchRdCloud() - case .allDebrid: - await fetchAdCloud() - case .premiumize: - await fetchPmCloud() - case .none: - return - } - } - func fetchRdDownload(magnet: Magnet?, existingLink: String?) async { // If an existing link is passed in args, set it to that. Otherwise, find one from RD cloud. let torrentLink: String? @@ -609,6 +647,19 @@ public class DebridManager: ObservableObject { } } + public func fetchDebridCloud(bypassTTL: Bool = false) async { + switch selectedDebridType { + case .realDebrid: + await fetchRdCloud(bypassTTL: bypassTTL) + case .allDebrid: + await fetchAdCloud(bypassTTL: bypassTTL) + case .premiumize: + await fetchPmCloud(bypassTTL: bypassTTL) + case .none: + return + } + } + // Refreshes torrents and downloads from a RD user's account public func fetchRdCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > realDebridCloudTTL { @@ -664,6 +715,7 @@ public class DebridManager: ObservableObject { } } + // TODO: Integrate with AD saved links func fetchAdDownload(magnet: Magnet?, existingLockedLink: String?) async { // If an existing link is passed in args, set it to that. Otherwise, find one from AD cloud. let lockedLink: String? @@ -678,8 +730,10 @@ public class DebridManager: ObservableObject { } do { - if let lockedLink { - downloadUrl = try await allDebrid.unlockLink(lockedLink: lockedLink) + if let lockedLink, + let unlockedLink = await checkAdUserLinks(lockedLink: lockedLink) + { + downloadUrl = unlockedLink } else if let magnet { let magnetID = try await allDebrid.addMagnet(magnet: magnet) let lockedLink = try await allDebrid.fetchMagnetStatus( @@ -687,6 +741,7 @@ public class DebridManager: ObservableObject { selectedIndex: selectedAllDebridFile?.id ?? 0 ) + try await allDebrid.saveLink(link: lockedLink) downloadUrl = try await allDebrid.unlockLink(lockedLink: lockedLink) } else { throw AllDebrid.ADError.FailedRequest(description: "Could not fetch your file from AllDebrid's cache or API") @@ -699,11 +754,28 @@ public class DebridManager: ObservableObject { } } + func checkAdUserLinks(lockedLink: String) async -> String? { + do { + let existingLinks = allDebridCloudLinks.first { $0.link == lockedLink } + if let existingLink = existingLinks?.link { + return existingLink + } else { + try await allDebrid.saveLink(link: lockedLink) + return try await allDebrid.unlockLink(lockedLink: lockedLink) + } + } catch { + await sendDebridError(error, prefix: "AllDebrid download check error") + + return nil + } + } + // Refreshes torrents and downloads from a RD user's account public func fetchAdCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > allDebridCloudTTL { do { allDebridCloudMagnets = try await allDebrid.userMagnets() + allDebridCloudLinks = try await allDebrid.savedLinks() // 5 minutes allDebridCloudTTL = Date().timeIntervalSince1970 + 300 @@ -713,13 +785,23 @@ public class DebridManager: ObservableObject { } } + func deleteAdLink(link: String) async { + do { + try await allDebrid.deleteLink(link: link) + + await fetchAdCloud(bypassTTL: true) + } catch { + await sendDebridError(error, prefix: "AllDebrid link delete error") + } + } + func deleteAdMagnet(magnetId: Int) async { do { try await allDebrid.deleteMagnet(magnetId: magnetId) await fetchAdCloud(bypassTTL: true) } catch { - await sendDebridError(error, prefix: "AllDebrid delete error") + await sendDebridError(error, prefix: "AllDebrid magnet delete error") } } diff --git a/Ferrite/Views/CommonViews/HybridSecureField.swift b/Ferrite/Views/CommonViews/HybridSecureField.swift index df3fec0..d1ac923 100644 --- a/Ferrite/Views/CommonViews/HybridSecureField.swift +++ b/Ferrite/Views/CommonViews/HybridSecureField.swift @@ -14,22 +14,34 @@ struct HybridSecureField: View { } @Binding var text: String + var onCommit: () -> Void = {} + @State private var showPassword = false @FocusState private var focusedField: Field? + private var isFieldDisabled: Bool = false + + init(text: Binding, onCommit: (() -> Void)? = nil, showPassword: Bool = false) { + self._text = text + if let onCommit { + self.onCommit = onCommit + } + self.showPassword = showPassword + } var body: some View { HStack { Group { if showPassword { - TextField("Password", text: $text) + TextField("Password", text: $text, onCommit: onCommit) .focused($focusedField, equals: .plain) } else { - SecureField("Password", text: $text) + SecureField("Password", text: $text, onCommit: onCommit) .focused($focusedField, equals: .secure) } } .autocorrectionDisabled(true) .autocapitalization(.none) + .disabledAppearance(isFieldDisabled) Button { showPassword.toggle() @@ -42,3 +54,9 @@ struct HybridSecureField: View { } } } + +extension HybridSecureField { + public func fieldDisabled(_ isFieldDisabled: Bool) -> Self { + modifyViewProp({ $0.isFieldDisabled = isFieldDisabled }) + } +} diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift index f871e34..f0cf0ce 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift @@ -15,6 +15,43 @@ struct AllDebridCloudView: View { @Binding var searchText: String var body: some View { + DisclosureGroup("Links") { + ForEach(debridManager.allDebridCloudLinks.filter { + searchText.isEmpty ? true : $0.filename.lowercased().contains(searchText.lowercased()) + }, id: \.self) { downloadResponse in + Button(downloadResponse.filename) { + navModel.resultFromCloud = true + navModel.selectedTitle = downloadResponse.filename + debridManager.downloadUrl = downloadResponse.link + + PersistenceController.shared.createHistory( + HistoryEntryJson( + name: downloadResponse.filename, + url: downloadResponse.link, + source: DebridType.allDebrid.toString() + ), + performSave: true + ) + + pluginManager.runDefaultAction( + urlString: debridManager.downloadUrl, + navModel: navModel + ) + } + .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) + .tint(.primary) + } + .onDelete { offsets in + for index in offsets { + if let savedLink = debridManager.allDebridCloudLinks[safe: index] { + Task { + await debridManager.deleteAdLink(link: savedLink.link) + } + } + } + } + } + DisclosureGroup("Magnets") { ForEach(debridManager.allDebridCloudMagnets.filter { searchText.isEmpty ? true : $0.filename.lowercased().contains(searchText.lowercased()) @@ -69,8 +106,8 @@ struct AllDebridCloudView: View { .font(.caption) } } - .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) - .tint(.black) + .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.9, animation: .easeOut(duration: 0.2)) + .tint(.primary) } .onDelete { offsets in for index in offsets { diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift index 380d959..d309684 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift @@ -44,7 +44,7 @@ struct PremiumizeCloudView: View { } } .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) - .tint(.black) + .tint(.primary) } .onDelete { offsets in for index in offsets { diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift index 11059e9..b133ef8 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift @@ -39,6 +39,7 @@ struct RealDebridCloudView: View { navModel: navModel ) } + .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) .tint(.primary) } .onDelete { offsets in diff --git a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift index b0343ea..b9e271f 100644 --- a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift @@ -30,7 +30,7 @@ struct DebridCloudView: View { await debridManager.fetchDebridCloud() } .refreshable { - await debridManager.fetchDebridCloud() + await debridManager.fetchDebridCloud(bypassTTL: true) } .onChange(of: debridManager.selectedDebridType) { newType in if newType != nil { diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index 0872a2a..cebd792 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -12,6 +12,8 @@ struct SettingsDebridInfoView: View { let debridType: DebridType + @State private var apiKeyTempText: String = "" + var body: some View { List { Section(header: InlineHeader("Description")) { @@ -30,19 +32,44 @@ struct SettingsDebridInfoView: View { Task { if debridManager.enabledDebrids.contains(debridType) { await debridManager.logoutDebrid(debridType: debridType) - } else if !debridManager.getAuthProcessingBool(debridType: debridType) { - await debridManager.authenticateDebrid(debridType: debridType) + } else if !debridManager.authProcessing(debridType) { + await debridManager.authenticateDebrid(debridType: debridType, apiKey: nil) } + + apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" } } label: { Text( debridManager.enabledDebrids.contains(debridType) ? "Logout" - : (debridManager.getAuthProcessingBool(debridType: debridType) ? "Processing" : "Login") + : (debridManager.authProcessing(debridType) ? "Processing" : "Login") ) .foregroundColor(debridManager.enabledDebrids.contains(debridType) ? .red : .blue) } } + + Section( + header: InlineHeader("API key"), + footer: Text("Add a permanent API key here. Only use this if web authentication does not work!") + ) { + HybridSecureField( + text: $apiKeyTempText, + onCommit: { + Task { + if !apiKeyTempText.isEmpty { + await debridManager.authenticateDebrid(debridType: debridType, apiKey: apiKeyTempText) + apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + } + } + } + ) + .fieldDisabled(debridManager.enabledDebrids.contains(debridType)) + } + .onAppear { + Task { + apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + } + } } .listStyle(.insetGrouped) .navigationTitle(debridType.toString()) diff --git a/Ferrite/Views/RepresentableViews/WebView.swift b/Ferrite/Views/RepresentableViews/WebView.swift index e903622..e9b87a8 100644 --- a/Ferrite/Views/RepresentableViews/WebView.swift +++ b/Ferrite/Views/RepresentableViews/WebView.swift @@ -9,19 +9,23 @@ import SwiftUI import WebKit struct WebView: UIViewRepresentable { + @AppStorage("Behavior.UseEphemeralAuth") var useEphemeralAuth: Bool = true var url: URL func makeUIView(context: Context) -> WKWebView { - // Make the WebView ephemeral + // Make the WebView ephemeral depending on the ephemeral auth setting let config = WKWebViewConfiguration() - config.websiteDataStore = WKWebsiteDataStore.nonPersistent() + + config.websiteDataStore = useEphemeralAuth ? .nonPersistent() : .default() let webView = WKWebView(frame: .zero, configuration: config) let _ = webView.load(URLRequest(url: url)) return webView } - func updateUIView(_ uiView: WKWebView, context: Context) {} + func updateUIView(_ webView: WKWebView, context: Context) { + webView.configuration.websiteDataStore = useEphemeralAuth ? .nonPersistent() : .default() + } } struct WebView_Previews: PreviewProvider { diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index 8e08cfd..28f18fc 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -8,6 +8,7 @@ import BetterSafariView import Introspect import SwiftUI +import WebKit struct SettingsView: View { @EnvironmentObject var debridManager: DebridManager @@ -24,6 +25,7 @@ struct SettingsView: View { @AppStorage("Behavior.AutocorrectSearch") var autocorrectSearch = true @AppStorage("Behavior.UsesRandomSearchText") var usesRandomSearchText = false + @AppStorage("Behavior.UseEphemeralAuth") var useEphemeralAuth = true @AppStorage("Behavior.DisableRequestTimeout") var disableRequestTimeout = false @AppStorage("Behavior.RequestTimeoutSecs") var requestTimeoutSecs: Double = 15 @@ -73,7 +75,10 @@ struct SettingsView: View { Section( header: InlineHeader("Behavior"), - footer: Text("Only disable search timeout if results are slow to fetch") + footer: VStack(alignment: .leading, spacing: 8) { + Text("Temporarily disable ephemeral auth if you cannot log into a service") + Text("Only disable search timeout if results are slow to fetch") + } ) { Toggle(isOn: $autocorrectSearch) { Text("Autocorrect search") @@ -83,6 +88,21 @@ struct SettingsView: View { Text("Random searchbar text") } + Toggle(isOn: $useEphemeralAuth) { + Text("Ephemeral authentication") + } + .onChange(of: useEphemeralAuth) { changed in + // Does not work with ASWebAuthenticationSession + if changed { + Task { + let dataRecords = await WKWebsiteDataStore.default().dataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes()) + + await WKWebsiteDataStore.default().removeData(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), for: dataRecords) + } + } + } + + // TODO: Change this to enable search timeout instead Toggle(isOn: $disableRequestTimeout) { Text("Disable search timeout") } @@ -210,7 +230,7 @@ struct SettingsView: View { await debridManager.handleCallback(url: callbackURL, error: error) } } - .prefersEphemeralWebBrowserSession(true) + .prefersEphemeralWebBrowserSession(useEphemeralAuth) } .navigationTitle("Settings") .toolbar { -- 2.45.2 From b8978fd29cf919f07d163fbed7fedd1429d36387 Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 2 May 2023 14:44:03 -0400 Subject: [PATCH 02/59] Premiumize: Fix API key usage PM has a different method to handle API keys compared to other services which takes the value as an authorization header. Signed-off-by: kingbri --- Ferrite/API/PremiumizeWrapper.swift | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 47bff26..3ad235c 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -70,7 +70,27 @@ public class Premiumize { throw PMError.InvalidToken } - request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") + // Use the API query parameter if a manual API key is present + if UserDefaults.standard.bool(forKey: "Premiumize.UseManualKey") { + guard + let requestUrl = request.url, + var components = URLComponents(url: requestUrl, resolvingAgainstBaseURL: false) + else { + throw PMError.InvalidUrl + } + + let apiTokenItem = URLQueryItem(name: "apikey", value: token) + + if components.queryItems == nil { + components.queryItems = [apiTokenItem] + } else { + components.queryItems?.append(apiTokenItem) + } + + request.url = components.url + } else { + request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") + } let (data, response) = try await URLSession.shared.data(for: request) -- 2.45.2 From 46e0687bd72a97e0d63e7defac793c28f69d2778 Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 6 Jun 2023 19:54:13 -0400 Subject: [PATCH 03/59] Scraping: Add new source methods Some sources can be unique and require some extra parsing. Add the ability to extract a magnet link instead of assuming that every source provides a properly formatted one. Signed-off-by: kingbri --- Ferrite/Models/DebridManagerModels.swift | 24 ++++++++++++++++++---- Ferrite/ViewModels/ScrapingViewModel.swift | 3 ++- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/Ferrite/Models/DebridManagerModels.swift b/Ferrite/Models/DebridManagerModels.swift index 484b3ef..17bc43c 100644 --- a/Ferrite/Models/DebridManagerModels.swift +++ b/Ferrite/Models/DebridManagerModels.swift @@ -55,12 +55,12 @@ public struct Magnet: Codable, Hashable, Sendable { if let hash, link == nil { self.hash = parseHash(hash) self.link = generateLink(hash: hash, title: title, trackers: trackers) - } else if let link, hash == nil { - self.link = link - self.hash = parseHash(extractHash(link: link)) + } else if let parsedLink = parseLink(link), hash == nil { + self.link = parsedLink + self.hash = parseHash(extractHash(link: parsedLink)) } else { self.hash = parseHash(hash) - self.link = link + self.link = parseLink(link) } } @@ -107,4 +107,20 @@ public struct Magnet: Codable, Hashable, Sendable { return String(magnetHash).lowercased() } } + + func parseLink(_ link: String?) -> String? { + if let decodedLink = link?.removingPercentEncoding { + let separator = "magnet:?xt=urn:btih:" + if decodedLink.starts(with: separator) { + return decodedLink + } else if decodedLink.contains(separator) { + let splitLink = decodedLink.components(separatedBy: separator) + return splitLink.last.map { separator + $0 } ?? nil + } else { + return nil + } + } else { + return nil + } + } } diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index ab7d9a3..46720dd 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -164,7 +164,8 @@ class ScrapingViewModel: ObservableObject { case .scraping: if let htmlParser = source.htmlParser { let replacedSearchUrl = htmlParser.searchUrl.map { - $0.replacingOccurrences(of: "{query}", with: encodedQuery) + $0 + .replacingOccurrences(of: "{query}", with: encodedQuery) } let data = await handleUrls( -- 2.45.2 From 13a40a237aa59983f3b52f2b302ae98f94bb0f0f Mon Sep 17 00:00:00 2001 From: kingbri Date: Sat, 26 Aug 2023 11:29:19 -0400 Subject: [PATCH 04/59] Premiumize: Fix DDL fetching and debrid IA handling Signed-off-by: kingbri --- Ferrite/Models/PremiumizeModels.swift | 2 - Ferrite/ViewModels/DebridManager.swift | 83 ++++++++++++++------------ 2 files changed, 46 insertions(+), 39 deletions(-) diff --git a/Ferrite/Models/PremiumizeModels.swift b/Ferrite/Models/PremiumizeModels.swift index 21c928e..a6f30e7 100644 --- a/Ferrite/Models/PremiumizeModels.swift +++ b/Ferrite/Models/PremiumizeModels.swift @@ -45,11 +45,9 @@ public extension Premiumize { let path: String let size: Int let link: String - let streamLink: String enum CodingKeys: String, CodingKey { case path, size, link - case streamLink = "stream_link" } } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index d5cae76..e7da300 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -193,50 +193,59 @@ public class DebridManager: ObservableObject { // Common function to populate hashes for debrid services public func populateDebridIA(_ resultMagnets: [Magnet]) async { - do { - let now = Date() + let now = Date() - // If a hash isn't found in the IA, update it - // If the hash is expired, remove it and update it - let sendMagnets = resultMagnets.filter { magnet in - if let IAIndex = realDebridIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.realDebrid) { - if now.timeIntervalSince1970 > realDebridIAValues[IAIndex].expiryTimeStamp { - realDebridIAValues.remove(at: IAIndex) - return true - } else { - return false - } - } else if let IAIndex = allDebridIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.allDebrid) { - if now.timeIntervalSince1970 > allDebridIAValues[IAIndex].expiryTimeStamp { - allDebridIAValues.remove(at: IAIndex) - return true - } else { - return false - } - } else if let IAIndex = premiumizeIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.premiumize) { - if now.timeIntervalSince1970 > premiumizeIAValues[IAIndex].expiryTimeStamp { - premiumizeIAValues.remove(at: IAIndex) - return true - } else { - return false - } - } else { + // If a hash isn't found in the IA, update it + // If the hash is expired, remove it and update it + let sendMagnets = resultMagnets.filter { magnet in + if let IAIndex = realDebridIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.realDebrid) { + if now.timeIntervalSince1970 > realDebridIAValues[IAIndex].expiryTimeStamp { + realDebridIAValues.remove(at: IAIndex) return true + } else { + return false + } + } else if let IAIndex = allDebridIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.allDebrid) { + if now.timeIntervalSince1970 > allDebridIAValues[IAIndex].expiryTimeStamp { + allDebridIAValues.remove(at: IAIndex) + return true + } else { + return false + } + } else if let IAIndex = premiumizeIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.premiumize) { + if now.timeIntervalSince1970 > premiumizeIAValues[IAIndex].expiryTimeStamp { + premiumizeIAValues.remove(at: IAIndex) + return true + } else { + return false + } + } else { + return true + } + } + + // Don't exit the function if the API fetch errors + if !sendMagnets.isEmpty { + if enabledDebrids.contains(.realDebrid) { + do { + let fetchedRealDebridIA = try await realDebrid.instantAvailability(magnets: sendMagnets) + realDebridIAValues += fetchedRealDebridIA + } catch { + await sendDebridError(error, prefix: "RealDebrid IA fetch error") } } - if !sendMagnets.isEmpty { - if enabledDebrids.contains(.realDebrid) { - let fetchedRealDebridIA = try await realDebrid.instantAvailability(magnets: sendMagnets) - realDebridIAValues += fetchedRealDebridIA - } - - if enabledDebrids.contains(.allDebrid) { + if enabledDebrids.contains(.allDebrid) { + do { let fetchedAllDebridIA = try await allDebrid.instantAvailability(magnets: sendMagnets) allDebridIAValues += fetchedAllDebridIA + } catch { + await sendDebridError(error, prefix: "AllDebrid IA fetch error") } + } - if enabledDebrids.contains(.premiumize) { + if enabledDebrids.contains(.premiumize) { + do { // Only strip magnets that don't have an associated link for PM let strippedResultMagnets: [Magnet] = resultMagnets.compactMap { if let magnetLink = $0.link { @@ -254,10 +263,10 @@ public class DebridManager: ObservableObject { premiumizeIAValues += tempIA } + } catch { + await sendDebridError(error, prefix: "Premiumize IA fetch error") } } - } catch { - await sendDebridError(error, prefix: "Hash population error") } } -- 2.45.2 From 2e746320cfa68b5746c028b4c65e36eea2ca4893 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 27 Aug 2023 01:14:26 -0400 Subject: [PATCH 05/59] NavView: Switch to NavigationStack for iOS 17 and up iOS 17 fixes the issues that NavigationStack had with iOS 16. This means that futureproofing is fixed. Signed-off-by: kingbri --- Ferrite/Views/CommonViews/NavView.swift | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Ferrite/Views/CommonViews/NavView.swift b/Ferrite/Views/CommonViews/NavView.swift index fe2c172..6c8297b 100644 --- a/Ferrite/Views/CommonViews/NavView.swift +++ b/Ferrite/Views/CommonViews/NavView.swift @@ -14,18 +14,16 @@ struct NavView: View { @ViewBuilder var content: Content var body: some View { - // Uncomment once NavigationStack issues are fixed - /* - if #available(iOS 16, *) { - NavigationStack { - content - } - } else { - */ - NavigationView { - content + // NavigationStack issues are fixed on iOS 17 + if #available(iOS 17, *) { + NavigationStack { + content + } + } else { + NavigationView { + content + } + .navigationViewStyle(.stack) } - .navigationViewStyle(.stack) - // } } } -- 2.45.2 From 0fe1cbc8886dd09e684b178cf03f51df6239c0d9 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 2 Jun 2024 12:31:19 -0400 Subject: [PATCH 06/59] Debrid: Begin using common protocols Unifying the debrid services under a protocol will help slim down on excess redundant code and allow for easy addition of new services in the future. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 +++ Ferrite/API/AllDebridWrapper.swift | 28 ++++++--- Ferrite/API/PremiumizeWrapper.swift | 13 +++-- Ferrite/API/RealDebridWrapper.swift | 79 ++++++++++++++------------ Ferrite/Models/DebridModels.swift | 16 ++++++ Ferrite/Protocols/Debrid.swift | 34 +++++++++++ Ferrite/ViewModels/DebridManager.swift | 26 ++++----- 7 files changed, 140 insertions(+), 64 deletions(-) create mode 100644 Ferrite/Models/DebridModels.swift create mode 100644 Ferrite/Protocols/Debrid.swift diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index de3bb7d..14919aa 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -154,6 +154,8 @@ 0CE1C4182981E8D700418F20 /* Plugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CE1C4172981E8D700418F20 /* Plugin.swift */; }; 0CEC8AAE299B31B6007BFE8F /* SearchFilterHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEC8AAD299B31B6007BFE8F /* SearchFilterHeaderView.swift */; }; 0CEC8AB2299B3B57007BFE8F /* LibraryPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEC8AB1299B3B57007BFE8F /* LibraryPickerView.swift */; }; + 0CF1ABDC2C0C04B2009F6C26 /* Debrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF1ABDB2C0C04B2009F6C26 /* Debrid.swift */; }; + 0CF1ABE22C0C3D2F009F6C26 /* DebridModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */; }; 0CF2C0A529D1EBD400E716DD /* UIApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF2C0A429D1EBD400E716DD /* UIApplication.swift */; }; /* End PBXBuildFile section */ @@ -300,6 +302,8 @@ 0CE1C4172981E8D700418F20 /* Plugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Plugin.swift; sourceTree = ""; }; 0CEC8AAD299B31B6007BFE8F /* SearchFilterHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilterHeaderView.swift; sourceTree = ""; }; 0CEC8AB1299B3B57007BFE8F /* LibraryPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryPickerView.swift; sourceTree = ""; }; + 0CF1ABDB2C0C04B2009F6C26 /* Debrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debrid.swift; sourceTree = ""; }; + 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridModels.swift; sourceTree = ""; }; 0CF2C0A429D1EBD400E716DD /* UIApplication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIApplication.swift; sourceTree = ""; }; /* End PBXFileReference section */ @@ -399,6 +403,7 @@ 0C3E00D7296F5B9A00ECECB2 /* PluginModels.swift */, 0C6771F929B3D1AE005D38D2 /* KodiModels.swift */, 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */, + 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */, ); path = Models; sourceTree = ""; @@ -492,6 +497,7 @@ isa = PBXGroup; children = ( 0CE1C4172981E8D700418F20 /* Plugin.swift */, + 0CF1ABDB2C0C04B2009F6C26 /* Debrid.swift */, ); path = Protocols; sourceTree = ""; @@ -923,6 +929,7 @@ 0C7075E629D3845D0093DB2D /* ShareSheet.swift in Sources */, 0C871BDF29994D9D005279AC /* FilterLabelView.swift in Sources */, 0CC2CA7429E24F63000A8585 /* ExpandedSearchable.swift in Sources */, + 0CF1ABE22C0C3D2F009F6C26 /* DebridModels.swift in Sources */, 0C6771F429B3B4FD005D38D2 /* KodiWrapper.swift in Sources */, 0C3E00D0296F4DB200ECECB2 /* ActionModels.swift in Sources */, 0C44E2AD28D51C63007711AE /* BackupManager.swift in Sources */, @@ -942,6 +949,7 @@ 0CE1C4182981E8D700418F20 /* Plugin.swift in Sources */, 0CEC8AB2299B3B57007BFE8F /* LibraryPickerView.swift in Sources */, 0C6771F629B3B602005D38D2 /* SettingsKodiView.swift in Sources */, + 0CF1ABDC2C0C04B2009F6C26 /* Debrid.swift in Sources */, 0C84F4842895BFED0074B7C9 /* SourceHtmlParser+CoreDataClass.swift in Sources */, 0C32FB572890D1F2002BD219 /* ListRowViews.swift in Sources */, 0CEC8AAE299B31B6007BFE8F /* SearchFilterHeaderView.swift in Sources */, diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 2b850ff..0f2c50e 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -8,24 +8,36 @@ import Foundation // TODO: Fix errors -public class AllDebrid { - let jsonDecoder = JSONDecoder() +public class AllDebrid: PollingDebridSource { + + public let id = "AllDebrid" + public var authTask: Task? let baseApiUrl = "https://api.alldebrid.com/v4" let appName = "Ferrite" - var authTask: Task? + let jsonDecoder = JSONDecoder() // Fetches information for PIN auth - public func getPinInfo() async throws -> PinResponse { + public func getAuthUrl() async throws -> URL { let url = try buildRequestURL(urlString: "\(baseApiUrl)/pin/get") let request = URLRequest(url: url) do { let (data, _) = try await URLSession.shared.data(for: request) - let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data - return rawResponse + // Validate the URL before doing anything else + let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data + guard let userUrl = URL(string: rawResponse.userURL) else { + throw ADError.AuthQuery(description: "The login URL is invalid") + } + + // Spawn the polling task separately + authTask = Task { + try await getApiKey(checkID: rawResponse.check, pin: rawResponse.pin) + } + + return userUrl } catch { print("Couldn't get pin information!") throw ADError.AuthQuery(description: error.localizedDescription) @@ -88,7 +100,7 @@ public class AllDebrid { } // Clears tokens. No endpoint to deregister a device - public func deleteTokens() { + public func logout() { FerriteKeychain.shared.delete("AllDebrid.ApiKey") UserDefaults.standard.removeObject(forKey: "AllDebrid.UseManualKey") } @@ -110,7 +122,7 @@ public class AllDebrid { if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { - deleteTokens() + logout() throw ADError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to AllDebrid in Settings.") } else { throw ADError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 3ad235c..d771536 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -7,14 +7,17 @@ import Foundation -public class Premiumize { - let jsonDecoder = JSONDecoder() +public class Premiumize: OAuthDebridSource { + + public let id = "Premiumize" let baseAuthUrl = "https://www.premiumize.me/authorize" let baseApiUrl = "https://www.premiumize.me/api" let clientId = "791565696" - public func buildAuthUrl() throws -> URL { + let jsonDecoder = JSONDecoder() + + public func getAuthUrl() throws -> URL { var urlComponents = URLComponents(string: baseAuthUrl)! urlComponents.queryItems = [ URLQueryItem(name: "client_id", value: clientId), @@ -59,7 +62,7 @@ public class Premiumize { } // Clears tokens. No endpoint to deregister a device - public func deleteTokens() { + public func logout() { FerriteKeychain.shared.delete("Premiumize.AccessToken") UserDefaults.standard.removeObject(forKey: "Premiumize.UseManualKey") } @@ -101,7 +104,7 @@ public class Premiumize { if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { - deleteTokens() + logout() throw PMError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to Premiumize in Settings.") } else { throw PMError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 1291b2e..14e46a5 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -7,14 +7,16 @@ import Foundation -public class RealDebrid { - let jsonDecoder = JSONDecoder() +public class RealDebrid: PollingDebridSource { + + public let id = "RealDebrid" + public var authTask: Task? let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" let baseApiUrl = "https://api.real-debrid.com/rest/1.0" let openSourceClientId = "X245A4XAIBGVM" - var authTask: Task? + let jsonDecoder = JSONDecoder() @MainActor func setUserDefaultsValue(_ value: Any, forKey: String) { @@ -27,7 +29,7 @@ public class RealDebrid { } // Fetches the device code from RD - public func getVerificationInfo() async throws -> DeviceCodeResponse { + public func getAuthUrl() async throws -> URL { var urlComponents = URLComponents(string: "\(baseAuthUrl)/device/code")! urlComponents.queryItems = [ URLQueryItem(name: "client_id", value: openSourceClientId), @@ -42,8 +44,18 @@ public class RealDebrid { do { let (data, _) = try await URLSession.shared.data(for: request) + // Validate the URL before doing anything else let rawResponse = try jsonDecoder.decode(DeviceCodeResponse.self, from: data) - return rawResponse + guard let directVerificationUrl = URL(string: rawResponse.directVerificationURL) else { + throw RDError.AuthQuery(description: "The verification URL is invalid") + } + + // Spawn the polling task separately + authTask = Task { + try await getDeviceCredentials(deviceCode: rawResponse.deviceCode) + } + + return directVerificationUrl } catch { print("Couldn't get the new client creds!") throw RDError.AuthQuery(description: error.localizedDescription) @@ -65,39 +77,33 @@ public class RealDebrid { let request = URLRequest(url: url) // Timer to poll RD API for credentials - authTask = Task { - var count = 0 + var count = 0 - while count < 12 { - if Task.isCancelled { - throw RDError.AuthQuery(description: "Token request cancelled.") - } - - let (data, _) = try await URLSession.shared.data(for: request) - - // We don't care if this fails - let rawResponse = try? self.jsonDecoder.decode(DeviceCredentialsResponse.self, from: data) - - // If there's a client ID from the response, end the task successfully - if let clientId = rawResponse?.clientID, let clientSecret = rawResponse?.clientSecret { - await setUserDefaultsValue(clientId, forKey: "RealDebrid.ClientId") - FerriteKeychain.shared.set(clientSecret, forKey: "RealDebrid.ClientSecret") - - try await getTokens(deviceCode: deviceCode) - - return - } else { - try await Task.sleep(seconds: 5) - count += 1 - } + while count < 12 { + if Task.isCancelled { + throw RDError.AuthQuery(description: "Token request cancelled.") } - throw RDError.AuthQuery(description: "Could not fetch the client ID and secret in time. Try logging in again.") + let (data, _) = try await URLSession.shared.data(for: request) + + // We don't care if this fails + let rawResponse = try? self.jsonDecoder.decode(DeviceCredentialsResponse.self, from: data) + + // If there's a client ID from the response, end the task successfully + if let clientId = rawResponse?.clientID, let clientSecret = rawResponse?.clientSecret { + await setUserDefaultsValue(clientId, forKey: "RealDebrid.ClientId") + FerriteKeychain.shared.set(clientSecret, forKey: "RealDebrid.ClientSecret") + + try await getTokens(deviceCode: deviceCode) + + return + } else { + try await Task.sleep(seconds: 5) + count += 1 + } } - if case let .failure(error) = await authTask?.result { - throw error - } + throw RDError.AuthQuery(description: "Could not fetch the client ID and secret in time. Try logging in again.") } // Fetch all tokens for the user and store in FerriteKeychain.shared @@ -163,8 +169,9 @@ public class RealDebrid { return FerriteKeychain.shared.get("RealDebrid.AccessToken") == key } - - public func deleteTokens() async throws { + + // Deletes tokens from device and RD's servers + public func logout() async { FerriteKeychain.shared.delete("RealDebrid.RefreshToken") FerriteKeychain.shared.delete("RealDebrid.ClientSecret") await removeUserDefaultsValue(forKey: "RealDebrid.ClientId") @@ -198,7 +205,7 @@ public class RealDebrid { if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { - try await deleteTokens() + await logout() throw RDError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to RealDebrid in Settings.") } else { throw RDError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift new file mode 100644 index 0000000..011c61f --- /dev/null +++ b/Ferrite/Models/DebridModels.swift @@ -0,0 +1,16 @@ +// +// DebridModels.swift +// Ferrite +// +// Created by Brian Dashore on 6/2/24. +// + +import Foundation + +public struct DebridIAFile { + +} + +public struct DebridCloudFile { + +} diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift new file mode 100644 index 0000000..3a51061 --- /dev/null +++ b/Ferrite/Protocols/Debrid.swift @@ -0,0 +1,34 @@ +// +// Debrid.swift +// Ferrite +// +// Created by Brian Dashore on 6/1/24. +// + +import Foundation + +public protocol DebridSource { + // ID of the service + var id: String { get } + + // Common authentication functions + func setApiKey(_ key: String) -> Bool + func logout() async +} + +public protocol PollingDebridSource: DebridSource { + // Task reference for polling + var authTask: Task? { get set } + + // Fetches the Auth URL + func getAuthUrl() async throws -> URL +} + +public protocol OAuthDebridSource: DebridSource { + + // Fetches the auth URL + func getAuthUrl() throws -> URL + + // Handles an OAuth callback + func handleAuthCallback(url: URL) throws +} diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index e7da300..5d464fd 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -450,10 +450,10 @@ public class DebridManager: ObservableObject { private func authenticateRd() async -> Bool { do { realDebridAuthProcessing = true - let verificationResponse = try await realDebrid.getVerificationInfo() + let authUrl = try await realDebrid.getAuthUrl() - if validateAuthUrl(URL(string: verificationResponse.directVerificationURL)) { - try await realDebrid.getDeviceCredentials(deviceCode: verificationResponse.deviceCode) + if validateAuthUrl(authUrl) { + try await realDebrid.authTask?.value return true } else { throw RealDebrid.RDError.AuthQuery(description: "The verification URL was invalid") @@ -469,10 +469,10 @@ public class DebridManager: ObservableObject { private func authenticateAd() async -> Bool { do { allDebridAuthProcessing = true - let pinResponse = try await allDebrid.getPinInfo() + let authUrl = try await allDebrid.getAuthUrl() - if validateAuthUrl(URL(string: pinResponse.userURL)) { - try await allDebrid.getApiKey(checkID: pinResponse.check, pin: pinResponse.pin) + if validateAuthUrl(authUrl) { + try await allDebrid.authTask?.value return true } else { throw AllDebrid.ADError.AuthQuery(description: "The PIN URL was invalid") @@ -488,7 +488,7 @@ public class DebridManager: ObservableObject { private func authenticatePm() async { do { premiumizeAuthProcessing = true - let tempAuthUrl = try premiumize.buildAuthUrl() + let tempAuthUrl = try premiumize.getAuthUrl() validateAuthUrl(tempAuthUrl, useAuthSession: true) } catch { @@ -538,16 +538,12 @@ public class DebridManager: ObservableObject { } private func logoutRd() async { - do { - try await realDebrid.deleteTokens() - enabledDebrids.remove(.realDebrid) - } catch { - await sendDebridError(error, prefix: "RealDebrid logout error") - } + await realDebrid.logout() + enabledDebrids.remove(.realDebrid) } private func logoutAd() { - allDebrid.deleteTokens() + allDebrid.logout() enabledDebrids.remove(.allDebrid) logManager?.info( @@ -557,7 +553,7 @@ public class DebridManager: ObservableObject { } private func logoutPm() { - premiumize.deleteTokens() + premiumize.logout() enabledDebrids.remove(.premiumize) } -- 2.45.2 From 37450ef97999a6cf9de1687f28e587446800f873 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 2 Jun 2024 23:08:05 -0400 Subject: [PATCH 07/59] Debrid: Add InstantAvailability and download to protocol Unify IA into a passable client side structure and add a common download method to the DebridSource protocol. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 2 +- Ferrite/API/AllDebridWrapper.swift | 23 ++- Ferrite/API/PremiumizeWrapper.swift | 30 ++-- Ferrite/API/RealDebridWrapper.swift | 61 ++++---- Ferrite/Models/DebridModels.swift | 22 ++- Ferrite/Models/RealDebridModels.swift | 13 -- Ferrite/Protocols/Debrid.swift | 5 +- Ferrite/ViewModels/DebridManager.swift | 134 +++++++----------- .../Views/CommonViews/HybridSecureField.swift | 4 +- Ferrite/Views/SettingsView.swift | 2 +- .../Views/SheetViews/BatchChoiceView.swift | 6 +- 11 files changed, 160 insertions(+), 142 deletions(-) diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index 14919aa..ed626ca 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -394,6 +394,7 @@ 0C6C7C9C29315292002DF910 /* AllDebridModels.swift */, 0C7ED14028D61BBA009E29AD /* BackupModels.swift */, 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */, + 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */, 0C84FCE629E4B61A00B0DFE4 /* FilterModels.swift */, 0C68135128BC1A7C00FAD890 /* GithubModels.swift */, 0C422E7F293542F300486D65 /* PremiumizeModels.swift */, @@ -403,7 +404,6 @@ 0C3E00D7296F5B9A00ECECB2 /* PluginModels.swift */, 0C6771F929B3D1AE005D38D2 /* KodiModels.swift */, 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */, - 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */, ); path = Models; sourceTree = ""; diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 0f2c50e..c5616ee 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -9,7 +9,6 @@ import Foundation // TODO: Fix errors public class AllDebrid: PollingDebridSource { - public let id = "AllDebrid" public var authTask: Task? @@ -96,7 +95,7 @@ public class AllDebrid: PollingDebridSource { } public func getToken() -> String? { - return FerriteKeychain.shared.get("AllDebrid.ApiKey") + FerriteKeychain.shared.get("AllDebrid.ApiKey") } // Clears tokens. No endpoint to deregister a device @@ -146,6 +145,20 @@ public class AllDebrid: PollingDebridSource { } } + // Wrapper function to fetch a download link from the API + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + let magnetID = try await addMagnet(magnet: magnet) + let lockedLink = try await fetchMagnetStatus( + magnetId: magnetID, + selectedIndex: iaFile?.fileId ?? 0 + ) + + try await saveLink(link: lockedLink) + let downloadUrl = try await unlockLink(lockedLink: lockedLink) + + return downloadUrl + } + // Adds a magnet link to the user's AD account public func addMagnet(magnet: Magnet) async throws -> Int { guard let magnetLink = magnet.link else { @@ -255,7 +268,7 @@ public class AllDebrid: PollingDebridSource { try await performRequest(request: &request, requestName: #function) } - public func instantAvailability(magnets: [Magnet]) async throws -> [IA] { + public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { let queryItems = magnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/instant", queryItems: queryItems)) @@ -266,10 +279,10 @@ public class AllDebrid: PollingDebridSource { let availableHashes = filteredMagnets.map { magnetResp in // Force unwrap is OK here since the filter caught any nil values let files = magnetResp.files!.enumerated().map { index, magnetFile in - IAFile(id: index, fileName: magnetFile.name) + DebridIAFile(fileId: index, name: magnetFile.name) } - return IA( + return DebridIA( magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index d771536..d0ab2eb 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -8,7 +8,6 @@ import Foundation public class Premiumize: OAuthDebridSource { - public let id = "Premiumize" let baseAuthUrl = "https://www.premiumize.me/authorize" @@ -58,7 +57,7 @@ public class Premiumize: OAuthDebridSource { } public func getToken() -> String? { - return FerriteKeychain.shared.get("Premiumize.AccessToken") + FerriteKeychain.shared.get("Premiumize.AccessToken") } // Clears tokens. No endpoint to deregister a device @@ -162,15 +161,15 @@ public class Premiumize: OAuthDebridSource { // Function to divide and execute DDL endpoint requests in parallel // Calls this for 10 requests at a time to not overwhelm API servers - public func divideDDLRequests(magnetChunk: [Magnet]) async throws -> [IA] { - let tempIA = try await withThrowingTaskGroup(of: Premiumize.IA.self) { group in + public func divideDDLRequests(magnetChunk: [Magnet]) async throws -> [DebridIA] { + let tempIA = try await withThrowingTaskGroup(of: DebridIA.self) { group in for magnet in magnetChunk { group.addTask { try await self.fetchDDL(magnet: magnet) } } - var chunkedIA: [Premiumize.IA] = [] + var chunkedIA: [DebridIA] = [] for try await ia in group { chunkedIA.append(ia) } @@ -181,7 +180,7 @@ public class Premiumize: OAuthDebridSource { } // Grabs DDL links - func fetchDDL(magnet: Magnet) async throws -> IA { + func fetchDDL(magnet: Magnet) async throws -> DebridIA { if magnet.hash == nil { throw PMError.EmptyData } @@ -200,13 +199,14 @@ public class Premiumize: OAuthDebridSource { if !rawResponse.content.isEmpty { let files = rawResponse.content.map { file in - IAFile( + DebridIAFile( + fileId: 0, name: file.path.split(separator: "/").last.flatMap { String($0) } ?? file.path, streamUrlString: file.link ) } - return IA( + return DebridIA( magnet: magnet, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files @@ -216,6 +216,20 @@ public class Premiumize: OAuthDebridSource { } } + // Wrapper function to fetch a DDL link from the API + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + // Store the item in PM cloud for later use + try await createTransfer(magnet: magnet) + + if let iaFile, let streamUrlString = iaFile.streamUrlString { + return streamUrlString + } else if let premiumizeItem = ia, let firstFile = premiumizeItem.files[safe: 0], let streamUrlString = firstFile.streamUrlString { + return streamUrlString + } else { + throw PMError.FailedRequest(description: "Could not fetch your file from the Premiumize API") + } + } + func createTransfer(magnet: Magnet) async throws { guard let magnetLink = magnet.link else { throw PMError.FailedRequest(description: "The magnet link is invalid") diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 14e46a5..f11812d 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -8,7 +8,6 @@ import Foundation public class RealDebrid: PollingDebridSource { - public let id = "RealDebrid" public var authTask: Task? @@ -87,7 +86,7 @@ public class RealDebrid: PollingDebridSource { let (data, _) = try await URLSession.shared.data(for: request) // We don't care if this fails - let rawResponse = try? self.jsonDecoder.decode(DeviceCredentialsResponse.self, from: data) + let rawResponse = try? jsonDecoder.decode(DeviceCredentialsResponse.self, from: data) // If there's a client ID from the response, end the task successfully if let clientId = rawResponse?.clientID, let clientSecret = rawResponse?.clientSecret { @@ -169,7 +168,7 @@ public class RealDebrid: PollingDebridSource { return FerriteKeychain.shared.get("RealDebrid.AccessToken") == key } - + // Deletes tokens from device and RD's servers public func logout() async { FerriteKeychain.shared.delete("RealDebrid.RefreshToken") @@ -213,9 +212,8 @@ public class RealDebrid: PollingDebridSource { } // Checks if the magnet is streamable on RD - // Currently does not work for batch links - public func instantAvailability(magnets: [Magnet]) async throws -> [IA] { - var availableHashes: [RealDebrid.IA] = [] + public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { + var availableHashes: [DebridIA] = [] var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/instantAvailability/\(magnets.compactMap(\.hash).joined(separator: "/"))")!) let data = try await performRequest(request: &request, requestName: #function) @@ -232,7 +230,7 @@ public class RealDebrid: PollingDebridSource { continue } - // Is this a batch + // Is this a batch? if data.rd.count > 1 || data.rd[0].count > 1 { // Batch array let batches = data.rd.map { fileDict in @@ -244,22 +242,18 @@ public class RealDebrid: PollingDebridSource { return RealDebrid.IABatch(files: batchFiles) } - // RD files array - // Possibly sort this in the future, but not sure how at the moment - var files: [RealDebrid.IAFile] = [] + var files: [DebridIAFile] = [] - for index in batches.indices { - let batchFiles = batches[index].files + for batch in batches { + let batchFileIds = batch.files.map(\.id) - for batchFileIndex in batchFiles.indices { - let batchFile = batchFiles[batchFileIndex] - - if !files.contains(where: { $0.name == batchFile.fileName }) { + for batchFile in batch.files { + if !files.contains(where: { $0.fileId == batchFile.id }) { files.append( - RealDebrid.IAFile( + DebridIAFile( + fileId: batchFile.id, name: batchFile.fileName, - batchIndex: index, - batchFileIndex: batchFileIndex + batchIds: batchFileIds ) ) } @@ -268,18 +262,18 @@ public class RealDebrid: PollingDebridSource { // TTL: 5 minutes availableHashes.append( - RealDebrid.IA( + DebridIA( magnet: Magnet(hash: hash, link: nil), expiryTimeStamp: Date().timeIntervalSince1970 + 300, - files: files, - batches: batches + files: files ) ) } else { availableHashes.append( - RealDebrid.IA( + DebridIA( magnet: Magnet(hash: hash, link: nil), - expiryTimeStamp: Date().timeIntervalSince1970 + 300 + expiryTimeStamp: Date().timeIntervalSince1970 + 300, + files: [] ) ) } @@ -288,6 +282,21 @@ public class RealDebrid: PollingDebridSource { return availableHashes } + // Wrapper function to fetch a download link from the API + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + let selectedMagnetId = try await addMagnet(magnet: magnet) + + try await selectFiles(debridID: selectedMagnetId, fileIds: iaFile?.batchIds ?? []) + + let torrentLink = try await torrentInfo( + debridID: selectedMagnetId, + selectedIndex: iaFile?.fileId ?? 0 + ) + let downloadLink = try await unrestrictLink(debridDownloadLink: torrentLink) + + return downloadLink + } + // Adds a magnet link to the user's RD account public func addMagnet(magnet: Magnet) async throws -> String { guard let magnetLink = magnet.link else { @@ -335,9 +344,11 @@ public class RealDebrid: PollingDebridSource { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode(TorrentInfoResponse.self, from: data) + let filteredFiles = rawResponse.files.filter { $0.selected == 1 } + let linkIndex = filteredFiles.firstIndex(where: { $0.id == selectedIndex }) // Let the user know if a torrent is downloading - if let torrentLink = rawResponse.links[safe: selectedIndex ?? -1], rawResponse.status == "downloaded" { + if let torrentLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { return torrentLink } else if rawResponse.status == "downloading" || rawResponse.status == "queued" { throw RDError.EmptyTorrents diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 011c61f..14a46a1 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -7,10 +7,24 @@ import Foundation -public struct DebridIAFile { - +public struct DebridIA: Sendable, Hashable { + let magnet: Magnet + let expiryTimeStamp: Double + var files: [DebridIAFile] } -public struct DebridCloudFile { - +public struct DebridIAFile: Hashable, Sendable { + let fileId: Int + let name: String + let streamUrlString: String? + let batchIds: [Int] + + init(fileId: Int, name: String, streamUrlString: String? = nil, batchIds: [Int] = []) { + self.fileId = fileId + self.name = name + self.streamUrlString = streamUrlString + self.batchIds = batchIds + } } + +public struct DebridCloudFile {} diff --git a/Ferrite/Models/RealDebridModels.swift b/Ferrite/Models/RealDebridModels.swift index 393acb6..134026f 100644 --- a/Ferrite/Models/RealDebridModels.swift +++ b/Ferrite/Models/RealDebridModels.swift @@ -92,13 +92,6 @@ public extension RealDebrid { // MARK: - Instant Availability client side structures - struct IA: Codable, Hashable, Sendable { - let magnet: Magnet - let expiryTimeStamp: Double - var files: [IAFile] = [] - var batches: [IABatch] = [] - } - struct IABatch: Codable, Hashable, Sendable { let files: [IABatchFile] } @@ -108,12 +101,6 @@ public extension RealDebrid { let fileName: String } - struct IAFile: Codable, Hashable, Sendable { - let name: String - let batchIndex: Int - let batchFileIndex: Int - } - // MARK: - addMagnet endpoint struct AddMagnetResponse: Codable, Sendable { diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 3a51061..396ebe6 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -14,6 +14,10 @@ public protocol DebridSource { // Common authentication functions func setApiKey(_ key: String) -> Bool func logout() async + + // Fetches a download link from a source + // Include the instant availability information with the args + func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String } public protocol PollingDebridSource: DebridSource { @@ -25,7 +29,6 @@ public protocol PollingDebridSource: DebridSource { } public protocol OAuthDebridSource: DebridSource { - // Fetches the auth URL func getAuthUrl() throws -> URL diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 5d464fd..c39c904 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -59,12 +59,12 @@ public class DebridManager: ObservableObject { var realDebridAuthProcessing: Bool = false // RealDebrid fetch variables - @Published var realDebridIAValues: [RealDebrid.IA] = [] + @Published var realDebridIAValues: [DebridIA] = [] @Published var showDeleteAlert: Bool = false - var selectedRealDebridItem: RealDebrid.IA? - var selectedRealDebridFile: RealDebrid.IAFile? + var selectedRealDebridItem: DebridIA? + var selectedRealDebridFile: DebridIAFile? var selectedRealDebridID: String? // TODO: Maybe make these generic? @@ -77,10 +77,10 @@ public class DebridManager: ObservableObject { var allDebridAuthProcessing: Bool = false // AllDebrid fetch variables - @Published var allDebridIAValues: [AllDebrid.IA] = [] + @Published var allDebridIAValues: [DebridIA] = [] - var selectedAllDebridItem: AllDebrid.IA? - var selectedAllDebridFile: AllDebrid.IAFile? + var selectedAllDebridItem: DebridIA? + var selectedAllDebridFile: DebridIAFile? // AllDebrid cloud variables @Published var allDebridCloudMagnets: [AllDebrid.MagnetStatusData] = [] @@ -91,10 +91,10 @@ public class DebridManager: ObservableObject { var premiumizeAuthProcessing: Bool = false // Premiumize fetch variables - @Published var premiumizeIAValues: [Premiumize.IA] = [] + @Published var premiumizeIAValues: [DebridIA] = [] - var selectedPremiumizeItem: Premiumize.IA? - var selectedPremiumizeFile: Premiumize.IAFile? + var selectedPremiumizeItem: DebridIA? + var selectedPremiumizeFile: DebridIAFile? // Premiumize cloud variables @Published var premiumizeCloudItems: [Premiumize.UserItem] = [] @@ -282,10 +282,10 @@ public class DebridManager: ObservableObject { return .none } - if realDebridMatch.batches.isEmpty { - return .full - } else { + if realDebridMatch.files.count > 1 { return .partial + } else { + return .full } case .allDebrid: guard let allDebridMatch = allDebridIAValues.first(where: { magnetHash == $0.magnet.hash }) else { @@ -578,7 +578,7 @@ public class DebridManager: ObservableObject { case .allDebrid: await fetchAdDownload(magnet: magnet, existingLockedLink: cloudInfo) case .premiumize: - await fetchPmDownload(cloudItemId: cloudInfo) + await fetchPmDownload(magnet: magnet, cloudItemId: cloudInfo) case .none: break } @@ -586,6 +586,7 @@ public class DebridManager: ObservableObject { func fetchRdDownload(magnet: Magnet?, existingLink: String?) async { // If an existing link is passed in args, set it to that. Otherwise, find one from RD cloud. + /* let torrentLink: String? if let existingLink { torrentLink = existingLink @@ -596,42 +597,23 @@ public class DebridManager: ObservableObject { let existingTorrent = realDebridCloudTorrents.first { $0.hash == selectedRealDebridItem?.magnet.hash && $0.status == "downloaded" } torrentLink = existingTorrent?.links[safe: selectedRealDebridFile?.batchFileIndex ?? 0] } + */ do { // If the links match from a user's downloads, no need to re-run a download + /* if let torrentLink, let downloadLink = await checkRdUserDownloads(userTorrentLink: torrentLink) { downloadUrl = downloadLink - } else if let magnet { - // Add a magnet after all the cache checks fail - selectedRealDebridID = try await realDebrid.addMagnet(magnet: magnet) + } else */ + if let magnet { + let downloadLink = try await realDebrid.getDownloadLink( + magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile + ) - var fileIds: [Int] = [] - if let iaFile = selectedRealDebridFile { - guard let iaBatchFromFile = selectedRealDebridItem?.batches[safe: iaFile.batchIndex] else { - return - } - - fileIds = iaBatchFromFile.files.map(\.id) - } - - if let realDebridId = selectedRealDebridID { - try await realDebrid.selectFiles(debridID: realDebridId, fileIds: fileIds) - - let torrentLink = try await realDebrid.torrentInfo( - debridID: realDebridId, - selectedIndex: selectedRealDebridFile?.batchFileIndex ?? 0 - ) - let downloadLink = try await realDebrid.unrestrictLink(debridDownloadLink: torrentLink) - - downloadUrl = downloadLink - } else { - logManager?.error( - "RealDebrid: Could not cache torrent with hash \(String(describing: magnet.hash))", - description: "Could not cache this torrent. Aborting." - ) - } + // Update the UI + downloadUrl = downloadLink } else { throw RealDebrid.RDError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") } @@ -645,7 +627,7 @@ public class DebridManager: ObservableObject { default: await sendDebridError(error, prefix: "RealDebrid download error", cancelString: "Download cancelled") - await deleteRdTorrent(torrentID: selectedRealDebridID, presentError: false) + // await deleteRdTorrent(torrentID: selectedRealDebridID, presentError: false) } logManager?.hideIndeterminateToast() @@ -695,8 +677,6 @@ public class DebridManager: ObservableObject { do { if let torrentID { try await realDebrid.deleteTorrent(debridID: torrentID) - } else if let selectedTorrentID = selectedRealDebridID { - try await realDebrid.deleteTorrent(debridID: selectedTorrentID) } else { throw RealDebrid.RDError.FailedRequest(description: "No torrent ID was provided") } @@ -720,34 +700,36 @@ public class DebridManager: ObservableObject { } } - // TODO: Integrate with AD saved links func fetchAdDownload(magnet: Magnet?, existingLockedLink: String?) async { // If an existing link is passed in args, set it to that. Otherwise, find one from AD cloud. - let lockedLink: String? - if let existingLockedLink { - lockedLink = existingLockedLink - } else { - // Bypass the TTL for up to date information - await fetchAdCloud(bypassTTL: true) + /* + let lockedLink: String? + if let existingLockedLink { + lockedLink = existingLockedLink + } else { + // Bypass the TTL for up to date information + await fetchAdCloud(bypassTTL: true) - let existingMagnet = allDebridCloudMagnets.first { $0.hash == selectedAllDebridItem?.magnet.hash && $0.status == "Ready" } - lockedLink = existingMagnet?.links[safe: selectedAllDebridFile?.id ?? 0]?.link - } + let existingMagnet = allDebridCloudMagnets.first { $0.hash == selectedAllDebridItem?.magnet.hash && $0.status == "Ready" } + lockedLink = existingMagnet?.links[safe: selectedAllDebridFile?.fileId ?? 0]?.link + } + */ do { - if let lockedLink, - let unlockedLink = await checkAdUserLinks(lockedLink: lockedLink) - { - downloadUrl = unlockedLink - } else if let magnet { - let magnetID = try await allDebrid.addMagnet(magnet: magnet) - let lockedLink = try await allDebrid.fetchMagnetStatus( - magnetId: magnetID, - selectedIndex: selectedAllDebridFile?.id ?? 0 + /* + if let lockedLink, + let unlockedLink = await checkAdUserLinks(lockedLink: lockedLink) + { + downloadUrl = unlockedLink + } else if let magnet { + */ + if let magnet { + let downloadLink = try await allDebrid.getDownloadLink( + magnet: magnet, ia: selectedAllDebridItem, iaFile: selectedAllDebridFile ) - try await allDebrid.saveLink(link: lockedLink) - downloadUrl = try await allDebrid.unlockLink(lockedLink: lockedLink) + // Update UI + downloadUrl = downloadLink } else { throw AllDebrid.ADError.FailedRequest(description: "Could not fetch your file from AllDebrid's cache or API") } @@ -810,28 +792,22 @@ public class DebridManager: ObservableObject { } } - func fetchPmDownload(cloudItemId: String? = nil) async { + func fetchPmDownload(magnet: Magnet?, cloudItemId: String? = nil) async { do { if let cloudItemId { downloadUrl = try await premiumize.itemDetails(itemID: cloudItemId).link - } else if let premiumizeFile = selectedPremiumizeFile { - downloadUrl = premiumizeFile.streamUrlString - } else if - let premiumizeItem = selectedPremiumizeItem, - let firstFile = premiumizeItem.files[safe: 0] - { - downloadUrl = firstFile.streamUrlString + } else if let magnet { + let downloadLink = try await premiumize.getDownloadLink( + magnet: magnet, ia: selectedPremiumizeItem, iaFile: selectedPremiumizeFile + ) + + downloadUrl = downloadLink } else { - throw Premiumize.PMError.FailedRequest(description: "There were no items or files found!") + throw Premiumize.PMError.FailedRequest(description: "Could not fetch your file from Premiumize's cache or API") } // Fetch one more time to add updated data into the PM cloud cache await fetchPmCloud(bypassTTL: true) - - // Add a PM transfer if the item exists - if let premiumizeItem = selectedPremiumizeItem { - try await premiumize.createTransfer(magnet: premiumizeItem.magnet) - } } catch { await sendDebridError(error, prefix: "Premiumize download error", cancelString: "Download or transfer cancelled") } diff --git a/Ferrite/Views/CommonViews/HybridSecureField.swift b/Ferrite/Views/CommonViews/HybridSecureField.swift index d1ac923..665623e 100644 --- a/Ferrite/Views/CommonViews/HybridSecureField.swift +++ b/Ferrite/Views/CommonViews/HybridSecureField.swift @@ -21,7 +21,7 @@ struct HybridSecureField: View { private var isFieldDisabled: Bool = false init(text: Binding, onCommit: (() -> Void)? = nil, showPassword: Bool = false) { - self._text = text + _text = text if let onCommit { self.onCommit = onCommit } @@ -57,6 +57,6 @@ struct HybridSecureField: View { extension HybridSecureField { public func fieldDisabled(_ isFieldDisabled: Bool) -> Self { - modifyViewProp({ $0.isFieldDisabled = isFieldDisabled }) + modifyViewProp { $0.isFieldDisabled = isFieldDisabled } } } diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index 28f18fc..019c6bb 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -96,7 +96,7 @@ struct SettingsView: View { if changed { Task { let dataRecords = await WKWebsiteDataStore.default().dataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes()) - + await WKWebsiteDataStore.default().removeData(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), for: dataRecords) } } diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index 771395f..5e7e9da 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -36,11 +36,11 @@ struct BatchChoiceView: View { } case .allDebrid: ForEach(debridManager.selectedAllDebridItem?.files ?? [], id: \.self) { file in - if file.fileName.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { - Button(file.fileName) { + if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { + Button(file.name) { debridManager.selectedAllDebridFile = file - queueCommonDownload(fileName: file.fileName) + queueCommonDownload(fileName: file.name) } } } -- 2.45.2 From 9e306eff1eb2e3fba8105ffc7cdc33a57abe9926 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 15:46:18 -0400 Subject: [PATCH 08/59] Debrid: Add protocol for cloud handling Cloud downloads and torrents are now unified under their own protocol and models. Downloads and torrents are separated. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 75 ++++++++++++------- Ferrite/API/PremiumizeWrapper.swift | 24 +++++- Ferrite/API/RealDebridWrapper.swift | 58 ++++++++------ Ferrite/Models/DebridModels.swift | 16 +++- Ferrite/Protocols/Debrid.swift | 10 +++ Ferrite/ViewModels/DebridManager.swift | 34 ++++----- .../Library/Cloud/AllDebridCloudView.swift | 54 ++++++------- .../Library/Cloud/PremiumizeCloudView.swift | 18 ++--- .../Library/Cloud/RealDebridCloudView.swift | 44 +++++------ 9 files changed, 204 insertions(+), 129 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index c5616ee..d0251e5 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -10,6 +10,8 @@ import Foundation // TODO: Fix errors public class AllDebrid: PollingDebridSource { public let id = "AllDebrid" + public let abbreviation = "AD" + public let website = "https://alldebrid.com" public var authTask: Task? let baseApiUrl = "https://api.alldebrid.com/v4" @@ -203,28 +205,6 @@ public class AllDebrid: PollingDebridSource { } } - public func userMagnets() async throws -> [MagnetStatusData] { - var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status")) - - let data = try await performRequest(request: &request, requestName: #function) - let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data - - if rawResponse.magnets.isEmpty { - throw ADError.EmptyData - } else { - return rawResponse.magnets - } - } - - public func deleteMagnet(magnetId: Int) async throws { - let queryItems = [ - URLQueryItem(name: "id", value: String(magnetId)) - ] - var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/delete", queryItems: queryItems)) - - try await performRequest(request: &request, requestName: #function) - } - public func unlockLink(lockedLink: String) async throws -> String { let queryItems = [ URLQueryItem(name: "link", value: lockedLink) @@ -246,7 +226,40 @@ public class AllDebrid: PollingDebridSource { try await performRequest(request: &request, requestName: #function) } - public func savedLinks() async throws -> [SavedLink] { + // Referred to as "User magnets" in AllDebrid's API + public func getUserTorrents() async throws -> [DebridCloudTorrent] { + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status")) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data + + if rawResponse.magnets.isEmpty { + throw ADError.EmptyData + } + + let torrents = rawResponse.magnets.map { magnetResponse in + DebridCloudTorrent( + torrentId: String(magnetResponse.id), + fileName: magnetResponse.filename, + status: magnetResponse.status, + hash: magnetResponse.hash, + links: magnetResponse.links.map { $0.link } + ) + } + + return torrents + } + + public func deleteTorrent(torrentId: String) async throws { + let queryItems = [ + URLQueryItem(name: "id", value: torrentId) + ] + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/delete", queryItems: queryItems)) + + try await performRequest(request: &request, requestName: #function) + } + + public func getUserDownloads() async throws -> [DebridCloudDownload] { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links")) let data = try await performRequest(request: &request, requestName: #function) @@ -254,14 +267,22 @@ public class AllDebrid: PollingDebridSource { if rawResponse.links.isEmpty { throw ADError.EmptyData - } else { - return rawResponse.links } + + // The link is also the ID + let downloads = rawResponse.links.map { link in + DebridCloudDownload( + downloadId: link.link, fileName: link.filename, link: link.link + ) + } + + return downloads } - public func deleteLink(link: String) async throws { + // The downloadId is actually the download link + public func deleteDownload(downloadId: String) async throws { let queryItems = [ - URLQueryItem(name: "link", value: link) + URLQueryItem(name: "link", value: downloadId) ] var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links/delete", queryItems: queryItems)) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index d0ab2eb..54d489f 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -9,6 +9,8 @@ import Foundation public class Premiumize: OAuthDebridSource { public let id = "Premiumize" + public let abbreviation = "PM" + public let website = "https://premiumize.me" let baseAuthUrl = "https://www.premiumize.me/authorize" let baseApiUrl = "https://www.premiumize.me/api" @@ -247,7 +249,7 @@ public class Premiumize: OAuthDebridSource { try await performRequest(request: &request, requestName: #function) } - func userItems() async throws -> [UserItem] { + public func getUserDownloads() async throws -> [DebridCloudDownload] { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/listall")!) let data = try await performRequest(request: &request, requestName: #function) @@ -257,7 +259,12 @@ public class Premiumize: OAuthDebridSource { throw PMError.EmptyData } - return rawResponse.files + // The "link" is the ID for Premiumize + let downloads = rawResponse.files.map { file in + DebridCloudDownload(downloadId: file.id, fileName: file.name, link: file.id) + } + + return downloads } func itemDetails(itemID: String) async throws -> ItemDetailsResponse { @@ -275,16 +282,25 @@ public class Premiumize: OAuthDebridSource { return rawResponse } - func deleteItem(itemID: String) async throws { + public func deleteDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/delete")!) request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") var bodyComponents = URLComponents() - bodyComponents.queryItems = [URLQueryItem(name: "id", value: itemID)] + bodyComponents.queryItems = [URLQueryItem(name: "id", value: downloadId)] request.httpBody = bodyComponents.query?.data(using: .utf8) try await performRequest(request: &request, requestName: #function) } + + // No user torrents for Premiumize + public func getUserTorrents() async throws -> [DebridCloudTorrent] { + return [] + } + + public func deleteTorrent(torrentId: String) async throws { + return + } } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index f11812d..59a362b 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -9,6 +9,8 @@ import Foundation public class RealDebrid: PollingDebridSource { public let id = "RealDebrid" + public let abbreviation = "RD" + public let website = "https://real-debrid.com" public var authTask: Task? let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" @@ -357,24 +359,6 @@ public class RealDebrid: PollingDebridSource { } } - // Gets the user's torrent library - public func userTorrents() async throws -> [UserTorrentsResponse] { - var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents")!) - - let data = try await performRequest(request: &request, requestName: #function) - let rawResponse = try jsonDecoder.decode([UserTorrentsResponse].self, from: data) - - return rawResponse - } - - // Deletes a torrent download from RD - public func deleteTorrent(debridID: String) async throws { - var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/delete/\(debridID)")!) - request.httpMethod = "DELETE" - - try await performRequest(request: &request, requestName: #function) - } - // Downloads link from selectFiles for playback public func unrestrictLink(debridDownloadLink: String) async throws -> String { var request = URLRequest(url: URL(string: "\(baseApiUrl)/unrestrict/link")!) @@ -392,18 +376,48 @@ public class RealDebrid: PollingDebridSource { return rawResponse.download } + // Gets the user's torrent library + public func getUserTorrents() async throws -> [DebridCloudTorrent] { + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents")!) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode([UserTorrentsResponse].self, from: data) + let torrents = rawResponse.map { response in + DebridCloudTorrent( + torrentId: response.id, + fileName: response.filename, + status: response.status, + hash: response.hash, + links: response.links + ) + } + + return torrents + } + + // Deletes a torrent download from RD + public func deleteTorrent(torrentId: String) async throws { + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/delete/\(torrentId)")!) + request.httpMethod = "DELETE" + + try await performRequest(request: &request, requestName: #function) + } + // Gets the user's downloads - public func userDownloads() async throws -> [UserDownloadsResponse] { + public func getUserDownloads() async throws -> [DebridCloudDownload] { var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads")!) let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserDownloadsResponse].self, from: data) + let downloads = rawResponse.map { response in + DebridCloudDownload(downloadId: response.id, fileName: response.filename, link: response.download) + } - return rawResponse + return downloads } - public func deleteDownload(debridID: String) async throws { - var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads/delete/\(debridID)")!) + public func deleteDownload(downloadId: String) async throws { + var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads/delete/\(downloadId)")!) request.httpMethod = "DELETE" try await performRequest(request: &request, requestName: #function) diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 14a46a1..1431807 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -7,7 +7,7 @@ import Foundation -public struct DebridIA: Sendable, Hashable { +public struct DebridIA: Hashable, Sendable { let magnet: Magnet let expiryTimeStamp: Double var files: [DebridIAFile] @@ -27,4 +27,16 @@ public struct DebridIAFile: Hashable, Sendable { } } -public struct DebridCloudFile {} +public struct DebridCloudDownload: Hashable, Sendable { + let downloadId: String + let fileName: String + let link: String +} + +public struct DebridCloudTorrent: Hashable, Sendable { + let torrentId: String + let fileName: String + let status: String + let hash: String + let links: [String] +} diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 396ebe6..b4cd275 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -10,6 +10,8 @@ import Foundation public protocol DebridSource { // ID of the service var id: String { get } + var abbreviation: String { get } + var website: String { get } // Common authentication functions func setApiKey(_ key: String) -> Bool @@ -18,6 +20,14 @@ public protocol DebridSource { // Fetches a download link from a source // Include the instant availability information with the args func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String + + // Fetches cloud information from the service + func getUserDownloads() async throws -> [DebridCloudDownload] + func getUserTorrents() async throws -> [DebridCloudTorrent] + + // Deletes information from the service + func deleteDownload(downloadId: String) async throws + func deleteTorrent(torrentId: String) async throws } public protocol PollingDebridSource: DebridSource { diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index c39c904..87139b3 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -69,8 +69,8 @@ public class DebridManager: ObservableObject { // TODO: Maybe make these generic? // RealDebrid cloud variables - @Published var realDebridCloudTorrents: [RealDebrid.UserTorrentsResponse] = [] - @Published var realDebridCloudDownloads: [RealDebrid.UserDownloadsResponse] = [] + @Published var realDebridCloudTorrents: [DebridCloudTorrent] = [] + @Published var realDebridCloudDownloads: [DebridCloudDownload] = [] var realDebridCloudTTL: Double = 0.0 // AllDebrid auth variables @@ -83,8 +83,8 @@ public class DebridManager: ObservableObject { var selectedAllDebridFile: DebridIAFile? // AllDebrid cloud variables - @Published var allDebridCloudMagnets: [AllDebrid.MagnetStatusData] = [] - @Published var allDebridCloudLinks: [AllDebrid.SavedLink] = [] + @Published var allDebridCloudMagnets: [DebridCloudTorrent] = [] + @Published var allDebridCloudLinks: [DebridCloudDownload] = [] var allDebridCloudTTL: Double = 0.0 // Premiumize auth variables @@ -97,7 +97,7 @@ public class DebridManager: ObservableObject { var selectedPremiumizeFile: DebridIAFile? // Premiumize cloud variables - @Published var premiumizeCloudItems: [Premiumize.UserItem] = [] + @Published var premiumizeCloudItems: [DebridCloudDownload] = [] var premiumizeCloudTTL: Double = 0.0 init() { @@ -651,8 +651,8 @@ public class DebridManager: ObservableObject { public func fetchRdCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > realDebridCloudTTL { do { - realDebridCloudTorrents = try await realDebrid.userTorrents() - realDebridCloudDownloads = try await realDebrid.userDownloads() + realDebridCloudTorrents = try await realDebrid.getUserTorrents() + realDebridCloudDownloads = try await realDebrid.getUserDownloads() // 5 minutes realDebridCloudTTL = Date().timeIntervalSince1970 + 300 @@ -664,7 +664,7 @@ public class DebridManager: ObservableObject { func deleteRdDownload(downloadID: String) async { do { - try await realDebrid.deleteDownload(debridID: downloadID) + try await realDebrid.deleteDownload(downloadId: downloadID) // Bypass TTL to get current RD values await fetchRdCloud(bypassTTL: true) @@ -676,7 +676,7 @@ public class DebridManager: ObservableObject { func deleteRdTorrent(torrentID: String? = nil, presentError: Bool = true) async { do { if let torrentID { - try await realDebrid.deleteTorrent(debridID: torrentID) + try await realDebrid.deleteTorrent(torrentId: torrentID) } else { throw RealDebrid.RDError.FailedRequest(description: "No torrent ID was provided") } @@ -688,7 +688,7 @@ public class DebridManager: ObservableObject { func checkRdUserDownloads(userTorrentLink: String) async -> String? { do { let existingLinks = realDebridCloudDownloads.first { $0.link == userTorrentLink } - if let existingLink = existingLinks?.download { + if let existingLink = existingLinks?.fileName { return existingLink } else { return try await realDebrid.unrestrictLink(debridDownloadLink: userTorrentLink) @@ -761,8 +761,8 @@ public class DebridManager: ObservableObject { public func fetchAdCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > allDebridCloudTTL { do { - allDebridCloudMagnets = try await allDebrid.userMagnets() - allDebridCloudLinks = try await allDebrid.savedLinks() + allDebridCloudMagnets = try await allDebrid.getUserTorrents() + allDebridCloudLinks = try await allDebrid.getUserDownloads() // 5 minutes allDebridCloudTTL = Date().timeIntervalSince1970 + 300 @@ -774,7 +774,7 @@ public class DebridManager: ObservableObject { func deleteAdLink(link: String) async { do { - try await allDebrid.deleteLink(link: link) + try await allDebrid.deleteDownload(downloadId: link) await fetchAdCloud(bypassTTL: true) } catch { @@ -782,9 +782,9 @@ public class DebridManager: ObservableObject { } } - func deleteAdMagnet(magnetId: Int) async { + func deleteAdMagnet(magnetId: String) async { do { - try await allDebrid.deleteMagnet(magnetId: magnetId) + try await allDebrid.deleteTorrent(torrentId: magnetId) await fetchAdCloud(bypassTTL: true) } catch { @@ -817,7 +817,7 @@ public class DebridManager: ObservableObject { public func fetchPmCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > premiumizeCloudTTL { do { - let userItems = try await premiumize.userItems() + let userItems = try await premiumize.getUserDownloads() withAnimation { premiumizeCloudItems = userItems } @@ -835,7 +835,7 @@ public class DebridManager: ObservableObject { public func deletePmItem(id: String) async { do { - try await premiumize.deleteItem(itemID: id) + try await premiumize.deleteDownload(downloadId: id) // Bypass TTL to get current RD values await fetchPmCloud(bypassTTL: true) diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift index f0cf0ce..ed09447 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift @@ -17,17 +17,17 @@ struct AllDebridCloudView: View { var body: some View { DisclosureGroup("Links") { ForEach(debridManager.allDebridCloudLinks.filter { - searchText.isEmpty ? true : $0.filename.lowercased().contains(searchText.lowercased()) - }, id: \.self) { downloadResponse in - Button(downloadResponse.filename) { + searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) + }, id: \.self) { cloudDownload in + Button(cloudDownload.fileName) { navModel.resultFromCloud = true - navModel.selectedTitle = downloadResponse.filename - debridManager.downloadUrl = downloadResponse.link + navModel.selectedTitle = cloudDownload.fileName + debridManager.downloadUrl = cloudDownload.link PersistenceController.shared.createHistory( HistoryEntryJson( - name: downloadResponse.filename, - url: downloadResponse.link, + name: cloudDownload.fileName, + url: cloudDownload.link, source: DebridType.allDebrid.toString() ), performSave: true @@ -43,9 +43,9 @@ struct AllDebridCloudView: View { } .onDelete { offsets in for index in offsets { - if let savedLink = debridManager.allDebridCloudLinks[safe: index] { + if let cloudDownload = debridManager.allDebridCloudLinks[safe: index] { Task { - await debridManager.deleteAdLink(link: savedLink.link) + await debridManager.deleteAdLink(link: cloudDownload.downloadId) } } } @@ -54,26 +54,26 @@ struct AllDebridCloudView: View { DisclosureGroup("Magnets") { ForEach(debridManager.allDebridCloudMagnets.filter { - searchText.isEmpty ? true : $0.filename.lowercased().contains(searchText.lowercased()) - }, id: \.id) { magnet in + searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) + }, id: \.self) { cloudTorrent in Button { - if magnet.status == "Ready", !magnet.links.isEmpty { + if cloudTorrent.status == "Ready", !cloudTorrent.links.isEmpty { navModel.resultFromCloud = true - navModel.selectedTitle = magnet.filename + navModel.selectedTitle = cloudTorrent.fileName var historyInfo = HistoryEntryJson( - name: magnet.filename, + name: cloudTorrent.fileName, source: DebridType.allDebrid.toString() ) Task { - if magnet.links.count == 1 { - if let lockedLink = magnet.links[safe: 0]?.link { - await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: lockedLink) - + if cloudTorrent.links.count == 1 { + if let torrentLink = cloudTorrent.links[safe: 0] { + await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: torrentLink) if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyInfo, performSave: true) + pluginManager.runDefaultAction( urlString: debridManager.downloadUrl, navModel: navModel @@ -81,7 +81,7 @@ struct AllDebridCloudView: View { } } } else { - let magnet = Magnet(hash: magnet.hash, link: nil) + let magnet = Magnet(hash: cloudTorrent.hash, link: nil) // Do not clear old IA values await debridManager.populateDebridIA([magnet]) @@ -93,27 +93,29 @@ struct AllDebridCloudView: View { } } } - } label: { VStack(alignment: .leading, spacing: 10) { - Text(magnet.filename) + Text(cloudTorrent.fileName) + .font(.callout) + .fixedSize(horizontal: false, vertical: true) + .lineLimit(4) HStack { - Text(magnet.status) + Text(cloudTorrent.status.capitalizingFirstLetter()) Spacer() - DebridLabelView(cloudLinks: magnet.links.map(\.link)) + DebridLabelView(cloudLinks: cloudTorrent.links) } .font(.caption) } } - .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.9, animation: .easeOut(duration: 0.2)) + .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) .tint(.primary) } .onDelete { offsets in for index in offsets { - if let magnet = debridManager.allDebridCloudMagnets[safe: index] { + if let cloudTorrent = debridManager.allDebridCloudMagnets[safe: index] { Task { - await debridManager.deleteAdMagnet(magnetId: magnet.id) + await debridManager.deleteAdMagnet(magnetId: cloudTorrent.torrentId) } } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift index d309684..e9acb9a 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift @@ -17,20 +17,20 @@ struct PremiumizeCloudView: View { var body: some View { DisclosureGroup("Items") { ForEach(debridManager.premiumizeCloudItems.filter { - searchText.isEmpty ? true : $0.name.lowercased().contains(searchText.lowercased()) - }, id: \.id) { item in - Button(item.name) { + searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) + }, id: \.self) { cloudDownload in + Button(cloudDownload.fileName) { Task { navModel.resultFromCloud = true - navModel.selectedTitle = item.name + navModel.selectedTitle = cloudDownload.fileName - await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: item.id) + await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: cloudDownload.downloadId) if !debridManager.downloadUrl.isEmpty { PersistenceController.shared.createHistory( HistoryEntryJson( - name: item.name, - url: debridManager.downloadUrl, + name: cloudDownload.fileName, + url: cloudDownload.link, source: DebridType.premiumize.toString() ), performSave: true @@ -48,9 +48,9 @@ struct PremiumizeCloudView: View { } .onDelete { offsets in for index in offsets { - if let item = debridManager.premiumizeCloudItems[safe: index] { + if let cloudDownload = debridManager.premiumizeCloudItems[safe: index] { Task { - await debridManager.deletePmItem(id: item.id) + await debridManager.deletePmItem(id: cloudDownload.downloadId) } } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift index b133ef8..0cc39cf 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift @@ -18,17 +18,17 @@ struct RealDebridCloudView: View { Group { DisclosureGroup("Downloads") { ForEach(debridManager.realDebridCloudDownloads.filter { - searchText.isEmpty ? true : $0.filename.lowercased().contains(searchText.lowercased()) - }, id: \.self) { downloadResponse in - Button(downloadResponse.filename) { + searchText.isEmpty ? true : $0.fileName .lowercased().contains(searchText.lowercased()) + }, id: \.self) { cloudDownload in + Button(cloudDownload.fileName) { navModel.resultFromCloud = true - navModel.selectedTitle = downloadResponse.filename - debridManager.downloadUrl = downloadResponse.download + navModel.selectedTitle = cloudDownload.fileName + debridManager.downloadUrl = cloudDownload.link PersistenceController.shared.createHistory( HistoryEntryJson( - name: downloadResponse.filename, - url: downloadResponse.download, + name: cloudDownload.fileName, + url: cloudDownload.link, source: DebridType.realDebrid.toString() ), performSave: true @@ -44,9 +44,9 @@ struct RealDebridCloudView: View { } .onDelete { offsets in for index in offsets { - if let downloadResponse = debridManager.realDebridCloudDownloads[safe: index] { + if let cloudDownload = debridManager.realDebridCloudDownloads[safe: index] { Task { - await debridManager.deleteRdDownload(downloadID: downloadResponse.id) + await debridManager.deleteRdDownload(downloadID: cloudDownload.downloadId) } } } @@ -55,21 +55,21 @@ struct RealDebridCloudView: View { DisclosureGroup("Torrents") { ForEach(debridManager.realDebridCloudTorrents.filter { - searchText.isEmpty ? true : $0.filename.lowercased().contains(searchText.lowercased()) - }, id: \.self) { torrentResponse in + searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) + }, id: \.self) { cloudTorrent in Button { - if torrentResponse.status == "downloaded", !torrentResponse.links.isEmpty { + if cloudTorrent.status == "downloaded", !cloudTorrent.links.isEmpty { navModel.resultFromCloud = true - navModel.selectedTitle = torrentResponse.filename + navModel.selectedTitle = cloudTorrent.fileName var historyInfo = HistoryEntryJson( - name: torrentResponse.filename, + name: cloudTorrent.fileName, source: DebridType.realDebrid.toString() ) Task { - if torrentResponse.links.count == 1 { - if let torrentLink = torrentResponse.links[safe: 0] { + if cloudTorrent.links.count == 1 { + if let torrentLink = cloudTorrent.links[safe: 0] { await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: torrentLink) if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl @@ -82,7 +82,7 @@ struct RealDebridCloudView: View { } } } else { - let magnet = Magnet(hash: torrentResponse.hash, link: nil) + let magnet = Magnet(hash: cloudTorrent.hash, link: nil) // Do not clear old IA values await debridManager.populateDebridIA([magnet]) @@ -96,15 +96,15 @@ struct RealDebridCloudView: View { } } label: { VStack(alignment: .leading, spacing: 10) { - Text(torrentResponse.filename) + Text(cloudTorrent.fileName) .font(.callout) .fixedSize(horizontal: false, vertical: true) .lineLimit(4) HStack { - Text(torrentResponse.status.capitalizingFirstLetter()) + Text(cloudTorrent.status.capitalizingFirstLetter()) Spacer() - DebridLabelView(cloudLinks: torrentResponse.links) + DebridLabelView(cloudLinks: cloudTorrent.links) } .font(.caption) } @@ -114,9 +114,9 @@ struct RealDebridCloudView: View { } .onDelete { offsets in for index in offsets { - if let torrentResponse = debridManager.realDebridCloudTorrents[safe: index] { + if let cloudTorrent = debridManager.realDebridCloudTorrents[safe: index] { Task { - await debridManager.deleteRdTorrent(torrentID: torrentResponse.id) + await debridManager.deleteRdTorrent(torrentID: cloudTorrent.torrentId) } } } -- 2.45.2 From 37ef64224eae8a1004aa03cfda0c1016288cd24d Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 16:00:40 -0400 Subject: [PATCH 09/59] Debrid: Order API implementations Reorder everything and mark off where different functions are located. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 58 ++++++++------- Ferrite/API/PremiumizeWrapper.swift | 106 +++++++++++++++------------- Ferrite/API/RealDebridWrapper.swift | 10 +++ 3 files changed, 102 insertions(+), 72 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index d0251e5..95d4ea4 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -19,6 +19,8 @@ public class AllDebrid: PollingDebridSource { let jsonDecoder = JSONDecoder() + // MARK: - Auth + // Fetches information for PIN auth public func getAuthUrl() async throws -> URL { let url = try buildRequestURL(urlString: "\(baseApiUrl)/pin/get") @@ -106,6 +108,8 @@ public class AllDebrid: PollingDebridSource { UserDefaults.standard.removeObject(forKey: "AllDebrid.UseManualKey") } + // MARK: - Common request + // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { guard let token = getToken() else { @@ -147,6 +151,34 @@ public class AllDebrid: PollingDebridSource { } } + // MARK: - Instant availability + + public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { + let queryItems = magnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/instant", queryItems: queryItems)) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data + + let filteredMagnets = rawResponse.magnets.filter { $0.instant == true && $0.files != nil } + let availableHashes = filteredMagnets.map { magnetResp in + // Force unwrap is OK here since the filter caught any nil values + let files = magnetResp.files!.enumerated().map { index, magnetFile in + DebridIAFile(fileId: index, name: magnetFile.name) + } + + return DebridIA( + magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), + expiryTimeStamp: Date().timeIntervalSince1970 + 300, + files: files + ) + } + + return availableHashes + } + + // MARK: - Downloading + // Wrapper function to fetch a download link from the API public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { let magnetID = try await addMagnet(magnet: magnet) @@ -226,6 +258,8 @@ public class AllDebrid: PollingDebridSource { try await performRequest(request: &request, requestName: #function) } + // MARK: - Cloud methods + // Referred to as "User magnets" in AllDebrid's API public func getUserTorrents() async throws -> [DebridCloudTorrent] { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status")) @@ -288,28 +322,4 @@ public class AllDebrid: PollingDebridSource { try await performRequest(request: &request, requestName: #function) } - - public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { - let queryItems = magnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } - var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/instant", queryItems: queryItems)) - - let data = try await performRequest(request: &request, requestName: #function) - let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data - - let filteredMagnets = rawResponse.magnets.filter { $0.instant == true && $0.files != nil } - let availableHashes = filteredMagnets.map { magnetResp in - // Force unwrap is OK here since the filter caught any nil values - let files = magnetResp.files!.enumerated().map { index, magnetFile in - DebridIAFile(fileId: index, name: magnetFile.name) - } - - return DebridIA( - magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), - expiryTimeStamp: Date().timeIntervalSince1970 + 300, - files: files - ) - } - - return availableHashes - } } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 54d489f..3216ad6 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -18,6 +18,8 @@ public class Premiumize: OAuthDebridSource { let jsonDecoder = JSONDecoder() + // MARK: - Auth + public func getAuthUrl() throws -> URL { var urlComponents = URLComponents(string: baseAuthUrl)! urlComponents.queryItems = [ @@ -68,6 +70,8 @@ public class Premiumize: OAuthDebridSource { UserDefaults.standard.removeObject(forKey: "Premiumize.UseManualKey") } + // MARK: - Common request + // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { guard let token = getToken() else { @@ -112,54 +116,7 @@ public class Premiumize: OAuthDebridSource { } } - // Function to divide and execute cache endpoint requests in parallel - // Calls this for 100 hashes at a time due to API limits - public func divideCacheRequests(magnets: [Magnet]) async throws -> [Magnet] { - let availableMagnets = try await withThrowingTaskGroup(of: [Magnet].self) { group in - for chunk in magnets.chunked(into: 100) { - group.addTask { - try await self.checkCache(magnets: chunk) - } - } - - var chunkedMagnets: [Magnet] = [] - for try await magnetArray in group { - chunkedMagnets += magnetArray - } - - return chunkedMagnets - } - - return availableMagnets - } - - // Parent function for initial checking of the cache - func checkCache(magnets: [Magnet]) async throws -> [Magnet] { - var urlComponents = URLComponents(string: "\(baseApiUrl)/cache/check")! - urlComponents.queryItems = magnets.map { URLQueryItem(name: "items[]", value: $0.hash) } - guard let url = urlComponents.url else { - throw PMError.InvalidUrl - } - - var request = URLRequest(url: url) - - let data = try await performRequest(request: &request, requestName: #function) - let rawResponse = try jsonDecoder.decode(CacheCheckResponse.self, from: data) - - if rawResponse.response.isEmpty { - throw PMError.EmptyData - } else { - let availableMagnets = magnets.enumerated().compactMap { index, magnet in - if rawResponse.response[safe: index] == true { - return magnet - } else { - return nil - } - } - - return availableMagnets - } - } + // MARK: - Instant availability // Function to divide and execute DDL endpoint requests in parallel // Calls this for 10 requests at a time to not overwhelm API servers @@ -218,6 +175,57 @@ public class Premiumize: OAuthDebridSource { } } + // Function to divide and execute cache endpoint requests in parallel + // Calls this for 100 hashes at a time due to API limits + public func divideCacheRequests(magnets: [Magnet]) async throws -> [Magnet] { + let availableMagnets = try await withThrowingTaskGroup(of: [Magnet].self) { group in + for chunk in magnets.chunked(into: 100) { + group.addTask { + try await self.checkCache(magnets: chunk) + } + } + + var chunkedMagnets: [Magnet] = [] + for try await magnetArray in group { + chunkedMagnets += magnetArray + } + + return chunkedMagnets + } + + return availableMagnets + } + + // Parent function for initial checking of the cache + func checkCache(magnets: [Magnet]) async throws -> [Magnet] { + var urlComponents = URLComponents(string: "\(baseApiUrl)/cache/check")! + urlComponents.queryItems = magnets.map { URLQueryItem(name: "items[]", value: $0.hash) } + guard let url = urlComponents.url else { + throw PMError.InvalidUrl + } + + var request = URLRequest(url: url) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(CacheCheckResponse.self, from: data) + + if rawResponse.response.isEmpty { + throw PMError.EmptyData + } else { + let availableMagnets = magnets.enumerated().compactMap { index, magnet in + if rawResponse.response[safe: index] == true { + return magnet + } else { + return nil + } + } + + return availableMagnets + } + } + + // MARK: - Downloading + // Wrapper function to fetch a DDL link from the API public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { // Store the item in PM cloud for later use @@ -249,6 +257,8 @@ public class Premiumize: OAuthDebridSource { try await performRequest(request: &request, requestName: #function) } + // MARK: - Cloud methods + public func getUserDownloads() async throws -> [DebridCloudDownload] { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/listall")!) diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 59a362b..38256bb 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -29,6 +29,8 @@ public class RealDebrid: PollingDebridSource { UserDefaults.standard.removeObject(forKey: forKey) } + // MARK: - Auth + // Fetches the device code from RD public func getAuthUrl() async throws -> URL { var urlComponents = URLComponents(string: "\(baseAuthUrl)/device/code")! @@ -189,6 +191,8 @@ public class RealDebrid: PollingDebridSource { } } + // MARK: - Common request + // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { guard let token = await fetchToken() else { @@ -213,6 +217,8 @@ public class RealDebrid: PollingDebridSource { } } + // MARK: - Instant availability + // Checks if the magnet is streamable on RD public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { var availableHashes: [DebridIA] = [] @@ -284,6 +290,8 @@ public class RealDebrid: PollingDebridSource { return availableHashes } + // MARK: - Downloading + // Wrapper function to fetch a download link from the API public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { let selectedMagnetId = try await addMagnet(magnet: magnet) @@ -376,6 +384,8 @@ public class RealDebrid: PollingDebridSource { return rawResponse.download } + // MARK: - Cloud methods + // Gets the user's torrent library public func getUserTorrents() async throws -> [DebridCloudTorrent] { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents")!) -- 2.45.2 From f902142fee0f2bb9e153fd08c9da53683e8afd72 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 16:15:17 -0400 Subject: [PATCH 10/59] Debrid: Add Premiumize to InstantAvailability Also add the requirement to the protocol. Signed-off-by: kingbri --- Ferrite/API/PremiumizeWrapper.swift | 23 +++++++++++++++++++++++ Ferrite/Protocols/Debrid.swift | 2 ++ Ferrite/ViewModels/DebridManager.swift | 19 ++----------------- 3 files changed, 27 insertions(+), 17 deletions(-) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 3216ad6..43884b1 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -118,6 +118,29 @@ public class Premiumize: OAuthDebridSource { // MARK: - Instant availability + public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { + var collectedIA: [DebridIA] = [] + + // Only strip magnets that don't have an associated link for PM + let strippedMagnets: [Magnet] = magnets.compactMap { + if let magnetLink = $0.link { + return Magnet(hash: $0.hash, link: magnetLink) + } else { + return nil + } + } + + let availableMagnets = try await divideCacheRequests(magnets: strippedMagnets) + + // Split DDL requests into chunks of 10 + for chunk in availableMagnets.chunked(into: 10) { + let tempIA = try await divideDDLRequests(magnetChunk: chunk) + collectedIA += tempIA + } + + return collectedIA + } + // Function to divide and execute DDL endpoint requests in parallel // Calls this for 10 requests at a time to not overwhelm API servers public func divideDDLRequests(magnetChunk: [Magnet]) async throws -> [DebridIA] { diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index b4cd275..8853145 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -17,6 +17,8 @@ public protocol DebridSource { func setApiKey(_ key: String) -> Bool func logout() async + func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] + // Fetches a download link from a source // Include the instant availability information with the args func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 87139b3..57b1feb 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -246,23 +246,8 @@ public class DebridManager: ObservableObject { if enabledDebrids.contains(.premiumize) { do { - // Only strip magnets that don't have an associated link for PM - let strippedResultMagnets: [Magnet] = resultMagnets.compactMap { - if let magnetLink = $0.link { - return Magnet(hash: $0.hash, link: magnetLink) - } else { - return nil - } - } - - let availableMagnets = try await premiumize.divideCacheRequests(magnets: strippedResultMagnets) - - // Split DDL requests into chunks of 10 - for chunk in availableMagnets.chunked(into: 10) { - let tempIA = try await premiumize.divideDDLRequests(magnetChunk: chunk) - - premiumizeIAValues += tempIA - } + let fetchedPremiumizeIA = try await premiumize.instantAvailability(magnets: sendMagnets) + premiumizeIAValues += fetchedPremiumizeIA } catch { await sendDebridError(error, prefix: "Premiumize IA fetch error") } -- 2.45.2 From c641fdf300c84c9b0612d1f6dfb3b6d81d5fd9d1 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 16:24:07 -0400 Subject: [PATCH 11/59] Debrid: Add source to all models Gives an ID of where the struct came from. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 4 +++- Ferrite/API/PremiumizeWrapper.swift | 3 ++- Ferrite/API/RealDebridWrapper.swift | 5 ++++- Ferrite/Models/DebridModels.swift | 3 +++ 4 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 95d4ea4..c32f4e8 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -169,6 +169,7 @@ public class AllDebrid: PollingDebridSource { return DebridIA( magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), + source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -274,6 +275,7 @@ public class AllDebrid: PollingDebridSource { let torrents = rawResponse.magnets.map { magnetResponse in DebridCloudTorrent( torrentId: String(magnetResponse.id), + source: self.id, fileName: magnetResponse.filename, status: magnetResponse.status, hash: magnetResponse.hash, @@ -306,7 +308,7 @@ public class AllDebrid: PollingDebridSource { // The link is also the ID let downloads = rawResponse.links.map { link in DebridCloudDownload( - downloadId: link.link, fileName: link.filename, link: link.link + downloadId: link.link, source: self.id, fileName: link.filename, link: link.link ) } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 43884b1..c7d8bbe 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -190,6 +190,7 @@ public class Premiumize: OAuthDebridSource { return DebridIA( magnet: magnet, + source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -294,7 +295,7 @@ public class Premiumize: OAuthDebridSource { // The "link" is the ID for Premiumize let downloads = rawResponse.files.map { file in - DebridCloudDownload(downloadId: file.id, fileName: file.name, link: file.id) + DebridCloudDownload(downloadId: file.id, source: self.id, fileName: file.name, link: file.id) } return downloads diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 38256bb..7d9257b 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -272,6 +272,7 @@ public class RealDebrid: PollingDebridSource { availableHashes.append( DebridIA( magnet: Magnet(hash: hash, link: nil), + source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -280,6 +281,7 @@ public class RealDebrid: PollingDebridSource { availableHashes.append( DebridIA( magnet: Magnet(hash: hash, link: nil), + source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: [] ) @@ -395,6 +397,7 @@ public class RealDebrid: PollingDebridSource { let torrents = rawResponse.map { response in DebridCloudTorrent( torrentId: response.id, + source: self.id, fileName: response.filename, status: response.status, hash: response.hash, @@ -420,7 +423,7 @@ public class RealDebrid: PollingDebridSource { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserDownloadsResponse].self, from: data) let downloads = rawResponse.map { response in - DebridCloudDownload(downloadId: response.id, fileName: response.filename, link: response.download) + DebridCloudDownload(downloadId: response.id, source: self.id, fileName: response.filename, link: response.download) } return downloads diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 1431807..3eb4e5f 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -9,6 +9,7 @@ import Foundation public struct DebridIA: Hashable, Sendable { let magnet: Magnet + let source: String let expiryTimeStamp: Double var files: [DebridIAFile] } @@ -29,12 +30,14 @@ public struct DebridIAFile: Hashable, Sendable { public struct DebridCloudDownload: Hashable, Sendable { let downloadId: String + let source: String let fileName: String let link: String } public struct DebridCloudTorrent: Hashable, Sendable { let torrentId: String + let source: String let fileName: String let status: String let hash: String -- 2.45.2 From f9ecc746a1004a3ba5902be473a883e29f44251d Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 16:25:32 -0400 Subject: [PATCH 12/59] Tree: Format Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 2 +- Ferrite/API/PremiumizeWrapper.swift | 8 ++--- Ferrite/API/RealDebridWrapper.swift | 4 +-- Ferrite/ViewModels/DebridManager.swift | 30 +++++++++---------- .../Library/Cloud/RealDebridCloudView.swift | 2 +- 5 files changed, 22 insertions(+), 24 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index c32f4e8..eb0cbb7 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -279,7 +279,7 @@ public class AllDebrid: PollingDebridSource { fileName: magnetResponse.filename, status: magnetResponse.status, hash: magnetResponse.hash, - links: magnetResponse.links.map { $0.link } + links: magnetResponse.links.map(\.link) ) } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index c7d8bbe..7d2b6fb 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -190,7 +190,7 @@ public class Premiumize: OAuthDebridSource { return DebridIA( magnet: magnet, - source: self.id, + source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -331,10 +331,8 @@ public class Premiumize: OAuthDebridSource { // No user torrents for Premiumize public func getUserTorrents() async throws -> [DebridCloudTorrent] { - return [] + [] } - public func deleteTorrent(torrentId: String) async throws { - return - } + public func deleteTorrent(torrentId: String) async throws {} } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 7d9257b..379df7b 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -272,7 +272,7 @@ public class RealDebrid: PollingDebridSource { availableHashes.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: self.id, + source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -281,7 +281,7 @@ public class RealDebrid: PollingDebridSource { availableHashes.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: self.id, + source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: [] ) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 57b1feb..4cb85bd 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -572,26 +572,26 @@ public class DebridManager: ObservableObject { func fetchRdDownload(magnet: Magnet?, existingLink: String?) async { // If an existing link is passed in args, set it to that. Otherwise, find one from RD cloud. /* - let torrentLink: String? - if let existingLink { - torrentLink = existingLink - } else { - // Bypass the TTL for up to date information - await fetchRdCloud(bypassTTL: true) + let torrentLink: String? + if let existingLink { + torrentLink = existingLink + } else { + // Bypass the TTL for up to date information + await fetchRdCloud(bypassTTL: true) - let existingTorrent = realDebridCloudTorrents.first { $0.hash == selectedRealDebridItem?.magnet.hash && $0.status == "downloaded" } - torrentLink = existingTorrent?.links[safe: selectedRealDebridFile?.batchFileIndex ?? 0] - } - */ + let existingTorrent = realDebridCloudTorrents.first { $0.hash == selectedRealDebridItem?.magnet.hash && $0.status == "downloaded" } + torrentLink = existingTorrent?.links[safe: selectedRealDebridFile?.batchFileIndex ?? 0] + } + */ do { // If the links match from a user's downloads, no need to re-run a download /* - if let torrentLink, - let downloadLink = await checkRdUserDownloads(userTorrentLink: torrentLink) - { - downloadUrl = downloadLink - } else */ + if let torrentLink, + let downloadLink = await checkRdUserDownloads(userTorrentLink: torrentLink) + { + downloadUrl = downloadLink + } else */ if let magnet { let downloadLink = try await realDebrid.getDownloadLink( magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift index 0cc39cf..f1a2224 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift @@ -18,7 +18,7 @@ struct RealDebridCloudView: View { Group { DisclosureGroup("Downloads") { ForEach(debridManager.realDebridCloudDownloads.filter { - searchText.isEmpty ? true : $0.fileName .lowercased().contains(searchText.lowercased()) + searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) }, id: \.self) { cloudDownload in Button(cloudDownload.fileName) { navModel.resultFromCloud = true -- 2.45.2 From 273403b7112bcbd9197b6c3e1c8b5c9688fec3e9 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 16:27:47 -0400 Subject: [PATCH 13/59] Debrid: Remove per-API IA structures These aren't required since IA is a unified type. Only keep batch IA for RealDebrid since it helps clear up confusion when gathering InstantAvailability results. Signed-off-by: kingbri --- Ferrite/Models/AllDebridModels.swift | 13 ------------- Ferrite/Models/PremiumizeModels.swift | 13 ------------- Ferrite/Models/RealDebridModels.swift | 2 +- 3 files changed, 1 insertion(+), 27 deletions(-) diff --git a/Ferrite/Models/AllDebridModels.swift b/Ferrite/Models/AllDebridModels.swift index c12b5c1..02b07b1 100644 --- a/Ferrite/Models/AllDebridModels.swift +++ b/Ferrite/Models/AllDebridModels.swift @@ -166,17 +166,4 @@ public extension AllDebrid { case name = "n" } } - - // MARK: - InstantAvailablity client side structures - - struct IA: Codable, Hashable { - let magnet: Magnet - let expiryTimeStamp: Double - var files: [IAFile] - } - - struct IAFile: Codable, Hashable { - let id: Int - let fileName: String - } } diff --git a/Ferrite/Models/PremiumizeModels.swift b/Ferrite/Models/PremiumizeModels.swift index a6f30e7..4572526 100644 --- a/Ferrite/Models/PremiumizeModels.swift +++ b/Ferrite/Models/PremiumizeModels.swift @@ -51,19 +51,6 @@ public extension Premiumize { } } - // MARK: - InstantAvailability client side structures - - struct IA: Codable, Hashable { - let magnet: Magnet - let expiryTimeStamp: Double - let files: [IAFile] - } - - struct IAFile: Codable, Hashable { - let name: String - let streamUrlString: String - } - // MARK: - AllItemsResponse (listall endpoint) struct AllItemsResponse: Codable { diff --git a/Ferrite/Models/RealDebridModels.swift b/Ferrite/Models/RealDebridModels.swift index 134026f..ba455b1 100644 --- a/Ferrite/Models/RealDebridModels.swift +++ b/Ferrite/Models/RealDebridModels.swift @@ -90,7 +90,7 @@ public extension RealDebrid { var filesize: Int } - // MARK: - Instant Availability client side structures + // MARK: - Instant Availability batch structures (used for client-side conversion) struct IABatch: Codable, Hashable, Sendable { let files: [IABatchFile] -- 2.45.2 From 0caf8a81202fee21531e11692b1fd6e4d17a3df7 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 3 Jun 2024 23:56:56 -0400 Subject: [PATCH 14/59] Debrid: Add common functions for existing magnets/downloads This fixes cloud magnet fetching and also doesn't duplicate magnets inside the cloud service. Unrestricted links don't get duplicated, so no need to check against those. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 23 ++++-- Ferrite/API/PremiumizeWrapper.swift | 7 +- Ferrite/API/RealDebridWrapper.swift | 25 +++++-- Ferrite/Protocols/Debrid.swift | 12 ++-- Ferrite/ViewModels/DebridManager.swift | 71 +++++-------------- .../Library/Cloud/AllDebridCloudView.swift | 21 +++--- .../Library/Cloud/RealDebridCloudView.swift | 21 +++--- .../Views/SheetViews/BatchChoiceView.swift | 2 +- 8 files changed, 88 insertions(+), 94 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index eb0cbb7..7111cd1 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -181,10 +181,18 @@ public class AllDebrid: PollingDebridSource { // MARK: - Downloading // Wrapper function to fetch a download link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { - let magnetID = try await addMagnet(magnet: magnet) + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { + let selectedMagnetId: String + + if let existingMagnet = userTorrents.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { + selectedMagnetId = existingMagnet.torrentId + } else { + let magnetId = try await addMagnet(magnet: magnet) + selectedMagnetId = String(magnetId) + } + let lockedLink = try await fetchMagnetStatus( - magnetId: magnetID, + magnetId: selectedMagnetId, selectedIndex: iaFile?.fileId ?? 0 ) @@ -221,9 +229,9 @@ public class AllDebrid: PollingDebridSource { } } - public func fetchMagnetStatus(magnetId: Int, selectedIndex: Int?) async throws -> String { + public func fetchMagnetStatus(magnetId: String, selectedIndex: Int?) async throws -> String { let queryItems = [ - URLQueryItem(name: "id", value: String(magnetId)) + URLQueryItem(name: "id", value: magnetId) ] var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status", queryItems: queryItems)) @@ -315,6 +323,11 @@ public class AllDebrid: PollingDebridSource { return downloads } + // Not used + public func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) async throws -> String? { + nil + } + // The downloadId is actually the download link public func deleteDownload(downloadId: String) async throws { let queryItems = [ diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 7d2b6fb..8ec7356 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -251,7 +251,7 @@ public class Premiumize: OAuthDebridSource { // MARK: - Downloading // Wrapper function to fetch a DDL link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { // Store the item in PM cloud for later use try await createTransfer(magnet: magnet) @@ -316,6 +316,11 @@ public class Premiumize: OAuthDebridSource { return rawResponse } + public func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) async throws -> String? { + // Link is the cloud item ID + try await itemDetails(itemID: link).link + } + public func deleteDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/delete")!) request.httpMethod = "POST" diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 379df7b..2ec74ee 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -295,14 +295,22 @@ public class RealDebrid: PollingDebridSource { // MARK: - Downloading // Wrapper function to fetch a download link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { - let selectedMagnetId = try await addMagnet(magnet: magnet) + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { + let selectedMagnetId: String - try await selectFiles(debridID: selectedMagnetId, fileIds: iaFile?.batchIds ?? []) + // Don't queue a new job if the torrent already exists + if let existingTorrent = userTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + selectedMagnetId = existingTorrent.torrentId + } else { + selectedMagnetId = try await addMagnet(magnet: magnet) + try await selectFiles(debridID: selectedMagnetId, fileIds: iaFile?.batchIds ?? []) + } + + // RealDebrid has 1 as the first ID for a file let torrentLink = try await torrentInfo( debridID: selectedMagnetId, - selectedIndex: iaFile?.fileId ?? 0 + selectedFileId: iaFile?.fileId ?? 1 ) let downloadLink = try await unrestrictLink(debridDownloadLink: torrentLink) @@ -351,13 +359,13 @@ public class RealDebrid: PollingDebridSource { } // Gets the info of a torrent from a given ID - public func torrentInfo(debridID: String, selectedIndex: Int?) async throws -> String { + public func torrentInfo(debridID: String, selectedFileId: Int?) async throws -> String { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/info/\(debridID)")!) let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode(TorrentInfoResponse.self, from: data) let filteredFiles = rawResponse.files.filter { $0.selected == 1 } - let linkIndex = filteredFiles.firstIndex(where: { $0.id == selectedIndex }) + let linkIndex = filteredFiles.firstIndex(where: { $0.id == selectedFileId }) // Let the user know if a torrent is downloading if let torrentLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { @@ -429,6 +437,11 @@ public class RealDebrid: PollingDebridSource { return downloads } + // Not used + public func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) -> String? { + nil + } + public func deleteDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads/delete/\(downloadId)")!) request.httpMethod = "DELETE" diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 8853145..c2d6e20 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -21,14 +21,16 @@ public protocol DebridSource { // Fetches a download link from a source // Include the instant availability information with the args - func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String + // Torrents also checked here + func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent]) async throws -> String - // Fetches cloud information from the service + // User downloads functions func getUserDownloads() async throws -> [DebridCloudDownload] - func getUserTorrents() async throws -> [DebridCloudTorrent] - - // Deletes information from the service + func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) async throws -> String? func deleteDownload(downloadId: String) async throws + + // User torrent functions + func getUserTorrents() async throws -> [DebridCloudTorrent] func deleteTorrent(torrentId: String) async throws } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 4cb85bd..632ae3c 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -559,42 +559,21 @@ public class DebridManager: ObservableObject { switch selectedDebridType { case .realDebrid: - await fetchRdDownload(magnet: magnet, existingLink: cloudInfo) + await fetchRdDownload(magnet: magnet, cloudInfo: cloudInfo) case .allDebrid: - await fetchAdDownload(magnet: magnet, existingLockedLink: cloudInfo) + await fetchAdDownload(magnet: magnet, cloudInfo: cloudInfo) case .premiumize: - await fetchPmDownload(magnet: magnet, cloudItemId: cloudInfo) + await fetchPmDownload(magnet: magnet, cloudInfo: cloudInfo) case .none: break } } - func fetchRdDownload(magnet: Magnet?, existingLink: String?) async { - // If an existing link is passed in args, set it to that. Otherwise, find one from RD cloud. - /* - let torrentLink: String? - if let existingLink { - torrentLink = existingLink - } else { - // Bypass the TTL for up to date information - await fetchRdCloud(bypassTTL: true) - - let existingTorrent = realDebridCloudTorrents.first { $0.hash == selectedRealDebridItem?.magnet.hash && $0.status == "downloaded" } - torrentLink = existingTorrent?.links[safe: selectedRealDebridFile?.batchFileIndex ?? 0] - } - */ - + func fetchRdDownload(magnet: Magnet?, cloudInfo: String?) async { do { - // If the links match from a user's downloads, no need to re-run a download - /* - if let torrentLink, - let downloadLink = await checkRdUserDownloads(userTorrentLink: torrentLink) - { - downloadUrl = downloadLink - } else */ if let magnet { let downloadLink = try await realDebrid.getDownloadLink( - magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile + magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile, userTorrents: realDebridCloudTorrents ) // Update the UI @@ -612,7 +591,9 @@ public class DebridManager: ObservableObject { default: await sendDebridError(error, prefix: "RealDebrid download error", cancelString: "Download cancelled") - // await deleteRdTorrent(torrentID: selectedRealDebridID, presentError: false) + if let torrentId = selectedRealDebridID { + try? await realDebrid.deleteTorrent(torrentId: torrentId) + } } logManager?.hideIndeterminateToast() @@ -685,32 +666,11 @@ public class DebridManager: ObservableObject { } } - func fetchAdDownload(magnet: Magnet?, existingLockedLink: String?) async { - // If an existing link is passed in args, set it to that. Otherwise, find one from AD cloud. - /* - let lockedLink: String? - if let existingLockedLink { - lockedLink = existingLockedLink - } else { - // Bypass the TTL for up to date information - await fetchAdCloud(bypassTTL: true) - - let existingMagnet = allDebridCloudMagnets.first { $0.hash == selectedAllDebridItem?.magnet.hash && $0.status == "Ready" } - lockedLink = existingMagnet?.links[safe: selectedAllDebridFile?.fileId ?? 0]?.link - } - */ - + func fetchAdDownload(magnet: Magnet?, cloudInfo: String?) async { do { - /* - if let lockedLink, - let unlockedLink = await checkAdUserLinks(lockedLink: lockedLink) - { - downloadUrl = unlockedLink - } else if let magnet { - */ if let magnet { let downloadLink = try await allDebrid.getDownloadLink( - magnet: magnet, ia: selectedAllDebridItem, iaFile: selectedAllDebridFile + magnet: magnet, ia: selectedAllDebridItem, iaFile: selectedAllDebridFile, userTorrents: allDebridCloudMagnets ) // Update UI @@ -777,11 +737,14 @@ public class DebridManager: ObservableObject { } } - func fetchPmDownload(magnet: Magnet?, cloudItemId: String? = nil) async { + func fetchPmDownload(magnet: Magnet?, cloudInfo: String? = nil) async { do { - if let cloudItemId { - downloadUrl = try await premiumize.itemDetails(itemID: cloudItemId).link - } else if let magnet { + if let cloudInfo { + downloadUrl = try await premiumize.checkUserDownloads(link: cloudInfo, userDownloads: premiumizeCloudItems) ?? "" + return + } + + if let magnet { let downloadLink = try await premiumize.getDownloadLink( magnet: magnet, ia: selectedPremiumizeItem, iaFile: selectedPremiumizeFile ) diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift index ed09447..0f342b5 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift @@ -67,9 +67,14 @@ struct AllDebridCloudView: View { ) Task { - if cloudTorrent.links.count == 1 { - if let torrentLink = cloudTorrent.links[safe: 0] { - await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: torrentLink) + let magnet = Magnet(hash: cloudTorrent.hash, link: nil) + await debridManager.populateDebridIA([magnet]) + if debridManager.selectDebridResult(magnet: magnet) { + // Is this a batch? + + if cloudTorrent.links.count == 1 { + await debridManager.fetchDebridDownload(magnet: magnet) + if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyInfo, performSave: true) @@ -79,14 +84,8 @@ struct AllDebridCloudView: View { navModel: navModel ) } - } - } else { - let magnet = Magnet(hash: cloudTorrent.hash, link: nil) - - // Do not clear old IA values - await debridManager.populateDebridIA([magnet]) - - if debridManager.selectDebridResult(magnet: magnet) { + } else { + navModel.selectedMagnet = magnet navModel.selectedHistoryInfo = historyInfo navModel.currentChoiceSheet = .batch } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift index f1a2224..383c1ea 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift @@ -68,9 +68,14 @@ struct RealDebridCloudView: View { ) Task { - if cloudTorrent.links.count == 1 { - if let torrentLink = cloudTorrent.links[safe: 0] { - await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: torrentLink) + let magnet = Magnet(hash: cloudTorrent.hash, link: nil) + await debridManager.populateDebridIA([magnet]) + if debridManager.selectDebridResult(magnet: magnet) { + // Is this a batch? + + if cloudTorrent.links.count == 1 { + await debridManager.fetchDebridDownload(magnet: magnet) + if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyInfo, performSave: true) @@ -80,14 +85,8 @@ struct RealDebridCloudView: View { navModel: navModel ) } - } - } else { - let magnet = Magnet(hash: cloudTorrent.hash, link: nil) - - // Do not clear old IA values - await debridManager.populateDebridIA([magnet]) - - if debridManager.selectDebridResult(magnet: magnet) { + } else { + navModel.selectedMagnet = magnet navModel.selectedHistoryInfo = historyInfo navModel.currentChoiceSheet = .batch } diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index 5e7e9da..7d2d3f4 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -85,7 +85,7 @@ struct BatchChoiceView: View { // Common function to communicate betwen VMs and queue/display a download func queueCommonDownload(fileName: String) { debridManager.currentDebridTask = Task { - await debridManager.fetchDebridDownload(magnet: navModel.resultFromCloud ? nil : navModel.selectedMagnet) + await debridManager.fetchDebridDownload(magnet: navModel.selectedMagnet) if !debridManager.downloadUrl.isEmpty { try? await Task.sleep(seconds: 1) -- 2.45.2 From 96a6722e653d593ed9a505465ac91637d3fba084 Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 4 Jun 2024 10:52:35 -0400 Subject: [PATCH 15/59] Debrid: Fix RealDebrid download handling The torrent ID is no longer stored in the DebridManager. Signed-off-by: kingbri --- Ferrite/API/RealDebridWrapper.swift | 41 ++++++++++++++++++----------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 2ec74ee..7bf301e 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -296,25 +296,34 @@ public class RealDebrid: PollingDebridSource { // Wrapper function to fetch a download link from the API public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { - let selectedMagnetId: String + var selectedMagnetId: String = "" - // Don't queue a new job if the torrent already exists - if let existingTorrent = userTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { - selectedMagnetId = existingTorrent.torrentId - } else { - selectedMagnetId = try await addMagnet(magnet: magnet) + do { + // Don't queue a new job if the torrent already exists + if let existingTorrent = userTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + selectedMagnetId = existingTorrent.torrentId + } else { + selectedMagnetId = try await addMagnet(magnet: magnet) - try await selectFiles(debridID: selectedMagnetId, fileIds: iaFile?.batchIds ?? []) + try await selectFiles(debridID: selectedMagnetId, fileIds: iaFile?.batchIds ?? []) + } + + // RealDebrid has 1 as the first ID for a file + let torrentLink = try await torrentInfo( + debridID: selectedMagnetId, + selectedFileId: iaFile?.fileId ?? 1 + ) + let downloadLink = try await unrestrictLink(debridDownloadLink: torrentLink) + + return downloadLink + } catch { + if case RealDebrid.RDError.EmptyTorrents = error, !selectedMagnetId.isEmpty { + try? await deleteTorrent(torrentId: selectedMagnetId) + } + + // Re-raise the error to the calling function + throw error } - - // RealDebrid has 1 as the first ID for a file - let torrentLink = try await torrentInfo( - debridID: selectedMagnetId, - selectedFileId: iaFile?.fileId ?? 1 - ) - let downloadLink = try await unrestrictLink(debridDownloadLink: torrentLink) - - return downloadLink } // Adds a magnet link to the user's RD account -- 2.45.2 From cf0c5a30f721ebd1982477501476454037bdc1b9 Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 4 Jun 2024 12:09:19 -0400 Subject: [PATCH 16/59] Debrid: Migrate common arrays to their API classes Add convenience vars which makes the API classes the source of truth for any interaction. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 27 +++++++---- Ferrite/API/PremiumizeWrapper.swift | 25 ++++++---- Ferrite/API/RealDebridWrapper.swift | 46 ++++++++++-------- Ferrite/Protocols/Debrid.swift | 18 +++++-- Ferrite/ViewModels/DebridManager.swift | 47 ++++++++++--------- .../Library/Cloud/RealDebridCloudView.swift | 4 +- 6 files changed, 101 insertions(+), 66 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 7111cd1..34268fa 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -14,6 +14,15 @@ public class AllDebrid: PollingDebridSource { public let website = "https://alldebrid.com" public var authTask: Task? + public var authProcessing: Bool = false + public var isLoggedIn: Bool { + getToken() != nil + } + + public var IAValues: [DebridIA] = [] + public var cloudDownloads: [DebridCloudDownload] = [] + public var cloudTorrents: [DebridCloudTorrent] = [] + let baseApiUrl = "https://api.alldebrid.com/v4" let appName = "Ferrite" @@ -153,7 +162,7 @@ public class AllDebrid: PollingDebridSource { // MARK: - Instant availability - public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { + public func instantAvailability(magnets: [Magnet]) async throws { let queryItems = magnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/instant", queryItems: queryItems)) @@ -175,16 +184,16 @@ public class AllDebrid: PollingDebridSource { ) } - return availableHashes + IAValues += availableHashes } // MARK: - Downloading // Wrapper function to fetch a download link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { let selectedMagnetId: String - if let existingMagnet = userTorrents.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { + if let existingMagnet = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { selectedMagnetId = existingMagnet.torrentId } else { let magnetId = try await addMagnet(magnet: magnet) @@ -280,7 +289,7 @@ public class AllDebrid: PollingDebridSource { throw ADError.EmptyData } - let torrents = rawResponse.magnets.map { magnetResponse in + cloudTorrents = rawResponse.magnets.map { magnetResponse in DebridCloudTorrent( torrentId: String(magnetResponse.id), source: self.id, @@ -291,7 +300,7 @@ public class AllDebrid: PollingDebridSource { ) } - return torrents + return cloudTorrents } public func deleteTorrent(torrentId: String) async throws { @@ -314,17 +323,17 @@ public class AllDebrid: PollingDebridSource { } // The link is also the ID - let downloads = rawResponse.links.map { link in + cloudDownloads = rawResponse.links.map { link in DebridCloudDownload( downloadId: link.link, source: self.id, fileName: link.filename, link: link.link ) } - return downloads + return cloudDownloads } // Not used - public func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) async throws -> String? { + public func checkUserDownloads(link: String) async throws -> String? { nil } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 8ec7356..8a08d6b 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -12,6 +12,15 @@ public class Premiumize: OAuthDebridSource { public let abbreviation = "PM" public let website = "https://premiumize.me" + public var authProcessing: Bool = false + public var isLoggedIn: Bool { + getToken() != nil + } + + public var IAValues: [DebridIA] = [] + public var cloudDownloads: [DebridCloudDownload] = [] + public var cloudTorrents: [DebridCloudTorrent] = [] + let baseAuthUrl = "https://www.premiumize.me/authorize" let baseApiUrl = "https://www.premiumize.me/api" let clientId = "791565696" @@ -118,9 +127,7 @@ public class Premiumize: OAuthDebridSource { // MARK: - Instant availability - public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { - var collectedIA: [DebridIA] = [] - + public func instantAvailability(magnets: [Magnet]) async throws { // Only strip magnets that don't have an associated link for PM let strippedMagnets: [Magnet] = magnets.compactMap { if let magnetLink = $0.link { @@ -135,10 +142,8 @@ public class Premiumize: OAuthDebridSource { // Split DDL requests into chunks of 10 for chunk in availableMagnets.chunked(into: 10) { let tempIA = try await divideDDLRequests(magnetChunk: chunk) - collectedIA += tempIA + IAValues += tempIA } - - return collectedIA } // Function to divide and execute DDL endpoint requests in parallel @@ -251,7 +256,7 @@ public class Premiumize: OAuthDebridSource { // MARK: - Downloading // Wrapper function to fetch a DDL link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { // Store the item in PM cloud for later use try await createTransfer(magnet: magnet) @@ -294,11 +299,11 @@ public class Premiumize: OAuthDebridSource { } // The "link" is the ID for Premiumize - let downloads = rawResponse.files.map { file in + cloudDownloads = rawResponse.files.map { file in DebridCloudDownload(downloadId: file.id, source: self.id, fileName: file.name, link: file.id) } - return downloads + return cloudDownloads } func itemDetails(itemID: String) async throws -> ItemDetailsResponse { @@ -316,7 +321,7 @@ public class Premiumize: OAuthDebridSource { return rawResponse } - public func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) async throws -> String? { + public func checkUserDownloads(link: String) async throws -> String? { // Link is the cloud item ID try await itemDetails(itemID: link).link } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 7bf301e..53efaa2 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -13,6 +13,17 @@ public class RealDebrid: PollingDebridSource { public let website = "https://real-debrid.com" public var authTask: Task? + public var authProcessing: Bool = false + + // Directly checked because the request fetch uses async + public var isLoggedIn: Bool { + FerriteKeychain.shared.get("RealDebrid.AccessToken") != nil + } + + public var IAValues: [DebridIA] = [] + public var cloudDownloads: [DebridCloudDownload] = [] + public var cloudTorrents: [DebridCloudTorrent] = [] + let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" let baseApiUrl = "https://api.real-debrid.com/rest/1.0" let openSourceClientId = "X245A4XAIBGVM" @@ -97,7 +108,7 @@ public class RealDebrid: PollingDebridSource { await setUserDefaultsValue(clientId, forKey: "RealDebrid.ClientId") FerriteKeychain.shared.set(clientSecret, forKey: "RealDebrid.ClientSecret") - try await getTokens(deviceCode: deviceCode) + try await getApiTokens(deviceCode: deviceCode) return } else { @@ -110,7 +121,7 @@ public class RealDebrid: PollingDebridSource { } // Fetch all tokens for the user and store in FerriteKeychain.shared - public func getTokens(deviceCode: String) async throws { + public func getApiTokens(deviceCode: String) async throws { guard let clientId = UserDefaults.standard.string(forKey: "RealDebrid.ClientId") else { throw RDError.EmptyData } @@ -144,13 +155,13 @@ public class RealDebrid: PollingDebridSource { await setUserDefaultsValue(accessTimestamp, forKey: "RealDebrid.AccessTokenStamp") } - public func fetchToken() async -> String? { + public func getToken() async -> String? { let accessTokenStamp = UserDefaults.standard.double(forKey: "RealDebrid.AccessTokenStamp") if Date().timeIntervalSince1970 > accessTokenStamp { do { if let refreshToken = FerriteKeychain.shared.get("RealDebrid.RefreshToken") { - try await getTokens(deviceCode: refreshToken) + try await getApiTokens(deviceCode: refreshToken) } } catch { print(error) @@ -195,7 +206,7 @@ public class RealDebrid: PollingDebridSource { // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { - guard let token = await fetchToken() else { + guard let token = await getToken() else { throw RDError.InvalidToken } @@ -220,8 +231,7 @@ public class RealDebrid: PollingDebridSource { // MARK: - Instant availability // Checks if the magnet is streamable on RD - public func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] { - var availableHashes: [DebridIA] = [] + public func instantAvailability(magnets: [Magnet]) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/instantAvailability/\(magnets.compactMap(\.hash).joined(separator: "/"))")!) let data = try await performRequest(request: &request, requestName: #function) @@ -269,7 +279,7 @@ public class RealDebrid: PollingDebridSource { } // TTL: 5 minutes - availableHashes.append( + IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), source: id, @@ -278,7 +288,7 @@ public class RealDebrid: PollingDebridSource { ) ) } else { - availableHashes.append( + IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), source: id, @@ -288,19 +298,17 @@ public class RealDebrid: PollingDebridSource { ) } } - - return availableHashes } // MARK: - Downloading // Wrapper function to fetch a download link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent] = []) async throws -> String { - var selectedMagnetId: String = "" + public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + var selectedMagnetId = "" do { // Don't queue a new job if the torrent already exists - if let existingTorrent = userTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + if let existingTorrent = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { selectedMagnetId = existingTorrent.torrentId } else { selectedMagnetId = try await addMagnet(magnet: magnet) @@ -411,7 +419,7 @@ public class RealDebrid: PollingDebridSource { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserTorrentsResponse].self, from: data) - let torrents = rawResponse.map { response in + cloudTorrents = rawResponse.map { response in DebridCloudTorrent( torrentId: response.id, source: self.id, @@ -422,7 +430,7 @@ public class RealDebrid: PollingDebridSource { ) } - return torrents + return cloudTorrents } // Deletes a torrent download from RD @@ -439,15 +447,15 @@ public class RealDebrid: PollingDebridSource { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserDownloadsResponse].self, from: data) - let downloads = rawResponse.map { response in + cloudDownloads = rawResponse.map { response in DebridCloudDownload(downloadId: response.id, source: self.id, fileName: response.filename, link: response.download) } - return downloads + return cloudDownloads } // Not used - public func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) -> String? { + public func checkUserDownloads(link: String) -> String? { nil } diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index c2d6e20..3c35014 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -13,20 +13,32 @@ public protocol DebridSource { var abbreviation: String { get } var website: String { get } + // Auth variables + var authProcessing: Bool { get set } + var isLoggedIn: Bool { get } + // Common authentication functions func setApiKey(_ key: String) -> Bool func logout() async - func instantAvailability(magnets: [Magnet]) async throws -> [DebridIA] + // Instant availability variables + var IAValues: [DebridIA] { get set } + + // Instant availability functions + func instantAvailability(magnets: [Magnet]) async throws // Fetches a download link from a source // Include the instant availability information with the args // Torrents also checked here - func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?, userTorrents: [DebridCloudTorrent]) async throws -> String + func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String + + // Cloud variables + var cloudDownloads: [DebridCloudDownload] { get set } + var cloudTorrents: [DebridCloudTorrent] { get set } // User downloads functions func getUserDownloads() async throws -> [DebridCloudDownload] - func checkUserDownloads(link: String, userDownloads: [DebridCloudDownload]) async throws -> String? + func checkUserDownloads(link: String) async throws -> String? func deleteDownload(downloadId: String) async throws // User torrent functions diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 632ae3c..84d9e02 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -16,6 +16,8 @@ public class DebridManager: ObservableObject { let allDebrid: AllDebrid = .init() let premiumize: Premiumize = .init() + lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize] + // UI Variables @Published var showWebView: Bool = false @Published var showAuthSession: Bool = false @@ -198,22 +200,22 @@ public class DebridManager: ObservableObject { // If a hash isn't found in the IA, update it // If the hash is expired, remove it and update it let sendMagnets = resultMagnets.filter { magnet in - if let IAIndex = realDebridIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.realDebrid) { - if now.timeIntervalSince1970 > realDebridIAValues[IAIndex].expiryTimeStamp { - realDebridIAValues.remove(at: IAIndex) + if let IAIndex = realDebrid.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.realDebrid) { + if now.timeIntervalSince1970 > realDebrid.IAValues[IAIndex].expiryTimeStamp { + realDebrid.IAValues.remove(at: IAIndex) return true } else { return false } - } else if let IAIndex = allDebridIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.allDebrid) { - if now.timeIntervalSince1970 > allDebridIAValues[IAIndex].expiryTimeStamp { - allDebridIAValues.remove(at: IAIndex) + } else if let IAIndex = allDebrid.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.allDebrid) { + if now.timeIntervalSince1970 > allDebrid.IAValues[IAIndex].expiryTimeStamp { + allDebrid.IAValues.remove(at: IAIndex) return true } else { return false } - } else if let IAIndex = premiumizeIAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.premiumize) { - if now.timeIntervalSince1970 > premiumizeIAValues[IAIndex].expiryTimeStamp { + } else if let IAIndex = premiumize.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.premiumize) { + if now.timeIntervalSince1970 > premiumize.IAValues[IAIndex].expiryTimeStamp { premiumizeIAValues.remove(at: IAIndex) return true } else { @@ -228,8 +230,7 @@ public class DebridManager: ObservableObject { if !sendMagnets.isEmpty { if enabledDebrids.contains(.realDebrid) { do { - let fetchedRealDebridIA = try await realDebrid.instantAvailability(magnets: sendMagnets) - realDebridIAValues += fetchedRealDebridIA + try await realDebrid.instantAvailability(magnets: sendMagnets) } catch { await sendDebridError(error, prefix: "RealDebrid IA fetch error") } @@ -237,8 +238,7 @@ public class DebridManager: ObservableObject { if enabledDebrids.contains(.allDebrid) { do { - let fetchedAllDebridIA = try await allDebrid.instantAvailability(magnets: sendMagnets) - allDebridIAValues += fetchedAllDebridIA + try await allDebrid.instantAvailability(magnets: sendMagnets) } catch { await sendDebridError(error, prefix: "AllDebrid IA fetch error") } @@ -246,8 +246,7 @@ public class DebridManager: ObservableObject { if enabledDebrids.contains(.premiumize) { do { - let fetchedPremiumizeIA = try await premiumize.instantAvailability(magnets: sendMagnets) - premiumizeIAValues += fetchedPremiumizeIA + try await premiumize.instantAvailability(magnets: sendMagnets) } catch { await sendDebridError(error, prefix: "Premiumize IA fetch error") } @@ -263,7 +262,7 @@ public class DebridManager: ObservableObject { switch selectedDebridType { case .realDebrid: - guard let realDebridMatch = realDebridIAValues.first(where: { magnetHash == $0.magnet.hash }) else { + guard let realDebridMatch = realDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) else { return .none } @@ -273,7 +272,7 @@ public class DebridManager: ObservableObject { return .full } case .allDebrid: - guard let allDebridMatch = allDebridIAValues.first(where: { magnetHash == $0.magnet.hash }) else { + guard let allDebridMatch = allDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) else { return .none } @@ -283,7 +282,7 @@ public class DebridManager: ObservableObject { return .full } case .premiumize: - guard let premiumizeMatch = premiumizeIAValues.first(where: { magnetHash == $0.magnet.hash }) else { + guard let premiumizeMatch = premiumize.IAValues.first(where: { magnetHash == $0.magnet.hash }) else { return .none } @@ -305,7 +304,7 @@ public class DebridManager: ObservableObject { switch selectedDebridType { case .realDebrid: - if let realDebridItem = realDebridIAValues.first(where: { magnetHash == $0.magnet.hash }) { + if let realDebridItem = realDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedRealDebridItem = realDebridItem return true } else { @@ -313,7 +312,7 @@ public class DebridManager: ObservableObject { return false } case .allDebrid: - if let allDebridItem = allDebridIAValues.first(where: { magnetHash == $0.magnet.hash }) { + if let allDebridItem = allDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedAllDebridItem = allDebridItem return true } else { @@ -321,7 +320,7 @@ public class DebridManager: ObservableObject { return false } case .premiumize: - if let premiumizeItem = premiumizeIAValues.first(where: { magnetHash == $0.magnet.hash }) { + if let premiumizeItem = premiumize.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedPremiumizeItem = premiumizeItem return true } else { @@ -573,7 +572,7 @@ public class DebridManager: ObservableObject { do { if let magnet { let downloadLink = try await realDebrid.getDownloadLink( - magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile, userTorrents: realDebridCloudTorrents + magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile ) // Update the UI @@ -643,6 +642,8 @@ public class DebridManager: ObservableObject { do { if let torrentID { try await realDebrid.deleteTorrent(torrentId: torrentID) + + await fetchRdCloud(bypassTTL: true) } else { throw RealDebrid.RDError.FailedRequest(description: "No torrent ID was provided") } @@ -670,7 +671,7 @@ public class DebridManager: ObservableObject { do { if let magnet { let downloadLink = try await allDebrid.getDownloadLink( - magnet: magnet, ia: selectedAllDebridItem, iaFile: selectedAllDebridFile, userTorrents: allDebridCloudMagnets + magnet: magnet, ia: selectedAllDebridItem, iaFile: selectedAllDebridFile ) // Update UI @@ -740,7 +741,7 @@ public class DebridManager: ObservableObject { func fetchPmDownload(magnet: Magnet?, cloudInfo: String? = nil) async { do { if let cloudInfo { - downloadUrl = try await premiumize.checkUserDownloads(link: cloudInfo, userDownloads: premiumizeCloudItems) ?? "" + downloadUrl = try await premiumize.checkUserDownloads(link: cloudInfo) ?? "" return } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift index 383c1ea..af74379 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift @@ -17,7 +17,7 @@ struct RealDebridCloudView: View { var body: some View { Group { DisclosureGroup("Downloads") { - ForEach(debridManager.realDebridCloudDownloads.filter { + ForEach(debridManager.realDebrid.cloudDownloads.filter { searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) }, id: \.self) { cloudDownload in Button(cloudDownload.fileName) { @@ -54,7 +54,7 @@ struct RealDebridCloudView: View { } DisclosureGroup("Torrents") { - ForEach(debridManager.realDebridCloudTorrents.filter { + ForEach(debridManager.realDebrid.cloudTorrents.filter { searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) }, id: \.self) { cloudTorrent in Button { -- 2.45.2 From b80f8900b756bde512b3cb4b2c86a9ca8dcc81ae Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 4 Jun 2024 13:56:48 -0400 Subject: [PATCH 17/59] Debrid: Allow for UI updates Mark as an ObservableObject so the UI can see parameters that are being updated in the class. Signed-off-by: kingbri --- Ferrite/API/PremiumizeWrapper.swift | 8 ++--- Ferrite/API/RealDebridWrapper.swift | 8 ++--- Ferrite/Protocols/Debrid.swift | 2 +- Ferrite/ViewModels/DebridManager.swift | 29 ++++++++----------- Ferrite/ViewModels/ScrapingViewModel.swift | 4 +-- .../Library/BookmarksView.swift | 2 +- .../Library/LibraryPickerView.swift | 2 +- .../SearchResult/SearchFilterHeaderView.swift | 2 +- Ferrite/Views/SettingsView.swift | 2 +- 9 files changed, 27 insertions(+), 32 deletions(-) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 8a08d6b..9fcd234 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -12,14 +12,14 @@ public class Premiumize: OAuthDebridSource { public let abbreviation = "PM" public let website = "https://premiumize.me" - public var authProcessing: Bool = false + @Published public var authProcessing: Bool = false public var isLoggedIn: Bool { getToken() != nil } - public var IAValues: [DebridIA] = [] - public var cloudDownloads: [DebridCloudDownload] = [] - public var cloudTorrents: [DebridCloudTorrent] = [] + @Published public var IAValues: [DebridIA] = [] + @Published public var cloudDownloads: [DebridCloudDownload] = [] + @Published public var cloudTorrents: [DebridCloudTorrent] = [] let baseAuthUrl = "https://www.premiumize.me/authorize" let baseApiUrl = "https://www.premiumize.me/api" diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 53efaa2..e6f46de 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -13,16 +13,16 @@ public class RealDebrid: PollingDebridSource { public let website = "https://real-debrid.com" public var authTask: Task? - public var authProcessing: Bool = false + @Published public var authProcessing: Bool = false // Directly checked because the request fetch uses async public var isLoggedIn: Bool { FerriteKeychain.shared.get("RealDebrid.AccessToken") != nil } - public var IAValues: [DebridIA] = [] - public var cloudDownloads: [DebridCloudDownload] = [] - public var cloudTorrents: [DebridCloudTorrent] = [] + @Published public var IAValues: [DebridIA] = [] + @Published public var cloudDownloads: [DebridCloudDownload] = [] + @Published public var cloudTorrents: [DebridCloudTorrent] = [] let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" let baseApiUrl = "https://api.real-debrid.com/rest/1.0" diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 3c35014..8af5adf 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -7,7 +7,7 @@ import Foundation -public protocol DebridSource { +public protocol DebridSource: ObservableObject { // ID of the service var id: String { get } var abbreviation: String { get } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 84d9e02..6e30bcf 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -12,16 +12,20 @@ import SwiftUI public class DebridManager: ObservableObject { // Linked classes var logManager: LoggingManager? - let realDebrid: RealDebrid = .init() - let allDebrid: AllDebrid = .init() - let premiumize: Premiumize = .init() + @Published var realDebrid: RealDebrid = .init() + @Published var allDebrid: AllDebrid = .init() + @Published var premiumize: Premiumize = .init() - lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize] + lazy var debridSources: [any DebridSource] = [realDebrid, allDebrid, premiumize] // UI Variables @Published var showWebView: Bool = false @Published var showAuthSession: Bool = false + var hasEnabledDebrids: Bool { + debridSources.contains { $0.isLoggedIn } + } + // Service agnostic variables @Published var enabledDebrids: Set = [] { didSet { @@ -60,9 +64,6 @@ public class DebridManager: ObservableObject { // RealDebrid auth variables var realDebridAuthProcessing: Bool = false - // RealDebrid fetch variables - @Published var realDebridIAValues: [DebridIA] = [] - @Published var showDeleteAlert: Bool = false var selectedRealDebridItem: DebridIA? @@ -78,9 +79,6 @@ public class DebridManager: ObservableObject { // AllDebrid auth variables var allDebridAuthProcessing: Bool = false - // AllDebrid fetch variables - @Published var allDebridIAValues: [DebridIA] = [] - var selectedAllDebridItem: DebridIA? var selectedAllDebridFile: DebridIAFile? @@ -92,9 +90,6 @@ public class DebridManager: ObservableObject { // Premiumize auth variables var premiumizeAuthProcessing: Bool = false - // Premiumize fetch variables - @Published var premiumizeIAValues: [DebridIA] = [] - var selectedPremiumizeItem: DebridIA? var selectedPremiumizeFile: DebridIAFile? @@ -171,9 +166,9 @@ public class DebridManager: ObservableObject { // Cleans all cached IA values in the event of a full IA refresh public func clearIAValues() { - realDebridIAValues = [] - allDebridIAValues = [] - premiumizeIAValues = [] + for debridSource in debridSources { + debridSource.IAValues = [] + } } // Clears all selected files and items @@ -216,7 +211,7 @@ public class DebridManager: ObservableObject { } } else if let IAIndex = premiumize.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.premiumize) { if now.timeIntervalSince1970 > premiumize.IAValues[IAIndex].expiryTimeStamp { - premiumizeIAValues.remove(at: IAIndex) + premiumize.IAValues.remove(at: IAIndex) return true } else { return false diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index 46720dd..13c65a0 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -80,7 +80,7 @@ class ScrapingViewModel: ObservableObject { cleanedSearchText = searchText.lowercased() - if await !debridManager.enabledDebrids.isEmpty { + if await !debridManager.hasEnabledDebrids { await debridManager.clearIAValues() } @@ -114,7 +114,7 @@ class ScrapingViewModel: ObservableObject { var failedSourceNames: [String] = [] for await (requestResult, sourceName) in group { if let requestResult { - if await !debridManager.enabledDebrids.isEmpty { + if await !debridManager.hasEnabledDebrids { await debridManager.populateDebridIA(requestResult.magnets) } diff --git a/Ferrite/Views/ComponentViews/Library/BookmarksView.swift b/Ferrite/Views/ComponentViews/Library/BookmarksView.swift index 60bd3cf..eb0d632 100644 --- a/Ferrite/Views/ComponentViews/Library/BookmarksView.swift +++ b/Ferrite/Views/ComponentViews/Library/BookmarksView.swift @@ -56,7 +56,7 @@ struct BookmarksView: View { .frame(height: 15) } .task { - if debridManager.enabledDebrids.count > 0 { + if debridManager.hasEnabledDebrids { let magnets = bookmarks.compactMap { if let magnetHash = $0.magnetHash { return Magnet(hash: magnetHash, link: $0.magnetLink) diff --git a/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift b/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift index 8c97e58..d3c88f6 100644 --- a/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift +++ b/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift @@ -19,7 +19,7 @@ struct LibraryPickerView: View { Text("Bookmarks").tag(NavigationViewModel.LibraryPickerSegment.bookmarks) Text("History").tag(NavigationViewModel.LibraryPickerSegment.history) - if !debridManager.enabledDebrids.isEmpty { + if debridManager.hasEnabledDebrids { Text("Cloud").tag(NavigationViewModel.LibraryPickerSegment.debridCloud) } } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift index 2602c68..8797a1a 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift @@ -60,7 +60,7 @@ struct SearchFilterHeaderView: View { // MARK: - Cache status picker - if !debridManager.enabledDebrids.isEmpty { + if debridManager.hasEnabledDebrids { IAFilterView() } diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index 019c6bb..8914583 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -128,7 +128,7 @@ struct SettingsView: View { } Section(header: InlineHeader("Default actions")) { - if debridManager.enabledDebrids.count > 0 { + if debridManager.hasEnabledDebrids { NavigationLink { DefaultActionPickerView( actionRequirement: .debrid, -- 2.45.2 From 07731e7b0099190effbfa6b6fcb1901bd64d3688 Mon Sep 17 00:00:00 2001 From: kingbri Date: Wed, 5 Jun 2024 12:33:11 -0400 Subject: [PATCH 18/59] Debrid: Migrate more components to the protocol Protocols can't be used in ObservedObjects. Observable in iOS 17 and up solves this, but Ferrite targets iOS 16 and up, so add a type-erased StateObject which supports protocols. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 4 + Ferrite/API/AllDebridWrapper.swift | 14 +- Ferrite/API/PremiumizeWrapper.swift | 12 +- Ferrite/API/RealDebridWrapper.swift | 23 +-- Ferrite/Models/DebridModels.swift | 6 + Ferrite/Protocols/Debrid.swift | 6 +- Ferrite/Utils/Store.swift | 148 ++++++++++++++++++ Ferrite/ViewModels/DebridManager.swift | 61 +++----- Ferrite/ViewModels/ScrapingViewModel.swift | 2 +- .../Debrid/DebridLabelView.swift | 38 ++--- .../Filters/SelectedDebridFilterView.swift | 16 +- .../Library/Cloud/AllDebridCloudView.swift | 2 +- .../Library/Cloud/RealDebridCloudView.swift | 2 +- .../SearchResult/SearchFilterHeaderView.swift | 2 +- .../SearchResult/SearchResultInfoView.swift | 4 +- .../Settings/SettingsDebridInfoView.swift | 32 ++-- Ferrite/Views/LibraryView.swift | 4 +- Ferrite/Views/SettingsView.swift | 8 +- .../Views/SheetViews/BatchChoiceView.swift | 10 +- 19 files changed, 272 insertions(+), 122 deletions(-) create mode 100644 Ferrite/Utils/Store.swift diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index ed626ca..f957fd7 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -96,6 +96,7 @@ 0C84FCE729E4B61A00B0DFE4 /* FilterModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C84FCE629E4B61A00B0DFE4 /* FilterModels.swift */; }; 0C84FCE929E5ADEF00B0DFE4 /* FilterAmountLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C84FCE829E5ADEF00B0DFE4 /* FilterAmountLabelView.swift */; }; 0C871BDF29994D9D005279AC /* FilterLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C871BDE29994D9D005279AC /* FilterLabelView.swift */; }; + 0C8AE2482C0FFB6600701675 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8AE2472C0FFB6600701675 /* Store.swift */; }; 0C8DC35229CE287E008A83AD /* PluginInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8DC35129CE287E008A83AD /* PluginInfoView.swift */; }; 0C8DC35429CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8DC35329CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift */; }; 0C8DC35629CE2ABF008A83AD /* SourceSettingsApiView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8DC35529CE2ABF008A83AD /* SourceSettingsApiView.swift */; }; @@ -244,6 +245,7 @@ 0C84FCE629E4B61A00B0DFE4 /* FilterModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterModels.swift; sourceTree = ""; }; 0C84FCE829E5ADEF00B0DFE4 /* FilterAmountLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterAmountLabelView.swift; sourceTree = ""; }; 0C871BDE29994D9D005279AC /* FilterLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterLabelView.swift; sourceTree = ""; }; + 0C8AE2472C0FFB6600701675 /* Store.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = ""; }; 0C8DC35129CE287E008A83AD /* PluginInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginInfoView.swift; sourceTree = ""; }; 0C8DC35329CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceSettingsBaseUrlView.swift; sourceTree = ""; }; 0C8DC35529CE2ABF008A83AD /* SourceSettingsApiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceSettingsApiView.swift; sourceTree = ""; }; @@ -457,6 +459,7 @@ 0C44E2A728D4DDDC007711AE /* Application.swift */, 0C1A3E5529C9488C00DA9730 /* CodableWrapper.swift */, 0CD0265629FEFBF900A83D25 /* FerriteKeychain.swift */, + 0C8AE2472C0FFB6600701675 /* Store.swift */, ); path = Utils; sourceTree = ""; @@ -858,6 +861,7 @@ 0C794B6B289DACF100DD1CC8 /* PluginCatalogButtonView.swift in Sources */, 0C54D36428C5086E00BFEEE2 /* History+CoreDataProperties.swift in Sources */, 0CA148E9288903F000DE2211 /* MainView.swift in Sources */, + 0C8AE2482C0FFB6600701675 /* Store.swift in Sources */, 0C3E00D2296F4FD200ECECB2 /* PluginsView.swift in Sources */, 0CBC76FD288D914F0054BE44 /* BatchChoiceView.swift in Sources */, 0C7D11FE28AA03FE00ED92DB /* View.swift in Sources */, diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 34268fa..0be235f 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -8,10 +8,10 @@ import Foundation // TODO: Fix errors -public class AllDebrid: PollingDebridSource { - public let id = "AllDebrid" - public let abbreviation = "AD" - public let website = "https://alldebrid.com" +public class AllDebrid: PollingDebridSource, ObservableObject { + public let id = DebridInfo( + name: "AllDebrid", abbreviation: "AD", website: "https://alldebrid.com" + ) public var authTask: Task? public var authProcessing: Bool = false @@ -178,7 +178,7 @@ public class AllDebrid: PollingDebridSource { return DebridIA( magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), - source: self.id, + source: self.id.name, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -292,7 +292,7 @@ public class AllDebrid: PollingDebridSource { cloudTorrents = rawResponse.magnets.map { magnetResponse in DebridCloudTorrent( torrentId: String(magnetResponse.id), - source: self.id, + source: self.id.name, fileName: magnetResponse.filename, status: magnetResponse.status, hash: magnetResponse.hash, @@ -325,7 +325,7 @@ public class AllDebrid: PollingDebridSource { // The link is also the ID cloudDownloads = rawResponse.links.map { link in DebridCloudDownload( - downloadId: link.link, source: self.id, fileName: link.filename, link: link.link + downloadId: link.link, source: self.id.name, fileName: link.filename, link: link.link ) } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 9fcd234..939386f 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -7,10 +7,10 @@ import Foundation -public class Premiumize: OAuthDebridSource { - public let id = "Premiumize" - public let abbreviation = "PM" - public let website = "https://premiumize.me" +public class Premiumize: OAuthDebridSource, ObservableObject { + public let id = DebridInfo( + name: "Premiumize", abbreviation: "PM", website: "https://premiumize.me" + ) @Published public var authProcessing: Bool = false public var isLoggedIn: Bool { @@ -195,7 +195,7 @@ public class Premiumize: OAuthDebridSource { return DebridIA( magnet: magnet, - source: id, + source: id.name, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -300,7 +300,7 @@ public class Premiumize: OAuthDebridSource { // The "link" is the ID for Premiumize cloudDownloads = rawResponse.files.map { file in - DebridCloudDownload(downloadId: file.id, source: self.id, fileName: file.name, link: file.id) + DebridCloudDownload(downloadId: file.id, source: self.id.name, fileName: file.name, link: file.id) } return cloudDownloads diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index e6f46de..7204cee 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -7,10 +7,10 @@ import Foundation -public class RealDebrid: PollingDebridSource { - public let id = "RealDebrid" - public let abbreviation = "RD" - public let website = "https://real-debrid.com" +public class RealDebrid: PollingDebridSource, ObservableObject { + public let id = DebridInfo( + name: "RealDebrid", abbreviation: "RD", website: "https://real-debrid.com" + ) public var authTask: Task? @Published public var authProcessing: Bool = false @@ -20,9 +20,14 @@ public class RealDebrid: PollingDebridSource { FerriteKeychain.shared.get("RealDebrid.AccessToken") != nil } - @Published public var IAValues: [DebridIA] = [] + @Published public var IAValues: [DebridIA] = [] { + willSet { + self.objectWillChange.send() + } + } @Published public var cloudDownloads: [DebridCloudDownload] = [] @Published public var cloudTorrents: [DebridCloudTorrent] = [] + var cloudTTL: Double = 0.0 let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" let baseApiUrl = "https://api.real-debrid.com/rest/1.0" @@ -282,7 +287,7 @@ public class RealDebrid: PollingDebridSource { IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: id, + source: id.name, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -291,7 +296,7 @@ public class RealDebrid: PollingDebridSource { IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: id, + source: id.name, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: [] ) @@ -422,7 +427,7 @@ public class RealDebrid: PollingDebridSource { cloudTorrents = rawResponse.map { response in DebridCloudTorrent( torrentId: response.id, - source: self.id, + source: self.id.name, fileName: response.filename, status: response.status, hash: response.hash, @@ -448,7 +453,7 @@ public class RealDebrid: PollingDebridSource { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserDownloadsResponse].self, from: data) cloudDownloads = rawResponse.map { response in - DebridCloudDownload(downloadId: response.id, source: self.id, fileName: response.filename, link: response.download) + DebridCloudDownload(downloadId: response.id, source: self.id.name, fileName: response.filename, link: response.download) } return cloudDownloads diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 3eb4e5f..0a4316d 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -7,6 +7,12 @@ import Foundation +public struct DebridInfo: Hashable, Sendable { + let name: String + let abbreviation: String + let website: String +} + public struct DebridIA: Hashable, Sendable { let magnet: Magnet let source: String diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 8af5adf..3a842cb 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -7,11 +7,9 @@ import Foundation -public protocol DebridSource: ObservableObject { +public protocol DebridSource: AnyObservableObject { // ID of the service - var id: String { get } - var abbreviation: String { get } - var website: String { get } + var id: DebridInfo { get } // Auth variables var authProcessing: Bool { get set } diff --git a/Ferrite/Utils/Store.swift b/Ferrite/Utils/Store.swift new file mode 100644 index 0000000..a663fe6 --- /dev/null +++ b/Ferrite/Utils/Store.swift @@ -0,0 +1,148 @@ +// +// Store.swift +// Ferrite +// +// +// Originally created by William Baker on 09/06/2022. +// https://github.com/Tiny-Home-Consulting/Dependiject/blob/master/Dependiject/Store.swift +// Copyright (c) 2022 Tiny Home Consulting LLC. All rights reserved. +// +// Combined together by Brian Dashore +// +// TODO: Replace with Observable when minVersion >= iOS 17 +// + +import SwiftUI +import Combine + +class ErasedObservableObject: ObservableObject { + let objectWillChange: AnyPublisher + + init(objectWillChange: AnyPublisher) { + self.objectWillChange = objectWillChange + } + + static func empty() -> ErasedObservableObject { + .init(objectWillChange: Empty().eraseToAnyPublisher()) + } +} + +public protocol AnyObservableObject: AnyObject { + var objectWillChange: ObservableObjectPublisher { get } +} + +// The generic type names were chosen to match the SwiftUI equivalents: +// - ObjectType from StateObject and ObservedObject +// - Subject from ObservedObject.Wrapper.subscript(dynamicMember:) +// - S from Publisher.receive(on:options:) + +/// A property wrapper used to wrap injected observable objects. +/// +/// This is similar to SwiftUI's +/// [`StateObject`](https://developer.apple.com/documentation/swiftui/stateobject), but without +/// compile-time type restrictions. The lack of compile-time restrictions means that `ObjectType` +/// may be a protocol rather than a class. +/// +/// - Important: At runtime, the wrapped value must conform to ``AnyObservableObject``. +/// +/// To pass properties of the observable object down the view hierarchy as bindings, use the +/// projected value: +/// ```swift +/// struct ExampleView: View { +/// @Store var viewModel = Factory.shared.resolve(ViewModelProtocol.self) +/// +/// var body: some View { +/// TextField("username", text: $viewModel.username) +/// } +/// } +/// ``` +/// Not all injected objects need this property wrapper. See the example projects for examples each +/// way. +@propertyWrapper +public struct Store { + /// The underlying object being stored. + public let wrappedValue: ObjectType + + // See https://github.com/Tiny-Home-Consulting/Dependiject/issues/38 + fileprivate var _observableObject: ObservedObject + + @MainActor internal var observableObject: ErasedObservableObject { + return _observableObject.wrappedValue + } + + /// A projected value which has the same properties as the wrapped value, but presented as + /// bindings. + /// + /// Use this to pass bindings down the view hierarchy: + /// ```swift + /// struct ExampleView: View { + /// @Store var viewModel = Factory.shared.resolve(ViewModelProtocol.self) + /// + /// var body: some View { + /// TextField("username", text: $viewModel.username) + /// } + /// } + /// ``` + public var projectedValue: Wrapper { + return Wrapper(self) + } + + /// Create a stored value on a custom scheduler. + /// + /// Use this init to schedule updates on a specific scheduler other than `DispatchQueue.main`. + public init( + wrappedValue: ObjectType, + on scheduler: S, + schedulerOptions: S.SchedulerOptions? = nil + ) { + self.wrappedValue = wrappedValue + + if let observable = wrappedValue as? AnyObservableObject { + let objectWillChange = observable.objectWillChange + .receive(on: scheduler, options: schedulerOptions) + .eraseToAnyPublisher() + self._observableObject = .init(initialValue: .init(objectWillChange: objectWillChange)) + } else { + assertionFailure( + "Only use the Store property wrapper with objects conforming to AnyObservableObject." + ) + self._observableObject = .init(initialValue: .empty()) + } + } + + /// Create a stored value which publishes on the main thread. + /// + /// To control when updates are published, see ``init(wrappedValue:on:schedulerOptions:)``. + public init(wrappedValue: ObjectType) { + self.init(wrappedValue: wrappedValue, on: DispatchQueue.main) + } + + /// An equivalent to SwiftUI's + /// [`ObservedObject.Wrapper`](https://developer.apple.com/documentation/swiftui/observedobject/wrapper) + /// type. + @dynamicMemberLookup + public struct Wrapper { + private var store: Store + + internal init(_ store: Store) { + self.store = store + } + + /// Returns a binding to the resulting value of a given key path. + public subscript( + dynamicMember keyPath: ReferenceWritableKeyPath + ) -> Binding { + return Binding { + self.store.wrappedValue[keyPath: keyPath] + } set: { + self.store.wrappedValue[keyPath: keyPath] = $0 + } + } + } +} + +extension Store: DynamicProperty { + public nonisolated mutating func update() { + _observableObject.update() + } +} diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 6e30bcf..677125f 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -16,7 +16,7 @@ public class DebridManager: ObservableObject { @Published var allDebrid: AllDebrid = .init() @Published var premiumize: Premiumize = .init() - lazy var debridSources: [any DebridSource] = [realDebrid, allDebrid, premiumize] + lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize] // UI Variables @Published var showWebView: Bool = false @@ -26,6 +26,12 @@ public class DebridManager: ObservableObject { debridSources.contains { $0.isLoggedIn } } + @Published var selectedDebridId: DebridInfo? + + func debridSourceFromName(_ name: String? = nil) -> DebridSource? { + debridSources.first { $0.id.name == name ?? selectedDebridId?.name } + } + // Service agnostic variables @Published var enabledDebrids: Set = [] { didSet { @@ -106,12 +112,16 @@ public class DebridManager: ObservableObject { // If a UserDefaults integer isn't set, it's usually 0 let rawPreferredService = UserDefaults.standard.integer(forKey: "Debrid.PreferredService") - selectedDebridType = DebridType(rawValue: rawPreferredService) + let legacyPreferredService = DebridType(rawValue: rawPreferredService) + let preferredDebridSource = self.debridSourceFromName(legacyPreferredService?.toString()) + selectedDebridId = preferredDebridSource?.id // If a user has one logged in service, automatically set the preferred service to that one + /* if enabledDebrids.count == 1 { selectedDebridType = enabledDebrids.first } + */ } // TODO: Remove this after v0.6.0 @@ -255,38 +265,13 @@ public class DebridManager: ObservableObject { return .none } - switch selectedDebridType { - case .realDebrid: - guard let realDebridMatch = realDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) else { - return .none - } + let selectedSource = debridSourceFromName() - if realDebridMatch.files.count > 1 { - return .partial - } else { - return .full - } - case .allDebrid: - guard let allDebridMatch = allDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) else { - return .none - } - - if allDebridMatch.files.count > 1 { - return .partial - } else { - return .full - } - case .premiumize: - guard let premiumizeMatch = premiumize.IAValues.first(where: { magnetHash == $0.magnet.hash }) else { - return .none - } - - if premiumizeMatch.files.count > 1 { - return .partial - } else { - return .full - } - case .none: + if let selectedSource, + let match = selectedSource.IAValues.first(where: { magnetHash == $0.magnet.hash }) + { + return match.files.count > 1 ? .partial : .full + } else { return .none } } @@ -297,8 +282,8 @@ public class DebridManager: ObservableObject { return false } - switch selectedDebridType { - case .realDebrid: + switch selectedDebridId?.name { + case .some("RealDebrid"): if let realDebridItem = realDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedRealDebridItem = realDebridItem return true @@ -306,7 +291,7 @@ public class DebridManager: ObservableObject { logManager?.error("DebridManager: Could not find the associated RealDebrid entry for magnet hash \(magnetHash)") return false } - case .allDebrid: + case .some("AllDebrid"): if let allDebridItem = allDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedAllDebridItem = allDebridItem return true @@ -314,7 +299,7 @@ public class DebridManager: ObservableObject { logManager?.error("DebridManager: Could not find the associated AllDebrid entry for magnet hash \(magnetHash)") return false } - case .premiumize: + case .some("Premiumize"): if let premiumizeItem = premiumize.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedPremiumizeItem = premiumizeItem return true @@ -322,7 +307,7 @@ public class DebridManager: ObservableObject { logManager?.error("DebridManager: Could not find the associated Premiumize entry for magnet hash \(magnetHash)") return false } - case .none: + default: return false } } diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index 13c65a0..afdde3d 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -114,7 +114,7 @@ class ScrapingViewModel: ObservableObject { var failedSourceNames: [String] = [] for await (requestResult, sourceName) in group { if let requestResult { - if await !debridManager.hasEnabledDebrids { + if await debridManager.hasEnabledDebrids { await debridManager.populateDebridIA(requestResult.magnets) } diff --git a/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift b/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift index e3fd2b0..ce47955 100644 --- a/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift +++ b/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift @@ -8,38 +8,40 @@ import SwiftUI struct DebridLabelView: View { - @EnvironmentObject var debridManager: DebridManager + @Store var debridSource: DebridSource @State var cloudLinks: [String] = [] + @State var tagColor: Color = .red var magnet: Magnet? var body: some View { - if let selectedDebridType = debridManager.selectedDebridType { - Tag( - name: selectedDebridType.toString(abbreviated: true), - color: getTagColor(), - horizontalPadding: 5, - verticalPadding: 3 - ) + Tag( + name: debridSource.id.abbreviation, + color: tagColor, + horizontalPadding: 5, + verticalPadding: 3 + ) + .onAppear { + tagColor = getTagColor() + } + .onChange(of: debridSource.IAValues) { _ in + tagColor = getTagColor() } } func getTagColor() -> Color { if let magnet, cloudLinks.isEmpty { - switch debridManager.matchMagnetHash(magnet) { - case .full: - return Color.green - case .partial: - return Color.orange - case .none: - return Color.red + guard let match = debridSource.IAValues.first(where: { magnet.hash == $0.magnet.hash }) else { + return .red } + + return match.files.count > 1 ? .orange : .green } else if cloudLinks.count == 1 { - return Color.green + return .green } else if cloudLinks.count > 1 { - return Color.orange + return .orange } else { - return Color.red + return .red } } } diff --git a/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift b/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift index 9a98c72..1ecb106 100644 --- a/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift +++ b/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift @@ -15,23 +15,23 @@ struct SelectedDebridFilterView: View { var body: some View { Menu { Button { - debridManager.selectedDebridType = nil + debridManager.selectedDebridId = nil } label: { Text("None") - if debridManager.selectedDebridType == nil { + if debridManager.selectedDebridId == nil { Image(systemName: "checkmark") } } - ForEach(DebridType.allCases, id: \.self) { (debridType: DebridType) in - if debridManager.enabledDebrids.contains(debridType) { + ForEach(debridManager.debridSources, id: \.id) { debridSource in + if debridSource.isLoggedIn { Button { - debridManager.selectedDebridType = debridType + debridManager.selectedDebridId = debridSource.id } label: { - Text(debridType.toString()) + Text(debridSource.id.name) - if debridManager.selectedDebridType == debridType { + if debridManager.selectedDebridId == debridSource.id { Image(systemName: "checkmark") } } @@ -40,6 +40,6 @@ struct SelectedDebridFilterView: View { } label: { label } - .id(debridManager.selectedDebridType) + .id(debridManager.selectedDebridId) } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift index 0f342b5..ee72b05 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift @@ -102,7 +102,7 @@ struct AllDebridCloudView: View { HStack { Text(cloudTorrent.status.capitalizingFirstLetter()) Spacer() - DebridLabelView(cloudLinks: cloudTorrent.links) + //DebridLabelView(cloudLinks: cloudTorrent.links) } .font(.caption) } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift index af74379..b05e764 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift @@ -103,7 +103,7 @@ struct RealDebridCloudView: View { HStack { Text(cloudTorrent.status.capitalizingFirstLetter()) Spacer() - DebridLabelView(cloudLinks: cloudTorrent.links) + //DebridLabelView(cloudLinks: cloudTorrent.links) } .font(.caption) } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift index 8797a1a..b66fe14 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift @@ -53,7 +53,7 @@ struct SearchFilterHeaderView: View { SelectedDebridFilterView { FilterLabelView( - name: debridManager.selectedDebridType?.toString(), + name: debridManager.selectedDebridId?.name, fallbackName: "Debrid" ) } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift index d42371d..547e8a3 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift @@ -30,7 +30,9 @@ struct SearchResultInfoView: View { Text(size) } - DebridLabelView(magnet: result.magnet) + if let debridSource = debridManager.debridSourceFromName() { + DebridLabelView(debridSource: debridSource, magnet: result.magnet) + } } .font(.caption) } diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index cebd792..8d13af5 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -10,7 +10,7 @@ import SwiftUI struct SettingsDebridInfoView: View { @EnvironmentObject var debridManager: DebridManager - let debridType: DebridType + @Store var debridSource: DebridSource @State private var apiKeyTempText: String = "" @@ -18,9 +18,9 @@ struct SettingsDebridInfoView: View { List { Section(header: InlineHeader("Description")) { VStack(alignment: .leading, spacing: 10) { - Text("\(debridType.toString()) is a debrid service that is used for unrestricting downloads and media playback. You must pay to access the service.") + Text("\(debridSource.id.name) is a debrid service that is used for unrestricting downloads and media playback. You must pay to access the service.") - Link("Website", destination: URL(string: debridType.website()) ?? URL(string: "https://kingbri.dev/ferrite")!) + Link("Website", destination: URL(string: debridSource.id.website) ?? URL(string: "https://kingbri.dev/ferrite")!) } } @@ -30,21 +30,21 @@ struct SettingsDebridInfoView: View { ) { Button { Task { - if debridManager.enabledDebrids.contains(debridType) { - await debridManager.logoutDebrid(debridType: debridType) - } else if !debridManager.authProcessing(debridType) { - await debridManager.authenticateDebrid(debridType: debridType, apiKey: nil) + if debridSource.isLoggedIn { + //await debridManager.logoutDebrid(debridType: debridType) + } else if !debridSource.authProcessing { + //await debridManager.authenticateDebrid(debridType: debridType, apiKey: nil) } - apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + //apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" } } label: { Text( - debridManager.enabledDebrids.contains(debridType) + debridSource.isLoggedIn ? "Logout" - : (debridManager.authProcessing(debridType) ? "Processing" : "Login") + : (debridSource.authProcessing ? "Processing" : "Login") ) - .foregroundColor(debridManager.enabledDebrids.contains(debridType) ? .red : .blue) + .foregroundColor(debridSource.isLoggedIn ? .red : .blue) } } @@ -57,22 +57,22 @@ struct SettingsDebridInfoView: View { onCommit: { Task { if !apiKeyTempText.isEmpty { - await debridManager.authenticateDebrid(debridType: debridType, apiKey: apiKeyTempText) - apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + //await debridManager.authenticateDebrid(debridType: debridType, apiKey: apiKeyTempText) + //apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" } } } ) - .fieldDisabled(debridManager.enabledDebrids.contains(debridType)) + .fieldDisabled(debridSource.isLoggedIn) } .onAppear { Task { - apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + //apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" } } } .listStyle(.insetGrouped) - .navigationTitle(debridType.toString()) + .navigationTitle(debridSource.id.name) .navigationBarTitleDisplayMode(.inline) } } diff --git a/Ferrite/Views/LibraryView.swift b/Ferrite/Views/LibraryView.swift index fd5a87a..35d5f51 100644 --- a/Ferrite/Views/LibraryView.swift +++ b/Ferrite/Views/LibraryView.swift @@ -53,7 +53,7 @@ struct LibraryView: View { EmptyInstructionView(title: "No History", message: "Start watching to build history") } case .debridCloud: - if debridManager.selectedDebridType == nil { + if debridManager.selectedDebridId == nil { EmptyInstructionView(title: "Cloud Unavailable", message: "Listing is not available for this service") } } @@ -69,7 +69,7 @@ struct LibraryView: View { switch navModel.libraryPickerSelection { case .bookmarks, .debridCloud: SelectedDebridFilterView { - Text(debridManager.selectedDebridType?.toString(abbreviated: true) ?? "Debrid") + Text(debridManager.selectedDebridId?.abbreviation ?? "Debrid") } .transaction { $0.animation = .none diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index 8914583..fc23cf4 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -46,14 +46,14 @@ struct SettingsView: View { NavView { Form { Section(header: InlineHeader("Debrid services")) { - ForEach(DebridType.allCases, id: \.self) { debridType in + ForEach(debridManager.debridSources, id: \.id) { (debridSource: DebridSource) in NavigationLink { - SettingsDebridInfoView(debridType: debridType) + SettingsDebridInfoView(debridSource: debridSource) } label: { HStack { - Text(debridType.toString()) + Text(debridSource.id.name) Spacer() - Text(debridManager.enabledDebrids.contains(debridType) ? "Enabled" : "Disabled") + Text(debridSource.isLoggedIn ? "Enabled" : "Disabled") .foregroundColor(.secondary) } } diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index 7d2d3f4..13c402b 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -23,8 +23,8 @@ struct BatchChoiceView: View { var body: some View { NavView { List { - switch debridManager.selectedDebridType { - case .realDebrid: + switch debridManager.selectedDebridId?.name { + case .some("RealDebrid"): ForEach(debridManager.selectedRealDebridItem?.files ?? [], id: \.self) { file in if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { Button(file.name) { @@ -34,7 +34,7 @@ struct BatchChoiceView: View { } } } - case .allDebrid: + case .some("AllDebrid"): ForEach(debridManager.selectedAllDebridItem?.files ?? [], id: \.self) { file in if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { Button(file.name) { @@ -44,7 +44,7 @@ struct BatchChoiceView: View { } } } - case .premiumize: + case .some("Premiumize"): ForEach(debridManager.selectedPremiumizeItem?.files ?? [], id: \.self) { file in if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { Button(file.name) { @@ -54,7 +54,7 @@ struct BatchChoiceView: View { } } } - case .none: + default: EmptyView() } } -- 2.45.2 From 9650e6deec21c73d1dab79cefc98abfe3c7b0ae9 Mon Sep 17 00:00:00 2001 From: kingbri Date: Wed, 5 Jun 2024 13:05:26 -0400 Subject: [PATCH 19/59] Debrid: Remove ID storage Storing an ID reference is redundant. Store a class reference instead. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 12 ++++++------ Ferrite/API/PremiumizeWrapper.swift | 11 +++++------ Ferrite/API/RealDebridWrapper.swift | 14 +++++++------- Ferrite/Models/DebridModels.swift | 6 ------ Ferrite/Protocols/Debrid.swift | 5 ++++- Ferrite/ViewModels/DebridManager.swift | 15 +++++++-------- .../ComponentViews/Debrid/DebridLabelView.swift | 2 +- .../Filters/SelectedDebridFilterView.swift | 12 ++++++------ .../SearchResult/SearchFilterHeaderView.swift | 2 +- .../SearchResult/SearchResultInfoView.swift | 2 +- .../Settings/SettingsDebridInfoView.swift | 6 +++--- Ferrite/Views/LibraryView.swift | 4 ++-- Ferrite/Views/SettingsView.swift | 2 +- Ferrite/Views/SheetViews/BatchChoiceView.swift | 2 +- 14 files changed, 45 insertions(+), 50 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 0be235f..eaa1269 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -9,9 +9,9 @@ import Foundation // TODO: Fix errors public class AllDebrid: PollingDebridSource, ObservableObject { - public let id = DebridInfo( - name: "AllDebrid", abbreviation: "AD", website: "https://alldebrid.com" - ) + public let id = "AllDebrid" + public let abbreviation = "AD" + public let website = "https://alldebrid.com" public var authTask: Task? public var authProcessing: Bool = false @@ -178,7 +178,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { return DebridIA( magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), - source: self.id.name, + source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -292,7 +292,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { cloudTorrents = rawResponse.magnets.map { magnetResponse in DebridCloudTorrent( torrentId: String(magnetResponse.id), - source: self.id.name, + source: self.id, fileName: magnetResponse.filename, status: magnetResponse.status, hash: magnetResponse.hash, @@ -325,7 +325,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // The link is also the ID cloudDownloads = rawResponse.links.map { link in DebridCloudDownload( - downloadId: link.link, source: self.id.name, fileName: link.filename, link: link.link + downloadId: link.link, source: self.id, fileName: link.filename, link: link.link ) } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 939386f..2d26a20 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -8,10 +8,9 @@ import Foundation public class Premiumize: OAuthDebridSource, ObservableObject { - public let id = DebridInfo( - name: "Premiumize", abbreviation: "PM", website: "https://premiumize.me" - ) - + public let id = "Premiumize" + public let abbreviation = "PM" + public let website = "https://premiumize.me" @Published public var authProcessing: Bool = false public var isLoggedIn: Bool { getToken() != nil @@ -195,7 +194,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { return DebridIA( magnet: magnet, - source: id.name, + source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -300,7 +299,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // The "link" is the ID for Premiumize cloudDownloads = rawResponse.files.map { file in - DebridCloudDownload(downloadId: file.id, source: self.id.name, fileName: file.name, link: file.id) + DebridCloudDownload(downloadId: file.id, source: self.id, fileName: file.name, link: file.id) } return cloudDownloads diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 7204cee..85a1fcb 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -8,9 +8,9 @@ import Foundation public class RealDebrid: PollingDebridSource, ObservableObject { - public let id = DebridInfo( - name: "RealDebrid", abbreviation: "RD", website: "https://real-debrid.com" - ) + public let id = "RealDebrid" + public let abbreviation = "RD" + public let website = "https://real-debrid.com" public var authTask: Task? @Published public var authProcessing: Bool = false @@ -287,7 +287,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: id.name, + source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -296,7 +296,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: id.name, + source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: [] ) @@ -427,7 +427,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { cloudTorrents = rawResponse.map { response in DebridCloudTorrent( torrentId: response.id, - source: self.id.name, + source: self.id, fileName: response.filename, status: response.status, hash: response.hash, @@ -453,7 +453,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserDownloadsResponse].self, from: data) cloudDownloads = rawResponse.map { response in - DebridCloudDownload(downloadId: response.id, source: self.id.name, fileName: response.filename, link: response.download) + DebridCloudDownload(downloadId: response.id, source: self.id, fileName: response.filename, link: response.download) } return cloudDownloads diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 0a4316d..3eb4e5f 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -7,12 +7,6 @@ import Foundation -public struct DebridInfo: Hashable, Sendable { - let name: String - let abbreviation: String - let website: String -} - public struct DebridIA: Hashable, Sendable { let magnet: Magnet let source: String diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 3a842cb..fb7ba3d 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -9,7 +9,10 @@ import Foundation public protocol DebridSource: AnyObservableObject { // ID of the service - var id: DebridInfo { get } + //var id: DebridInfo { get } + var id: String { get } + var abbreviation: String { get } + var website: String { get } // Auth variables var authProcessing: Bool { get set } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 677125f..6a712bb 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -26,11 +26,13 @@ public class DebridManager: ObservableObject { debridSources.contains { $0.isLoggedIn } } - @Published var selectedDebridId: DebridInfo? + @Published var selectedDebridSource: DebridSource? + /* func debridSourceFromName(_ name: String? = nil) -> DebridSource? { debridSources.first { $0.id.name == name ?? selectedDebridId?.name } } + */ // Service agnostic variables @Published var enabledDebrids: Set = [] { @@ -113,8 +115,7 @@ public class DebridManager: ObservableObject { // If a UserDefaults integer isn't set, it's usually 0 let rawPreferredService = UserDefaults.standard.integer(forKey: "Debrid.PreferredService") let legacyPreferredService = DebridType(rawValue: rawPreferredService) - let preferredDebridSource = self.debridSourceFromName(legacyPreferredService?.toString()) - selectedDebridId = preferredDebridSource?.id + selectedDebridSource = self.debridSources.first { $0.id == legacyPreferredService?.toString() } // If a user has one logged in service, automatically set the preferred service to that one /* @@ -265,10 +266,8 @@ public class DebridManager: ObservableObject { return .none } - let selectedSource = debridSourceFromName() - - if let selectedSource, - let match = selectedSource.IAValues.first(where: { magnetHash == $0.magnet.hash }) + if let selectedDebridSource, + let match = selectedDebridSource.IAValues.first(where: { magnetHash == $0.magnet.hash }) { return match.files.count > 1 ? .partial : .full } else { @@ -282,7 +281,7 @@ public class DebridManager: ObservableObject { return false } - switch selectedDebridId?.name { + switch selectedDebridSource?.id { case .some("RealDebrid"): if let realDebridItem = realDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedRealDebridItem = realDebridItem diff --git a/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift b/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift index ce47955..84e2d5e 100644 --- a/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift +++ b/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift @@ -16,7 +16,7 @@ struct DebridLabelView: View { var body: some View { Tag( - name: debridSource.id.abbreviation, + name: debridSource.abbreviation, color: tagColor, horizontalPadding: 5, verticalPadding: 3 diff --git a/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift b/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift index 1ecb106..c6bc9c3 100644 --- a/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift +++ b/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift @@ -15,11 +15,11 @@ struct SelectedDebridFilterView: View { var body: some View { Menu { Button { - debridManager.selectedDebridId = nil + debridManager.selectedDebridSource = nil } label: { Text("None") - if debridManager.selectedDebridId == nil { + if debridManager.selectedDebridSource == nil { Image(systemName: "checkmark") } } @@ -27,11 +27,11 @@ struct SelectedDebridFilterView: View { ForEach(debridManager.debridSources, id: \.id) { debridSource in if debridSource.isLoggedIn { Button { - debridManager.selectedDebridId = debridSource.id + debridManager.selectedDebridSource = debridSource } label: { - Text(debridSource.id.name) + Text(debridSource.id) - if debridManager.selectedDebridId == debridSource.id { + if debridManager.selectedDebridSource?.id == debridSource.id { Image(systemName: "checkmark") } } @@ -40,6 +40,6 @@ struct SelectedDebridFilterView: View { } label: { label } - .id(debridManager.selectedDebridId) + .id(debridManager.selectedDebridSource?.id) } } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift index b66fe14..1ba7df0 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift @@ -53,7 +53,7 @@ struct SearchFilterHeaderView: View { SelectedDebridFilterView { FilterLabelView( - name: debridManager.selectedDebridId?.name, + name: debridManager.selectedDebridSource?.id, fallbackName: "Debrid" ) } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift index 547e8a3..4bb2528 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchResultInfoView.swift @@ -30,7 +30,7 @@ struct SearchResultInfoView: View { Text(size) } - if let debridSource = debridManager.debridSourceFromName() { + if let debridSource = debridManager.selectedDebridSource { DebridLabelView(debridSource: debridSource, magnet: result.magnet) } } diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index 8d13af5..6207b87 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -18,9 +18,9 @@ struct SettingsDebridInfoView: View { List { Section(header: InlineHeader("Description")) { VStack(alignment: .leading, spacing: 10) { - Text("\(debridSource.id.name) is a debrid service that is used for unrestricting downloads and media playback. You must pay to access the service.") + Text("\(debridSource.id) is a debrid service that is used for unrestricting downloads and media playback. You must pay to access the service.") - Link("Website", destination: URL(string: debridSource.id.website) ?? URL(string: "https://kingbri.dev/ferrite")!) + Link("Website", destination: URL(string: debridSource.website) ?? URL(string: "https://kingbri.dev/ferrite")!) } } @@ -72,7 +72,7 @@ struct SettingsDebridInfoView: View { } } .listStyle(.insetGrouped) - .navigationTitle(debridSource.id.name) + .navigationTitle(debridSource.id) .navigationBarTitleDisplayMode(.inline) } } diff --git a/Ferrite/Views/LibraryView.swift b/Ferrite/Views/LibraryView.swift index 35d5f51..ac1260f 100644 --- a/Ferrite/Views/LibraryView.swift +++ b/Ferrite/Views/LibraryView.swift @@ -53,7 +53,7 @@ struct LibraryView: View { EmptyInstructionView(title: "No History", message: "Start watching to build history") } case .debridCloud: - if debridManager.selectedDebridId == nil { + if debridManager.selectedDebridSource == nil { EmptyInstructionView(title: "Cloud Unavailable", message: "Listing is not available for this service") } } @@ -69,7 +69,7 @@ struct LibraryView: View { switch navModel.libraryPickerSelection { case .bookmarks, .debridCloud: SelectedDebridFilterView { - Text(debridManager.selectedDebridId?.abbreviation ?? "Debrid") + Text(debridManager.selectedDebridSource?.abbreviation ?? "Debrid") } .transaction { $0.animation = .none diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index fc23cf4..4171c96 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -51,7 +51,7 @@ struct SettingsView: View { SettingsDebridInfoView(debridSource: debridSource) } label: { HStack { - Text(debridSource.id.name) + Text(debridSource.id) Spacer() Text(debridSource.isLoggedIn ? "Enabled" : "Disabled") .foregroundColor(.secondary) diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index 13c402b..be0f38d 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -23,7 +23,7 @@ struct BatchChoiceView: View { var body: some View { NavView { List { - switch debridManager.selectedDebridId?.name { + switch debridManager.selectedDebridSource?.id { case .some("RealDebrid"): ForEach(debridManager.selectedRealDebridItem?.files ?? [], id: \.self) { file in if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { -- 2.45.2 From 0c3648120d0907351f1514fe6694b42f4cadc429 Mon Sep 17 00:00:00 2001 From: kingbri Date: Wed, 5 Jun 2024 22:16:40 -0400 Subject: [PATCH 20/59] Debrid: Refactor IA and download functions Use the common protocol to handle these. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 28 ++- Ferrite/API/PremiumizeWrapper.swift | 28 ++- Ferrite/API/RealDebridWrapper.swift | 29 ++- Ferrite/Protocols/Debrid.swift | 1 + Ferrite/ViewModels/DebridManager.swift | 194 +++++------------- .../Views/SheetViews/BatchChoiceView.swift | 35 +--- 6 files changed, 126 insertions(+), 189 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index eaa1269..5b44fac 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -19,9 +19,10 @@ public class AllDebrid: PollingDebridSource, ObservableObject { getToken() != nil } - public var IAValues: [DebridIA] = [] - public var cloudDownloads: [DebridCloudDownload] = [] - public var cloudTorrents: [DebridCloudTorrent] = [] + @Published public var IAValues: [DebridIA] = [] + @Published public var cloudDownloads: [DebridCloudDownload] = [] + @Published public var cloudTorrents: [DebridCloudTorrent] = [] + public var cloudTTL: Double = 0.0 let baseApiUrl = "https://api.alldebrid.com/v4" let appName = "Ferrite" @@ -163,7 +164,26 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Instant availability public func instantAvailability(magnets: [Magnet]) async throws { - let queryItems = magnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } + let now = Date().timeIntervalSince1970 + + let sendMagnets = magnets.filter { magnet in + if let IAIndex = IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }) { + if now > IAValues[IAIndex].expiryTimeStamp { + IAValues.remove(at: IAIndex) + return true + } else { + return false + } + } else { + return true + } + } + + if sendMagnets.isEmpty { + return + } + + let queryItems = sendMagnets.map { URLQueryItem(name: "magnets[]", value: $0.hash) } var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/instant", queryItems: queryItems)) let data = try await performRequest(request: &request, requestName: #function) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 2d26a20..1530ba8 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -19,6 +19,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { @Published public var IAValues: [DebridIA] = [] @Published public var cloudDownloads: [DebridCloudDownload] = [] @Published public var cloudTorrents: [DebridCloudTorrent] = [] + public var cloudTTL: Double = 0.0 let baseAuthUrl = "https://www.premiumize.me/authorize" let baseApiUrl = "https://www.premiumize.me/api" @@ -127,16 +128,31 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // MARK: - Instant availability public func instantAvailability(magnets: [Magnet]) async throws { - // Only strip magnets that don't have an associated link for PM - let strippedMagnets: [Magnet] = magnets.compactMap { - if let magnetLink = $0.link { - return Magnet(hash: $0.hash, link: magnetLink) + let now = Date().timeIntervalSince1970 + + // Remove magnets that don't have an associated link for PM along with existing TTL logic + let sendMagnets = magnets.filter { magnet in + if magnet.link == nil { + return false + } + + if let IAIndex = IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }) { + if now > IAValues[IAIndex].expiryTimeStamp { + IAValues.remove(at: IAIndex) + return true + } else { + return false + } } else { - return nil + return true } } - let availableMagnets = try await divideCacheRequests(magnets: strippedMagnets) + if sendMagnets.isEmpty { + return + } + + let availableMagnets = try await divideCacheRequests(magnets: sendMagnets) // Split DDL requests into chunks of 10 for chunk in availableMagnets.chunked(into: 10) { diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 85a1fcb..f306a15 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -20,14 +20,10 @@ public class RealDebrid: PollingDebridSource, ObservableObject { FerriteKeychain.shared.get("RealDebrid.AccessToken") != nil } - @Published public var IAValues: [DebridIA] = [] { - willSet { - self.objectWillChange.send() - } - } + @Published public var IAValues: [DebridIA] = [] @Published public var cloudDownloads: [DebridCloudDownload] = [] @Published public var cloudTorrents: [DebridCloudTorrent] = [] - var cloudTTL: Double = 0.0 + public var cloudTTL: Double = 0.0 let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" let baseApiUrl = "https://api.real-debrid.com/rest/1.0" @@ -237,7 +233,26 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // Checks if the magnet is streamable on RD public func instantAvailability(magnets: [Magnet]) async throws { - var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/instantAvailability/\(magnets.compactMap(\.hash).joined(separator: "/"))")!) + let now = Date().timeIntervalSince1970 + + let sendMagnets = magnets.filter { magnet in + if let IAIndex = IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }) { + if now > IAValues[IAIndex].expiryTimeStamp { + IAValues.remove(at: IAIndex) + return true + } else { + return false + } + } else { + return true + } + } + + if sendMagnets.isEmpty { + return + } + + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/instantAvailability/\(sendMagnets.compactMap(\.hash).joined(separator: "/"))")!) let data = try await performRequest(request: &request, requestName: #function) diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index fb7ba3d..2012492 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -36,6 +36,7 @@ public protocol DebridSource: AnyObservableObject { // Cloud variables var cloudDownloads: [DebridCloudDownload] { get set } var cloudTorrents: [DebridCloudTorrent] { get set } + var cloudTTL: Double { get set } // User downloads functions func getUserDownloads() async throws -> [DebridCloudDownload] diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 6a712bb..0b714f0 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -27,12 +27,8 @@ public class DebridManager: ObservableObject { } @Published var selectedDebridSource: DebridSource? - - /* - func debridSourceFromName(_ name: String? = nil) -> DebridSource? { - debridSources.first { $0.id.name == name ?? selectedDebridId?.name } - } - */ + var selectedDebridItem: DebridIA? + var selectedDebridFile: DebridIAFile? // Service agnostic variables @Published var enabledDebrids: Set = [] { @@ -184,78 +180,22 @@ public class DebridManager: ObservableObject { // Clears all selected files and items public func clearSelectedDebridItems() { - switch selectedDebridType { - case .realDebrid: - selectedRealDebridFile = nil - selectedRealDebridItem = nil - case .allDebrid: - selectedAllDebridFile = nil - selectedAllDebridItem = nil - case .premiumize: - selectedPremiumizeFile = nil - selectedPremiumizeItem = nil - case .none: - break - } + selectedDebridItem = nil + selectedDebridFile = nil } // Common function to populate hashes for debrid services public func populateDebridIA(_ resultMagnets: [Magnet]) async { - let now = Date() - - // If a hash isn't found in the IA, update it - // If the hash is expired, remove it and update it - let sendMagnets = resultMagnets.filter { magnet in - if let IAIndex = realDebrid.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.realDebrid) { - if now.timeIntervalSince1970 > realDebrid.IAValues[IAIndex].expiryTimeStamp { - realDebrid.IAValues.remove(at: IAIndex) - return true - } else { - return false - } - } else if let IAIndex = allDebrid.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.allDebrid) { - if now.timeIntervalSince1970 > allDebrid.IAValues[IAIndex].expiryTimeStamp { - allDebrid.IAValues.remove(at: IAIndex) - return true - } else { - return false - } - } else if let IAIndex = premiumize.IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }), enabledDebrids.contains(.premiumize) { - if now.timeIntervalSince1970 > premiumize.IAValues[IAIndex].expiryTimeStamp { - premiumize.IAValues.remove(at: IAIndex) - return true - } else { - return false - } - } else { - return true - } - } - - // Don't exit the function if the API fetch errors - if !sendMagnets.isEmpty { - if enabledDebrids.contains(.realDebrid) { - do { - try await realDebrid.instantAvailability(magnets: sendMagnets) - } catch { - await sendDebridError(error, prefix: "RealDebrid IA fetch error") - } + for debridSource in debridSources { + if !debridSource.isLoggedIn { + continue } - if enabledDebrids.contains(.allDebrid) { - do { - try await allDebrid.instantAvailability(magnets: sendMagnets) - } catch { - await sendDebridError(error, prefix: "AllDebrid IA fetch error") - } - } - - if enabledDebrids.contains(.premiumize) { - do { - try await premiumize.instantAvailability(magnets: sendMagnets) - } catch { - await sendDebridError(error, prefix: "Premiumize IA fetch error") - } + // Don't exit the function if the API fetch errors + do { + try await debridSource.instantAvailability(magnets: resultMagnets) + } catch { + await sendDebridError(error, prefix: "\(debridSource.id) IA fetch error") } } } @@ -281,32 +221,15 @@ public class DebridManager: ObservableObject { return false } - switch selectedDebridSource?.id { - case .some("RealDebrid"): - if let realDebridItem = realDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { - selectedRealDebridItem = realDebridItem - return true - } else { - logManager?.error("DebridManager: Could not find the associated RealDebrid entry for magnet hash \(magnetHash)") - return false - } - case .some("AllDebrid"): - if let allDebridItem = allDebrid.IAValues.first(where: { magnetHash == $0.magnet.hash }) { - selectedAllDebridItem = allDebridItem - return true - } else { - logManager?.error("DebridManager: Could not find the associated AllDebrid entry for magnet hash \(magnetHash)") - return false - } - case .some("Premiumize"): - if let premiumizeItem = premiumize.IAValues.first(where: { magnetHash == $0.magnet.hash }) { - selectedPremiumizeItem = premiumizeItem - return true - } else { - logManager?.error("DebridManager: Could not find the associated Premiumize entry for magnet hash \(magnetHash)") - return false - } - default: + guard let selectedSource = selectedDebridSource else { + return false + } + + if let IAItem = selectedSource.IAValues.first(where: { magnetHash == $0.magnet.hash }) { + selectedDebridItem = IAItem + return true + } else { + logManager?.error("DebridManager: Could not find the associated \(selectedSource.id) entry for magnet hash \(magnetHash)") return false } } @@ -535,23 +458,19 @@ public class DebridManager: ObservableObject { self.currentDebridTask = nil }) - switch selectedDebridType { - case .realDebrid: - await fetchRdDownload(magnet: magnet, cloudInfo: cloudInfo) - case .allDebrid: - await fetchAdDownload(magnet: magnet, cloudInfo: cloudInfo) - case .premiumize: - await fetchPmDownload(magnet: magnet, cloudInfo: cloudInfo) - case .none: - break + guard let debridSource = selectedDebridSource else { + return } - } - func fetchRdDownload(magnet: Magnet?, cloudInfo: String?) async { do { + if let cloudInfo { + downloadUrl = try await debridSource.checkUserDownloads(link: cloudInfo) ?? "" + return + } + if let magnet { - let downloadLink = try await realDebrid.getDownloadLink( - magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile + let downloadLink = try await debridSource.getDownloadLink( + magnet: magnet, ia: selectedDebridItem, iaFile: selectedDebridFile ) // Update the UI @@ -560,6 +479,28 @@ public class DebridManager: ObservableObject { throw RealDebrid.RDError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") } + // Fetch one more time to add updated data into the RD cloud cache + // TODO: Add common fetch cloud method + //await fetchRdCloud(bypassTTL: true) + } catch { + // TODO: Fix error types and unify errors + print("Error \(error)") + } + } + + func fetchRdDownload(magnet: Magnet?, cloudInfo: String?) async { + do { + guard let magnet else { + throw RealDebrid.RDError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") + } + + let downloadLink = try await realDebrid.getDownloadLink( + magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile + ) + + // Update the UI + downloadUrl = downloadLink + // Fetch one more time to add updated data into the RD cloud cache await fetchRdCloud(bypassTTL: true) } catch { @@ -631,21 +572,6 @@ public class DebridManager: ObservableObject { } } - func checkRdUserDownloads(userTorrentLink: String) async -> String? { - do { - let existingLinks = realDebridCloudDownloads.first { $0.link == userTorrentLink } - if let existingLink = existingLinks?.fileName { - return existingLink - } else { - return try await realDebrid.unrestrictLink(debridDownloadLink: userTorrentLink) - } - } catch { - await sendDebridError(error, prefix: "RealDebrid download check error") - - return nil - } - } - func fetchAdDownload(magnet: Magnet?, cloudInfo: String?) async { do { if let magnet { @@ -666,22 +592,6 @@ public class DebridManager: ObservableObject { } } - func checkAdUserLinks(lockedLink: String) async -> String? { - do { - let existingLinks = allDebridCloudLinks.first { $0.link == lockedLink } - if let existingLink = existingLinks?.link { - return existingLink - } else { - try await allDebrid.saveLink(link: lockedLink) - return try await allDebrid.unlockLink(lockedLink: lockedLink) - } - } catch { - await sendDebridError(error, prefix: "AllDebrid download check error") - - return nil - } - } - // Refreshes torrents and downloads from a RD user's account public func fetchAdCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > allDebridCloudTTL { diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index be0f38d..1620fdc 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -23,39 +23,14 @@ struct BatchChoiceView: View { var body: some View { NavView { List { - switch debridManager.selectedDebridSource?.id { - case .some("RealDebrid"): - ForEach(debridManager.selectedRealDebridItem?.files ?? [], id: \.self) { file in - if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { - Button(file.name) { - debridManager.selectedRealDebridFile = file + ForEach(debridManager.selectedDebridItem?.files ?? [], id: \.self) { file in + if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { + Button(file.name) { + debridManager.selectedDebridFile = file - queueCommonDownload(fileName: file.name) - } + queueCommonDownload(fileName: file.name) } } - case .some("AllDebrid"): - ForEach(debridManager.selectedAllDebridItem?.files ?? [], id: \.self) { file in - if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { - Button(file.name) { - debridManager.selectedAllDebridFile = file - - queueCommonDownload(fileName: file.name) - } - } - } - case .some("Premiumize"): - ForEach(debridManager.selectedPremiumizeItem?.files ?? [], id: \.self) { file in - if file.name.lowercased().contains(searchText.lowercased()) || searchText.isEmpty { - Button(file.name) { - debridManager.selectedPremiumizeFile = file - - queueCommonDownload(fileName: file.name) - } - } - } - default: - EmptyView() } } .tint(.primary) -- 2.45.2 From ec8455c08db80d50a6673c948ffea81da7ce19e5 Mon Sep 17 00:00:00 2001 From: kingbri Date: Wed, 5 Jun 2024 22:50:40 -0400 Subject: [PATCH 21/59] Debrid: Swap to common DebridError Removes the redundant error types. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 30 +++++++++++------------ Ferrite/API/PremiumizeWrapper.swift | 32 ++++++++++++------------ Ferrite/API/RealDebridWrapper.swift | 34 +++++++++++++------------- Ferrite/Models/AllDebridModels.swift | 14 ----------- Ferrite/Models/DebridModels.swift | 11 +++++++++ Ferrite/Models/PremiumizeModels.swift | 14 ----------- Ferrite/Models/RealDebridModels.swift | 14 ----------- Ferrite/ViewModels/DebridManager.swift | 20 +++++++-------- 8 files changed, 69 insertions(+), 100 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 5b44fac..cf533f9 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -42,7 +42,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // Validate the URL before doing anything else let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data guard let userUrl = URL(string: rawResponse.userURL) else { - throw ADError.AuthQuery(description: "The login URL is invalid") + throw DebridError.AuthQuery(description: "The login URL is invalid") } // Spawn the polling task separately @@ -53,7 +53,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { return userUrl } catch { print("Couldn't get pin information!") - throw ADError.AuthQuery(description: error.localizedDescription) + throw DebridError.AuthQuery(description: error.localizedDescription) } } @@ -73,7 +73,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { while count < 12 { if Task.isCancelled { - throw ADError.AuthQuery(description: "Token request cancelled.") + throw DebridError.AuthQuery(description: "Token request cancelled.") } let (data, _) = try await URLSession.shared.data(for: request) @@ -92,7 +92,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } } - throw ADError.AuthQuery(description: "Could not fetch the client ID and secret in time. Try logging in again.") + throw DebridError.AuthQuery(description: "Could not fetch the client ID and secret in time. Try logging in again.") } if case let .failure(error) = await authTask?.result { @@ -123,7 +123,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { guard let token = getToken() else { - throw ADError.InvalidToken + throw DebridError.InvalidToken } request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") @@ -131,23 +131,23 @@ public class AllDebrid: PollingDebridSource, ObservableObject { let (data, response) = try await URLSession.shared.data(for: request) guard let response = response as? HTTPURLResponse else { - throw ADError.FailedRequest(description: "No HTTP response given") + throw DebridError.FailedRequest(description: "No HTTP response given") } if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { logout() - throw ADError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to AllDebrid in Settings.") + throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to AllDebrid in Settings.") } else { - throw ADError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") + throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") } } // Builds a URL for further requests private func buildRequestURL(urlString: String, queryItems: [URLQueryItem] = []) throws -> URL { guard var components = URLComponents(string: urlString) else { - throw ADError.InvalidUrl + throw DebridError.InvalidUrl } components.queryItems = [ @@ -157,7 +157,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { if let url = components.url { return url } else { - throw ADError.InvalidUrl + throw DebridError.InvalidUrl } } @@ -234,7 +234,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // Adds a magnet link to the user's AD account public func addMagnet(magnet: Magnet) async throws -> Int { guard let magnetLink = magnet.link else { - throw ADError.FailedRequest(description: "The magnet link is invalid") + throw DebridError.FailedRequest(description: "The magnet link is invalid") } var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/upload")) @@ -254,7 +254,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { if let magnet = rawResponse.magnets[safe: 0] { return magnet.id } else { - throw ADError.InvalidResponse + throw DebridError.InvalidResponse } } @@ -271,7 +271,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { if let linkWrapper = rawResponse.magnets[safe: 0]?.links[safe: selectedIndex ?? -1] { return linkWrapper.link } else { - throw ADError.EmptyTorrents + throw DebridError.EmptyTorrents } } @@ -306,7 +306,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data if rawResponse.magnets.isEmpty { - throw ADError.EmptyData + throw DebridError.EmptyData } cloudTorrents = rawResponse.magnets.map { magnetResponse in @@ -339,7 +339,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data if rawResponse.links.isEmpty { - throw ADError.EmptyData + throw DebridError.EmptyData } // The link is also the ID diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 1530ba8..fbbf6aa 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -40,7 +40,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { if let url = urlComponents.url { return url } else { - throw PMError.InvalidUrl + throw DebridError.InvalidUrl } } @@ -48,14 +48,14 @@ public class Premiumize: OAuthDebridSource, ObservableObject { let callbackComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) guard let callbackFragment = callbackComponents?.fragment else { - throw PMError.InvalidResponse + throw DebridError.InvalidResponse } var fragmentComponents = URLComponents() fragmentComponents.query = callbackFragment guard let accessToken = fragmentComponents.queryItems?.first(where: { $0.name == "access_token" })?.value else { - throw PMError.InvalidToken + throw DebridError.InvalidToken } FerriteKeychain.shared.set(accessToken, forKey: "Premiumize.AccessToken") @@ -84,7 +84,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { guard let token = getToken() else { - throw PMError.InvalidToken + throw DebridError.InvalidToken } // Use the API query parameter if a manual API key is present @@ -93,7 +93,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { let requestUrl = request.url, var components = URLComponents(url: requestUrl, resolvingAgainstBaseURL: false) else { - throw PMError.InvalidUrl + throw DebridError.InvalidUrl } let apiTokenItem = URLQueryItem(name: "apikey", value: token) @@ -112,16 +112,16 @@ public class Premiumize: OAuthDebridSource, ObservableObject { let (data, response) = try await URLSession.shared.data(for: request) guard let response = response as? HTTPURLResponse else { - throw PMError.FailedRequest(description: "No HTTP response given") + throw DebridError.FailedRequest(description: "No HTTP response given") } if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { logout() - throw PMError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to Premiumize in Settings.") + throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to Premiumize in Settings.") } else { - throw PMError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") + throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") } } @@ -184,7 +184,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // Grabs DDL links func fetchDDL(magnet: Magnet) async throws -> DebridIA { if magnet.hash == nil { - throw PMError.EmptyData + throw DebridError.EmptyData } var request = URLRequest(url: URL(string: "\(baseApiUrl)/transfer/directdl")!) @@ -215,7 +215,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { files: files ) } else { - throw PMError.EmptyData + throw DebridError.EmptyData } } @@ -245,7 +245,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { var urlComponents = URLComponents(string: "\(baseApiUrl)/cache/check")! urlComponents.queryItems = magnets.map { URLQueryItem(name: "items[]", value: $0.hash) } guard let url = urlComponents.url else { - throw PMError.InvalidUrl + throw DebridError.InvalidUrl } var request = URLRequest(url: url) @@ -254,7 +254,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(CacheCheckResponse.self, from: data) if rawResponse.response.isEmpty { - throw PMError.EmptyData + throw DebridError.EmptyData } else { let availableMagnets = magnets.enumerated().compactMap { index, magnet in if rawResponse.response[safe: index] == true { @@ -280,13 +280,13 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } else if let premiumizeItem = ia, let firstFile = premiumizeItem.files[safe: 0], let streamUrlString = firstFile.streamUrlString { return streamUrlString } else { - throw PMError.FailedRequest(description: "Could not fetch your file from the Premiumize API") + throw DebridError.FailedRequest(description: "Could not fetch your file from the Premiumize API") } } func createTransfer(magnet: Magnet) async throws { guard let magnetLink = magnet.link else { - throw PMError.FailedRequest(description: "The magnet link is invalid") + throw DebridError.FailedRequest(description: "The magnet link is invalid") } var request = URLRequest(url: URL(string: "\(baseApiUrl)/transfer/create")!) @@ -310,7 +310,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(AllItemsResponse.self, from: data) if rawResponse.files.isEmpty { - throw PMError.EmptyData + throw DebridError.EmptyData } // The "link" is the ID for Premiumize @@ -325,7 +325,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { var urlComponents = URLComponents(string: "\(baseApiUrl)/item/details")! urlComponents.queryItems = [URLQueryItem(name: "id", value: itemID)] guard let url = urlComponents.url else { - throw PMError.InvalidUrl + throw DebridError.InvalidUrl } var request = URLRequest(url: url) diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index f306a15..798bb68 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -7,7 +7,7 @@ import Foundation -public class RealDebrid: PollingDebridSource, ObservableObject { +public class RealDebrid: PollingDebridSource, ObservableObject { public let id = "RealDebrid" public let abbreviation = "RD" public let website = "https://real-debrid.com" @@ -52,7 +52,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { ] guard let url = urlComponents.url else { - throw RDError.InvalidUrl + throw DebridError.InvalidUrl } let request = URLRequest(url: url) @@ -62,7 +62,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // Validate the URL before doing anything else let rawResponse = try jsonDecoder.decode(DeviceCodeResponse.self, from: data) guard let directVerificationUrl = URL(string: rawResponse.directVerificationURL) else { - throw RDError.AuthQuery(description: "The verification URL is invalid") + throw DebridError.AuthQuery(description: "The verification URL is invalid") } // Spawn the polling task separately @@ -73,7 +73,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { return directVerificationUrl } catch { print("Couldn't get the new client creds!") - throw RDError.AuthQuery(description: error.localizedDescription) + throw DebridError.AuthQuery(description: error.localizedDescription) } } @@ -86,7 +86,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { ] guard let url = urlComponents.url else { - throw RDError.InvalidUrl + throw DebridError.InvalidUrl } let request = URLRequest(url: url) @@ -96,7 +96,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { while count < 12 { if Task.isCancelled { - throw RDError.AuthQuery(description: "Token request cancelled.") + throw DebridError.AuthQuery(description: "Token request cancelled.") } let (data, _) = try await URLSession.shared.data(for: request) @@ -118,17 +118,17 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } } - throw RDError.AuthQuery(description: "Could not fetch the client ID and secret in time. Try logging in again.") + throw DebridError.AuthQuery(description: "Could not fetch the client ID and secret in time. Try logging in again.") } // Fetch all tokens for the user and store in FerriteKeychain.shared public func getApiTokens(deviceCode: String) async throws { guard let clientId = UserDefaults.standard.string(forKey: "RealDebrid.ClientId") else { - throw RDError.EmptyData + throw DebridError.EmptyData } guard let clientSecret = FerriteKeychain.shared.get("RealDebrid.ClientSecret") else { - throw RDError.EmptyData + throw DebridError.EmptyData } var request = URLRequest(url: URL(string: "\(baseAuthUrl)/token")!) @@ -208,7 +208,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // Wrapper request function which matches the responses and returns data @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { guard let token = await getToken() else { - throw RDError.InvalidToken + throw DebridError.InvalidToken } request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") @@ -216,16 +216,16 @@ public class RealDebrid: PollingDebridSource, ObservableObject { let (data, response) = try await URLSession.shared.data(for: request) guard let response = response as? HTTPURLResponse else { - throw RDError.FailedRequest(description: "No HTTP response given") + throw DebridError.FailedRequest(description: "No HTTP response given") } if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { await logout() - throw RDError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to RealDebrid in Settings.") + throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to RealDebrid in Settings.") } else { - throw RDError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") + throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") } } @@ -345,7 +345,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { return downloadLink } catch { - if case RealDebrid.RDError.EmptyTorrents = error, !selectedMagnetId.isEmpty { + if case DebridError.EmptyTorrents = error, !selectedMagnetId.isEmpty { try? await deleteTorrent(torrentId: selectedMagnetId) } @@ -357,7 +357,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // Adds a magnet link to the user's RD account public func addMagnet(magnet: Magnet) async throws -> String { guard let magnetLink = magnet.link else { - throw RDError.FailedRequest(description: "The magnet link is invalid") + throw DebridError.FailedRequest(description: "The magnet link is invalid") } var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/addMagnet")!) @@ -408,9 +408,9 @@ public class RealDebrid: PollingDebridSource, ObservableObject { if let torrentLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { return torrentLink } else if rawResponse.status == "downloading" || rawResponse.status == "queued" { - throw RDError.EmptyTorrents + throw DebridError.EmptyTorrents } else { - throw RDError.EmptyData + throw DebridError.EmptyData } } diff --git a/Ferrite/Models/AllDebridModels.swift b/Ferrite/Models/AllDebridModels.swift index 02b07b1..3ec1d0e 100644 --- a/Ferrite/Models/AllDebridModels.swift +++ b/Ferrite/Models/AllDebridModels.swift @@ -8,20 +8,6 @@ import Foundation public extension AllDebrid { - // MARK: - Errors - - // TODO: Hybridize debrid errors in one structure - enum ADError: Error { - case InvalidUrl - case InvalidPostBody - case InvalidResponse - case InvalidToken - case EmptyData - case EmptyTorrents - case FailedRequest(description: String) - case AuthQuery(description: String) - } - // MARK: - Generic AllDebrid response // Uses a generic parametr for whatever underlying response is present diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 3eb4e5f..9bce883 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -43,3 +43,14 @@ public struct DebridCloudTorrent: Hashable, Sendable { let hash: String let links: [String] } + +public enum DebridError: Error { + case InvalidUrl + case InvalidPostBody + case InvalidResponse + case InvalidToken + case EmptyData + case EmptyTorrents + case FailedRequest(description: String) + case AuthQuery(description: String) +} diff --git a/Ferrite/Models/PremiumizeModels.swift b/Ferrite/Models/PremiumizeModels.swift index 4572526..6ec9606 100644 --- a/Ferrite/Models/PremiumizeModels.swift +++ b/Ferrite/Models/PremiumizeModels.swift @@ -8,20 +8,6 @@ import Foundation public extension Premiumize { - // MARK: - Errors - - // TODO: Hybridize debrid errors in one structure - enum PMError: Error { - case InvalidUrl - case InvalidPostBody - case InvalidResponse - case InvalidToken - case EmptyData - case EmptyTorrents - case FailedRequest(description: String) - case AuthQuery(description: String) - } - // MARK: - CacheCheckResponse struct CacheCheckResponse: Codable { diff --git a/Ferrite/Models/RealDebridModels.swift b/Ferrite/Models/RealDebridModels.swift index ba455b1..d72ad40 100644 --- a/Ferrite/Models/RealDebridModels.swift +++ b/Ferrite/Models/RealDebridModels.swift @@ -9,20 +9,6 @@ import Foundation public extension RealDebrid { - // MARK: - Errors - - // TODO: Hybridize debrid errors in one structure - enum RDError: Error { - case InvalidUrl - case InvalidPostBody - case InvalidResponse - case InvalidToken - case EmptyData - case EmptyTorrents - case FailedRequest(description: String) - case AuthQuery(description: String) - } - // MARK: - device code endpoint struct DeviceCodeResponse: Codable, Sendable { diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 0b714f0..b811d0f 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -342,7 +342,7 @@ public class DebridManager: ObservableObject { try await realDebrid.authTask?.value return true } else { - throw RealDebrid.RDError.AuthQuery(description: "The verification URL was invalid") + throw DebridError.AuthQuery(description: "The verification URL was invalid") } } catch { await sendDebridError(error, prefix: "RealDebrid authentication error") @@ -361,7 +361,7 @@ public class DebridManager: ObservableObject { try await allDebrid.authTask?.value return true } else { - throw AllDebrid.ADError.AuthQuery(description: "The PIN URL was invalid") + throw DebridError.AuthQuery(description: "The PIN URL was invalid") } } catch { await sendDebridError(error, prefix: "AllDebrid authentication error") @@ -388,14 +388,14 @@ public class DebridManager: ObservableObject { public func handleCallback(url: URL?, error: Error?) async { do { if let error { - throw Premiumize.PMError.AuthQuery(description: "OAuth callback Error: \(error)") + throw DebridError.AuthQuery(description: "OAuth callback Error: \(error)") } if let callbackUrl = url { try premiumize.handleAuthCallback(url: callbackUrl) completeDebridAuth(.premiumize, success: true) } else { - throw Premiumize.PMError.AuthQuery(description: "The callback URL was invalid") + throw DebridError.AuthQuery(description: "The callback URL was invalid") } } catch { await sendDebridError(error, prefix: "Premiumize authentication error (callback)") @@ -476,7 +476,7 @@ public class DebridManager: ObservableObject { // Update the UI downloadUrl = downloadLink } else { - throw RealDebrid.RDError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") + throw DebridError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") } // Fetch one more time to add updated data into the RD cloud cache @@ -491,7 +491,7 @@ public class DebridManager: ObservableObject { func fetchRdDownload(magnet: Magnet?, cloudInfo: String?) async { do { guard let magnet else { - throw RealDebrid.RDError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") + throw DebridError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") } let downloadLink = try await realDebrid.getDownloadLink( @@ -505,7 +505,7 @@ public class DebridManager: ObservableObject { await fetchRdCloud(bypassTTL: true) } catch { switch error { - case RealDebrid.RDError.EmptyTorrents: + case DebridError.EmptyTorrents: showDeleteAlert.toggle() default: await sendDebridError(error, prefix: "RealDebrid download error", cancelString: "Download cancelled") @@ -565,7 +565,7 @@ public class DebridManager: ObservableObject { await fetchRdCloud(bypassTTL: true) } else { - throw RealDebrid.RDError.FailedRequest(description: "No torrent ID was provided") + throw DebridError.FailedRequest(description: "No torrent ID was provided") } } catch { await sendDebridError(error, prefix: "RealDebrid torrent delete error", presentError: presentError) @@ -582,7 +582,7 @@ public class DebridManager: ObservableObject { // Update UI downloadUrl = downloadLink } else { - throw AllDebrid.ADError.FailedRequest(description: "Could not fetch your file from AllDebrid's cache or API") + throw DebridError.FailedRequest(description: "Could not fetch your file from AllDebrid's cache or API") } // Fetch one more time to add updated data into the AD cloud cache @@ -641,7 +641,7 @@ public class DebridManager: ObservableObject { downloadUrl = downloadLink } else { - throw Premiumize.PMError.FailedRequest(description: "Could not fetch your file from Premiumize's cache or API") + throw DebridError.FailedRequest(description: "Could not fetch your file from Premiumize's cache or API") } // Fetch one more time to add updated data into the PM cloud cache -- 2.45.2 From 91f124130cd46dcbf4f90c3732586c49aed98e99 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 6 Jun 2024 10:44:44 -0400 Subject: [PATCH 22/59] Debrid: Fix cache alert Change the returned error to one that's unique to caching. Also make deleteTorrents optional to delete the first torrent if necessary since that's always being cached. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 6 ++++- Ferrite/API/PremiumizeWrapper.swift | 2 +- Ferrite/API/RealDebridWrapper.swift | 23 +++++++++++++++---- Ferrite/Models/DebridModels.swift | 1 + Ferrite/Protocols/Debrid.swift | 2 +- Ferrite/ViewModels/DebridManager.swift | 10 ++++++-- .../SearchResult/SearchResultButtonView.swift | 5 ++-- 7 files changed, 38 insertions(+), 11 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index cf533f9..7778aa2 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -323,7 +323,11 @@ public class AllDebrid: PollingDebridSource, ObservableObject { return cloudTorrents } - public func deleteTorrent(torrentId: String) async throws { + public func deleteTorrent(torrentId: String?) async throws { + guard let torrentId else { + throw DebridError.FailedRequest(description: "The torrentID \(String(describing: torrentId)) is invalid") + } + let queryItems = [ URLQueryItem(name: "id", value: torrentId) ] diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index fbbf6aa..468f406 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -359,5 +359,5 @@ public class Premiumize: OAuthDebridSource, ObservableObject { [] } - public func deleteTorrent(torrentId: String) async throws {} + public func deleteTorrent(torrentId: String?) async throws {} } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 798bb68..daf42b0 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -408,9 +408,9 @@ public class RealDebrid: PollingDebridSource, ObservableObject { if let torrentLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { return torrentLink } else if rawResponse.status == "downloading" || rawResponse.status == "queued" { - throw DebridError.EmptyTorrents + throw DebridError.IsCaching } else { - throw DebridError.EmptyData + throw DebridError.EmptyTorrents } } @@ -454,8 +454,23 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Deletes a torrent download from RD - public func deleteTorrent(torrentId: String) async throws { - var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/delete/\(torrentId)")!) + public func deleteTorrent(torrentId: String?) async throws { + let deleteId: String + + if let torrentId { + deleteId = torrentId + } else { + // Refresh the torrent cloud + // The first file is the currently caching one + let _ = try await getUserTorrents() + guard let firstTorrent = cloudTorrents[safe: -1] else { + throw DebridError.EmptyTorrents + } + + deleteId = firstTorrent.torrentId + } + + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/delete/\(deleteId)")!) request.httpMethod = "DELETE" try await performRequest(request: &request, requestName: #function) diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 9bce883..31ea356 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -51,6 +51,7 @@ public enum DebridError: Error { case InvalidToken case EmptyData case EmptyTorrents + case IsCaching case FailedRequest(description: String) case AuthQuery(description: String) } diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 2012492..3c0570c 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -45,7 +45,7 @@ public protocol DebridSource: AnyObservableObject { // User torrent functions func getUserTorrents() async throws -> [DebridCloudTorrent] - func deleteTorrent(torrentId: String) async throws + func deleteTorrent(torrentId: String?) async throws } public protocol PollingDebridSource: DebridSource { diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index b811d0f..06e50e8 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -483,8 +483,14 @@ public class DebridManager: ObservableObject { // TODO: Add common fetch cloud method //await fetchRdCloud(bypassTTL: true) } catch { - // TODO: Fix error types and unify errors - print("Error \(error)") + switch error { + case DebridError.IsCaching: + showDeleteAlert.toggle() + default: + await sendDebridError(error, prefix: "\(debridSource.id) download error", cancelString: "Download cancelled") + } + + logManager?.hideIndeterminateToast() } } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift index efe438b..fa2d24e 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift @@ -127,13 +127,14 @@ struct SearchResultButtonView: View { .alert("Caching file", isPresented: $debridManager.showDeleteAlert) { Button("Yes", role: .destructive) { Task { - await debridManager.deleteRdTorrent() + try? await debridManager.selectedDebridSource?.deleteTorrent(torrentId: nil) } } Button("Cancel", role: .cancel) {} } message: { Text( - "RealDebrid is currently caching this file. Would you like to delete it? \n\n" + + "\(String(describing: debridManager.selectedDebridSource?.id)) is currently caching this file. " + + "Would you like to delete it? \n\n" + "Progress can be checked on the RealDebrid website." ) } -- 2.45.2 From 40b323bd5608ed0021519a79f54a67fcbc054fa1 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 6 Jun 2024 10:46:18 -0400 Subject: [PATCH 23/59] Debrid: Remove redundant logout functions Logout is now handled in the debrid class itself. Signed-off-by: kingbri --- Ferrite/ViewModels/DebridManager.swift | 39 ------------------- .../Settings/SettingsDebridInfoView.swift | 2 +- 2 files changed, 1 insertion(+), 40 deletions(-) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 06e50e8..970431e 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -404,45 +404,6 @@ public class DebridManager: ObservableObject { } } - // MARK: - Logout UI linked functions - - // Common function to delegate what debrid service to logout of - public func logoutDebrid(debridType: DebridType) async { - switch debridType { - case .realDebrid: - await logoutRd() - case .allDebrid: - logoutAd() - case .premiumize: - logoutPm() - } - - // Automatically resets the preferred debrid service if it was set to the logged out service - if selectedDebridType == debridType { - selectedDebridType = nil - } - } - - private func logoutRd() async { - await realDebrid.logout() - enabledDebrids.remove(.realDebrid) - } - - private func logoutAd() { - allDebrid.logout() - enabledDebrids.remove(.allDebrid) - - logManager?.info( - "AllDebrid: Logged out, API key needs to be removed", - description: "Please manually delete the AllDebrid API key" - ) - } - - private func logoutPm() { - premiumize.logout() - enabledDebrids.remove(.premiumize) - } - // MARK: - Debrid fetch UI linked functions // Common function to delegate what debrid service to fetch from diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index 6207b87..47d81c9 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -31,7 +31,7 @@ struct SettingsDebridInfoView: View { Button { Task { if debridSource.isLoggedIn { - //await debridManager.logoutDebrid(debridType: debridType) + await debridSource.logout() } else if !debridSource.authProcessing { //await debridManager.authenticateDebrid(debridType: debridType, apiKey: nil) } -- 2.45.2 From 02636e0bda69211694983fb26f768b79826afc61 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 6 Jun 2024 10:48:23 -0400 Subject: [PATCH 24/59] Debrid: Remove separated download functions No longer needed due to the common type. Signed-off-by: kingbri --- Ferrite/ViewModels/DebridManager.swift | 75 -------------------------- 1 file changed, 75 deletions(-) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 970431e..df57145 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -455,37 +455,6 @@ public class DebridManager: ObservableObject { } } - func fetchRdDownload(magnet: Magnet?, cloudInfo: String?) async { - do { - guard let magnet else { - throw DebridError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") - } - - let downloadLink = try await realDebrid.getDownloadLink( - magnet: magnet, ia: selectedRealDebridItem, iaFile: selectedRealDebridFile - ) - - // Update the UI - downloadUrl = downloadLink - - // Fetch one more time to add updated data into the RD cloud cache - await fetchRdCloud(bypassTTL: true) - } catch { - switch error { - case DebridError.EmptyTorrents: - showDeleteAlert.toggle() - default: - await sendDebridError(error, prefix: "RealDebrid download error", cancelString: "Download cancelled") - - if let torrentId = selectedRealDebridID { - try? await realDebrid.deleteTorrent(torrentId: torrentId) - } - } - - logManager?.hideIndeterminateToast() - } - } - public func fetchDebridCloud(bypassTTL: Bool = false) async { switch selectedDebridType { case .realDebrid: @@ -539,26 +508,6 @@ public class DebridManager: ObservableObject { } } - func fetchAdDownload(magnet: Magnet?, cloudInfo: String?) async { - do { - if let magnet { - let downloadLink = try await allDebrid.getDownloadLink( - magnet: magnet, ia: selectedAllDebridItem, iaFile: selectedAllDebridFile - ) - - // Update UI - downloadUrl = downloadLink - } else { - throw DebridError.FailedRequest(description: "Could not fetch your file from AllDebrid's cache or API") - } - - // Fetch one more time to add updated data into the AD cloud cache - await fetchAdCloud(bypassTTL: true) - } catch { - await sendDebridError(error, prefix: "AllDebrid download error", cancelString: "Download cancelled") - } - } - // Refreshes torrents and downloads from a RD user's account public func fetchAdCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > allDebridCloudTTL { @@ -594,30 +543,6 @@ public class DebridManager: ObservableObject { } } - func fetchPmDownload(magnet: Magnet?, cloudInfo: String? = nil) async { - do { - if let cloudInfo { - downloadUrl = try await premiumize.checkUserDownloads(link: cloudInfo) ?? "" - return - } - - if let magnet { - let downloadLink = try await premiumize.getDownloadLink( - magnet: magnet, ia: selectedPremiumizeItem, iaFile: selectedPremiumizeFile - ) - - downloadUrl = downloadLink - } else { - throw DebridError.FailedRequest(description: "Could not fetch your file from Premiumize's cache or API") - } - - // Fetch one more time to add updated data into the PM cloud cache - await fetchPmCloud(bypassTTL: true) - } catch { - await sendDebridError(error, prefix: "Premiumize download error", cancelString: "Download or transfer cancelled") - } - } - // Refreshes items and fetches from a PM user account public func fetchPmCloud(bypassTTL: Bool = false) async { if bypassTTL || Date().timeIntervalSince1970 > premiumizeCloudTTL { -- 2.45.2 From 59ac719d9a2946bd7dd32fe0a9b3c940da6330b7 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 6 Jun 2024 11:51:43 -0400 Subject: [PATCH 25/59] Debrid: Migrate preferred service setter PreferredService is now the debrid ID. Signed-off-by: kingbri --- Ferrite/ViewModels/DebridManager.swift | 63 ++++++++++++-------------- 1 file changed, 29 insertions(+), 34 deletions(-) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index df57145..aaac8da 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -26,7 +26,11 @@ public class DebridManager: ObservableObject { debridSources.contains { $0.isLoggedIn } } - @Published var selectedDebridSource: DebridSource? + @Published var selectedDebridSource: DebridSource? { + didSet { + UserDefaults.standard.set(selectedDebridSource?.id ?? "", forKey: "Debrid.PreferredService") + } + } var selectedDebridItem: DebridIA? var selectedDebridFile: DebridIAFile? @@ -102,45 +106,36 @@ public class DebridManager: ObservableObject { var premiumizeCloudTTL: Double = 0.0 init() { - if let rawDebridList = UserDefaults.standard.string(forKey: "Debrid.EnabledArray"), - let serializedDebridList = Set(rawValue: rawDebridList) - { - enabledDebrids = serializedDebridList - } - // If a UserDefaults integer isn't set, it's usually 0 - let rawPreferredService = UserDefaults.standard.integer(forKey: "Debrid.PreferredService") - let legacyPreferredService = DebridType(rawValue: rawPreferredService) - selectedDebridSource = self.debridSources.first { $0.id == legacyPreferredService?.toString() } + // Set the preferred service. Contains migration logic for earlier versions + if let rawPreferredService = UserDefaults.standard.string(forKey: "Debrid.PreferredService") { + let debridServiceId: String? - // If a user has one logged in service, automatically set the preferred service to that one - /* - if enabledDebrids.count == 1 { - selectedDebridType = enabledDebrids.first + if let preferredServiceInt = Int(rawPreferredService) { + debridServiceId = migratePreferredService(preferredServiceInt) + } else { + print(rawPreferredService) + debridServiceId = rawPreferredService + } + + // Only set the debrid source if it's logged in + // Otherwise remove the key + let tempDebridSource = self.debridSources.first { $0.id == debridServiceId } + if (tempDebridSource?.isLoggedIn ?? false) { + selectedDebridSource = tempDebridSource + } else { + UserDefaults.standard.removeObject(forKey: "Debrid.PreferredService") + } } - */ } - // TODO: Remove this after v0.6.0 - // Login cleanup function that's automatically run to switch to the new login system - public func cleanupOldLogins() async { - let realDebridEnabled = UserDefaults.standard.bool(forKey: "RealDebrid.Enabled") - if realDebridEnabled { - enabledDebrids.insert(.realDebrid) - UserDefaults.standard.set(false, forKey: "RealDebrid.Enabled") - } + // TODO: Remove after v0.8.0 + // Function to migrate the preferred service to the new string ID format + public func migratePreferredService(_ idInt: Int) -> String? { + // Undo the EnabledDebrids key + UserDefaults.standard.removeObject(forKey: "Debrid.EnabledArray") - let allDebridEnabled = UserDefaults.standard.bool(forKey: "AllDebrid.Enabled") - if allDebridEnabled { - enabledDebrids.insert(.allDebrid) - UserDefaults.standard.set(false, forKey: "AllDebrid.Enabled") - } - - let premiumizeEnabled = UserDefaults.standard.bool(forKey: "Premiumize.Enabled") - if premiumizeEnabled { - enabledDebrids.insert(.premiumize) - UserDefaults.standard.set(false, forKey: "Premiumize.Enabled") - } + return DebridType(rawValue: idInt)?.toString() } // Wrapper function to match error descriptions -- 2.45.2 From 44a90b77ebb847a76e89f4c6e4167add55812fc9 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 6 Jun 2024 11:54:31 -0400 Subject: [PATCH 26/59] Debrid: Remove more redundant vars the IA vars are no longer needed since that's unified. Signed-off-by: kingbri --- Ferrite/ViewModels/DebridManager.swift | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index aaac8da..c1adfec 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -74,10 +74,6 @@ public class DebridManager: ObservableObject { @Published var showDeleteAlert: Bool = false - var selectedRealDebridItem: DebridIA? - var selectedRealDebridFile: DebridIAFile? - var selectedRealDebridID: String? - // TODO: Maybe make these generic? // RealDebrid cloud variables @Published var realDebridCloudTorrents: [DebridCloudTorrent] = [] @@ -87,9 +83,6 @@ public class DebridManager: ObservableObject { // AllDebrid auth variables var allDebridAuthProcessing: Bool = false - var selectedAllDebridItem: DebridIA? - var selectedAllDebridFile: DebridIAFile? - // AllDebrid cloud variables @Published var allDebridCloudMagnets: [DebridCloudTorrent] = [] @Published var allDebridCloudLinks: [DebridCloudDownload] = [] @@ -98,9 +91,6 @@ public class DebridManager: ObservableObject { // Premiumize auth variables var premiumizeAuthProcessing: Bool = false - var selectedPremiumizeItem: DebridIA? - var selectedPremiumizeFile: DebridIAFile? - // Premiumize cloud variables @Published var premiumizeCloudItems: [DebridCloudDownload] = [] var premiumizeCloudTTL: Double = 0.0 -- 2.45.2 From 243a16e3c4d2297ab2415b5871d81ca37ce0be63 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 6 Jun 2024 18:10:54 -0400 Subject: [PATCH 27/59] Debrid: Unify cloud views Cloud torrents and downloads are unified with the new protocol. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 20 +-- Ferrite/API/AllDebridWrapper.swift | 8 +- Ferrite/API/PremiumizeWrapper.swift | 8 +- Ferrite/API/RealDebridWrapper.swift | 8 +- Ferrite/Protocols/Debrid.swift | 4 +- Ferrite/ViewModels/DebridManager.swift | 153 ++++-------------- .../Library/Cloud/CloudDownloadView.swift | 57 +++++++ ...CloudView.swift => CloudTorrentView.swift} | 71 +++----- .../Library/Cloud/PremiumizeCloudView.swift | 60 ------- .../Library/Cloud/RealDebridCloudView.swift | 126 --------------- .../Library/DebridCloudView.swift | 17 +- Ferrite/Views/LibraryView.swift | 8 +- 12 files changed, 141 insertions(+), 399 deletions(-) create mode 100644 Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift rename Ferrite/Views/ComponentViews/Library/Cloud/{AllDebridCloudView.swift => CloudTorrentView.swift} (57%) delete mode 100644 Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift delete mode 100644 Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index f957fd7..3c2c2bd 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -20,7 +20,6 @@ 0C1A3E5229C8A7F500DA9730 /* SettingsModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */; }; 0C1A3E5629C9488C00DA9730 /* CodableWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C1A3E5529C9488C00DA9730 /* CodableWrapper.swift */; }; 0C2886D22960AC2800D6FC16 /* DebridCloudView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C2886D12960AC2800D6FC16 /* DebridCloudView.swift */; }; - 0C2886D72960C50900D6FC16 /* RealDebridCloudView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C2886D62960C50900D6FC16 /* RealDebridCloudView.swift */; }; 0C2B028F29E9E61E00DCF127 /* SortFilterView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C2B028E29E9E61E00DCF127 /* SortFilterView.swift */; }; 0C2D9653299316CC00A504B6 /* Tag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C2D9652299316CC00A504B6 /* Tag.swift */; }; 0C31133C28B1ABFA004DCB0D /* SourceJsonParser+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C31133A28B1ABFA004DCB0D /* SourceJsonParser+CoreDataClass.swift */; }; @@ -54,7 +53,6 @@ 0C54D36428C5086E00BFEEE2 /* History+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C54D36228C5086E00BFEEE2 /* History+CoreDataProperties.swift */; }; 0C5708EB29B8F89300BE07F9 /* SettingsLogView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C5708EA29B8F89300BE07F9 /* SettingsLogView.swift */; }; 0C57D4CC289032ED008534E8 /* SearchResultInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C57D4CB289032ED008534E8 /* SearchResultInfoView.swift */; }; - 0C5FCB05296744F300849E87 /* AllDebridCloudView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C5FCB04296744F300849E87 /* AllDebridCloudView.swift */; }; 0C64A4B4288903680079976D /* Base32 in Frameworks */ = {isa = PBXBuildFile; productRef = 0C64A4B3288903680079976D /* Base32 */; }; 0C64A4B7288903880079976D /* KeychainSwift in Frameworks */ = {isa = PBXBuildFile; productRef = 0C64A4B6288903880079976D /* KeychainSwift */; }; 0C6771F429B3B4FD005D38D2 /* KodiWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C6771F329B3B4FD005D38D2 /* KodiWrapper.swift */; }; @@ -130,12 +128,13 @@ 0CA3FB2028B91D9500FA10A8 /* IndeterminateProgressView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA3FB1F28B91D9500FA10A8 /* IndeterminateProgressView.swift */; }; 0CA429F828C5098D000D0610 /* DateFormatter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CA429F728C5098D000D0610 /* DateFormatter.swift */; }; 0CAF1C7B286F5C8600296F86 /* SwiftSoup in Frameworks */ = {isa = PBXBuildFile; productRef = 0CAF1C7A286F5C8600296F86 /* SwiftSoup */; }; - 0CAF9319296399190050812A /* PremiumizeCloudView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CAF9318296399190050812A /* PremiumizeCloudView.swift */; }; 0CB0115B29D36D9E009AFEDE /* SearchResultsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB0115A29D36D9E009AFEDE /* SearchResultsView.swift */; }; 0CB0AB5F29BD2A200015422C /* KodiServerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB0AB5E29BD2A200015422C /* KodiServerView.swift */; }; 0CB6516328C5A57300DCA721 /* ConditionalId.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB6516228C5A57300DCA721 /* ConditionalId.swift */; }; 0CB6516528C5A5D700DCA721 /* InlinedList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB6516428C5A5D700DCA721 /* InlinedList.swift */; }; 0CB6516A28C5B4A600DCA721 /* InlineHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB6516928C5B4A600DCA721 /* InlineHeader.swift */; }; + 0CB725322C123E6F0047FC0B /* CloudDownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB725312C123E6F0047FC0B /* CloudDownloadView.swift */; }; + 0CB725342C123E760047FC0B /* CloudTorrentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB725332C123E760047FC0B /* CloudTorrentView.swift */; }; 0CBAB83628D12ED500AC903E /* DisableInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBAB83528D12ED500AC903E /* DisableInteraction.swift */; }; 0CBC76FD288D914F0054BE44 /* BatchChoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBC76FC288D914F0054BE44 /* BatchChoiceView.swift */; }; 0CBC76FF288DAAD00054BE44 /* NavigationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBC76FE288DAAD00054BE44 /* NavigationViewModel.swift */; }; @@ -174,7 +173,6 @@ 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsModels.swift; sourceTree = ""; }; 0C1A3E5529C9488C00DA9730 /* CodableWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CodableWrapper.swift; sourceTree = ""; }; 0C2886D12960AC2800D6FC16 /* DebridCloudView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridCloudView.swift; sourceTree = ""; }; - 0C2886D62960C50900D6FC16 /* RealDebridCloudView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RealDebridCloudView.swift; sourceTree = ""; }; 0C2B028E29E9E61E00DCF127 /* SortFilterView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SortFilterView.swift; sourceTree = ""; }; 0C2D9652299316CC00A504B6 /* Tag.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tag.swift; sourceTree = ""; }; 0C31133A28B1ABFA004DCB0D /* SourceJsonParser+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SourceJsonParser+CoreDataClass.swift"; sourceTree = ""; }; @@ -207,7 +205,6 @@ 0C54D36228C5086E00BFEEE2 /* History+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "History+CoreDataProperties.swift"; sourceTree = ""; }; 0C5708EA29B8F89300BE07F9 /* SettingsLogView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsLogView.swift; sourceTree = ""; }; 0C57D4CB289032ED008534E8 /* SearchResultInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultInfoView.swift; sourceTree = ""; }; - 0C5FCB04296744F300849E87 /* AllDebridCloudView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AllDebridCloudView.swift; sourceTree = ""; }; 0C6771F329B3B4FD005D38D2 /* KodiWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KodiWrapper.swift; sourceTree = ""; }; 0C6771F529B3B602005D38D2 /* SettingsKodiView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SettingsKodiView.swift; sourceTree = ""; }; 0C6771F929B3D1AE005D38D2 /* KodiModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KodiModels.swift; sourceTree = ""; }; @@ -279,12 +276,13 @@ 0CA3FB1F28B91D9500FA10A8 /* IndeterminateProgressView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = IndeterminateProgressView.swift; sourceTree = ""; }; 0CA429F728C5098D000D0610 /* DateFormatter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DateFormatter.swift; sourceTree = ""; }; 0CAF1C68286F5C0E00296F86 /* Ferrite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ferrite.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 0CAF9318296399190050812A /* PremiumizeCloudView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PremiumizeCloudView.swift; sourceTree = ""; }; 0CB0115A29D36D9E009AFEDE /* SearchResultsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchResultsView.swift; sourceTree = ""; }; 0CB0AB5E29BD2A200015422C /* KodiServerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KodiServerView.swift; sourceTree = ""; }; 0CB6516228C5A57300DCA721 /* ConditionalId.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConditionalId.swift; sourceTree = ""; }; 0CB6516428C5A5D700DCA721 /* InlinedList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InlinedList.swift; sourceTree = ""; }; 0CB6516928C5B4A600DCA721 /* InlineHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InlineHeader.swift; sourceTree = ""; }; + 0CB725312C123E6F0047FC0B /* CloudDownloadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudDownloadView.swift; sourceTree = ""; }; + 0CB725332C123E760047FC0B /* CloudTorrentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudTorrentView.swift; sourceTree = ""; }; 0CBAB83528D12ED500AC903E /* DisableInteraction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisableInteraction.swift; sourceTree = ""; }; 0CBC76FC288D914F0054BE44 /* BatchChoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchChoiceView.swift; sourceTree = ""; }; 0CBC76FE288DAAD00054BE44 /* NavigationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewModel.swift; sourceTree = ""; }; @@ -413,9 +411,8 @@ 0C2886D52960C4F800D6FC16 /* Cloud */ = { isa = PBXGroup; children = ( - 0C2886D62960C50900D6FC16 /* RealDebridCloudView.swift */, - 0CAF9318296399190050812A /* PremiumizeCloudView.swift */, - 0C5FCB04296744F300849E87 /* AllDebridCloudView.swift */, + 0CB725312C123E6F0047FC0B /* CloudDownloadView.swift */, + 0CB725332C123E760047FC0B /* CloudTorrentView.swift */, ); path = Cloud; sourceTree = ""; @@ -856,7 +853,6 @@ 0C5005522992B6750064606A /* PluginTagsView.swift in Sources */, 0CB0AB5F29BD2A200015422C /* KodiServerView.swift in Sources */, 0CF2C0A529D1EBD400E716DD /* UIApplication.swift in Sources */, - 0C2886D72960C50900D6FC16 /* RealDebridCloudView.swift in Sources */, 0C3DD44229B6ACD9006429DB /* KodiServer+CoreDataClass.swift in Sources */, 0C794B6B289DACF100DD1CC8 /* PluginCatalogButtonView.swift in Sources */, 0C54D36428C5086E00BFEEE2 /* History+CoreDataProperties.swift in Sources */, @@ -875,10 +871,10 @@ 0C44E2A828D4DDDC007711AE /* Application.swift in Sources */, 0CC389542970AD900066D06F /* Action+CoreDataProperties.swift in Sources */, 0C7ED14128D61BBA009E29AD /* BackupModels.swift in Sources */, - 0CAF9319296399190050812A /* PremiumizeCloudView.swift in Sources */, 0C84FCE529E4B43200B0DFE4 /* SelectedDebridFilterView.swift in Sources */, 0CA148EC288903F000DE2211 /* ContentView.swift in Sources */, 0CC389532970AD900066D06F /* Action+CoreDataClass.swift in Sources */, + 0CB725342C123E760047FC0B /* CloudTorrentView.swift in Sources */, 0C03EB72296F619900162E9A /* PluginList+CoreDataProperties.swift in Sources */, 0C95D8D828A55B03005E22B3 /* DefaultActionPickerView.swift in Sources */, 0C44E2AF28D52E8A007711AE /* BackupsView.swift in Sources */, @@ -905,7 +901,6 @@ 0C6C7C9D29315292002DF910 /* AllDebridModels.swift in Sources */, 0C6C7C9B2931521B002DF910 /* AllDebridWrapper.swift in Sources */, 0C68135228BC1A7C00FAD890 /* GithubModels.swift in Sources */, - 0C5FCB05296744F300849E87 /* AllDebridCloudView.swift in Sources */, 0CA3B23928C2660D00616D3A /* BookmarksView.swift in Sources */, 0C79DC072899AF3C003F1C5A /* SourceSeedLeech+CoreDataClass.swift in Sources */, 0CA148E6288903F000DE2211 /* WebView.swift in Sources */, @@ -959,6 +954,7 @@ 0CEC8AAE299B31B6007BFE8F /* SearchFilterHeaderView.swift in Sources */, 0C84F4822895BFED0074B7C9 /* Source+CoreDataClass.swift in Sources */, 0C3DD43F29B6968D006429DB /* KodiEditorView.swift in Sources */, + 0CB725322C123E6F0047FC0B /* CloudDownloadView.swift in Sources */, 0C3DD44329B6ACD9006429DB /* KodiServer+CoreDataProperties.swift in Sources */, 0C7C128628DAA3CD00381CD1 /* URL.swift in Sources */, 0C84F4852895BFED0074B7C9 /* SourceHtmlParser+CoreDataProperties.swift in Sources */, diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 7778aa2..cc0abb2 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -299,7 +299,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Cloud methods // Referred to as "User magnets" in AllDebrid's API - public func getUserTorrents() async throws -> [DebridCloudTorrent] { + public func getUserTorrents() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status")) let data = try await performRequest(request: &request, requestName: #function) @@ -319,8 +319,6 @@ public class AllDebrid: PollingDebridSource, ObservableObject { links: magnetResponse.links.map(\.link) ) } - - return cloudTorrents } public func deleteTorrent(torrentId: String?) async throws { @@ -336,7 +334,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { try await performRequest(request: &request, requestName: #function) } - public func getUserDownloads() async throws -> [DebridCloudDownload] { + public func getUserDownloads() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links")) let data = try await performRequest(request: &request, requestName: #function) @@ -352,8 +350,6 @@ public class AllDebrid: PollingDebridSource, ObservableObject { downloadId: link.link, source: self.id, fileName: link.filename, link: link.link ) } - - return cloudDownloads } // Not used diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 468f406..0909fb3 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -303,7 +303,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // MARK: - Cloud methods - public func getUserDownloads() async throws -> [DebridCloudDownload] { + public func getUserDownloads() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/listall")!) let data = try await performRequest(request: &request, requestName: #function) @@ -317,8 +317,6 @@ public class Premiumize: OAuthDebridSource, ObservableObject { cloudDownloads = rawResponse.files.map { file in DebridCloudDownload(downloadId: file.id, source: self.id, fileName: file.name, link: file.id) } - - return cloudDownloads } func itemDetails(itemID: String) async throws -> ItemDetailsResponse { @@ -355,9 +353,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } // No user torrents for Premiumize - public func getUserTorrents() async throws -> [DebridCloudTorrent] { - [] - } + public func getUserTorrents() async throws {} public func deleteTorrent(torrentId: String?) async throws {} } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index daf42b0..ea6aab7 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -434,7 +434,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // MARK: - Cloud methods // Gets the user's torrent library - public func getUserTorrents() async throws -> [DebridCloudTorrent] { + public func getUserTorrents() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents")!) let data = try await performRequest(request: &request, requestName: #function) @@ -449,8 +449,6 @@ public class RealDebrid: PollingDebridSource, ObservableObject { links: response.links ) } - - return cloudTorrents } // Deletes a torrent download from RD @@ -477,7 +475,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Gets the user's downloads - public func getUserDownloads() async throws -> [DebridCloudDownload] { + public func getUserDownloads() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads")!) let data = try await performRequest(request: &request, requestName: #function) @@ -485,8 +483,6 @@ public class RealDebrid: PollingDebridSource, ObservableObject { cloudDownloads = rawResponse.map { response in DebridCloudDownload(downloadId: response.id, source: self.id, fileName: response.filename, link: response.download) } - - return cloudDownloads } // Not used diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 3c0570c..eef1a33 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -39,12 +39,12 @@ public protocol DebridSource: AnyObservableObject { var cloudTTL: Double { get set } // User downloads functions - func getUserDownloads() async throws -> [DebridCloudDownload] + func getUserDownloads() async throws func checkUserDownloads(link: String) async throws -> String? func deleteDownload(downloadId: String) async throws // User torrent functions - func getUserTorrents() async throws -> [DebridCloudTorrent] + func getUserTorrents() async throws func deleteTorrent(torrentId: String?) async throws } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index c1adfec..ede4ffd 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -74,27 +74,12 @@ public class DebridManager: ObservableObject { @Published var showDeleteAlert: Bool = false - // TODO: Maybe make these generic? - // RealDebrid cloud variables - @Published var realDebridCloudTorrents: [DebridCloudTorrent] = [] - @Published var realDebridCloudDownloads: [DebridCloudDownload] = [] - var realDebridCloudTTL: Double = 0.0 - // AllDebrid auth variables var allDebridAuthProcessing: Bool = false - // AllDebrid cloud variables - @Published var allDebridCloudMagnets: [DebridCloudTorrent] = [] - @Published var allDebridCloudLinks: [DebridCloudDownload] = [] - var allDebridCloudTTL: Double = 0.0 - // Premiumize auth variables var premiumizeAuthProcessing: Bool = false - // Premiumize cloud variables - @Published var premiumizeCloudItems: [DebridCloudDownload] = [] - var premiumizeCloudTTL: Double = 0.0 - init() { // Set the preferred service. Contains migration logic for earlier versions @@ -422,12 +407,11 @@ public class DebridManager: ObservableObject { // Update the UI downloadUrl = downloadLink } else { - throw DebridError.FailedRequest(description: "Could not fetch your file from RealDebrid's cache or API") + throw DebridError.FailedRequest(description: "Could not fetch your file from \(debridSource.id)'s cache or API") } // Fetch one more time to add updated data into the RD cloud cache - // TODO: Add common fetch cloud method - //await fetchRdCloud(bypassTTL: true) + await fetchDebridCloud(bypassTTL: true) } catch { switch error { case DebridError.IsCaching: @@ -440,122 +424,55 @@ public class DebridManager: ObservableObject { } } + // Wrapper to handle cloud fetching public func fetchDebridCloud(bypassTTL: Bool = false) async { - switch selectedDebridType { - case .realDebrid: - await fetchRdCloud(bypassTTL: bypassTTL) - case .allDebrid: - await fetchAdCloud(bypassTTL: bypassTTL) - case .premiumize: - await fetchPmCloud(bypassTTL: bypassTTL) - case .none: + guard let selectedSource = selectedDebridSource else { return } - } - // Refreshes torrents and downloads from a RD user's account - public func fetchRdCloud(bypassTTL: Bool = false) async { - if bypassTTL || Date().timeIntervalSince1970 > realDebridCloudTTL { + if bypassTTL || Date().timeIntervalSince1970 > selectedSource.cloudTTL { do { - realDebridCloudTorrents = try await realDebrid.getUserTorrents() - realDebridCloudDownloads = try await realDebrid.getUserDownloads() + // Populates the inner downloads and torrent arrays + try await selectedSource.getUserDownloads() + try await selectedSource.getUserTorrents() - // 5 minutes - realDebridCloudTTL = Date().timeIntervalSince1970 + 300 - } catch { - await sendDebridError(error, prefix: "RealDebrid cloud fetch error") - } - } - } - - func deleteRdDownload(downloadID: String) async { - do { - try await realDebrid.deleteDownload(downloadId: downloadID) - - // Bypass TTL to get current RD values - await fetchRdCloud(bypassTTL: true) - } catch { - await sendDebridError(error, prefix: "RealDebrid download delete error") - } - } - - func deleteRdTorrent(torrentID: String? = nil, presentError: Bool = true) async { - do { - if let torrentID { - try await realDebrid.deleteTorrent(torrentId: torrentID) - - await fetchRdCloud(bypassTTL: true) - } else { - throw DebridError.FailedRequest(description: "No torrent ID was provided") - } - } catch { - await sendDebridError(error, prefix: "RealDebrid torrent delete error", presentError: presentError) - } - } - - // Refreshes torrents and downloads from a RD user's account - public func fetchAdCloud(bypassTTL: Bool = false) async { - if bypassTTL || Date().timeIntervalSince1970 > allDebridCloudTTL { - do { - allDebridCloudMagnets = try await allDebrid.getUserTorrents() - allDebridCloudLinks = try await allDebrid.getUserDownloads() - - // 5 minutes - allDebridCloudTTL = Date().timeIntervalSince1970 + 300 - } catch { - await sendDebridError(error, prefix: "AlLDebrid cloud fetch error") - } - } - } - - func deleteAdLink(link: String) async { - do { - try await allDebrid.deleteDownload(downloadId: link) - - await fetchAdCloud(bypassTTL: true) - } catch { - await sendDebridError(error, prefix: "AllDebrid link delete error") - } - } - - func deleteAdMagnet(magnetId: String) async { - do { - try await allDebrid.deleteTorrent(torrentId: magnetId) - - await fetchAdCloud(bypassTTL: true) - } catch { - await sendDebridError(error, prefix: "AllDebrid magnet delete error") - } - } - - // Refreshes items and fetches from a PM user account - public func fetchPmCloud(bypassTTL: Bool = false) async { - if bypassTTL || Date().timeIntervalSince1970 > premiumizeCloudTTL { - do { - let userItems = try await premiumize.getUserDownloads() - withAnimation { - premiumizeCloudItems = userItems - } - - // 5 minutes - premiumizeCloudTTL = Date().timeIntervalSince1970 + 300 + // Update the TTL to 5 minutes from now + selectedSource.cloudTTL = Date().timeIntervalSince1970 + 300 } catch { let error = error as NSError if error.code != -999 { - await sendDebridError(error, prefix: "Premiumize cloud fetch error") + await sendDebridError(error, prefix: "\(selectedSource.id) cloud fetch error") } + } } } - public func deletePmItem(id: String) async { - do { - try await premiumize.deleteDownload(downloadId: id) + public func deleteCloudDownload(_ download: DebridCloudDownload) async { + guard let selectedSource = selectedDebridSource else { + return + } - // Bypass TTL to get current RD values - await fetchPmCloud(bypassTTL: true) + do { + try await selectedSource.deleteDownload(downloadId: download.downloadId) + + await fetchDebridCloud(bypassTTL: true) } catch { - await sendDebridError(error, prefix: "Premiumize cloud delete error") + await sendDebridError(error, prefix: "\(selectedSource.id) download delete error") + } + } + + public func deleteCloudTorrent(_ torrent: DebridCloudTorrent) async { + guard let selectedSource = selectedDebridSource else { + return + } + + do { + try await selectedSource.deleteTorrent(torrentId: torrent.torrentId) + + await fetchDebridCloud(bypassTTL: true) + } catch { + await sendDebridError(error, prefix: "\(selectedSource.id) torrent delete error") } } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift new file mode 100644 index 0000000..9f2b488 --- /dev/null +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift @@ -0,0 +1,57 @@ +// +// CloudDownloadView.swift +// Ferrite +// +// Created by Brian Dashore on 6/6/24. +// + +import SwiftUI + +struct CloudDownloadView: View { + @EnvironmentObject var navModel: NavigationViewModel + @EnvironmentObject var debridManager: DebridManager + @EnvironmentObject var pluginManager: PluginManager + + @Store var debridSource: DebridSource + + @Binding var searchText: String + + var body: some View { + DisclosureGroup("Downloads") { + ForEach(debridSource.cloudDownloads.filter { + searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) + }, id: \.self) { cloudDownload in + Button(cloudDownload.fileName) { + navModel.resultFromCloud = true + navModel.selectedTitle = cloudDownload.fileName + debridManager.downloadUrl = cloudDownload.link + + PersistenceController.shared.createHistory( + HistoryEntryJson( + name: cloudDownload.fileName, + url: cloudDownload.link, + source: debridSource.id + ), + performSave: true + ) + + pluginManager.runDefaultAction( + urlString: debridManager.downloadUrl, + navModel: navModel + ) + } + .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) + .tint(.primary) + } + .onDelete { offsets in + for index in offsets { + if let cloudDownload = debridSource.cloudDownloads[safe: index] { + Task { + await debridManager.deleteCloudDownload(cloudDownload) + } + } + } + } + } + } +} diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift similarity index 57% rename from Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift rename to Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift index ee72b05..0c86880 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/AllDebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift @@ -1,71 +1,36 @@ // -// AllDebridCloudView.swift +// CloudTorrentView.swift // Ferrite // -// Created by Brian Dashore on 1/5/23. +// Created by Brian Dashore on 6/6/24. // import SwiftUI -struct AllDebridCloudView: View { - @EnvironmentObject var debridManager: DebridManager +struct CloudTorrentView: View { @EnvironmentObject var navModel: NavigationViewModel + @EnvironmentObject var debridManager: DebridManager @EnvironmentObject var pluginManager: PluginManager + @Store var debridSource: DebridSource + @Binding var searchText: String var body: some View { - DisclosureGroup("Links") { - ForEach(debridManager.allDebridCloudLinks.filter { - searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) - }, id: \.self) { cloudDownload in - Button(cloudDownload.fileName) { - navModel.resultFromCloud = true - navModel.selectedTitle = cloudDownload.fileName - debridManager.downloadUrl = cloudDownload.link - - PersistenceController.shared.createHistory( - HistoryEntryJson( - name: cloudDownload.fileName, - url: cloudDownload.link, - source: DebridType.allDebrid.toString() - ), - performSave: true - ) - - pluginManager.runDefaultAction( - urlString: debridManager.downloadUrl, - navModel: navModel - ) - } - .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) - .tint(.primary) - } - .onDelete { offsets in - for index in offsets { - if let cloudDownload = debridManager.allDebridCloudLinks[safe: index] { - Task { - await debridManager.deleteAdLink(link: cloudDownload.downloadId) - } - } - } - } - } - - DisclosureGroup("Magnets") { - ForEach(debridManager.allDebridCloudMagnets.filter { + DisclosureGroup("Torrents") { + ForEach(debridSource.cloudTorrents.filter { searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) }, id: \.self) { cloudTorrent in Button { - if cloudTorrent.status == "Ready", !cloudTorrent.links.isEmpty { + if cloudTorrent.status == "downloaded", !cloudTorrent.links.isEmpty { navModel.resultFromCloud = true navModel.selectedTitle = cloudTorrent.fileName - + var historyInfo = HistoryEntryJson( name: cloudTorrent.fileName, - source: DebridType.allDebrid.toString() + source: debridSource.id ) - + Task { let magnet = Magnet(hash: cloudTorrent.hash, link: nil) await debridManager.populateDebridIA([magnet]) @@ -74,11 +39,11 @@ struct AllDebridCloudView: View { if cloudTorrent.links.count == 1 { await debridManager.fetchDebridDownload(magnet: magnet) - + if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyInfo, performSave: true) - + pluginManager.runDefaultAction( urlString: debridManager.downloadUrl, navModel: navModel @@ -98,11 +63,11 @@ struct AllDebridCloudView: View { .font(.callout) .fixedSize(horizontal: false, vertical: true) .lineLimit(4) - + HStack { Text(cloudTorrent.status.capitalizingFirstLetter()) Spacer() - //DebridLabelView(cloudLinks: cloudTorrent.links) + DebridLabelView(debridSource: debridSource, cloudLinks: cloudTorrent.links) } .font(.caption) } @@ -112,9 +77,9 @@ struct AllDebridCloudView: View { } .onDelete { offsets in for index in offsets { - if let cloudTorrent = debridManager.allDebridCloudMagnets[safe: index] { + if let cloudTorrent = debridSource.cloudTorrents[safe: index] { Task { - await debridManager.deleteAdMagnet(magnetId: cloudTorrent.torrentId) + await debridManager.deleteCloudTorrent(cloudTorrent) } } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift deleted file mode 100644 index e9acb9a..0000000 --- a/Ferrite/Views/ComponentViews/Library/Cloud/PremiumizeCloudView.swift +++ /dev/null @@ -1,60 +0,0 @@ -// -// PremiumizeCloudView.swift -// Ferrite -// -// Created by Brian Dashore on 1/2/23. -// - -import SwiftUI - -struct PremiumizeCloudView: View { - @EnvironmentObject var debridManager: DebridManager - @EnvironmentObject var navModel: NavigationViewModel - @EnvironmentObject var pluginManager: PluginManager - - @Binding var searchText: String - - var body: some View { - DisclosureGroup("Items") { - ForEach(debridManager.premiumizeCloudItems.filter { - searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) - }, id: \.self) { cloudDownload in - Button(cloudDownload.fileName) { - Task { - navModel.resultFromCloud = true - navModel.selectedTitle = cloudDownload.fileName - - await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: cloudDownload.downloadId) - - if !debridManager.downloadUrl.isEmpty { - PersistenceController.shared.createHistory( - HistoryEntryJson( - name: cloudDownload.fileName, - url: cloudDownload.link, - source: DebridType.premiumize.toString() - ), - performSave: true - ) - - pluginManager.runDefaultAction( - urlString: debridManager.downloadUrl, - navModel: navModel - ) - } - } - } - .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) - .tint(.primary) - } - .onDelete { offsets in - for index in offsets { - if let cloudDownload = debridManager.premiumizeCloudItems[safe: index] { - Task { - await debridManager.deletePmItem(id: cloudDownload.downloadId) - } - } - } - } - } - } -} diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift deleted file mode 100644 index b05e764..0000000 --- a/Ferrite/Views/ComponentViews/Library/Cloud/RealDebridCloudView.swift +++ /dev/null @@ -1,126 +0,0 @@ -// -// RealDebridCloudView.swift -// Ferrite -// -// Created by Brian Dashore on 12/31/22. -// - -import SwiftUI - -struct RealDebridCloudView: View { - @EnvironmentObject var navModel: NavigationViewModel - @EnvironmentObject var debridManager: DebridManager - @EnvironmentObject var pluginManager: PluginManager - - @Binding var searchText: String - - var body: some View { - Group { - DisclosureGroup("Downloads") { - ForEach(debridManager.realDebrid.cloudDownloads.filter { - searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) - }, id: \.self) { cloudDownload in - Button(cloudDownload.fileName) { - navModel.resultFromCloud = true - navModel.selectedTitle = cloudDownload.fileName - debridManager.downloadUrl = cloudDownload.link - - PersistenceController.shared.createHistory( - HistoryEntryJson( - name: cloudDownload.fileName, - url: cloudDownload.link, - source: DebridType.realDebrid.toString() - ), - performSave: true - ) - - pluginManager.runDefaultAction( - urlString: debridManager.downloadUrl, - navModel: navModel - ) - } - .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) - .tint(.primary) - } - .onDelete { offsets in - for index in offsets { - if let cloudDownload = debridManager.realDebridCloudDownloads[safe: index] { - Task { - await debridManager.deleteRdDownload(downloadID: cloudDownload.downloadId) - } - } - } - } - } - - DisclosureGroup("Torrents") { - ForEach(debridManager.realDebrid.cloudTorrents.filter { - searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) - }, id: \.self) { cloudTorrent in - Button { - if cloudTorrent.status == "downloaded", !cloudTorrent.links.isEmpty { - navModel.resultFromCloud = true - navModel.selectedTitle = cloudTorrent.fileName - - var historyInfo = HistoryEntryJson( - name: cloudTorrent.fileName, - source: DebridType.realDebrid.toString() - ) - - Task { - let magnet = Magnet(hash: cloudTorrent.hash, link: nil) - await debridManager.populateDebridIA([magnet]) - if debridManager.selectDebridResult(magnet: magnet) { - // Is this a batch? - - if cloudTorrent.links.count == 1 { - await debridManager.fetchDebridDownload(magnet: magnet) - - if !debridManager.downloadUrl.isEmpty { - historyInfo.url = debridManager.downloadUrl - PersistenceController.shared.createHistory(historyInfo, performSave: true) - - pluginManager.runDefaultAction( - urlString: debridManager.downloadUrl, - navModel: navModel - ) - } - } else { - navModel.selectedMagnet = magnet - navModel.selectedHistoryInfo = historyInfo - navModel.currentChoiceSheet = .batch - } - } - } - } - } label: { - VStack(alignment: .leading, spacing: 10) { - Text(cloudTorrent.fileName) - .font(.callout) - .fixedSize(horizontal: false, vertical: true) - .lineLimit(4) - - HStack { - Text(cloudTorrent.status.capitalizingFirstLetter()) - Spacer() - //DebridLabelView(cloudLinks: cloudTorrent.links) - } - .font(.caption) - } - } - .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) - .tint(.primary) - } - .onDelete { offsets in - for index in offsets { - if let cloudTorrent = debridManager.realDebridCloudTorrents[safe: index] { - Task { - await debridManager.deleteRdTorrent(torrentID: cloudTorrent.torrentId) - } - } - } - } - } - } - } -} diff --git a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift index b9e271f..a52120a 100644 --- a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift @@ -10,19 +10,18 @@ import SwiftUI struct DebridCloudView: View { @EnvironmentObject var debridManager: DebridManager + @Store var debridSource: DebridSource + @Binding var searchText: String var body: some View { List { - switch debridManager.selectedDebridType { - case .realDebrid: - RealDebridCloudView(searchText: $searchText) - case .premiumize: - PremiumizeCloudView(searchText: $searchText) - case .allDebrid: - AllDebridCloudView(searchText: $searchText) - case .none: - EmptyView() + if !debridSource.cloudDownloads.isEmpty { + CloudDownloadView(debridSource: debridSource, searchText: $searchText) + } + + if !debridSource.cloudTorrents.isEmpty { + CloudTorrentView(debridSource: debridSource, searchText: $searchText) } } .listStyle(.plain) diff --git a/Ferrite/Views/LibraryView.swift b/Ferrite/Views/LibraryView.swift index ac1260f..347bc04 100644 --- a/Ferrite/Views/LibraryView.swift +++ b/Ferrite/Views/LibraryView.swift @@ -38,7 +38,13 @@ struct LibraryView: View { case .history: HistoryView(allHistoryEntries: allHistoryEntries, searchText: $searchText) case .debridCloud: - DebridCloudView(searchText: $searchText) + if let selectedDebridSource = debridManager.selectedDebridSource { + DebridCloudView(debridSource: selectedDebridSource, searchText: $searchText) + } else { + // Placeholder view that takes up the entire parent view + Color.clear + .frame(maxWidth: .infinity) + } } } .overlay { -- 2.45.2 From 973fbb4099590682b8f7a0a4a1ffeb16db18bbfa Mon Sep 17 00:00:00 2001 From: kingbri Date: Sat, 8 Jun 2024 01:09:18 -0400 Subject: [PATCH 28/59] Debrid: Migrate auth to protocol Unify authentication to the new protocol. Also remove logout on invalid requests. This became annoying and didn't update the UI properly. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 13 +- Ferrite/API/PremiumizeWrapper.swift | 15 +- Ferrite/API/RealDebridWrapper.swift | 15 +- Ferrite/Protocols/Debrid.swift | 5 +- Ferrite/ViewModels/DebridManager.swift | 220 ++++++------------ .../Library/DebridCloudView.swift | 2 +- .../Settings/SettingsDebridInfoView.swift | 12 +- Ferrite/Views/SettingsView.swift | 2 +- 8 files changed, 118 insertions(+), 166 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index cc0abb2..eaa9133 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -19,6 +19,14 @@ public class AllDebrid: PollingDebridSource, ObservableObject { getToken() != nil } + public var manualToken: String? { + if UserDefaults.standard.bool(forKey: "AllDebrid.UseManualKey") { + return getToken() + } else { + return nil + } + } + @Published public var IAValues: [DebridIA] = [] @Published public var cloudDownloads: [DebridCloudDownload] = [] @Published public var cloudTorrents: [DebridCloudTorrent] = [] @@ -101,11 +109,9 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } // Adds a manual API key instead of web auth - public func setApiKey(_ key: String) -> Bool { + public func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "AllDebrid.ApiKey") UserDefaults.standard.set(true, forKey: "AllDebrid.UseManualKey") - - return FerriteKeychain.shared.get("AllDebrid.ApiKey") == key } public func getToken() -> String? { @@ -137,7 +143,6 @@ public class AllDebrid: PollingDebridSource, ObservableObject { if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { - logout() throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to AllDebrid in Settings.") } else { throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 0909fb3..b45f8f2 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -13,7 +13,15 @@ public class Premiumize: OAuthDebridSource, ObservableObject { public let website = "https://premiumize.me" @Published public var authProcessing: Bool = false public var isLoggedIn: Bool { - getToken() != nil + return getToken() != nil + } + + public var manualToken: String? { + if UserDefaults.standard.bool(forKey: "Premiumize.UseManualKey") { + return getToken() + } else { + return nil + } } @Published public var IAValues: [DebridIA] = [] @@ -62,11 +70,9 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } // Adds a manual API key instead of web auth - public func setApiKey(_ key: String) -> Bool { + public func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "Premiumize.AccessToken") UserDefaults.standard.set(true, forKey: "Premiumize.UseManualKey") - - return FerriteKeychain.shared.get("Premiumize.AccessToken") == key } public func getToken() -> String? { @@ -118,7 +124,6 @@ public class Premiumize: OAuthDebridSource, ObservableObject { if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { - logout() throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to Premiumize in Settings.") } else { throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index ea6aab7..cb1dd13 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -15,11 +15,19 @@ public class RealDebrid: PollingDebridSource, ObservableObject { @Published public var authProcessing: Bool = false - // Directly checked because the request fetch uses async + // Check the manual token since getTokens() is async public var isLoggedIn: Bool { FerriteKeychain.shared.get("RealDebrid.AccessToken") != nil } + public var manualToken: String? { + if UserDefaults.standard.bool(forKey: "RealDebrid.UseManualKey") { + return FerriteKeychain.shared.get("RealDebrid.AccessToken") + } else { + return nil + } + } + @Published public var IAValues: [DebridIA] = [] @Published public var cloudDownloads: [DebridCloudDownload] = [] @Published public var cloudTorrents: [DebridCloudTorrent] = [] @@ -175,14 +183,12 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // Adds a manual API key instead of web auth // Clear out existing refresh tokens and timestamps - public func setApiKey(_ key: String) -> Bool { + public func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "RealDebrid.AccessToken") FerriteKeychain.shared.delete("RealDebrid.RefreshToken") FerriteKeychain.shared.delete("RealDebrid.AccessTokenStamp") UserDefaults.standard.set(true, forKey: "RealDebrid.UseManualKey") - - return FerriteKeychain.shared.get("RealDebrid.AccessToken") == key } // Deletes tokens from device and RD's servers @@ -222,7 +228,6 @@ public class RealDebrid: PollingDebridSource, ObservableObject { if response.statusCode >= 200, response.statusCode <= 299 { return data } else if response.statusCode == 401 { - await logout() throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to RealDebrid in Settings.") } else { throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index eef1a33..75a84d6 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -18,8 +18,11 @@ public protocol DebridSource: AnyObservableObject { var authProcessing: Bool { get set } var isLoggedIn: Bool { get } + // Manual API key + var manualToken: String? { get } + // Common authentication functions - func setApiKey(_ key: String) -> Bool + func setApiKey(_ key: String) func logout() async // Instant availability variables diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index ede4ffd..3675c26 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -26,6 +26,10 @@ public class DebridManager: ObservableObject { debridSources.contains { $0.isLoggedIn } } + var enabledDebridCount: Int { + debridSources.filter{ $0.isLoggedIn }.count + } + @Published var selectedDebridSource: DebridSource? { didSet { UserDefaults.standard.set(selectedDebridSource?.id ?? "", forKey: "Debrid.PreferredService") @@ -34,18 +38,8 @@ public class DebridManager: ObservableObject { var selectedDebridItem: DebridIA? var selectedDebridFile: DebridIAFile? - // Service agnostic variables - @Published var enabledDebrids: Set = [] { - didSet { - UserDefaults.standard.set(enabledDebrids.rawValue, forKey: "Debrid.EnabledArray") - } - } - - @Published var selectedDebridType: DebridType? { - didSet { - UserDefaults.standard.set(selectedDebridType?.rawValue ?? 0, forKey: "Debrid.PreferredService") - } - } + // TODO: Figure out a way to remove this var + var selectedOAuthDebridSource: OAuthDebridSource? @Published var filteredIAStatus: Set = [] @@ -53,22 +47,6 @@ public class DebridManager: ObservableObject { var downloadUrl: String = "" var authUrl: URL? - // Is the current debrid type processing an auth request - func authProcessing(_ passedDebridType: DebridType?) -> Bool { - guard let debridType = passedDebridType ?? selectedDebridType else { - return false - } - - switch debridType { - case .realDebrid: - return realDebridAuthProcessing - case .allDebrid: - return allDebridAuthProcessing - case .premiumize: - return premiumizeAuthProcessing - } - } - // RealDebrid auth variables var realDebridAuthProcessing: Bool = false @@ -89,7 +67,6 @@ public class DebridManager: ObservableObject { if let preferredServiceInt = Int(rawPreferredService) { debridServiceId = migratePreferredService(preferredServiceInt) } else { - print(rawPreferredService) debridServiceId = rawPreferredService } @@ -207,73 +184,62 @@ public class DebridManager: ObservableObject { // MARK: - Authentication UI linked functions // Common function to delegate what debrid service to authenticate with - public func authenticateDebrid(debridType: DebridType, apiKey: String?) async { - switch debridType { - case .realDebrid: - let success = apiKey == nil ? await authenticateRd() : realDebrid.setApiKey(apiKey!) - completeDebridAuth(debridType, success: success) - case .allDebrid: - // Async can't work with nil mapping method - let success = apiKey == nil ? await authenticateAd() : allDebrid.setApiKey(apiKey!) - completeDebridAuth(debridType, success: success) - case .premiumize: - if let apiKey { - let success = premiumize.setApiKey(apiKey) - completeDebridAuth(debridType, success: success) - } else { - await authenticatePm() + public func authenticateDebrid(_ debridSource: some DebridSource, apiKey: String?) async { + defer { + // Don't cancel processing if using OAuth + if !(debridSource is OAuthDebridSource) { + debridSource.authProcessing = false } - } - } - // Callback to finish debrid auth since functions can be split - func completeDebridAuth(_ debridType: DebridType, success: Bool) { - if success { - enabledDebrids.insert(debridType) - if enabledDebrids.count == 1 { - selectedDebridType = enabledDebrids.first + if enabledDebridCount == 1 { + selectedDebridSource = debridSource } } - switch debridType { - case .realDebrid: - realDebridAuthProcessing = false - case .allDebrid: - allDebridAuthProcessing = false - case .premiumize: - premiumizeAuthProcessing = false + // Set an API key if manually provided + if let apiKey { + debridSource.setApiKey(apiKey) + return + } + + // Processing has started + debridSource.authProcessing = true + + if let pollingSource = debridSource as? PollingDebridSource { + do { + let authUrl = try await pollingSource.getAuthUrl() + + if validateAuthUrl(authUrl) { + try await pollingSource.authTask?.value + } else { + throw DebridError.AuthQuery(description: "The authentication URL was invalid") + } + } catch { + await sendDebridError(error, prefix: "\(debridSource.id) authentication error") + + pollingSource.authTask?.cancel() + } + } else if let oauthSource = debridSource as? OAuthDebridSource { + do { + let tempAuthUrl = try oauthSource.getAuthUrl() + selectedOAuthDebridSource = oauthSource + + validateAuthUrl(tempAuthUrl, useAuthSession: true) + } catch { + await sendDebridError(error, prefix: "\(debridSource.id) authentication error") + } + } else { + logManager?.error( + "DebridManager: Auth: Could not figure out the authentication type for \(debridSource.id). Is this configured properly?" + ) + + return } } // Get a truncated manual API key if it's being used - func getManualAuthKey(_ passedDebridType: DebridType?) async -> String? { - guard let debridType = passedDebridType ?? selectedDebridType else { - return nil - } - - let debridToken: String? - switch debridType { - case .realDebrid: - if UserDefaults.standard.bool(forKey: "RealDebrid.UseManualKey") { - debridToken = FerriteKeychain.shared.get("RealDebrid.AccessToken") - } else { - debridToken = nil - } - case .allDebrid: - if UserDefaults.standard.bool(forKey: "AllDebrid.UseManualKey") { - debridToken = FerriteKeychain.shared.get("AllDebrid.ApiKey") - } else { - debridToken = nil - } - case .premiumize: - if UserDefaults.standard.bool(forKey: "Premiumize.UseManualKey") { - debridToken = FerriteKeychain.shared.get("Premiumize.AccessToken") - } else { - debridToken = nil - } - } - - if let debridToken { + func getManualAuthKey(_ debridSource: some DebridSource) async -> String? { + if let debridToken = debridSource.manualToken { let splitString = debridToken.suffix(4) if debridToken.count > 4 { @@ -303,74 +269,42 @@ public class DebridManager: ObservableObject { return true } - private func authenticateRd() async -> Bool { - do { - realDebridAuthProcessing = true - let authUrl = try await realDebrid.getAuthUrl() - - if validateAuthUrl(authUrl) { - try await realDebrid.authTask?.value - return true - } else { - throw DebridError.AuthQuery(description: "The verification URL was invalid") - } - } catch { - await sendDebridError(error, prefix: "RealDebrid authentication error") - - realDebrid.authTask?.cancel() - return false - } - } - - private func authenticateAd() async -> Bool { - do { - allDebridAuthProcessing = true - let authUrl = try await allDebrid.getAuthUrl() - - if validateAuthUrl(authUrl) { - try await allDebrid.authTask?.value - return true - } else { - throw DebridError.AuthQuery(description: "The PIN URL was invalid") - } - } catch { - await sendDebridError(error, prefix: "AllDebrid authentication error") - - allDebrid.authTask?.cancel() - return false - } - } - - private func authenticatePm() async { - do { - premiumizeAuthProcessing = true - let tempAuthUrl = try premiumize.getAuthUrl() - - validateAuthUrl(tempAuthUrl, useAuthSession: true) - } catch { - await sendDebridError(error, prefix: "Premiumize authentication error") - - completeDebridAuth(.premiumize, success: false) - } - } - // Currently handles Premiumize callback - public func handleCallback(url: URL?, error: Error?) async { + public func handleAuthCallback(url: URL?, error: Error?) async { + defer { + if enabledDebridCount == 1 { + selectedDebridSource = selectedOAuthDebridSource + } + + selectedOAuthDebridSource?.authProcessing = false + } + do { + guard let oauthDebridSource = selectedOAuthDebridSource else { + throw DebridError.AuthQuery(description: "OAuth source couldn't be found for callback. Aborting.") + } + if let error { throw DebridError.AuthQuery(description: "OAuth callback Error: \(error)") - } + } if let callbackUrl = url { - try premiumize.handleAuthCallback(url: callbackUrl) - completeDebridAuth(.premiumize, success: true) + try oauthDebridSource.handleAuthCallback(url: callbackUrl) } else { throw DebridError.AuthQuery(description: "The callback URL was invalid") } } catch { await sendDebridError(error, prefix: "Premiumize authentication error (callback)") + } + } - completeDebridAuth(.premiumize, success: false) + // MARK: - Logout UI functions + + public func logout(_ debridSource: some DebridSource) async { + await debridSource.logout() + + if selectedDebridSource?.id == debridSource.id { + selectedDebridSource = nil } } diff --git a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift index a52120a..9a612a8 100644 --- a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift @@ -31,7 +31,7 @@ struct DebridCloudView: View { .refreshable { await debridManager.fetchDebridCloud(bypassTTL: true) } - .onChange(of: debridManager.selectedDebridType) { newType in + .onChange(of: debridManager.selectedDebridSource?.id) { newType in if newType != nil { Task { await debridManager.fetchDebridCloud() diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index 47d81c9..001cb3a 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -31,12 +31,12 @@ struct SettingsDebridInfoView: View { Button { Task { if debridSource.isLoggedIn { - await debridSource.logout() + await debridManager.logout(debridSource) } else if !debridSource.authProcessing { - //await debridManager.authenticateDebrid(debridType: debridType, apiKey: nil) + await debridManager.authenticateDebrid(debridSource, apiKey: nil) } - //apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + apiKeyTempText = await debridManager.getManualAuthKey(debridSource) ?? "" } } label: { Text( @@ -57,8 +57,8 @@ struct SettingsDebridInfoView: View { onCommit: { Task { if !apiKeyTempText.isEmpty { - //await debridManager.authenticateDebrid(debridType: debridType, apiKey: apiKeyTempText) - //apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + await debridManager.authenticateDebrid(debridSource, apiKey: apiKeyTempText) + apiKeyTempText = await debridManager.getManualAuthKey(debridSource) ?? "" } } } @@ -67,7 +67,7 @@ struct SettingsDebridInfoView: View { } .onAppear { Task { - //apiKeyTempText = await debridManager.getManualAuthKey(debridType) ?? "" + apiKeyTempText = await debridManager.getManualAuthKey(debridSource) ?? "" } } } diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index 4171c96..3c8ffcd 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -227,7 +227,7 @@ struct SettingsView: View { callbackURLScheme: "ferrite" ) { callbackURL, error in Task { - await debridManager.handleCallback(url: callbackURL, error: error) + await debridManager.handleAuthCallback(url: callbackURL, error: error) } } .prefersEphemeralWebBrowserSession(useEphemeralAuth) -- 2.45.2 From 6192ef1edef2e06a96e0f5bfc7317ca6dcff4b85 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sat, 8 Jun 2024 12:27:36 -0400 Subject: [PATCH 29/59] Tree: Format Signed-off-by: kingbri --- Ferrite/API/PremiumizeWrapper.swift | 2 +- Ferrite/API/RealDebridWrapper.swift | 2 +- Ferrite/Protocols/Debrid.swift | 2 +- Ferrite/Utils/Store.swift | 39 +++++++++---------- Ferrite/ViewModels/DebridManager.swift | 11 +++--- .../Library/Cloud/CloudTorrentView.swift | 10 ++--- 6 files changed, 32 insertions(+), 34 deletions(-) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index b45f8f2..bc14311 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -13,7 +13,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { public let website = "https://premiumize.me" @Published public var authProcessing: Bool = false public var isLoggedIn: Bool { - return getToken() != nil + getToken() != nil } public var manualToken: String? { diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index cb1dd13..fdeccab 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -7,7 +7,7 @@ import Foundation -public class RealDebrid: PollingDebridSource, ObservableObject { +public class RealDebrid: PollingDebridSource, ObservableObject { public let id = "RealDebrid" public let abbreviation = "RD" public let website = "https://real-debrid.com" diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 75a84d6..fb24d7d 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -9,7 +9,7 @@ import Foundation public protocol DebridSource: AnyObservableObject { // ID of the service - //var id: DebridInfo { get } + // var id: DebridInfo { get } var id: String { get } var abbreviation: String { get } var website: String { get } diff --git a/Ferrite/Utils/Store.swift b/Ferrite/Utils/Store.swift index a663fe6..34cd3b2 100644 --- a/Ferrite/Utils/Store.swift +++ b/Ferrite/Utils/Store.swift @@ -12,12 +12,12 @@ // TODO: Replace with Observable when minVersion >= iOS 17 // -import SwiftUI import Combine +import SwiftUI class ErasedObservableObject: ObservableObject { let objectWillChange: AnyPublisher - + init(objectWillChange: AnyPublisher) { self.objectWillChange = objectWillChange } @@ -62,14 +62,14 @@ public protocol AnyObservableObject: AnyObject { public struct Store { /// The underlying object being stored. public let wrappedValue: ObjectType - + // See https://github.com/Tiny-Home-Consulting/Dependiject/issues/38 fileprivate var _observableObject: ObservedObject @MainActor internal var observableObject: ErasedObservableObject { - return _observableObject.wrappedValue + _observableObject.wrappedValue } - + /// A projected value which has the same properties as the wrapped value, but presented as /// bindings. /// @@ -84,55 +84,54 @@ public struct Store { /// } /// ``` public var projectedValue: Wrapper { - return Wrapper(self) + Wrapper(self) } - + /// Create a stored value on a custom scheduler. /// /// Use this init to schedule updates on a specific scheduler other than `DispatchQueue.main`. - public init( - wrappedValue: ObjectType, - on scheduler: S, - schedulerOptions: S.SchedulerOptions? = nil - ) { + public init(wrappedValue: ObjectType, + on scheduler: S, + schedulerOptions: S.SchedulerOptions? = nil) + { self.wrappedValue = wrappedValue - + if let observable = wrappedValue as? AnyObservableObject { let objectWillChange = observable.objectWillChange .receive(on: scheduler, options: schedulerOptions) .eraseToAnyPublisher() - self._observableObject = .init(initialValue: .init(objectWillChange: objectWillChange)) + _observableObject = .init(initialValue: .init(objectWillChange: objectWillChange)) } else { assertionFailure( "Only use the Store property wrapper with objects conforming to AnyObservableObject." ) - self._observableObject = .init(initialValue: .empty()) + _observableObject = .init(initialValue: .empty()) } } - + /// Create a stored value which publishes on the main thread. /// /// To control when updates are published, see ``init(wrappedValue:on:schedulerOptions:)``. public init(wrappedValue: ObjectType) { self.init(wrappedValue: wrappedValue, on: DispatchQueue.main) } - + /// An equivalent to SwiftUI's /// [`ObservedObject.Wrapper`](https://developer.apple.com/documentation/swiftui/observedobject/wrapper) /// type. @dynamicMemberLookup public struct Wrapper { private var store: Store - + internal init(_ store: Store) { self.store = store } - + /// Returns a binding to the resulting value of a given key path. public subscript( dynamicMember keyPath: ReferenceWritableKeyPath ) -> Binding { - return Binding { + Binding { self.store.wrappedValue[keyPath: keyPath] } set: { self.store.wrappedValue[keyPath: keyPath] = $0 diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 3675c26..a113407 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -27,7 +27,7 @@ public class DebridManager: ObservableObject { } var enabledDebridCount: Int { - debridSources.filter{ $0.isLoggedIn }.count + debridSources.filter(\.isLoggedIn).count } @Published var selectedDebridSource: DebridSource? { @@ -35,6 +35,7 @@ public class DebridManager: ObservableObject { UserDefaults.standard.set(selectedDebridSource?.id ?? "", forKey: "Debrid.PreferredService") } } + var selectedDebridItem: DebridIA? var selectedDebridFile: DebridIAFile? @@ -59,7 +60,6 @@ public class DebridManager: ObservableObject { var premiumizeAuthProcessing: Bool = false init() { - // Set the preferred service. Contains migration logic for earlier versions if let rawPreferredService = UserDefaults.standard.string(forKey: "Debrid.PreferredService") { let debridServiceId: String? @@ -72,8 +72,8 @@ public class DebridManager: ObservableObject { // Only set the debrid source if it's logged in // Otherwise remove the key - let tempDebridSource = self.debridSources.first { $0.id == debridServiceId } - if (tempDebridSource?.isLoggedIn ?? false) { + let tempDebridSource = debridSources.first { $0.id == debridServiceId } + if tempDebridSource?.isLoggedIn ?? false { selectedDebridSource = tempDebridSource } else { UserDefaults.standard.removeObject(forKey: "Debrid.PreferredService") @@ -286,7 +286,7 @@ public class DebridManager: ObservableObject { if let error { throw DebridError.AuthQuery(description: "OAuth callback Error: \(error)") - } + } if let callbackUrl = url { try oauthDebridSource.handleAuthCallback(url: callbackUrl) @@ -377,7 +377,6 @@ public class DebridManager: ObservableObject { if error.code != -999 { await sendDebridError(error, prefix: "\(selectedSource.id) cloud fetch error") } - } } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift index 0c86880..cdc950f 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift @@ -25,12 +25,12 @@ struct CloudTorrentView: View { if cloudTorrent.status == "downloaded", !cloudTorrent.links.isEmpty { navModel.resultFromCloud = true navModel.selectedTitle = cloudTorrent.fileName - + var historyInfo = HistoryEntryJson( name: cloudTorrent.fileName, source: debridSource.id ) - + Task { let magnet = Magnet(hash: cloudTorrent.hash, link: nil) await debridManager.populateDebridIA([magnet]) @@ -39,11 +39,11 @@ struct CloudTorrentView: View { if cloudTorrent.links.count == 1 { await debridManager.fetchDebridDownload(magnet: magnet) - + if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyInfo, performSave: true) - + pluginManager.runDefaultAction( urlString: debridManager.downloadUrl, navModel: navModel @@ -63,7 +63,7 @@ struct CloudTorrentView: View { .font(.callout) .fixedSize(horizontal: false, vertical: true) .lineLimit(4) - + HStack { Text(cloudTorrent.status.capitalizingFirstLetter()) Spacer() -- 2.45.2 From 90f44348b88369ae3987b9b75304357b4f6893c3 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sat, 8 Jun 2024 12:28:19 -0400 Subject: [PATCH 30/59] Logging: Improve generic error message Point the user to settings logs rather than giving no extra information. It would be a good idea to give the type of error in the future. Signed-off-by: kingbri --- Ferrite/ViewModels/LoggingManager.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ferrite/ViewModels/LoggingManager.swift b/Ferrite/ViewModels/LoggingManager.swift index 3e84b14..86c7334 100644 --- a/Ferrite/ViewModels/LoggingManager.swift +++ b/Ferrite/ViewModels/LoggingManager.swift @@ -121,7 +121,7 @@ class LoggingManager: ObservableObject { if let description { toastDescription = description } else if showErrorToasts { - toastDescription = "An error was logged" + toastDescription = "An error was logged. Please look at logs in Settings." } } -- 2.45.2 From 796cc65016ccb8610140d3ec4a80ecded5ab5780 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 9 Jun 2024 20:28:02 -0400 Subject: [PATCH 31/59] Premiumize: Fix service-specific errors This parameter should be optional and errors if it isn't. Signed-off-by: kingbri --- Ferrite/API/PremiumizeWrapper.swift | 5 +++-- Ferrite/Models/PremiumizeModels.swift | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index bc14311..4f1803e 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -203,9 +203,10 @@ public class Premiumize: OAuthDebridSource, ObservableObject { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode(DDLResponse.self, from: data) + let content = rawResponse.content ?? [] - if !rawResponse.content.isEmpty { - let files = rawResponse.content.map { file in + if !content.isEmpty { + let files = content.map { file in DebridIAFile( fileId: 0, name: file.path.split(separator: "/").last.flatMap { String($0) } ?? file.path, diff --git a/Ferrite/Models/PremiumizeModels.swift b/Ferrite/Models/PremiumizeModels.swift index 6ec9606..d160c11 100644 --- a/Ferrite/Models/PremiumizeModels.swift +++ b/Ferrite/Models/PremiumizeModels.swift @@ -19,7 +19,7 @@ public extension Premiumize { struct DDLResponse: Codable { let status: String - let content: [DDLData] + let content: [DDLData]? let location: String let filename: String let filesize: Int -- 2.45.2 From 4ae19669345e23d6b8ce8388fd3f6aa5e021d129 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 9 Jun 2024 20:28:54 -0400 Subject: [PATCH 32/59] Debrid: Fix UI updates for IA Hook to the published variable to push updates. Signed-off-by: kingbri --- Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift | 8 +------- .../ComponentViews/Filters/SelectedDebridFilterView.swift | 1 - 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift b/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift index 84e2d5e..f402ec1 100644 --- a/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift +++ b/Ferrite/Views/ComponentViews/Debrid/DebridLabelView.swift @@ -17,16 +17,10 @@ struct DebridLabelView: View { var body: some View { Tag( name: debridSource.abbreviation, - color: tagColor, + color: getTagColor(), horizontalPadding: 5, verticalPadding: 3 ) - .onAppear { - tagColor = getTagColor() - } - .onChange(of: debridSource.IAValues) { _ in - tagColor = getTagColor() - } } func getTagColor() -> Color { diff --git a/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift b/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift index c6bc9c3..bec93ec 100644 --- a/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift +++ b/Ferrite/Views/ComponentViews/Filters/SelectedDebridFilterView.swift @@ -40,6 +40,5 @@ struct SelectedDebridFilterView: View { } label: { label } - .id(debridManager.selectedDebridSource?.id) } } -- 2.45.2 From afceea7bfb0add674ccd9318db84517ccb254e9a Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 9 Jun 2024 20:53:10 -0400 Subject: [PATCH 33/59] Actions: Update to latest Bump actions and macos build versions. Signed-off-by: kingbri --- .github/workflows/nightly.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index b429522..4a2650d 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -6,13 +6,13 @@ on: jobs: build: - runs-on: macos-12 + runs-on: macos-14 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: latest + xcode-version: latest-stable - name: Get commit SHA run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_ENV - name: Build @@ -25,7 +25,7 @@ jobs: cp -r build/Ferrite.xcarchive/Products/Applications/Ferrite.app Payload zip -r Ferrite-iOS_nightly-${{ env.sha_short }}.ipa Payload - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: Ferrite-iOS_nightly-${{ env.sha_short }}.ipa path: Ferrite-iOS_nightly-${{ env.sha_short }}.ipa diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1bc654d..3705910 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,13 +7,13 @@ on: jobs: build: - runs-on: macos-12 + runs-on: macos-14 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Setup Xcode uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: latest + xcode-version: latest-stable - name: Build run: xcodebuild -scheme Ferrite -configuration Release archive -archivePath build/Ferrite.xcarchive CODE_SIGN_IDENTITY= CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO env: @@ -30,7 +30,7 @@ jobs: run: | zip -j Ferrite-iOS_v${{ env.app_version }}.ipa.zip Ferrite-iOS_v${{ env.app_version }}.ipa - name: Upload release - uses: softprops/action-gh-release@v1 + uses: softprops/action-gh-release@v2 if: startsWith(github.ref, 'refs/tags/') with: files: Ferrite-iOS_v${{ env.app_version }}.ipa.zip -- 2.45.2 From 42e202b207a7c073f421a48c3a8903c1d5c1e59e Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 10 Jun 2024 23:35:17 -0400 Subject: [PATCH 34/59] Plugins: Add request options to sources Adds HTTP method, headers, and a body string. Also use a common function to substitute params rather to allow for maintanence of a common dictionary. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 +++ .../SourceHtmlParser+CoreDataProperties.swift | 1 + .../SourceJsonParser+CoreDataProperties.swift | 1 + .../Classes/SourceRequest+CoreDataClass.swift | 13 ++++ .../SourceRequest+CoreDataProperties.swift | 25 +++++++ .../SourceRssParser+CoreDataProperties.swift | 1 + .../FerriteDB_v2.xcdatamodel/contents | 13 +++- Ferrite/Models/SourceModels.swift | 9 +++ Ferrite/ViewModels/PluginManager.swift | 25 +++++++ Ferrite/ViewModels/ScrapingViewModel.swift | 72 ++++++++++++++----- 10 files changed, 148 insertions(+), 20 deletions(-) create mode 100644 Ferrite/DataManagement/Classes/SourceRequest+CoreDataClass.swift create mode 100644 Ferrite/DataManagement/Classes/SourceRequest+CoreDataProperties.swift diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index 3c2c2bd..3763f2d 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -154,6 +154,8 @@ 0CE1C4182981E8D700418F20 /* Plugin.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CE1C4172981E8D700418F20 /* Plugin.swift */; }; 0CEC8AAE299B31B6007BFE8F /* SearchFilterHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEC8AAD299B31B6007BFE8F /* SearchFilterHeaderView.swift */; }; 0CEC8AB2299B3B57007BFE8F /* LibraryPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEC8AB1299B3B57007BFE8F /* LibraryPickerView.swift */; }; + 0CEE11B12C1743E0004C8BB2 /* SourceRequest+CoreDataClass.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEE11AF2C1743E0004C8BB2 /* SourceRequest+CoreDataClass.swift */; }; + 0CEE11B22C1743E0004C8BB2 /* SourceRequest+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CEE11B02C1743E0004C8BB2 /* SourceRequest+CoreDataProperties.swift */; }; 0CF1ABDC2C0C04B2009F6C26 /* Debrid.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF1ABDB2C0C04B2009F6C26 /* Debrid.swift */; }; 0CF1ABE22C0C3D2F009F6C26 /* DebridModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */; }; 0CF2C0A529D1EBD400E716DD /* UIApplication.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CF2C0A429D1EBD400E716DD /* UIApplication.swift */; }; @@ -302,6 +304,8 @@ 0CE1C4172981E8D700418F20 /* Plugin.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Plugin.swift; sourceTree = ""; }; 0CEC8AAD299B31B6007BFE8F /* SearchFilterHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchFilterHeaderView.swift; sourceTree = ""; }; 0CEC8AB1299B3B57007BFE8F /* LibraryPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LibraryPickerView.swift; sourceTree = ""; }; + 0CEE11AF2C1743E0004C8BB2 /* SourceRequest+CoreDataClass.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SourceRequest+CoreDataClass.swift"; sourceTree = ""; }; + 0CEE11B02C1743E0004C8BB2 /* SourceRequest+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "SourceRequest+CoreDataProperties.swift"; sourceTree = ""; }; 0CF1ABDB2C0C04B2009F6C26 /* Debrid.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Debrid.swift; sourceTree = ""; }; 0CF1ABE12C0C3D2F009F6C26 /* DebridModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridModels.swift; sourceTree = ""; }; 0CF2C0A429D1EBD400E716DD /* UIApplication.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIApplication.swift; sourceTree = ""; }; @@ -383,6 +387,8 @@ 0C84F47B2895BFED0074B7C9 /* Source+CoreDataProperties.swift */, 0C84F47C2895BFED0074B7C9 /* SourceHtmlParser+CoreDataClass.swift */, 0C84F47D2895BFED0074B7C9 /* SourceHtmlParser+CoreDataProperties.swift */, + 0CEE11AF2C1743E0004C8BB2 /* SourceRequest+CoreDataClass.swift */, + 0CEE11B02C1743E0004C8BB2 /* SourceRequest+CoreDataProperties.swift */, ); path = Classes; sourceTree = ""; @@ -927,6 +933,8 @@ 0C50055B2992BA6A0064606A /* PluginTag+CoreDataProperties.swift in Sources */, 0C7075E629D3845D0093DB2D /* ShareSheet.swift in Sources */, 0C871BDF29994D9D005279AC /* FilterLabelView.swift in Sources */, + 0CEE11B12C1743E0004C8BB2 /* SourceRequest+CoreDataClass.swift in Sources */, + 0CEE11B22C1743E0004C8BB2 /* SourceRequest+CoreDataProperties.swift in Sources */, 0CC2CA7429E24F63000A8585 /* ExpandedSearchable.swift in Sources */, 0CF1ABE22C0C3D2F009F6C26 /* DebridModels.swift in Sources */, 0C6771F429B3B4FD005D38D2 /* KodiWrapper.swift in Sources */, diff --git a/Ferrite/DataManagement/Classes/SourceHtmlParser+CoreDataProperties.swift b/Ferrite/DataManagement/Classes/SourceHtmlParser+CoreDataProperties.swift index 11f9202..edc0c77 100644 --- a/Ferrite/DataManagement/Classes/SourceHtmlParser+CoreDataProperties.swift +++ b/Ferrite/DataManagement/Classes/SourceHtmlParser+CoreDataProperties.swift @@ -16,6 +16,7 @@ public extension SourceHtmlParser { @NSManaged var rows: String @NSManaged var searchUrl: String? + @NSManaged var request: SourceRequest? @NSManaged var magnetHash: SourceMagnetHash? @NSManaged var magnetLink: SourceMagnetLink? @NSManaged var parentSource: Source? diff --git a/Ferrite/DataManagement/Classes/SourceJsonParser+CoreDataProperties.swift b/Ferrite/DataManagement/Classes/SourceJsonParser+CoreDataProperties.swift index 81d7287..bb52c0a 100644 --- a/Ferrite/DataManagement/Classes/SourceJsonParser+CoreDataProperties.swift +++ b/Ferrite/DataManagement/Classes/SourceJsonParser+CoreDataProperties.swift @@ -17,6 +17,7 @@ public extension SourceJsonParser { @NSManaged var results: String? @NSManaged var subResults: String? @NSManaged var searchUrl: String + @NSManaged var request: SourceRequest? @NSManaged var magnetHash: SourceMagnetHash? @NSManaged var magnetLink: SourceMagnetLink? @NSManaged var parentSource: Source? diff --git a/Ferrite/DataManagement/Classes/SourceRequest+CoreDataClass.swift b/Ferrite/DataManagement/Classes/SourceRequest+CoreDataClass.swift new file mode 100644 index 0000000..18d7bf4 --- /dev/null +++ b/Ferrite/DataManagement/Classes/SourceRequest+CoreDataClass.swift @@ -0,0 +1,13 @@ +// +// SourceRequest+CoreDataClass.swift +// Ferrite +// +// Created by Brian Dashore on 6/10/24. +// +// + +import CoreData +import Foundation + +@objc(SourceRequest) +public class SourceRequest: NSManagedObject {} diff --git a/Ferrite/DataManagement/Classes/SourceRequest+CoreDataProperties.swift b/Ferrite/DataManagement/Classes/SourceRequest+CoreDataProperties.swift new file mode 100644 index 0000000..decdb10 --- /dev/null +++ b/Ferrite/DataManagement/Classes/SourceRequest+CoreDataProperties.swift @@ -0,0 +1,25 @@ +// +// SourceRequest+CoreDataProperties.swift +// Ferrite +// +// Created by Brian Dashore on 6/10/24. +// +// + +import CoreData +import Foundation + +public extension SourceRequest { + @nonobjc class func fetchRequest() -> NSFetchRequest { + NSFetchRequest(entityName: "SourceRequest") + } + + @NSManaged var method: String? + @NSManaged var headers: [String: String]? + @NSManaged var body: String? + @NSManaged var parentHtmlParser: SourceHtmlParser? + @NSManaged var parentRssParser: SourceRssParser? + @NSManaged var parentJsonParser: SourceJsonParser? +} + +extension SourceRequest: Identifiable {} diff --git a/Ferrite/DataManagement/Classes/SourceRssParser+CoreDataProperties.swift b/Ferrite/DataManagement/Classes/SourceRssParser+CoreDataProperties.swift index 6e8cc8e..743d2cc 100644 --- a/Ferrite/DataManagement/Classes/SourceRssParser+CoreDataProperties.swift +++ b/Ferrite/DataManagement/Classes/SourceRssParser+CoreDataProperties.swift @@ -17,6 +17,7 @@ public extension SourceRssParser { @NSManaged var items: String @NSManaged var rssUrl: String? @NSManaged var searchUrl: String + @NSManaged var request: SourceRequest? @NSManaged var magnetHash: SourceMagnetHash? @NSManaged var magnetLink: SourceMagnetLink? @NSManaged var parentSource: Source? diff --git a/Ferrite/DataManagement/FerriteDB.xcdatamodeld/FerriteDB_v2.xcdatamodel/contents b/Ferrite/DataManagement/FerriteDB.xcdatamodeld/FerriteDB_v2.xcdatamodel/contents index eb3bb9c..0b4a0ce 100644 --- a/Ferrite/DataManagement/FerriteDB.xcdatamodeld/FerriteDB_v2.xcdatamodel/contents +++ b/Ferrite/DataManagement/FerriteDB.xcdatamodeld/FerriteDB_v2.xcdatamodel/contents @@ -1,5 +1,5 @@ - + @@ -106,6 +106,7 @@ + @@ -118,6 +119,7 @@ + @@ -134,6 +136,14 @@ + + + + + + + + @@ -141,6 +151,7 @@ + diff --git a/Ferrite/Models/SourceModels.swift b/Ferrite/Models/SourceModels.swift index b0f7d91..efa0efb 100644 --- a/Ferrite/Models/SourceModels.swift +++ b/Ferrite/Models/SourceModels.swift @@ -62,6 +62,7 @@ public struct SourceApiCredentialJson: Codable, Hashable, Sendable { public struct SourceJsonParserJson: Codable, Hashable, Sendable { let searchUrl: String + let request: SourceRequestJson? let results: String? let subResults: String? let title: SourceComplexQueryJson @@ -75,6 +76,7 @@ public struct SourceJsonParserJson: Codable, Hashable, Sendable { public struct SourceRssParserJson: Codable, Hashable, Sendable { let rssUrl: String? let searchUrl: String + let request: SourceRequestJson? let items: String let title: SourceComplexQueryJson let magnetHash: SourceComplexQueryJson? @@ -86,6 +88,7 @@ public struct SourceRssParserJson: Codable, Hashable, Sendable { public struct SourceHtmlParserJson: Codable, Hashable, Sendable { let searchUrl: String? + let request: SourceRequestJson? let rows: String let title: SourceComplexQueryJson let magnet: SourceMagnetJson @@ -117,3 +120,9 @@ public struct SourceSLJson: Codable, Hashable, Sendable { let seederRegex: String? let leecherRegex: String? } + +public struct SourceRequestJson: Codable, Hashable, Sendable { + let method: String? + let headers: [String: String]? + let body: String? +} diff --git a/Ferrite/ViewModels/PluginManager.swift b/Ferrite/ViewModels/PluginManager.swift index 664fdb9..bf46181 100644 --- a/Ferrite/ViewModels/PluginManager.swift +++ b/Ferrite/ViewModels/PluginManager.swift @@ -570,6 +570,7 @@ public class PluginManager: ObservableObject { newSource.api = newSourceApi } + // TODO: Migrate parser addition to a common protocol func addJsonParser(newSource: Source, jsonParserJson: SourceJsonParserJson) { let backgroundContext = PersistenceController.shared.backgroundContext @@ -578,6 +579,13 @@ public class PluginManager: ObservableObject { newSourceJsonParser.results = jsonParserJson.results newSourceJsonParser.subResults = jsonParserJson.subResults + if let requestJson = newSourceJsonParser.request { + let newParserRequest = SourceRequest(context: backgroundContext) + newParserRequest.method = requestJson.method + newParserRequest.headers = requestJson.headers + newParserRequest.body = requestJson.body + } + // Tune these complex queries to the final JSON parser format if let magnetLinkJson = jsonParserJson.magnetLink { let newSourceMagnetLink = SourceMagnetLink(context: backgroundContext) @@ -646,6 +654,13 @@ public class PluginManager: ObservableObject { newSourceRssParser.searchUrl = rssParserJson.searchUrl newSourceRssParser.items = rssParserJson.items + if let requestJson = newSourceRssParser.request { + let newParserRequest = SourceRequest(context: backgroundContext) + newParserRequest.method = requestJson.method + newParserRequest.headers = requestJson.headers + newParserRequest.body = requestJson.body + } + if let magnetLinkJson = rssParserJson.magnetLink { let newSourceMagnetLink = SourceMagnetLink(context: backgroundContext) newSourceMagnetLink.query = magnetLinkJson.query @@ -726,6 +741,16 @@ public class PluginManager: ObservableObject { newSourceHtmlParser.subName = newSourceSubName } + if let requestJson = htmlParserJson.request { + print(requestJson) + let newParserRequest = SourceRequest(context: backgroundContext) + newParserRequest.method = requestJson.method + newParserRequest.headers = requestJson.headers + newParserRequest.body = requestJson.body + + newSourceHtmlParser.request = newParserRequest + } + // Adds a title complex query let newSourceTitle = SourceTitle(context: backgroundContext) newSourceTitle.query = htmlParserJson.title.query diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index afdde3d..7dff35e 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -66,6 +66,28 @@ class ScrapingViewModel: ObservableObject { await logManager?.error(description, showToast: false) } + // Substitutes the given string with an arbitrary parameter dictionary + func substituteParams(_ input: String, with params: [String: String]) -> String { + let replaced = params.reduce(input) { result, param -> String in + result.replacingOccurrences(of: "{\(param.key)}", with: param.value) + } + + return replaced + } + + // Cleans a SourceRequest's body and headers to be substituted + func cleanRequest(request: SourceRequest, params: [String: String]) -> SourceRequest { + if let body = request.body { + request.body = substituteParams(body, with: params) + } + + if let headers = request.headers { + request.headers = headers.mapValues { substituteParams($0, with: params) } + } + + return request + } + public func scanSources(sources: [Source], searchText: String, debridManager: DebridManager) async { await logManager?.info("Started scanning sources for query \"\(searchText)\"") @@ -160,19 +182,25 @@ class ScrapingViewModel: ObservableObject { return nil } + // Initial params dict to reference + // More params are added here as needed + var params: [String: String] = [ + "query": encodedQuery + ] + switch preferredParser { case .scraping: if let htmlParser = source.htmlParser { let replacedSearchUrl = htmlParser.searchUrl.map { - $0 - .replacingOccurrences(of: "{query}", with: encodedQuery) + substituteParams($0, with: params) } let data = await handleUrls( website: website, replacedSearchUrl: replacedSearchUrl, fallbackUrls: source.fallbackUrls, - sourceName: source.name + sourceName: source.name, + requestParams: htmlParser.request.map { cleanRequest(request: $0, params: params) } ) if let data, @@ -183,23 +211,25 @@ class ScrapingViewModel: ObservableObject { } case .rss: if let rssParser = source.rssParser { - let replacedSearchUrl = rssParser.searchUrl - .replacingOccurrences(of: "{secret}", with: source.api?.clientSecret?.value ?? "") - .replacingOccurrences(of: "{query}", with: encodedQuery) + params.updateValue(source.api?.clientSecret?.value ?? "", forKey: "secret") + + let replacedSearchUrl = substituteParams(rssParser.searchUrl, with: params) // Do not use fallback URLs if the base URL isn't used let data: Data? if let rssUrl = rssParser.rssUrl { data = await fetchWebsiteData( urlString: rssUrl + replacedSearchUrl, - sourceName: source.name + sourceName: source.name, + requestParams: rssParser.request ) } else { data = await handleUrls( website: website, replacedSearchUrl: replacedSearchUrl, fallbackUrls: source.fallbackUrls, - sourceName: source.name + sourceName: source.name, + requestParams: rssParser.request ) } @@ -211,8 +241,7 @@ class ScrapingViewModel: ObservableObject { } case .siteApi: if let jsonParser = source.jsonParser { - var replacedSearchUrl = jsonParser.searchUrl - .replacingOccurrences(of: "{query}", with: encodedQuery) + var replacedSearchUrl = substituteParams(jsonParser.searchUrl, with: params) // Handle anything API related including tokens, client IDs, and appending the API URL // The source API key is for APIs that require extra credentials or use a different URL @@ -248,7 +277,8 @@ class ScrapingViewModel: ObservableObject { website: passedUrl, replacedSearchUrl: replacedSearchUrl, fallbackUrls: source.fallbackUrls, - sourceName: source.name + sourceName: source.name, + requestParams: jsonParser.request ) if let data { @@ -263,16 +293,16 @@ class ScrapingViewModel: ObservableObject { } // Checks the base URL for any website data then iterates through the fallback URLs - func handleUrls(website: String, replacedSearchUrl: String?, fallbackUrls: [String]?, sourceName: String) async -> Data? { + func handleUrls(website: String, replacedSearchUrl: String?, fallbackUrls: [String]?, sourceName: String, requestParams: SourceRequest?) async -> Data? { let fetchUrl = website + (replacedSearchUrl.map { $0 } ?? "") - if let data = await fetchWebsiteData(urlString: fetchUrl, sourceName: sourceName) { + if let data = await fetchWebsiteData(urlString: fetchUrl, sourceName: sourceName, requestParams: requestParams) { return data } if let fallbackUrls { for fallbackUrl in fallbackUrls { let fetchUrl = fallbackUrl + (replacedSearchUrl.map { $0 } ?? "") - if let data = await fetchWebsiteData(urlString: fetchUrl, sourceName: sourceName) { + if let data = await fetchWebsiteData(urlString: fetchUrl, sourceName: sourceName, requestParams: requestParams) { return data } } @@ -298,8 +328,7 @@ class ScrapingViewModel: ObservableObject { // Fetch a new credential if it's expired or doesn't exist yet if let value = credential.value, !isExpired { - return searchUrl - .replacingOccurrences(of: replacement, with: value) + return substituteParams(searchUrl, with: [replacement: value]) } else if credential.value == nil || isExpired, let credentialUrl = credential.urlString, @@ -369,7 +398,7 @@ class ScrapingViewModel: ObservableObject { } // Fetches the data for a URL - public func fetchWebsiteData(urlString: String, sourceName: String) async -> Data? { + public func fetchWebsiteData(urlString: String, sourceName: String, requestParams: SourceRequest?) async -> Data? { guard let url = URL(string: urlString.trimmingCharacters(in: .whitespacesAndNewlines)) else { await sendSourceError("\(sourceName): Source doesn't contain a valid URL, contact the source dev!") @@ -388,7 +417,12 @@ class ScrapingViewModel: ObservableObject { } } - let request = URLRequest(url: url, timeoutInterval: timeout) + var request = URLRequest(url: url, timeoutInterval: timeout) + request.httpMethod = requestParams?.method + request.httpBody = requestParams?.body?.data(using: .utf8) + requestParams?.headers?.forEach { field, value in + request.addValue(value, forHTTPHeaderField: field) + } do { let (data, _) = try await URLSession.shared.data(for: request) @@ -800,7 +834,7 @@ class ScrapingViewModel: ObservableObject { let replacedMagnetUrl = externalMagnetUrl.starts(with: "/") ? website + externalMagnetUrl : externalMagnetUrl guard - let data = await fetchWebsiteData(urlString: replacedMagnetUrl, sourceName: source.name), + let data = await fetchWebsiteData(urlString: replacedMagnetUrl, sourceName: source.name, requestParams: htmlParser.request), let magnetHtml = String(data: data, encoding: .utf8) else { continue -- 2.45.2 From d8107cb5b6a8743a7510eb49f3bbf4ce53243874 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 10 Jun 2024 23:36:34 -0400 Subject: [PATCH 35/59] Sources: Add queryFirstLetter param Stopgap for index-based sources. For example, the keyword "John" will be converted to "j" for sources that use "/j/John". Signed-off-by: kingbri --- Ferrite/ViewModels/ScrapingViewModel.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index 7dff35e..94d30cc 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -185,7 +185,8 @@ class ScrapingViewModel: ObservableObject { // Initial params dict to reference // More params are added here as needed var params: [String: String] = [ - "query": encodedQuery + "query": encodedQuery, + "queryFirstLetter": encodedQuery.first.map { String($0).lowercased() } ?? "" ] switch preferredParser { -- 2.45.2 From 3b771e5deb5429780aa5f42b7307795b481c96d2 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 10 Jun 2024 23:39:33 -0400 Subject: [PATCH 36/59] Extension: Remove Set warning This will be removed in the future anyway. Signed-off-by: kingbri --- Ferrite/Extensions/Set.swift | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Ferrite/Extensions/Set.swift b/Ferrite/Extensions/Set.swift index b4ca668..fb767a0 100644 --- a/Ferrite/Extensions/Set.swift +++ b/Ferrite/Extensions/Set.swift @@ -7,7 +7,8 @@ import Foundation -extension Set: RawRepresentable where Element: Codable { +// Silenced due to removal in later Ferrite versions +extension Set: @retroactive RawRepresentable where Element: Codable { public init?(rawValue: String) { guard let data = rawValue.data(using: .utf8), let result = try? JSONDecoder().decode(Set.self, from: data) -- 2.45.2 From ecdd0199f62530aa9df5df1602ece58f6003ae52 Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 10 Jun 2024 23:55:16 -0400 Subject: [PATCH 37/59] Tree: Cleanup access levels Public should not be used in an app since it declares public to additional modules. However, an app is one module. Some structs/ classes need to be left public to conform to CoreData's generation. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 65 +++++++++-------- Ferrite/API/GithubWrapper.swift | 6 +- Ferrite/API/KodiWrapper.swift | 10 +-- Ferrite/API/PremiumizeWrapper.swift | 67 +++++++++--------- Ferrite/API/RealDebridWrapper.swift | 70 +++++++++---------- .../Classes/Bookmark+CoreDataClass.swift | 2 +- .../Classes/Bookmark+CoreDataProperties.swift | 2 +- Ferrite/Extensions/Color.swift | 2 +- Ferrite/Extensions/View.swift | 2 +- Ferrite/Models/ActionModels.swift | 26 +++---- Ferrite/Models/AllDebridModels.swift | 4 +- Ferrite/Models/BackupModels.swift | 2 +- Ferrite/Models/DebridManagerModels.swift | 6 +- Ferrite/Models/DebridModels.swift | 10 +-- Ferrite/Models/GithubModels.swift | 2 +- Ferrite/Models/PluginModels.swift | 6 +- Ferrite/Models/PremiumizeModels.swift | 2 +- Ferrite/Models/RealDebridModels.swift | 4 +- Ferrite/Models/SearchModels.swift | 2 +- Ferrite/Models/SourceModels.swift | 38 +++++----- Ferrite/Protocols/Debrid.swift | 6 +- Ferrite/Protocols/Plugin.swift | 4 +- Ferrite/Utils/Application.swift | 2 +- Ferrite/Utils/Store.swift | 22 +++--- Ferrite/ViewModels/BackupManager.swift | 10 +-- Ferrite/ViewModels/DebridManager.swift | 43 +++++------- Ferrite/ViewModels/LoggingManager.swift | 12 ++-- Ferrite/ViewModels/NavigationViewModel.swift | 10 +-- Ferrite/ViewModels/PluginManager.swift | 38 +++++----- Ferrite/ViewModels/ScrapingViewModel.swift | 46 ++++++------ .../Views/CommonViews/HybridSecureField.swift | 2 +- .../ExpandedSearchable.swift | 2 +- 32 files changed, 258 insertions(+), 267 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index eaa9133..438bdac 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -7,19 +7,18 @@ import Foundation -// TODO: Fix errors -public class AllDebrid: PollingDebridSource, ObservableObject { - public let id = "AllDebrid" - public let abbreviation = "AD" - public let website = "https://alldebrid.com" - public var authTask: Task? +class AllDebrid: PollingDebridSource, ObservableObject { + let id = "AllDebrid" + let abbreviation = "AD" + let website = "https://alldebrid.com" + var authTask: Task? - public var authProcessing: Bool = false - public var isLoggedIn: Bool { + var authProcessing: Bool = false + var isLoggedIn: Bool { getToken() != nil } - public var manualToken: String? { + var manualToken: String? { if UserDefaults.standard.bool(forKey: "AllDebrid.UseManualKey") { return getToken() } else { @@ -27,20 +26,20 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } } - @Published public var IAValues: [DebridIA] = [] - @Published public var cloudDownloads: [DebridCloudDownload] = [] - @Published public var cloudTorrents: [DebridCloudTorrent] = [] - public var cloudTTL: Double = 0.0 + @Published var IAValues: [DebridIA] = [] + @Published var cloudDownloads: [DebridCloudDownload] = [] + @Published var cloudTorrents: [DebridCloudTorrent] = [] + var cloudTTL: Double = 0.0 - let baseApiUrl = "https://api.alldebrid.com/v4" - let appName = "Ferrite" + private let baseApiUrl = "https://api.alldebrid.com/v4" + private let appName = "Ferrite" - let jsonDecoder = JSONDecoder() + private let jsonDecoder = JSONDecoder() // MARK: - Auth // Fetches information for PIN auth - public func getAuthUrl() async throws -> URL { + func getAuthUrl() async throws -> URL { let url = try buildRequestURL(urlString: "\(baseApiUrl)/pin/get") let request = URLRequest(url: url) @@ -66,7 +65,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } // Fetches API keys - public func getApiKey(checkID: String, pin: String) async throws { + func getApiKey(checkID: String, pin: String) async throws { let queryItems = [ URLQueryItem(name: "agent", value: appName), URLQueryItem(name: "check", value: checkID), @@ -109,17 +108,17 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } // Adds a manual API key instead of web auth - public func setApiKey(_ key: String) { + func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "AllDebrid.ApiKey") UserDefaults.standard.set(true, forKey: "AllDebrid.UseManualKey") } - public func getToken() -> String? { + func getToken() -> String? { FerriteKeychain.shared.get("AllDebrid.ApiKey") } // Clears tokens. No endpoint to deregister a device - public func logout() { + func logout() { FerriteKeychain.shared.delete("AllDebrid.ApiKey") UserDefaults.standard.removeObject(forKey: "AllDebrid.UseManualKey") } @@ -150,7 +149,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } // Builds a URL for further requests - private func buildRequestURL(urlString: String, queryItems: [URLQueryItem] = []) throws -> URL { + func buildRequestURL(urlString: String, queryItems: [URLQueryItem] = []) throws -> URL { guard var components = URLComponents(string: urlString) else { throw DebridError.InvalidUrl } @@ -168,7 +167,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Instant availability - public func instantAvailability(magnets: [Magnet]) async throws { + func instantAvailability(magnets: [Magnet]) async throws { let now = Date().timeIntervalSince1970 let sendMagnets = magnets.filter { magnet in @@ -215,7 +214,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Downloading // Wrapper function to fetch a download link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { let selectedMagnetId: String if let existingMagnet = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { @@ -237,7 +236,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } // Adds a magnet link to the user's AD account - public func addMagnet(magnet: Magnet) async throws -> Int { + func addMagnet(magnet: Magnet) async throws -> Int { guard let magnetLink = magnet.link else { throw DebridError.FailedRequest(description: "The magnet link is invalid") } @@ -263,7 +262,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } } - public func fetchMagnetStatus(magnetId: String, selectedIndex: Int?) async throws -> String { + func fetchMagnetStatus(magnetId: String, selectedIndex: Int?) async throws -> String { let queryItems = [ URLQueryItem(name: "id", value: magnetId) ] @@ -280,7 +279,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } } - public func unlockLink(lockedLink: String) async throws -> String { + func unlockLink(lockedLink: String) async throws -> String { let queryItems = [ URLQueryItem(name: "link", value: lockedLink) ] @@ -292,7 +291,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { return rawResponse.link } - public func saveLink(link: String) async throws { + func saveLink(link: String) async throws { let queryItems = [ URLQueryItem(name: "links[]", value: link) ] @@ -304,7 +303,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Cloud methods // Referred to as "User magnets" in AllDebrid's API - public func getUserTorrents() async throws { + func getUserTorrents() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status")) let data = try await performRequest(request: &request, requestName: #function) @@ -326,7 +325,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } } - public func deleteTorrent(torrentId: String?) async throws { + func deleteTorrent(torrentId: String?) async throws { guard let torrentId else { throw DebridError.FailedRequest(description: "The torrentID \(String(describing: torrentId)) is invalid") } @@ -339,7 +338,7 @@ public class AllDebrid: PollingDebridSource, ObservableObject { try await performRequest(request: &request, requestName: #function) } - public func getUserDownloads() async throws { + func getUserDownloads() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/user/links")) let data = try await performRequest(request: &request, requestName: #function) @@ -358,12 +357,12 @@ public class AllDebrid: PollingDebridSource, ObservableObject { } // Not used - public func checkUserDownloads(link: String) async throws -> String? { + func checkUserDownloads(link: String) async throws -> String? { nil } // The downloadId is actually the download link - public func deleteDownload(downloadId: String) async throws { + func deleteDownload(downloadId: String) async throws { let queryItems = [ URLQueryItem(name: "link", value: downloadId) ] diff --git a/Ferrite/API/GithubWrapper.swift b/Ferrite/API/GithubWrapper.swift index 01c0dc5..ef97dbe 100644 --- a/Ferrite/API/GithubWrapper.swift +++ b/Ferrite/API/GithubWrapper.swift @@ -7,8 +7,8 @@ import Foundation -public class Github { - public func fetchLatestRelease() async throws -> Release? { +class Github { + func fetchLatestRelease() async throws -> Release? { let url = URL(string: "https://api.github.com/repos/Ferrite-iOS/Ferrite/releases/latest")! let (data, _) = try await URLSession.shared.data(from: url) @@ -17,7 +17,7 @@ public class Github { return rawResponse } - public func fetchReleases() async throws -> [Release]? { + func fetchReleases() async throws -> [Release]? { let url = URL(string: "https://api.github.com/repos/Ferrite-iOS/Ferrite/releases")! let (data, _) = try await URLSession.shared.data(from: url) diff --git a/Ferrite/API/KodiWrapper.swift b/Ferrite/API/KodiWrapper.swift index 95bc23f..74130b3 100644 --- a/Ferrite/API/KodiWrapper.swift +++ b/Ferrite/API/KodiWrapper.swift @@ -7,11 +7,11 @@ import Foundation -public class Kodi { - let encoder = JSONEncoder() +class Kodi { + private let encoder = JSONEncoder() // Used to add server to CoreData. Not part of API - public func addServer(urlString: String, + func addServer(urlString: String, friendlyName: String?, username: String?, password: String?, @@ -65,7 +65,7 @@ public class Kodi { try backgroundContext.save() } - public func ping(server: KodiServer) async throws { + func ping(server: KodiServer) async throws { var request = URLRequest(url: URL(string: "\(server.urlString)/jsonrpc")!) request.httpMethod = "POST" request.setValue("application/json", forHTTPHeaderField: "Content-Type") @@ -94,7 +94,7 @@ public class Kodi { } } - public func sendVideoUrl(urlString: String, server: KodiServer) async throws { + func sendVideoUrl(urlString: String, server: KodiServer) async throws { if URL(string: urlString) == nil { throw KodiError.InvalidPlaybackUrl } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 4f1803e..12e7b02 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -7,16 +7,17 @@ import Foundation -public class Premiumize: OAuthDebridSource, ObservableObject { - public let id = "Premiumize" - public let abbreviation = "PM" - public let website = "https://premiumize.me" - @Published public var authProcessing: Bool = false - public var isLoggedIn: Bool { +class Premiumize: OAuthDebridSource, ObservableObject { + let id = "Premiumize" + let abbreviation = "PM" + let website = "https://premiumize.me" + + @Published var authProcessing: Bool = false + var isLoggedIn: Bool { getToken() != nil } - public var manualToken: String? { + var manualToken: String? { if UserDefaults.standard.bool(forKey: "Premiumize.UseManualKey") { return getToken() } else { @@ -24,20 +25,20 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } } - @Published public var IAValues: [DebridIA] = [] - @Published public var cloudDownloads: [DebridCloudDownload] = [] - @Published public var cloudTorrents: [DebridCloudTorrent] = [] - public var cloudTTL: Double = 0.0 + @Published var IAValues: [DebridIA] = [] + @Published var cloudDownloads: [DebridCloudDownload] = [] + @Published var cloudTorrents: [DebridCloudTorrent] = [] + var cloudTTL: Double = 0.0 - let baseAuthUrl = "https://www.premiumize.me/authorize" - let baseApiUrl = "https://www.premiumize.me/api" - let clientId = "791565696" + private let baseAuthUrl = "https://www.premiumize.me/authorize" + private let baseApiUrl = "https://www.premiumize.me/api" + private let clientId = "791565696" - let jsonDecoder = JSONDecoder() + private let jsonDecoder = JSONDecoder() // MARK: - Auth - public func getAuthUrl() throws -> URL { + func getAuthUrl() throws -> URL { var urlComponents = URLComponents(string: baseAuthUrl)! urlComponents.queryItems = [ URLQueryItem(name: "client_id", value: clientId), @@ -52,7 +53,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } } - public func handleAuthCallback(url: URL) throws { + func handleAuthCallback(url: URL) throws { let callbackComponents = URLComponents(url: url, resolvingAgainstBaseURL: false) guard let callbackFragment = callbackComponents?.fragment else { @@ -70,17 +71,17 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } // Adds a manual API key instead of web auth - public func setApiKey(_ key: String) { + func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "Premiumize.AccessToken") UserDefaults.standard.set(true, forKey: "Premiumize.UseManualKey") } - public func getToken() -> String? { + func getToken() -> String? { FerriteKeychain.shared.get("Premiumize.AccessToken") } // Clears tokens. No endpoint to deregister a device - public func logout() { + func logout() { FerriteKeychain.shared.delete("Premiumize.AccessToken") UserDefaults.standard.removeObject(forKey: "Premiumize.UseManualKey") } @@ -132,7 +133,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // MARK: - Instant availability - public func instantAvailability(magnets: [Magnet]) async throws { + func instantAvailability(magnets: [Magnet]) async throws { let now = Date().timeIntervalSince1970 // Remove magnets that don't have an associated link for PM along with existing TTL logic @@ -168,7 +169,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // Function to divide and execute DDL endpoint requests in parallel // Calls this for 10 requests at a time to not overwhelm API servers - public func divideDDLRequests(magnetChunk: [Magnet]) async throws -> [DebridIA] { + func divideDDLRequests(magnetChunk: [Magnet]) async throws -> [DebridIA] { let tempIA = try await withThrowingTaskGroup(of: DebridIA.self) { group in for magnet in magnetChunk { group.addTask { @@ -187,7 +188,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } // Grabs DDL links - func fetchDDL(magnet: Magnet) async throws -> DebridIA { + private func fetchDDL(magnet: Magnet) async throws -> DebridIA { if magnet.hash == nil { throw DebridError.EmptyData } @@ -227,7 +228,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // Function to divide and execute cache endpoint requests in parallel // Calls this for 100 hashes at a time due to API limits - public func divideCacheRequests(magnets: [Magnet]) async throws -> [Magnet] { + func divideCacheRequests(magnets: [Magnet]) async throws -> [Magnet] { let availableMagnets = try await withThrowingTaskGroup(of: [Magnet].self) { group in for chunk in magnets.chunked(into: 100) { group.addTask { @@ -247,7 +248,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } // Parent function for initial checking of the cache - func checkCache(magnets: [Magnet]) async throws -> [Magnet] { + private func checkCache(magnets: [Magnet]) async throws -> [Magnet] { var urlComponents = URLComponents(string: "\(baseApiUrl)/cache/check")! urlComponents.queryItems = magnets.map { URLQueryItem(name: "items[]", value: $0.hash) } guard let url = urlComponents.url else { @@ -277,7 +278,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // MARK: - Downloading // Wrapper function to fetch a DDL link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { // Store the item in PM cloud for later use try await createTransfer(magnet: magnet) @@ -290,7 +291,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } } - func createTransfer(magnet: Magnet) async throws { + private func createTransfer(magnet: Magnet) async throws { guard let magnetLink = magnet.link else { throw DebridError.FailedRequest(description: "The magnet link is invalid") } @@ -309,7 +310,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { // MARK: - Cloud methods - public func getUserDownloads() async throws { + func getUserDownloads() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/listall")!) let data = try await performRequest(request: &request, requestName: #function) @@ -325,7 +326,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } } - func itemDetails(itemID: String) async throws -> ItemDetailsResponse { + private func itemDetails(itemID: String) async throws -> ItemDetailsResponse { var urlComponents = URLComponents(string: "\(baseApiUrl)/item/details")! urlComponents.queryItems = [URLQueryItem(name: "id", value: itemID)] guard let url = urlComponents.url else { @@ -340,12 +341,12 @@ public class Premiumize: OAuthDebridSource, ObservableObject { return rawResponse } - public func checkUserDownloads(link: String) async throws -> String? { + func checkUserDownloads(link: String) async throws -> String? { // Link is the cloud item ID try await itemDetails(itemID: link).link } - public func deleteDownload(downloadId: String) async throws { + func deleteDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/delete")!) request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") @@ -359,7 +360,7 @@ public class Premiumize: OAuthDebridSource, ObservableObject { } // No user torrents for Premiumize - public func getUserTorrents() async throws {} + func getUserTorrents() async throws {} - public func deleteTorrent(torrentId: String?) async throws {} + func deleteTorrent(torrentId: String?) async throws {} } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index fdeccab..08f69ee 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -7,20 +7,20 @@ import Foundation -public class RealDebrid: PollingDebridSource, ObservableObject { - public let id = "RealDebrid" - public let abbreviation = "RD" - public let website = "https://real-debrid.com" - public var authTask: Task? +class RealDebrid: PollingDebridSource, ObservableObject { + let id = "RealDebrid" + let abbreviation = "RD" + let website = "https://real-debrid.com" + var authTask: Task? - @Published public var authProcessing: Bool = false + @Published var authProcessing: Bool = false // Check the manual token since getTokens() is async - public var isLoggedIn: Bool { + var isLoggedIn: Bool { FerriteKeychain.shared.get("RealDebrid.AccessToken") != nil } - public var manualToken: String? { + var manualToken: String? { if UserDefaults.standard.bool(forKey: "RealDebrid.UseManualKey") { return FerriteKeychain.shared.get("RealDebrid.AccessToken") } else { @@ -28,31 +28,31 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } } - @Published public var IAValues: [DebridIA] = [] - @Published public var cloudDownloads: [DebridCloudDownload] = [] - @Published public var cloudTorrents: [DebridCloudTorrent] = [] - public var cloudTTL: Double = 0.0 + @Published var IAValues: [DebridIA] = [] + @Published var cloudDownloads: [DebridCloudDownload] = [] + @Published var cloudTorrents: [DebridCloudTorrent] = [] + var cloudTTL: Double = 0.0 - let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" - let baseApiUrl = "https://api.real-debrid.com/rest/1.0" - let openSourceClientId = "X245A4XAIBGVM" + private let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" + private let baseApiUrl = "https://api.real-debrid.com/rest/1.0" + private let openSourceClientId = "X245A4XAIBGVM" - let jsonDecoder = JSONDecoder() + private let jsonDecoder = JSONDecoder() @MainActor - func setUserDefaultsValue(_ value: Any, forKey: String) { + private func setUserDefaultsValue(_ value: Any, forKey: String) { UserDefaults.standard.set(value, forKey: forKey) } @MainActor - func removeUserDefaultsValue(forKey: String) { + private func removeUserDefaultsValue(forKey: String) { UserDefaults.standard.removeObject(forKey: forKey) } // MARK: - Auth // Fetches the device code from RD - public func getAuthUrl() async throws -> URL { + func getAuthUrl() async throws -> URL { var urlComponents = URLComponents(string: "\(baseAuthUrl)/device/code")! urlComponents.queryItems = [ URLQueryItem(name: "client_id", value: openSourceClientId), @@ -86,7 +86,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Fetches the user's client ID and secret - public func getDeviceCredentials(deviceCode: String) async throws { + func getDeviceCredentials(deviceCode: String) async throws { var urlComponents = URLComponents(string: "\(baseAuthUrl)/device/credentials")! urlComponents.queryItems = [ URLQueryItem(name: "client_id", value: openSourceClientId), @@ -130,7 +130,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Fetch all tokens for the user and store in FerriteKeychain.shared - public func getApiTokens(deviceCode: String) async throws { + func getApiTokens(deviceCode: String) async throws { guard let clientId = UserDefaults.standard.string(forKey: "RealDebrid.ClientId") else { throw DebridError.EmptyData } @@ -164,7 +164,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { await setUserDefaultsValue(accessTimestamp, forKey: "RealDebrid.AccessTokenStamp") } - public func getToken() async -> String? { + func getToken() async -> String? { let accessTokenStamp = UserDefaults.standard.double(forKey: "RealDebrid.AccessTokenStamp") if Date().timeIntervalSince1970 > accessTokenStamp { @@ -183,7 +183,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // Adds a manual API key instead of web auth // Clear out existing refresh tokens and timestamps - public func setApiKey(_ key: String) { + func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "RealDebrid.AccessToken") FerriteKeychain.shared.delete("RealDebrid.RefreshToken") FerriteKeychain.shared.delete("RealDebrid.AccessTokenStamp") @@ -192,7 +192,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Deletes tokens from device and RD's servers - public func logout() async { + func logout() async { FerriteKeychain.shared.delete("RealDebrid.RefreshToken") FerriteKeychain.shared.delete("RealDebrid.ClientSecret") await removeUserDefaultsValue(forKey: "RealDebrid.ClientId") @@ -237,7 +237,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // MARK: - Instant availability // Checks if the magnet is streamable on RD - public func instantAvailability(magnets: [Magnet]) async throws { + func instantAvailability(magnets: [Magnet]) async throws { let now = Date().timeIntervalSince1970 let sendMagnets = magnets.filter { magnet in @@ -328,7 +328,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // MARK: - Downloading // Wrapper function to fetch a download link from the API - public func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { var selectedMagnetId = "" do { @@ -360,7 +360,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Adds a magnet link to the user's RD account - public func addMagnet(magnet: Magnet) async throws -> String { + func addMagnet(magnet: Magnet) async throws -> String { guard let magnetLink = magnet.link else { throw DebridError.FailedRequest(description: "The magnet link is invalid") } @@ -381,7 +381,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Queues the magnet link for downloading - public func selectFiles(debridID: String, fileIds: [Int]) async throws { + func selectFiles(debridID: String, fileIds: [Int]) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/selectFiles/\(debridID)")!) request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") @@ -401,7 +401,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Gets the info of a torrent from a given ID - public func torrentInfo(debridID: String, selectedFileId: Int?) async throws -> String { + func torrentInfo(debridID: String, selectedFileId: Int?) async throws -> String { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/info/\(debridID)")!) let data = try await performRequest(request: &request, requestName: #function) @@ -420,7 +420,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Downloads link from selectFiles for playback - public func unrestrictLink(debridDownloadLink: String) async throws -> String { + func unrestrictLink(debridDownloadLink: String) async throws -> String { var request = URLRequest(url: URL(string: "\(baseApiUrl)/unrestrict/link")!) request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") @@ -439,7 +439,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { // MARK: - Cloud methods // Gets the user's torrent library - public func getUserTorrents() async throws { + func getUserTorrents() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents")!) let data = try await performRequest(request: &request, requestName: #function) @@ -457,7 +457,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Deletes a torrent download from RD - public func deleteTorrent(torrentId: String?) async throws { + func deleteTorrent(torrentId: String?) async throws { let deleteId: String if let torrentId { @@ -480,7 +480,7 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Gets the user's downloads - public func getUserDownloads() async throws { + func getUserDownloads() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads")!) let data = try await performRequest(request: &request, requestName: #function) @@ -491,11 +491,11 @@ public class RealDebrid: PollingDebridSource, ObservableObject { } // Not used - public func checkUserDownloads(link: String) -> String? { + func checkUserDownloads(link: String) -> String? { nil } - public func deleteDownload(downloadId: String) async throws { + func deleteDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads/delete/\(downloadId)")!) request.httpMethod = "DELETE" diff --git a/Ferrite/DataManagement/Classes/Bookmark+CoreDataClass.swift b/Ferrite/DataManagement/Classes/Bookmark+CoreDataClass.swift index 730fbdb..37dbaf8 100644 --- a/Ferrite/DataManagement/Classes/Bookmark+CoreDataClass.swift +++ b/Ferrite/DataManagement/Classes/Bookmark+CoreDataClass.swift @@ -10,4 +10,4 @@ import CoreData import Foundation @objc(Bookmark) -public class Bookmark: NSManagedObject {} +class Bookmark: NSManagedObject {} diff --git a/Ferrite/DataManagement/Classes/Bookmark+CoreDataProperties.swift b/Ferrite/DataManagement/Classes/Bookmark+CoreDataProperties.swift index 39a6268..c242630 100644 --- a/Ferrite/DataManagement/Classes/Bookmark+CoreDataProperties.swift +++ b/Ferrite/DataManagement/Classes/Bookmark+CoreDataProperties.swift @@ -9,7 +9,7 @@ import CoreData import Foundation -public extension Bookmark { +extension Bookmark { @nonobjc class func fetchRequest() -> NSFetchRequest { NSFetchRequest(entityName: "Bookmark") } diff --git a/Ferrite/Extensions/Color.swift b/Ferrite/Extensions/Color.swift index 8d28825..3cfe031 100644 --- a/Ferrite/Extensions/Color.swift +++ b/Ferrite/Extensions/Color.swift @@ -7,7 +7,7 @@ import SwiftUI -public extension Color { +extension Color { init(hex: String) { let hex = hex.trimmingCharacters(in: CharacterSet.alphanumerics.inverted) var int: UInt64 = 0 diff --git a/Ferrite/Extensions/View.swift b/Ferrite/Extensions/View.swift index 73bafca..6126b97 100644 --- a/Ferrite/Extensions/View.swift +++ b/Ferrite/Extensions/View.swift @@ -11,7 +11,7 @@ import SwiftUI extension View { // Modifies properties of a view. Works the same way as a ViewModifier // From: https://github.com/SwiftUIX/SwiftUIX/blob/master/Sources/Intermodular/Extensions/SwiftUI/View%2B%2B.swift#L10 - public func modifyViewProp(_ body: (inout Self) -> Void) -> Self { + func modifyViewProp(_ body: (inout Self) -> Void) -> Self { var result = self body(&result) diff --git a/Ferrite/Models/ActionModels.swift b/Ferrite/Models/ActionModels.swift index 59dd4f2..eb73c30 100644 --- a/Ferrite/Models/ActionModels.swift +++ b/Ferrite/Models/ActionModels.swift @@ -7,20 +7,20 @@ import Foundation -public struct ActionJson: Codable, Hashable, PluginJson { - public let name: String - public let version: Int16 +struct ActionJson: Codable, Hashable, PluginJson { + let name: String + let version: Int16 let minVersion: String? let about: String? let website: String? let requires: [ActionRequirement] let deeplink: [DeeplinkActionJson]? - public let author: String? - public let listId: UUID? - public let listName: String? - public let tags: [PluginTagJson]? + let author: String? + let listId: UUID? + let listName: String? + let tags: [PluginTagJson]? - public init(name: String, + init(name: String, version: Int16, minVersion: String?, about: String?, @@ -45,7 +45,7 @@ public struct ActionJson: Codable, Hashable, PluginJson { self.tags = tags } - public init(from decoder: Decoder) throws { + init(from decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) name = try container.decode(String.self, forKey: .name) version = try container.decode(Int16.self, forKey: .version) @@ -68,7 +68,7 @@ public struct ActionJson: Codable, Hashable, PluginJson { } } -public struct DeeplinkActionJson: Codable, Hashable { +struct DeeplinkActionJson: Codable, Hashable { let os: [String] let scheme: String @@ -77,7 +77,7 @@ public struct DeeplinkActionJson: Codable, Hashable { self.scheme = scheme } - public init(from decoder: Decoder) throws { + init(from decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) if let os = try? container.decode(String.self, forKey: .os) { @@ -92,7 +92,7 @@ public struct DeeplinkActionJson: Codable, Hashable { } } -public extension ActionJson { +extension ActionJson { // Fetches all tags without optional requirement // Avoids the need for extra tag additions in DB func getTags() -> [PluginTagJson] { @@ -100,7 +100,7 @@ public extension ActionJson { } } -public enum ActionRequirement: String, Codable { +enum ActionRequirement: String, Codable { case magnet case debrid } diff --git a/Ferrite/Models/AllDebridModels.swift b/Ferrite/Models/AllDebridModels.swift index 3ec1d0e..ff28617 100644 --- a/Ferrite/Models/AllDebridModels.swift +++ b/Ferrite/Models/AllDebridModels.swift @@ -7,7 +7,7 @@ import Foundation -public extension AllDebrid { +extension AllDebrid { // MARK: - Generic AllDebrid response // Uses a generic parametr for whatever underlying response is present @@ -71,7 +71,7 @@ public extension AllDebrid { struct MagnetStatusResponse: Codable { let magnets: [MagnetStatusData] - public init(from decoder: Decoder) throws { + init(from decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) if let data = try? container.decode(MagnetStatusData.self, forKey: .magnets) { diff --git a/Ferrite/Models/BackupModels.swift b/Ferrite/Models/BackupModels.swift index 3ebefcc..b35c898 100644 --- a/Ferrite/Models/BackupModels.swift +++ b/Ferrite/Models/BackupModels.swift @@ -8,7 +8,7 @@ import Foundation // Version is optional until v1 is phased out -public struct Backup: Codable { +struct Backup: Codable { let version: Int? var bookmarks: [BookmarkJson]? var history: [HistoryJson]? diff --git a/Ferrite/Models/DebridManagerModels.swift b/Ferrite/Models/DebridManagerModels.swift index 17bc43c..ad4cff6 100644 --- a/Ferrite/Models/DebridManagerModels.swift +++ b/Ferrite/Models/DebridManagerModels.swift @@ -10,7 +10,7 @@ import Foundation // MARK: - Universal IA enum (IA = InstantAvailability) -public enum IAStatus: String, Codable, Hashable, Sendable, CaseIterable { +enum IAStatus: String, Codable, Hashable, Sendable, CaseIterable { case full = "Cached" case partial = "Batch" case none = "Uncached" @@ -18,7 +18,7 @@ public enum IAStatus: String, Codable, Hashable, Sendable, CaseIterable { // MARK: - Enum for debrid differentiation. 0 is nil -public enum DebridType: Int, Codable, Hashable, CaseIterable { +enum DebridType: Int, Codable, Hashable, CaseIterable { case realDebrid = 1 case allDebrid = 2 case premiumize = 3 @@ -47,7 +47,7 @@ public enum DebridType: Int, Codable, Hashable, CaseIterable { } // Wrapper struct for magnet links to contain both the link and hash for easy access -public struct Magnet: Codable, Hashable, Sendable { +struct Magnet: Codable, Hashable, Sendable { var hash: String? var link: String? diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 31ea356..50f9d27 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -7,14 +7,14 @@ import Foundation -public struct DebridIA: Hashable, Sendable { +struct DebridIA: Hashable, Sendable { let magnet: Magnet let source: String let expiryTimeStamp: Double var files: [DebridIAFile] } -public struct DebridIAFile: Hashable, Sendable { +struct DebridIAFile: Hashable, Sendable { let fileId: Int let name: String let streamUrlString: String? @@ -28,14 +28,14 @@ public struct DebridIAFile: Hashable, Sendable { } } -public struct DebridCloudDownload: Hashable, Sendable { +struct DebridCloudDownload: Hashable, Sendable { let downloadId: String let source: String let fileName: String let link: String } -public struct DebridCloudTorrent: Hashable, Sendable { +struct DebridCloudTorrent: Hashable, Sendable { let torrentId: String let source: String let fileName: String @@ -44,7 +44,7 @@ public struct DebridCloudTorrent: Hashable, Sendable { let links: [String] } -public enum DebridError: Error { +enum DebridError: Error { case InvalidUrl case InvalidPostBody case InvalidResponse diff --git a/Ferrite/Models/GithubModels.swift b/Ferrite/Models/GithubModels.swift index 08e007e..0533694 100644 --- a/Ferrite/Models/GithubModels.swift +++ b/Ferrite/Models/GithubModels.swift @@ -7,7 +7,7 @@ import Foundation -public extension Github { +extension Github { struct Release: Codable, Hashable, Sendable { let htmlUrl: String let tagName: String diff --git a/Ferrite/Models/PluginModels.swift b/Ferrite/Models/PluginModels.swift index 83ae8a5..e3dbdcd 100644 --- a/Ferrite/Models/PluginModels.swift +++ b/Ferrite/Models/PluginModels.swift @@ -7,7 +7,7 @@ import Foundation -public struct PluginListJson: Codable { +struct PluginListJson: Codable { let name: String let author: String var sources: [SourceJson]? @@ -16,8 +16,8 @@ public struct PluginListJson: Codable { // Color: Hex value public struct PluginTagJson: Codable, Hashable, Sendable { - public let name: String - public let colorHex: String? + let name: String + let colorHex: String? enum CodingKeys: String, CodingKey { case name diff --git a/Ferrite/Models/PremiumizeModels.swift b/Ferrite/Models/PremiumizeModels.swift index d160c11..927702c 100644 --- a/Ferrite/Models/PremiumizeModels.swift +++ b/Ferrite/Models/PremiumizeModels.swift @@ -7,7 +7,7 @@ import Foundation -public extension Premiumize { +extension Premiumize { // MARK: - CacheCheckResponse struct CacheCheckResponse: Codable { diff --git a/Ferrite/Models/RealDebridModels.swift b/Ferrite/Models/RealDebridModels.swift index d72ad40..1374058 100644 --- a/Ferrite/Models/RealDebridModels.swift +++ b/Ferrite/Models/RealDebridModels.swift @@ -8,7 +8,7 @@ import Foundation -public extension RealDebrid { +extension RealDebrid { // MARK: - device code endpoint struct DeviceCodeResponse: Codable, Sendable { @@ -58,7 +58,7 @@ public extension RealDebrid { struct InstantAvailabilityResponse: Codable, Sendable { var data: InstantAvailabilityData? - public init(from decoder: Decoder) throws { + init(from decoder: Decoder) throws { let container = try decoder.singleValueContainer() if let data = try? container.decode(InstantAvailabilityData.self) { diff --git a/Ferrite/Models/SearchModels.swift b/Ferrite/Models/SearchModels.swift index e2a9598..49ef182 100644 --- a/Ferrite/Models/SearchModels.swift +++ b/Ferrite/Models/SearchModels.swift @@ -8,7 +8,7 @@ import Foundation // A raw search result structure displayed on the UI -public struct SearchResult: Codable, Hashable, Sendable { +struct SearchResult: Codable, Hashable, Sendable { let title: String? let source: String let size: String? diff --git a/Ferrite/Models/SourceModels.swift b/Ferrite/Models/SourceModels.swift index efa0efb..ee5e5d9 100644 --- a/Ferrite/Models/SourceModels.swift +++ b/Ferrite/Models/SourceModels.swift @@ -7,14 +7,14 @@ import Foundation -public enum ApiCredentialResponseType: String, Codable, Hashable, Sendable { +enum ApiCredentialResponseType: String, Codable, Hashable, Sendable { case json case text } -public struct SourceJson: Codable, Hashable, Sendable, PluginJson { - public let name: String - public let version: Int16 +struct SourceJson: Codable, Hashable, Sendable, PluginJson { + let name: String + let version: Int16 let minVersion: String? let about: String? let website: String? @@ -25,33 +25,33 @@ public struct SourceJson: Codable, Hashable, Sendable, PluginJson { let jsonParser: SourceJsonParserJson? let rssParser: SourceRssParserJson? let htmlParser: SourceHtmlParserJson? - public let author: String? - public let listId: UUID? - public let listName: String? - public let tags: [PluginTagJson]? + let author: String? + let listId: UUID? + let listName: String? + let tags: [PluginTagJson]? } -public extension SourceJson { +extension SourceJson { // Fetches all tags without optional requirement func getTags() -> [PluginTagJson] { tags ?? [] } } -public enum SourcePreferredParser: Int16, CaseIterable, Sendable { +enum SourcePreferredParser: Int16, CaseIterable, Sendable { // case none = 0 case scraping = 1 case rss = 2 case siteApi = 3 } -public struct SourceApiJson: Codable, Hashable, Sendable { +struct SourceApiJson: Codable, Hashable, Sendable { let apiUrl: String? let clientId: SourceApiCredentialJson? let clientSecret: SourceApiCredentialJson? } -public struct SourceApiCredentialJson: Codable, Hashable, Sendable { +struct SourceApiCredentialJson: Codable, Hashable, Sendable { let query: String? let value: String? let dynamic: Bool? @@ -60,7 +60,7 @@ public struct SourceApiCredentialJson: Codable, Hashable, Sendable { let expiryLength: Double? } -public struct SourceJsonParserJson: Codable, Hashable, Sendable { +struct SourceJsonParserJson: Codable, Hashable, Sendable { let searchUrl: String let request: SourceRequestJson? let results: String? @@ -73,7 +73,7 @@ public struct SourceJsonParserJson: Codable, Hashable, Sendable { let sl: SourceSLJson? } -public struct SourceRssParserJson: Codable, Hashable, Sendable { +struct SourceRssParserJson: Codable, Hashable, Sendable { let rssUrl: String? let searchUrl: String let request: SourceRequestJson? @@ -86,7 +86,7 @@ public struct SourceRssParserJson: Codable, Hashable, Sendable { let sl: SourceSLJson? } -public struct SourceHtmlParserJson: Codable, Hashable, Sendable { +struct SourceHtmlParserJson: Codable, Hashable, Sendable { let searchUrl: String? let request: SourceRequestJson? let rows: String @@ -97,21 +97,21 @@ public struct SourceHtmlParserJson: Codable, Hashable, Sendable { let sl: SourceSLJson? } -public struct SourceComplexQueryJson: Codable, Hashable, Sendable { +struct SourceComplexQueryJson: Codable, Hashable, Sendable { let query: String let discriminator: String? let attribute: String? let regex: String? } -public struct SourceMagnetJson: Codable, Hashable, Sendable { +struct SourceMagnetJson: Codable, Hashable, Sendable { let query: String let attribute: String let regex: String? let externalLinkQuery: String? } -public struct SourceSLJson: Codable, Hashable, Sendable { +struct SourceSLJson: Codable, Hashable, Sendable { let seeders: String? let leechers: String? let combined: String? @@ -121,7 +121,7 @@ public struct SourceSLJson: Codable, Hashable, Sendable { let leecherRegex: String? } -public struct SourceRequestJson: Codable, Hashable, Sendable { +struct SourceRequestJson: Codable, Hashable, Sendable { let method: String? let headers: [String: String]? let body: String? diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index fb24d7d..0ec910f 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -7,7 +7,7 @@ import Foundation -public protocol DebridSource: AnyObservableObject { +protocol DebridSource: AnyObservableObject { // ID of the service // var id: DebridInfo { get } var id: String { get } @@ -51,7 +51,7 @@ public protocol DebridSource: AnyObservableObject { func deleteTorrent(torrentId: String?) async throws } -public protocol PollingDebridSource: DebridSource { +protocol PollingDebridSource: DebridSource { // Task reference for polling var authTask: Task? { get set } @@ -59,7 +59,7 @@ public protocol PollingDebridSource: DebridSource { func getAuthUrl() async throws -> URL } -public protocol OAuthDebridSource: DebridSource { +protocol OAuthDebridSource: DebridSource { // Fetches the auth URL func getAuthUrl() throws -> URL diff --git a/Ferrite/Protocols/Plugin.swift b/Ferrite/Protocols/Plugin.swift index adbe1ee..65cc4bf 100644 --- a/Ferrite/Protocols/Plugin.swift +++ b/Ferrite/Protocols/Plugin.swift @@ -8,7 +8,7 @@ import CoreData import Foundation -public protocol Plugin: ObservableObject, NSManagedObject { +protocol Plugin: ObservableObject, NSManagedObject { var id: UUID { get set } var listId: UUID? { get set } var name: String { get set } @@ -27,7 +27,7 @@ extension Plugin { } } -public protocol PluginJson: Hashable { +protocol PluginJson: Hashable { var name: String { get } var version: Int16 { get } var author: String? { get } diff --git a/Ferrite/Utils/Application.swift b/Ferrite/Utils/Application.swift index d27584e..e125246 100644 --- a/Ferrite/Utils/Application.swift +++ b/Ferrite/Utils/Application.swift @@ -9,7 +9,7 @@ import Foundation -public class Application { +class Application { static let shared = Application() // OS name for Plugins to read. Lowercase for ease of use diff --git a/Ferrite/Utils/Store.swift b/Ferrite/Utils/Store.swift index 34cd3b2..395e45b 100644 --- a/Ferrite/Utils/Store.swift +++ b/Ferrite/Utils/Store.swift @@ -27,7 +27,7 @@ class ErasedObservableObject: ObservableObject { } } -public protocol AnyObservableObject: AnyObject { +protocol AnyObservableObject: AnyObject { var objectWillChange: ObservableObjectPublisher { get } } @@ -59,14 +59,14 @@ public protocol AnyObservableObject: AnyObject { /// Not all injected objects need this property wrapper. See the example projects for examples each /// way. @propertyWrapper -public struct Store { +struct Store { /// The underlying object being stored. - public let wrappedValue: ObjectType + let wrappedValue: ObjectType // See https://github.com/Tiny-Home-Consulting/Dependiject/issues/38 fileprivate var _observableObject: ObservedObject - @MainActor internal var observableObject: ErasedObservableObject { + @MainActor var observableObject: ErasedObservableObject { _observableObject.wrappedValue } @@ -83,14 +83,14 @@ public struct Store { /// } /// } /// ``` - public var projectedValue: Wrapper { + var projectedValue: Wrapper { Wrapper(self) } /// Create a stored value on a custom scheduler. /// /// Use this init to schedule updates on a specific scheduler other than `DispatchQueue.main`. - public init(wrappedValue: ObjectType, + init(wrappedValue: ObjectType, on scheduler: S, schedulerOptions: S.SchedulerOptions? = nil) { @@ -112,7 +112,7 @@ public struct Store { /// Create a stored value which publishes on the main thread. /// /// To control when updates are published, see ``init(wrappedValue:on:schedulerOptions:)``. - public init(wrappedValue: ObjectType) { + init(wrappedValue: ObjectType) { self.init(wrappedValue: wrappedValue, on: DispatchQueue.main) } @@ -120,15 +120,15 @@ public struct Store { /// [`ObservedObject.Wrapper`](https://developer.apple.com/documentation/swiftui/observedobject/wrapper) /// type. @dynamicMemberLookup - public struct Wrapper { + struct Wrapper { private var store: Store - internal init(_ store: Store) { + init(_ store: Store) { self.store = store } /// Returns a binding to the resulting value of a given key path. - public subscript( + subscript( dynamicMember keyPath: ReferenceWritableKeyPath ) -> Binding { Binding { @@ -141,7 +141,7 @@ public struct Store { } extension Store: DynamicProperty { - public nonisolated mutating func update() { + nonisolated mutating func update() { _observableObject.update() } } diff --git a/Ferrite/ViewModels/BackupManager.swift b/Ferrite/ViewModels/BackupManager.swift index 588c1ac..bfbafce 100644 --- a/Ferrite/ViewModels/BackupManager.swift +++ b/Ferrite/ViewModels/BackupManager.swift @@ -7,9 +7,9 @@ import Foundation -public class BackupManager: ObservableObject { +class BackupManager: ObservableObject { // Constant variable for backup versions - let latestBackupVersion: Int = 2 + private let latestBackupVersion: Int = 2 var logManager: LoggingManager? @@ -21,17 +21,17 @@ public class BackupManager: ObservableObject { @Published var selectedBackupUrl: URL? @MainActor - func updateRestoreCompletedMessage(newString: String) { + private func updateRestoreCompletedMessage(newString: String) { restoreCompletedMessage.append(newString) } @MainActor - func toggleRestoreCompletedAlert() { + private func toggleRestoreCompletedAlert() { showRestoreCompletedAlert.toggle() } @MainActor - func updateBackupUrls(newUrl: URL) { + private func updateBackupUrls(newUrl: URL) { backupUrls.append(newUrl) } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index a113407..fcbd8a0 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -9,7 +9,7 @@ import Foundation import SwiftUI @MainActor -public class DebridManager: ObservableObject { +class DebridManager: ObservableObject { // Linked classes var logManager: LoggingManager? @Published var realDebrid: RealDebrid = .init() @@ -40,7 +40,7 @@ public class DebridManager: ObservableObject { var selectedDebridFile: DebridIAFile? // TODO: Figure out a way to remove this var - var selectedOAuthDebridSource: OAuthDebridSource? + private var selectedOAuthDebridSource: OAuthDebridSource? @Published var filteredIAStatus: Set = [] @@ -48,17 +48,8 @@ public class DebridManager: ObservableObject { var downloadUrl: String = "" var authUrl: URL? - // RealDebrid auth variables - var realDebridAuthProcessing: Bool = false - @Published var showDeleteAlert: Bool = false - // AllDebrid auth variables - var allDebridAuthProcessing: Bool = false - - // Premiumize auth variables - var premiumizeAuthProcessing: Bool = false - init() { // Set the preferred service. Contains migration logic for earlier versions if let rawPreferredService = UserDefaults.standard.string(forKey: "Debrid.PreferredService") { @@ -83,7 +74,7 @@ public class DebridManager: ObservableObject { // TODO: Remove after v0.8.0 // Function to migrate the preferred service to the new string ID format - public func migratePreferredService(_ idInt: Int) -> String? { + private func migratePreferredService(_ idInt: Int) -> String? { // Undo the EnabledDebrids key UserDefaults.standard.removeObject(forKey: "Debrid.EnabledArray") @@ -92,7 +83,7 @@ public class DebridManager: ObservableObject { // Wrapper function to match error descriptions // Error can be suppressed to end user but must be printed in logs - func sendDebridError( + private func sendDebridError( _ error: Error, prefix: String, presentError: Bool = true, @@ -119,20 +110,20 @@ public class DebridManager: ObservableObject { } // Cleans all cached IA values in the event of a full IA refresh - public func clearIAValues() { + func clearIAValues() { for debridSource in debridSources { debridSource.IAValues = [] } } // Clears all selected files and items - public func clearSelectedDebridItems() { + func clearSelectedDebridItems() { selectedDebridItem = nil selectedDebridFile = nil } // Common function to populate hashes for debrid services - public func populateDebridIA(_ resultMagnets: [Magnet]) async { + func populateDebridIA(_ resultMagnets: [Magnet]) async { for debridSource in debridSources { if !debridSource.isLoggedIn { continue @@ -148,7 +139,7 @@ public class DebridManager: ObservableObject { } // Common function to match a magnet hash with a provided debrid service - public func matchMagnetHash(_ magnet: Magnet) -> IAStatus { + func matchMagnetHash(_ magnet: Magnet) -> IAStatus { guard let magnetHash = magnet.hash else { return .none } @@ -162,7 +153,7 @@ public class DebridManager: ObservableObject { } } - public func selectDebridResult(magnet: Magnet) -> Bool { + func selectDebridResult(magnet: Magnet) -> Bool { guard let magnetHash = magnet.hash else { logManager?.error("DebridManager: Could not find the torrent magnet hash") return false @@ -184,7 +175,7 @@ public class DebridManager: ObservableObject { // MARK: - Authentication UI linked functions // Common function to delegate what debrid service to authenticate with - public func authenticateDebrid(_ debridSource: some DebridSource, apiKey: String?) async { + func authenticateDebrid(_ debridSource: some DebridSource, apiKey: String?) async { defer { // Don't cancel processing if using OAuth if !(debridSource is OAuthDebridSource) { @@ -253,7 +244,7 @@ public class DebridManager: ObservableObject { } // Wrapper function to validate and present an auth URL to the user - @discardableResult func validateAuthUrl(_ url: URL?, useAuthSession: Bool = false) -> Bool { + @discardableResult private func validateAuthUrl(_ url: URL?, useAuthSession: Bool = false) -> Bool { guard let url else { logManager?.error("DebridManager: Authentication: Invalid URL created: \(String(describing: url))") return false @@ -270,7 +261,7 @@ public class DebridManager: ObservableObject { } // Currently handles Premiumize callback - public func handleAuthCallback(url: URL?, error: Error?) async { + func handleAuthCallback(url: URL?, error: Error?) async { defer { if enabledDebridCount == 1 { selectedDebridSource = selectedOAuthDebridSource @@ -300,7 +291,7 @@ public class DebridManager: ObservableObject { // MARK: - Logout UI functions - public func logout(_ debridSource: some DebridSource) async { + func logout(_ debridSource: some DebridSource) async { await debridSource.logout() if selectedDebridSource?.id == debridSource.id { @@ -312,7 +303,7 @@ public class DebridManager: ObservableObject { // Common function to delegate what debrid service to fetch from // Cloudinfo is used for any extra information provided by debrid cloud - public func fetchDebridDownload(magnet: Magnet?, cloudInfo: String? = nil) async { + func fetchDebridDownload(magnet: Magnet?, cloudInfo: String? = nil) async { defer { currentDebridTask = nil logManager?.hideIndeterminateToast() @@ -359,7 +350,7 @@ public class DebridManager: ObservableObject { } // Wrapper to handle cloud fetching - public func fetchDebridCloud(bypassTTL: Bool = false) async { + func fetchDebridCloud(bypassTTL: Bool = false) async { guard let selectedSource = selectedDebridSource else { return } @@ -381,7 +372,7 @@ public class DebridManager: ObservableObject { } } - public func deleteCloudDownload(_ download: DebridCloudDownload) async { + func deleteCloudDownload(_ download: DebridCloudDownload) async { guard let selectedSource = selectedDebridSource else { return } @@ -395,7 +386,7 @@ public class DebridManager: ObservableObject { } } - public func deleteCloudTorrent(_ torrent: DebridCloudTorrent) async { + func deleteCloudTorrent(_ torrent: DebridCloudTorrent) async { guard let selectedSource = selectedDebridSource else { return } diff --git a/Ferrite/ViewModels/LoggingManager.swift b/Ferrite/ViewModels/LoggingManager.swift index 86c7334..9abf814 100644 --- a/Ferrite/ViewModels/LoggingManager.swift +++ b/Ferrite/ViewModels/LoggingManager.swift @@ -70,7 +70,7 @@ class LoggingManager: ObservableObject { // TODO: Maybe append to a constant logfile? - public func info(_ message: String, + func info(_ message: String, description: String? = nil) { let log = Log( @@ -88,7 +88,7 @@ class LoggingManager: ObservableObject { print("LOG: \(log.toMessage())") } - public func warn(_ message: String, + func warn(_ message: String, description: String? = nil) { let log = Log( @@ -106,7 +106,7 @@ class LoggingManager: ObservableObject { print("LOG: \(log.toMessage())") } - public func error(_ message: String, + func error(_ message: String, description: String? = nil, showToast: Bool = true) { @@ -132,7 +132,7 @@ class LoggingManager: ObservableObject { // MARK: - Indeterminate functions - public func updateIndeterminateToast(_ description: String, cancelAction: (() -> Void)?) { + func updateIndeterminateToast(_ description: String, cancelAction: (() -> Void)?) { indeterminateToastDescription = description if let cancelAction { @@ -144,13 +144,13 @@ class LoggingManager: ObservableObject { } } - public func hideIndeterminateToast() { + func hideIndeterminateToast() { showIndeterminateToast = false indeterminateToastDescription = "" indeterminateCancelAction = nil } - public func exportLogs() { + func exportLogs() { logFormatter.dateFormat = "yyyy-MM-dd-HHmmss" let logFileName = "ferrite_session_\(logFormatter.string(from: Date())).txt" let logFolderPath = FileManager.default.appDirectory.appendingPathComponent("Logs") diff --git a/Ferrite/ViewModels/NavigationViewModel.swift b/Ferrite/ViewModels/NavigationViewModel.swift index 910ce27..1095b85 100644 --- a/Ferrite/ViewModels/NavigationViewModel.swift +++ b/Ferrite/ViewModels/NavigationViewModel.swift @@ -8,12 +8,12 @@ import SwiftUI @MainActor -public class NavigationViewModel: ObservableObject { +class NavigationViewModel: ObservableObject { var logManager: LoggingManager? // Used between SearchResultsView and MagnetChoiceView - public enum ChoiceSheetType: Identifiable { - public var id: Int { + enum ChoiceSheetType: Identifiable { + var id: Int { hashValue } @@ -53,7 +53,7 @@ public class NavigationViewModel: ObservableObject { @Published var currentSortFilter: SortFilter? @Published var currentSortOrder: SortOrder = .forward - public func compareSearchResult(lhs: SearchResult, rhs: SearchResult) -> Bool { + func compareSearchResult(lhs: SearchResult, rhs: SearchResult) -> Bool { switch currentSortFilter { case .leechers: guard let lhsLeechers = lhs.leechers, let rhsLeechers = rhs.leechers else { @@ -97,7 +97,7 @@ public class NavigationViewModel: ObservableObject { @Published var searchPrompt: String = "Search" @Published var lastSearchPromptIndex: Int = -1 - let searchBarTextArray: [String] = [ + private let searchBarTextArray: [String] = [ "What's on your mind?", "Discover something interesting", "Find an engaging show", diff --git a/Ferrite/ViewModels/PluginManager.swift b/Ferrite/ViewModels/PluginManager.swift index bf46181..58c57ab 100644 --- a/Ferrite/ViewModels/PluginManager.swift +++ b/Ferrite/ViewModels/PluginManager.swift @@ -9,7 +9,7 @@ import Foundation import SwiftUI import Yams -public class PluginManager: ObservableObject { +class PluginManager: ObservableObject { var logManager: LoggingManager? let kodi: Kodi = .init() @@ -25,18 +25,18 @@ public class PluginManager: ObservableObject { @Published var actionSuccessAlertMessage: String = "" @MainActor - func cleanAvailablePlugins() { + private func cleanAvailablePlugins() { availableSources = [] availableActions = [] } @MainActor - func updateAvailablePlugins(_ newPlugins: AvailablePlugins) { + private func updateAvailablePlugins(_ newPlugins: AvailablePlugins) { availableSources += newPlugins.availableSources availableActions += newPlugins.availableActions } - public func fetchPluginsFromUrl() async { + func fetchPluginsFromUrl() async { let pluginListRequest = PluginList.fetchRequest() guard let pluginLists = try? PersistenceController.shared.backgroundContext.fetch(pluginListRequest) else { await logManager?.error("PluginManager: No plugin lists found") @@ -97,7 +97,7 @@ public class PluginManager: ObservableObject { await logManager?.info("Plugin list fetch finished") } - func fetchPluginList(pluginList: PluginList, url: URL) async throws -> AvailablePlugins? { + private func fetchPluginList(pluginList: PluginList, url: URL) async throws -> AvailablePlugins? { var tempSources: [SourceJson] = [] var tempActions: [ActionJson] = [] @@ -176,7 +176,7 @@ public class PluginManager: ObservableObject { } // Checks if a deeplink action is present and if there's a single action for the OS (or fallback) - func getFilteredDeeplinks(_ deeplinks: [DeeplinkActionJson]) -> [DeeplinkActionJson]? { + private func getFilteredDeeplinks(_ deeplinks: [DeeplinkActionJson]) -> [DeeplinkActionJson]? { let osArray = deeplinks.filter { deeplink in deeplink.os.contains(where: { $0.lowercased() == Application.shared.os.lowercased() }) } @@ -244,7 +244,7 @@ public class PluginManager: ObservableObject { } } - func fetchCastedPlugins(_ forType: PJ.Type) -> [PJ] { + private func fetchCastedPlugins(_ forType: PJ.Type) -> [PJ] { switch String(describing: PJ.self) { case "SourceJson": return availableSources as? [PJ] ?? [] @@ -256,7 +256,7 @@ public class PluginManager: ObservableObject { } // Checks if the current app version is supported by the source - func checkAppVersion(minVersion: String?) -> Bool { + private func checkAppVersion(minVersion: String?) -> Bool { // If there's no min version, assume that every version is supported guard let minVersion else { return true @@ -266,7 +266,7 @@ public class PluginManager: ObservableObject { } // Fetches sources using the background context - public func fetchInstalledSources(searchResultsEmpty: Bool) -> [Source] { + func fetchInstalledSources(searchResultsEmpty: Bool) -> [Source] { let backgroundContext = PersistenceController.shared.backgroundContext if !filteredInstalledSources.isEmpty, !searchResultsEmpty { @@ -279,7 +279,7 @@ public class PluginManager: ObservableObject { } @MainActor - public func runDefaultAction(urlString: String?, navModel: NavigationViewModel) { + func runDefaultAction(urlString: String?, navModel: NavigationViewModel) { let context = PersistenceController.shared.backgroundContext guard let urlString else { @@ -332,7 +332,7 @@ public class PluginManager: ObservableObject { // The iOS version of Ferrite only runs deeplink actions @MainActor - public func runDeeplinkAction(_ action: Action, urlString: String?) { + func runDeeplinkAction(_ action: Action, urlString: String?) { guard let deeplink = action.deeplink, let urlString else { actionErrorAlertMessage = "Could not run action: \(action.name) since there is no deeplink to execute. Contact the action dev!" showActionErrorAlert.toggle() @@ -355,7 +355,7 @@ public class PluginManager: ObservableObject { } @MainActor - public func sendToKodi(urlString: String?, server: KodiServer) async { + func sendToKodi(urlString: String?, server: KodiServer) async { guard let urlString else { actionErrorAlertMessage = "Could not send URL to Kodi since there is no playback URL to send" showActionErrorAlert.toggle() @@ -380,7 +380,7 @@ public class PluginManager: ObservableObject { } } - public func installAction(actionJson: ActionJson?, doUpsert: Bool = false) async { + func installAction(actionJson: ActionJson?, doUpsert: Bool = false) async { guard let actionJson else { await logManager?.error("Action addition: No action present. Contact the app dev!") return @@ -448,7 +448,7 @@ public class PluginManager: ObservableObject { } } - public func installSource(sourceJson: SourceJson?, doUpsert: Bool = false) async { + func installSource(sourceJson: SourceJson?, doUpsert: Bool = false) async { guard let sourceJson else { await logManager?.error("Source addition: No source present. Contact the app dev!") return @@ -535,7 +535,7 @@ public class PluginManager: ObservableObject { } } - func addSourceApi(newSource: Source, apiJson: SourceApiJson) { + private func addSourceApi(newSource: Source, apiJson: SourceApiJson) { let backgroundContext = PersistenceController.shared.backgroundContext let newSourceApi = SourceApi(context: backgroundContext) @@ -571,7 +571,7 @@ public class PluginManager: ObservableObject { } // TODO: Migrate parser addition to a common protocol - func addJsonParser(newSource: Source, jsonParserJson: SourceJsonParserJson) { + private func addJsonParser(newSource: Source, jsonParserJson: SourceJsonParserJson) { let backgroundContext = PersistenceController.shared.backgroundContext let newSourceJsonParser = SourceJsonParser(context: backgroundContext) @@ -646,7 +646,7 @@ public class PluginManager: ObservableObject { newSource.jsonParser = newSourceJsonParser } - func addRssParser(newSource: Source, rssParserJson: SourceRssParserJson) { + private func addRssParser(newSource: Source, rssParserJson: SourceRssParserJson) { let backgroundContext = PersistenceController.shared.backgroundContext let newSourceRssParser = SourceRssParser(context: backgroundContext) @@ -725,7 +725,7 @@ public class PluginManager: ObservableObject { newSource.rssParser = newSourceRssParser } - func addHtmlParser(newSource: Source, htmlParserJson: SourceHtmlParserJson) { + private func addHtmlParser(newSource: Source, htmlParserJson: SourceHtmlParserJson) { let backgroundContext = PersistenceController.shared.backgroundContext let newSourceHtmlParser = SourceHtmlParser(context: backgroundContext) @@ -795,7 +795,7 @@ public class PluginManager: ObservableObject { // Adds a plugin list // Can move this to PersistenceController if needed - public func addPluginList(_ urlString: String, isSheet: Bool = false, existingPluginList: PluginList? = nil) async throws { + func addPluginList(_ urlString: String, isSheet: Bool = false, existingPluginList: PluginList? = nil) async throws { let backgroundContext = PersistenceController.shared.backgroundContext if urlString.isEmpty || !urlString.starts(with: "https://") && !urlString.starts(with: "http://") { diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index 94d30cc..964fcc8 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -27,18 +27,18 @@ class ScrapingViewModel: ObservableObject { // Only add results with valid magnet hashes to the search results array @MainActor - func updateSearchResults(newResults: [SearchResult]) { + private func updateSearchResults(newResults: [SearchResult]) { searchResults += newResults } @MainActor - func clearSearchResults() { + private func clearSearchResults() { searchResults = [] } @Published var currentSourceNames: Set = [] @MainActor - func updateCurrentSourceNames(_ newName: String) { + private func updateCurrentSourceNames(_ newName: String) { currentSourceNames.insert(newName) logManager?.updateIndeterminateToast( "Loading \(currentSourceNames.joined(separator: ", "))", @@ -47,7 +47,7 @@ class ScrapingViewModel: ObservableObject { } @MainActor - func removeCurrentSourceName(_ removedName: String) { + private func removeCurrentSourceName(_ removedName: String) { currentSourceNames.remove(removedName) logManager?.updateIndeterminateToast( "Loading \(currentSourceNames.joined(separator: ", "))", @@ -56,18 +56,18 @@ class ScrapingViewModel: ObservableObject { } @MainActor - func clearCurrentSourceNames() { + private func clearCurrentSourceNames() { currentSourceNames = [] logManager?.updateIndeterminateToast("Loading sources", cancelAction: nil) } // Utility function to print source specific errors - func sendSourceError(_ description: String) async { + private func sendSourceError(_ description: String) async { await logManager?.error(description, showToast: false) } // Substitutes the given string with an arbitrary parameter dictionary - func substituteParams(_ input: String, with params: [String: String]) -> String { + private func substituteParams(_ input: String, with params: [String: String]) -> String { let replaced = params.reduce(input) { result, param -> String in result.replacingOccurrences(of: "{\(param.key)}", with: param.value) } @@ -76,7 +76,7 @@ class ScrapingViewModel: ObservableObject { } // Cleans a SourceRequest's body and headers to be substituted - func cleanRequest(request: SourceRequest, params: [String: String]) -> SourceRequest { + private func cleanRequest(request: SourceRequest, params: [String: String]) -> SourceRequest { if let body = request.body { request.body = substituteParams(body, with: params) } @@ -88,7 +88,7 @@ class ScrapingViewModel: ObservableObject { return request } - public func scanSources(sources: [Source], searchText: String, debridManager: DebridManager) async { + func scanSources(sources: [Source], searchText: String, debridManager: DebridManager) async { await logManager?.info("Started scanning sources for query \"\(searchText)\"") if sources.isEmpty { @@ -166,7 +166,7 @@ class ScrapingViewModel: ObservableObject { } } - func executeParser(source: Source) async -> SearchRequestResult? { + private func executeParser(source: Source) async -> SearchRequestResult? { guard let website = source.website else { await logManager?.error("Scraping: The base URL could not be found for source \(source.name)") @@ -294,7 +294,7 @@ class ScrapingViewModel: ObservableObject { } // Checks the base URL for any website data then iterates through the fallback URLs - func handleUrls(website: String, replacedSearchUrl: String?, fallbackUrls: [String]?, sourceName: String, requestParams: SourceRequest?) async -> Data? { + private func handleUrls(website: String, replacedSearchUrl: String?, fallbackUrls: [String]?, sourceName: String, requestParams: SourceRequest?) async -> Data? { let fetchUrl = website + (replacedSearchUrl.map { $0 } ?? "") if let data = await fetchWebsiteData(urlString: fetchUrl, sourceName: sourceName, requestParams: requestParams) { return data @@ -312,7 +312,7 @@ class ScrapingViewModel: ObservableObject { return nil } - public func handleApiCredential(_ credential: SourceApiCredential, + private func handleApiCredential(_ credential: SourceApiCredential, replacement: String, searchUrl: String, apiUrl: String?, @@ -353,7 +353,7 @@ class ScrapingViewModel: ObservableObject { return nil } - public func fetchApiCredential(urlString: String, + private func fetchApiCredential(urlString: String, credential: SourceApiCredential, sourceName: String) async -> String? { @@ -399,7 +399,7 @@ class ScrapingViewModel: ObservableObject { } // Fetches the data for a URL - public func fetchWebsiteData(urlString: String, sourceName: String, requestParams: SourceRequest?) async -> Data? { + private func fetchWebsiteData(urlString: String, sourceName: String, requestParams: SourceRequest?) async -> Data? { guard let url = URL(string: urlString.trimmingCharacters(in: .whitespacesAndNewlines)) else { await sendSourceError("\(sourceName): Source doesn't contain a valid URL, contact the source dev!") @@ -446,7 +446,7 @@ class ScrapingViewModel: ObservableObject { } } - public func scrapeJson(source: Source, jsonData: Data) async -> SearchRequestResult? { + private func scrapeJson(source: Source, jsonData: Data) async -> SearchRequestResult? { guard let jsonParser = source.jsonParser else { return nil } @@ -521,7 +521,7 @@ class ScrapingViewModel: ObservableObject { } // TODO: Add regex parsing for API - public func parseJsonResult(_ result: JSON, + private func parseJsonResult(_ result: JSON, jsonParser: SourceJsonParser, source: Source, existingSearchResult: SearchResult? = nil) -> SearchResult? @@ -615,7 +615,7 @@ class ScrapingViewModel: ObservableObject { } // RSS feed scraper - public func scrapeRss(source: Source, rss: String) async -> SearchRequestResult? { + private func scrapeRss(source: Source, rss: String) async -> SearchRequestResult? { guard let rssParser = source.rssParser else { return nil } @@ -750,7 +750,7 @@ class ScrapingViewModel: ObservableObject { } // Complex query parsing for RSS scraping - func runRssComplexQuery(item: Element, + private func runRssComplexQuery(item: Element, query: String, attribute: String, discriminator: String?, @@ -783,7 +783,7 @@ class ScrapingViewModel: ObservableObject { } // HTML scraper - public func scrapeHtml(source: Source, website: String, html: String) async -> SearchRequestResult? { + private func scrapeHtml(source: Source, website: String, html: String) async -> SearchRequestResult? { guard let htmlParser = source.htmlParser else { return nil } @@ -955,7 +955,7 @@ class ScrapingViewModel: ObservableObject { } // Complex query parsing for HTML scraping - func runHtmlComplexQuery(row: Element, + private func runHtmlComplexQuery(row: Element, query: String, attribute: String, regexString: String?) throws -> String? @@ -980,7 +980,7 @@ class ScrapingViewModel: ObservableObject { } } - func runRegex(parsedValue: String, regexString: String) -> String? { + private func runRegex(parsedValue: String, regexString: String) -> String? { // TODO: Maybe dynamically parse flags let replacedRegexString = regexString .replacingOccurrences(of: "{query}", with: cleanedSearchText) @@ -1003,7 +1003,7 @@ class ScrapingViewModel: ObservableObject { } } - func parseSizeString(sizeString: String) -> String? { + private func parseSizeString(sizeString: String) -> String? { // Test if the string can be a full integer guard let size = Int(sizeString) else { return nil @@ -1025,7 +1025,7 @@ class ScrapingViewModel: ObservableObject { } } - func cleanApiCreds(api: SourceApi, sourceName: String) async { + private func cleanApiCreds(api: SourceApi, sourceName: String) async { let backgroundContext = PersistenceController.shared.backgroundContext let hasCredentials = api.clientId != nil || api.clientSecret != nil diff --git a/Ferrite/Views/CommonViews/HybridSecureField.swift b/Ferrite/Views/CommonViews/HybridSecureField.swift index 665623e..981859f 100644 --- a/Ferrite/Views/CommonViews/HybridSecureField.swift +++ b/Ferrite/Views/CommonViews/HybridSecureField.swift @@ -56,7 +56,7 @@ struct HybridSecureField: View { } extension HybridSecureField { - public func fieldDisabled(_ isFieldDisabled: Bool) -> Self { + func fieldDisabled(_ isFieldDisabled: Bool) -> Self { modifyViewProp { $0.isFieldDisabled = isFieldDisabled } } } diff --git a/Ferrite/Views/RepresentableViews/ExpandedSearchable.swift b/Ferrite/Views/RepresentableViews/ExpandedSearchable.swift index e361f07..58b1748 100644 --- a/Ferrite/Views/RepresentableViews/ExpandedSearchable.swift +++ b/Ferrite/Views/RepresentableViews/ExpandedSearchable.swift @@ -7,7 +7,7 @@ import SwiftUI -public extension View { +extension View { // A dismissAction must be added in the parent view struct due to lifecycle issues func expandedSearchable(text: Binding, isSearching: Binding? = nil, -- 2.45.2 From 904b5a74b595a19432949cca75efe9aac820f0f0 Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 11 Jun 2024 00:21:27 -0400 Subject: [PATCH 38/59] Ferrite: Update project settings Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 +++++++- Ferrite.xcodeproj/xcshareddata/xcschemes/Ferrite.xcscheme | 2 +- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index 3763f2d..061b6c0 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -753,7 +753,7 @@ attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1400; - LastUpgradeCheck = 1400; + LastUpgradeCheck = 1600; TargetAttributes = { 0CAF1C67286F5C0E00296F86 = { CreatedOnToolsVersion = 14.0; @@ -980,6 +980,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; @@ -1012,6 +1013,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -1040,6 +1042,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; @@ -1072,6 +1075,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -1100,6 +1104,7 @@ DEVELOPMENT_ASSET_PATHS = "\"Ferrite/Preview Content\""; DEVELOPMENT_TEAM = 8A74DBQ6S3; ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Ferrite/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Ferrite; @@ -1135,6 +1140,7 @@ DEVELOPMENT_ASSET_PATHS = "\"Ferrite/Preview Content\""; DEVELOPMENT_TEAM = 8A74DBQ6S3; ENABLE_PREVIEWS = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = Ferrite/Info.plist; INFOPLIST_KEY_CFBundleDisplayName = Ferrite; diff --git a/Ferrite.xcodeproj/xcshareddata/xcschemes/Ferrite.xcscheme b/Ferrite.xcodeproj/xcshareddata/xcschemes/Ferrite.xcscheme index 454bc7f..161d6ea 100644 --- a/Ferrite.xcodeproj/xcshareddata/xcschemes/Ferrite.xcscheme +++ b/Ferrite.xcodeproj/xcshareddata/xcschemes/Ferrite.xcscheme @@ -1,6 +1,6 @@ Date: Tue, 11 Jun 2024 00:25:11 -0400 Subject: [PATCH 39/59] Revert "Extension: Remove Set warning" This reverts commit cf090cfaa61acef5ff43f9f261764b0a125411f8. --- Ferrite/Extensions/Set.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Ferrite/Extensions/Set.swift b/Ferrite/Extensions/Set.swift index fb767a0..b4ca668 100644 --- a/Ferrite/Extensions/Set.swift +++ b/Ferrite/Extensions/Set.swift @@ -7,8 +7,7 @@ import Foundation -// Silenced due to removal in later Ferrite versions -extension Set: @retroactive RawRepresentable where Element: Codable { +extension Set: RawRepresentable where Element: Codable { public init?(rawValue: String) { guard let data = rawValue.data(using: .utf8), let result = try? JSONDecoder().decode(Set.self, from: data) -- 2.45.2 From 9b4f31daacaf2edaefc50993264db0b58f9fb870 Mon Sep 17 00:00:00 2001 From: kingbri Date: Tue, 11 Jun 2024 09:55:56 -0400 Subject: [PATCH 40/59] Debrid: Reorder protocol Helps when auto-filling stubs for new classes. Signed-off-by: kingbri --- Ferrite/Protocols/Debrid.swift | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 0ec910f..2cf867f 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -21,13 +21,18 @@ protocol DebridSource: AnyObservableObject { // Manual API key var manualToken: String? { get } + // Instant availability variables + var IAValues: [DebridIA] { get set } + + // Cloud variables + var cloudDownloads: [DebridCloudDownload] { get set } + var cloudTorrents: [DebridCloudTorrent] { get set } + var cloudTTL: Double { get set } + // Common authentication functions func setApiKey(_ key: String) func logout() async - // Instant availability variables - var IAValues: [DebridIA] { get set } - // Instant availability functions func instantAvailability(magnets: [Magnet]) async throws @@ -36,11 +41,6 @@ protocol DebridSource: AnyObservableObject { // Torrents also checked here func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String - // Cloud variables - var cloudDownloads: [DebridCloudDownload] { get set } - var cloudTorrents: [DebridCloudTorrent] { get set } - var cloudTTL: Double { get set } - // User downloads functions func getUserDownloads() async throws func checkUserDownloads(link: String) async throws -> String? -- 2.45.2 From e1eca593f32e6e5789fcc648a2fcbdea6a28e882 Mon Sep 17 00:00:00 2001 From: kingbri Date: Wed, 12 Jun 2024 11:44:14 -0400 Subject: [PATCH 41/59] Debrid: Add alert if there's no web login option Indicates to the user that an API must be used to log into the debrid service. Signed-off-by: kingbri --- Ferrite/ViewModels/DebridManager.swift | 10 ++++++++-- .../Settings/SettingsDebridInfoView.swift | 7 +++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index fcbd8a0..b5d03d2 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -15,8 +15,9 @@ class DebridManager: ObservableObject { @Published var realDebrid: RealDebrid = .init() @Published var allDebrid: AllDebrid = .init() @Published var premiumize: Premiumize = .init() + @Published var torbox: TorBox = .init() - lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize] + lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize, torbox] // UI Variables @Published var showWebView: Bool = false @@ -49,6 +50,7 @@ class DebridManager: ObservableObject { var authUrl: URL? @Published var showDeleteAlert: Bool = false + @Published var showWebLoginAlert: Bool = false init() { // Set the preferred service. Contains migration logic for earlier versions @@ -220,8 +222,12 @@ class DebridManager: ObservableObject { await sendDebridError(error, prefix: "\(debridSource.id) authentication error") } } else { + // Let the user know that a traditional auth method doesn't exist + showWebLoginAlert.toggle() + logManager?.error( - "DebridManager: Auth: Could not figure out the authentication type for \(debridSource.id). Is this configured properly?" + "DebridManager: Auth: \(debridSource.id) does not have a login portal.", + showToast: false ) return diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index 001cb3a..0296eef 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -46,6 +46,13 @@ struct SettingsDebridInfoView: View { ) .foregroundColor(debridSource.isLoggedIn ? .red : .blue) } + .alert("Invalid web login", isPresented: $debridManager.showWebLoginAlert) { + Button("OK", role: .cancel) {} + } message: { + Text( + "\(debridSource.id) does not have a login portal. Please use an API key to login." + ) + } } Section( -- 2.45.2 From 4beb953596c835592b2762f3b60d85e0973ea08e Mon Sep 17 00:00:00 2001 From: kingbri Date: Wed, 12 Jun 2024 23:55:12 -0400 Subject: [PATCH 42/59] Debrid: Add split for download and unrestrict Some debrid services aren't "rich", which means that they don't broadcast whether an instantly available torrent is a batch or a single file. This results in all torrents either having the green badge or red badge based on what hash is given. However, batches need to intercept the download itself which requires the download function to be split into download and unrestrict. In between, there's room for the batch sheet to act. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 22 +++++ Ferrite/API/AllDebridWrapper.swift | 20 ++--- Ferrite/API/PremiumizeWrapper.swift | 19 ++-- Ferrite/API/RealDebridWrapper.swift | 89 +++++++++---------- Ferrite/Protocols/Debrid.swift | 5 +- Ferrite/ViewModels/DebridManager.swift | 50 ++++++++++- .../Library/Cloud/CloudTorrentView.swift | 8 ++ .../SearchResult/SearchResultButtonView.swift | 26 +++--- .../Views/SheetViews/BatchChoiceView.swift | 6 +- 9 files changed, 164 insertions(+), 81 deletions(-) diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index 061b6c0..ded65f3 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -12,6 +12,9 @@ 0C03EB72296F619900162E9A /* PluginList+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C03EB70296F619900162E9A /* PluginList+CoreDataProperties.swift */; }; 0C0755C6293424A200ECA142 /* DebridLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0755C5293424A200ECA142 /* DebridLabelView.swift */; }; 0C0755C8293425B500ECA142 /* DebridManagerModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */; }; + 0C07C6002C19FEBF00808A46 /* OffCloudWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C5FF2C19FEBF00808A46 /* OffCloudWrapper.swift */; }; + 0C07C6022C1A016B00808A46 /* OffCloudModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6012C1A016B00808A46 /* OffCloudModels.swift */; }; + 0C07C6042C1A859B00808A46 /* FormDataBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6032C1A859B00808A46 /* FormDataBody.swift */; }; 0C0974B029CCAAAF006DE7A3 /* OperatingSystemVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0974AF29CCAAAF006DE7A3 /* OperatingSystemVersion.swift */; }; 0C0D50E5288DFE7F0035ECC8 /* SourceModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0D50E4288DFE7F0035ECC8 /* SourceModels.swift */; }; 0C0D50E7288DFF850035ECC8 /* PluginAggregateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0D50E6288DFF850035ECC8 /* PluginAggregateView.swift */; }; @@ -94,6 +97,8 @@ 0C84FCE729E4B61A00B0DFE4 /* FilterModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C84FCE629E4B61A00B0DFE4 /* FilterModels.swift */; }; 0C84FCE929E5ADEF00B0DFE4 /* FilterAmountLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C84FCE829E5ADEF00B0DFE4 /* FilterAmountLabelView.swift */; }; 0C871BDF29994D9D005279AC /* FilterLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C871BDE29994D9D005279AC /* FilterLabelView.swift */; }; + 0C890E492C188808003B17B5 /* TorBoxWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C890E482C188808003B17B5 /* TorBoxWrapper.swift */; }; + 0C890E4B2C188FA7003B17B5 /* TorBoxModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C890E4A2C188FA7003B17B5 /* TorBoxModels.swift */; }; 0C8AE2482C0FFB6600701675 /* Store.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8AE2472C0FFB6600701675 /* Store.swift */; }; 0C8DC35229CE287E008A83AD /* PluginInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8DC35129CE287E008A83AD /* PluginInfoView.swift */; }; 0C8DC35429CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C8DC35329CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift */; }; @@ -167,6 +172,9 @@ 0C03EB70296F619900162E9A /* PluginList+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PluginList+CoreDataProperties.swift"; sourceTree = ""; }; 0C0755C5293424A200ECA142 /* DebridLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridLabelView.swift; sourceTree = ""; }; 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridManagerModels.swift; sourceTree = ""; }; + 0C07C5FF2C19FEBF00808A46 /* OffCloudWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffCloudWrapper.swift; sourceTree = ""; }; + 0C07C6012C1A016B00808A46 /* OffCloudModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffCloudModels.swift; sourceTree = ""; }; + 0C07C6032C1A859B00808A46 /* FormDataBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormDataBody.swift; sourceTree = ""; }; 0C0974AF29CCAAAF006DE7A3 /* OperatingSystemVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperatingSystemVersion.swift; sourceTree = ""; }; 0C0D50E4288DFE7F0035ECC8 /* SourceModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceModels.swift; sourceTree = ""; }; 0C0D50E6288DFF850035ECC8 /* PluginAggregateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginAggregateView.swift; sourceTree = ""; }; @@ -244,6 +252,8 @@ 0C84FCE629E4B61A00B0DFE4 /* FilterModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterModels.swift; sourceTree = ""; }; 0C84FCE829E5ADEF00B0DFE4 /* FilterAmountLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterAmountLabelView.swift; sourceTree = ""; }; 0C871BDE29994D9D005279AC /* FilterLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FilterLabelView.swift; sourceTree = ""; }; + 0C890E482C188808003B17B5 /* TorBoxWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TorBoxWrapper.swift; sourceTree = ""; }; + 0C890E4A2C188FA7003B17B5 /* TorBoxModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TorBoxModels.swift; sourceTree = ""; }; 0C8AE2472C0FFB6600701675 /* Store.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Store.swift; sourceTree = ""; }; 0C8DC35129CE287E008A83AD /* PluginInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginInfoView.swift; sourceTree = ""; }; 0C8DC35329CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceSettingsBaseUrlView.swift; sourceTree = ""; }; @@ -410,6 +420,8 @@ 0C3E00D7296F5B9A00ECECB2 /* PluginModels.swift */, 0C6771F929B3D1AE005D38D2 /* KodiModels.swift */, 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */, + 0C890E4A2C188FA7003B17B5 /* TorBoxModels.swift */, + 0C07C6012C1A016B00808A46 /* OffCloudModels.swift */, ); path = Models; sourceTree = ""; @@ -463,6 +475,7 @@ 0C1A3E5529C9488C00DA9730 /* CodableWrapper.swift */, 0CD0265629FEFBF900A83D25 /* FerriteKeychain.swift */, 0C8AE2472C0FFB6600701675 /* Store.swift */, + 0C07C6032C1A859B00808A46 /* FormDataBody.swift */, ); path = Utils; sourceTree = ""; @@ -661,6 +674,8 @@ 0C422E7D293542EA00486D65 /* PremiumizeWrapper.swift */, 0CA148D0288903F000DE2211 /* RealDebridWrapper.swift */, 0C6771F329B3B4FD005D38D2 /* KodiWrapper.swift */, + 0C890E482C188808003B17B5 /* TorBoxWrapper.swift */, + 0C07C5FF2C19FEBF00808A46 /* OffCloudWrapper.swift */, ); path = API; sourceTree = ""; @@ -829,9 +844,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + 0C07C6042C1A859B00808A46 /* FormDataBody.swift in Sources */, 0C7ED14328D65518009E29AD /* FileManager.swift in Sources */, 0C03EB71296F619900162E9A /* PluginList+CoreDataClass.swift in Sources */, 0C6771FA29B3D1AE005D38D2 /* KodiModels.swift in Sources */, + 0C07C6002C19FEBF00808A46 /* OffCloudWrapper.swift in Sources */, 0C0D50E5288DFE7F0035ECC8 /* SourceModels.swift in Sources */, 0CB6516528C5A5D700DCA721 /* InlinedList.swift in Sources */, 0C8DC35429CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift in Sources */, @@ -927,6 +944,7 @@ 0C84FCE929E5ADEF00B0DFE4 /* FilterAmountLabelView.swift in Sources */, 0C10848B28BD9A38008F0BA6 /* SettingsAppVersionView.swift in Sources */, 0CA05457288EE58200850554 /* SettingsPluginListView.swift in Sources */, + 0C07C6022C1A016B00808A46 /* OffCloudModels.swift in Sources */, 0C78041D28BFB3EA001E8CA3 /* String.swift in Sources */, 0C31133C28B1ABFA004DCB0D /* SourceJsonParser+CoreDataClass.swift in Sources */, 0CBC76FF288DAAD00054BE44 /* NavigationViewModel.swift in Sources */, @@ -940,6 +958,7 @@ 0C6771F429B3B4FD005D38D2 /* KodiWrapper.swift in Sources */, 0C3E00D0296F4DB200ECECB2 /* ActionModels.swift in Sources */, 0C44E2AD28D51C63007711AE /* BackupManager.swift in Sources */, + 0C890E4B2C188FA7003B17B5 /* TorBoxModels.swift in Sources */, 0C7075E429D374C50093DB2D /* Color.swift in Sources */, 0C8DC35229CE287E008A83AD /* PluginInfoView.swift in Sources */, 0C422E80293542F300486D65 /* PremiumizeModels.swift in Sources */, @@ -956,6 +975,7 @@ 0CE1C4182981E8D700418F20 /* Plugin.swift in Sources */, 0CEC8AB2299B3B57007BFE8F /* LibraryPickerView.swift in Sources */, 0C6771F629B3B602005D38D2 /* SettingsKodiView.swift in Sources */, + 0C890E492C188808003B17B5 /* TorBoxWrapper.swift in Sources */, 0CF1ABDC2C0C04B2009F6C26 /* Debrid.swift in Sources */, 0C84F4842895BFED0074B7C9 /* SourceHtmlParser+CoreDataClass.swift in Sources */, 0C32FB572890D1F2002BD219 /* ListRowViews.swift in Sources */, @@ -1035,6 +1055,7 @@ SDKROOT = iphoneos; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_STRICT_CONCURRENCY = minimal; }; name = Debug; }; @@ -1090,6 +1111,7 @@ SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_STRICT_CONCURRENCY = minimal; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 438bdac..033331c 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -214,7 +214,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Downloading // Wrapper function to fetch a download link from the API - func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { let selectedMagnetId: String if let existingMagnet = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { @@ -229,10 +229,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { selectedIndex: iaFile?.fileId ?? 0 ) - try await saveLink(link: lockedLink) - let downloadUrl = try await unlockLink(lockedLink: lockedLink) - - return downloadUrl + return (lockedLink, nil) } // Adds a magnet link to the user's AD account @@ -262,7 +259,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { } } - func fetchMagnetStatus(magnetId: String, selectedIndex: Int?) async throws -> String { + func fetchMagnetStatus(magnetId: String, selectedIndex: Int?) async throws -> DebridIAFile { let queryItems = [ URLQueryItem(name: "id", value: magnetId) ] @@ -272,20 +269,21 @@ class AllDebrid: PollingDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data // Better to fetch no link at all than the wrong link - if let linkWrapper = rawResponse.magnets[safe: 0]?.links[safe: selectedIndex ?? -1] { - return linkWrapper.link + if let torrentFile = rawResponse.magnets[safe: 0]?.links[safe: selectedIndex ?? -1] { + return DebridIAFile(fileId: 0, name: torrentFile.filename, streamUrlString: torrentFile.link) } else { throw DebridError.EmptyTorrents } } - func unlockLink(lockedLink: String) async throws -> String { + // Known as unlockLink in AD's API + func unrestrictFile(_ restrictedFile: DebridIAFile) async throws -> String { let queryItems = [ - URLQueryItem(name: "link", value: lockedLink) + URLQueryItem(name: "link", value: restrictedFile.streamUrlString) ] var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/link/unlock", queryItems: queryItems)) - let data = try await performRequest(request: &request, requestName: #function) + let data = try await performRequest(request: &request, requestName: "unlockLink") let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data return rawResponse.link diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 12e7b02..9fafa4c 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -277,20 +277,27 @@ class Premiumize: OAuthDebridSource, ObservableObject { // MARK: - Downloading - // Wrapper function to fetch a DDL link from the API - func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { // Store the item in PM cloud for later use try await createTransfer(magnet: magnet) - if let iaFile, let streamUrlString = iaFile.streamUrlString { - return streamUrlString - } else if let premiumizeItem = ia, let firstFile = premiumizeItem.files[safe: 0], let streamUrlString = firstFile.streamUrlString { - return streamUrlString + if let iaFile { + return (iaFile, nil) + } else if let premiumizeItem = ia, let firstFile = premiumizeItem.files[safe: 0] { + return (firstFile, nil) } else { throw DebridError.FailedRequest(description: "Could not fetch your file from the Premiumize API") } } + func unrestrictFile(_ restrictedFile: DebridIAFile) async throws -> String { + guard let streamUrlString = restrictedFile.streamUrlString else { + throw DebridError.FailedRequest(description: "Could not get a streaming URL from the Premiumize API") + } + + return streamUrlString + } + private func createTransfer(magnet: Magnet) async throws { guard let magnetLink = magnet.link else { throw DebridError.FailedRequest(description: "The magnet link is invalid") diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 08f69ee..975f8a2 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -273,62 +273,50 @@ class RealDebrid: PollingDebridSource, ObservableObject { continue } - // Is this a batch? - if data.rd.count > 1 || data.rd[0].count > 1 { - // Batch array - let batches = data.rd.map { fileDict in - let batchFiles: [RealDebrid.IABatchFile] = fileDict.map { key, value in - // Force unwrapped ID. Is safe because ID is guaranteed on a successful response - RealDebrid.IABatchFile(id: Int(key)!, fileName: value.filename) - }.sorted(by: { $0.id < $1.id }) + // Handle files array + let batches = data.rd.map { fileDict in + let batchFiles: [RealDebrid.IABatchFile] = fileDict.map { key, value in + // Force unwrapped ID. Is safe because ID is guaranteed on a successful response + RealDebrid.IABatchFile(id: Int(key)!, fileName: value.filename) + }.sorted(by: { $0.id < $1.id }) - return RealDebrid.IABatch(files: batchFiles) - } + return RealDebrid.IABatch(files: batchFiles) + } - var files: [DebridIAFile] = [] + var files: [DebridIAFile] = [] - for batch in batches { - let batchFileIds = batch.files.map(\.id) + for batch in batches { + let batchFileIds = batch.files.map(\.id) - for batchFile in batch.files { - if !files.contains(where: { $0.fileId == batchFile.id }) { - files.append( - DebridIAFile( - fileId: batchFile.id, - name: batchFile.fileName, - batchIds: batchFileIds - ) + for batchFile in batch.files { + if !files.contains(where: { $0.fileId == batchFile.id }) { + files.append( + DebridIAFile( + fileId: batchFile.id, + name: batchFile.fileName, + batchIds: batchFileIds ) - } + ) } } - - // TTL: 5 minutes - IAValues.append( - DebridIA( - magnet: Magnet(hash: hash, link: nil), - source: id, - expiryTimeStamp: Date().timeIntervalSince1970 + 300, - files: files - ) - ) - } else { - IAValues.append( - DebridIA( - magnet: Magnet(hash: hash, link: nil), - source: id, - expiryTimeStamp: Date().timeIntervalSince1970 + 300, - files: [] - ) - ) } + + // TTL: 5 minutes + IAValues.append( + DebridIA( + magnet: Magnet(hash: hash, link: nil), + source: id, + expiryTimeStamp: Date().timeIntervalSince1970 + 300, + files: files + ) + ) } } // MARK: - Downloading // Wrapper function to fetch a download link from the API - func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String { + func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { var selectedMagnetId = "" do { @@ -342,13 +330,12 @@ class RealDebrid: PollingDebridSource, ObservableObject { } // RealDebrid has 1 as the first ID for a file - let torrentLink = try await torrentInfo( + let torrentFile = try await torrentInfo( debridID: selectedMagnetId, selectedFileId: iaFile?.fileId ?? 1 ) - let downloadLink = try await unrestrictLink(debridDownloadLink: torrentLink) - return downloadLink + return (torrentFile, nil) } catch { if case DebridError.EmptyTorrents = error, !selectedMagnetId.isEmpty { try? await deleteTorrent(torrentId: selectedMagnetId) @@ -401,7 +388,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { } // Gets the info of a torrent from a given ID - func torrentInfo(debridID: String, selectedFileId: Int?) async throws -> String { + func torrentInfo(debridID: String, selectedFileId: Int?) async throws -> DebridIAFile { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/info/\(debridID)")!) let data = try await performRequest(request: &request, requestName: #function) @@ -411,7 +398,11 @@ class RealDebrid: PollingDebridSource, ObservableObject { // Let the user know if a torrent is downloading if let torrentLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { - return torrentLink + return DebridIAFile( + fileId: 0, + name: rawResponse.filename, + streamUrlString: torrentLink + ) } else if rawResponse.status == "downloading" || rawResponse.status == "queued" { throw DebridError.IsCaching } else { @@ -420,13 +411,13 @@ class RealDebrid: PollingDebridSource, ObservableObject { } // Downloads link from selectFiles for playback - func unrestrictLink(debridDownloadLink: String) async throws -> String { + func unrestrictFile(_ restrictedFile: DebridIAFile) async throws -> String { var request = URLRequest(url: URL(string: "\(baseApiUrl)/unrestrict/link")!) request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") var bodyComponents = URLComponents() - bodyComponents.queryItems = [URLQueryItem(name: "link", value: debridDownloadLink)] + bodyComponents.queryItems = [URLQueryItem(name: "link", value: restrictedFile.streamUrlString)] request.httpBody = bodyComponents.query?.data(using: .utf8) diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 2cf867f..0c396d8 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -39,7 +39,10 @@ protocol DebridSource: AnyObservableObject { // Fetches a download link from a source // Include the instant availability information with the args // Torrents also checked here - func getDownloadLink(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> String + func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) + + // Unrestricts a locked file + func unrestrictFile(_ restrictedFile: DebridIAFile) async throws -> String // User downloads functions func getUserDownloads() async throws diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index b5d03d2..962a721 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -39,6 +39,7 @@ class DebridManager: ObservableObject { var selectedDebridItem: DebridIA? var selectedDebridFile: DebridIAFile? + var requiresUnrestrict: Bool = false // TODO: Figure out a way to remove this var private var selectedOAuthDebridSource: OAuthDebridSource? @@ -167,6 +168,11 @@ class DebridManager: ObservableObject { if let IAItem = selectedSource.IAValues.first(where: { magnetHash == $0.magnet.hash }) { selectedDebridItem = IAItem + + if IAItem.files.count == 1 { + selectedDebridFile = IAItem.files[safe: 0] + } + return true } else { logManager?.error("DebridManager: Could not find the associated \(selectedSource.id) entry for magnet hash \(magnetHash)") @@ -311,8 +317,8 @@ class DebridManager: ObservableObject { // Cloudinfo is used for any extra information provided by debrid cloud func fetchDebridDownload(magnet: Magnet?, cloudInfo: String? = nil) async { defer { - currentDebridTask = nil logManager?.hideIndeterminateToast() + currentDebridTask = nil } logManager?.updateIndeterminateToast("Loading content", cancelAction: { @@ -331,12 +337,24 @@ class DebridManager: ObservableObject { } if let magnet { - let downloadLink = try await debridSource.getDownloadLink( + let (restrictedFile, newIA) = try await debridSource.getRestrictedFile( magnet: magnet, ia: selectedDebridItem, iaFile: selectedDebridFile ) + // Indicate that a link needs to be selected (batch) + if let newIA { + selectedDebridItem = newIA + requiresUnrestrict = true + + return + } + + guard let restrictedFile else { + throw DebridError.FailedRequest(description: "No files found for your request") + } + // Update the UI - downloadUrl = downloadLink + downloadUrl = try await debridSource.unrestrictFile(restrictedFile) } else { throw DebridError.FailedRequest(description: "Could not fetch your file from \(debridSource.id)'s cache or API") } @@ -350,8 +368,34 @@ class DebridManager: ObservableObject { default: await sendDebridError(error, prefix: "\(debridSource.id) download error", cancelString: "Download cancelled") } + } + return + } + + func unrestrictDownload() async { + defer { logManager?.hideIndeterminateToast() + requiresUnrestrict = false + } + + logManager?.updateIndeterminateToast("Loading content", cancelAction: { + self.currentDebridTask?.cancel() + self.currentDebridTask = nil + }) + + guard let debridFile = selectedDebridFile, let debridSource = selectedDebridSource else { + logManager?.error("DebridManager: Could not unrestrict the selected debrid file.") + + return + } + + do { + let downloadLink = try await debridSource.unrestrictFile(debridFile) + + downloadUrl = downloadLink + } catch { + await sendDebridError(error, prefix: "\(debridSource.id) unrestrict error", cancelString: "Unrestrict cancelled") } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift index cdc950f..07acfc1 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift @@ -40,6 +40,14 @@ struct CloudTorrentView: View { if cloudTorrent.links.count == 1 { await debridManager.fetchDebridDownload(magnet: magnet) + // Bump to batch + if debridManager.requiresUnrestrict { + navModel.selectedHistoryInfo = historyInfo + navModel.currentChoiceSheet = .batch + + return + } + if !debridManager.downloadUrl.isEmpty { historyInfo.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyInfo, performSave: true) diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift index fa2d24e..0e94938 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift @@ -32,17 +32,23 @@ struct SearchResultButtonView: View { case .full: if debridManager.selectDebridResult(magnet: result.magnet) { debridManager.currentDebridTask = Task { + let historyEntry = HistoryEntryJson( + name: result.title, + url: debridManager.downloadUrl, + source: result.source + ) await debridManager.fetchDebridDownload(magnet: result.magnet) + // Bump to batch + if debridManager.requiresUnrestrict { + navModel.selectedHistoryInfo = historyEntry + navModel.currentChoiceSheet = .batch + + return + } + if !debridManager.downloadUrl.isEmpty { - PersistenceController.shared.createHistory( - HistoryEntryJson( - name: result.title, - url: debridManager.downloadUrl, - source: result.source - ), - performSave: true - ) + PersistenceController.shared.createHistory(historyEntry, performSave: true) pluginManager.runDefaultAction( urlString: debridManager.downloadUrl, @@ -133,9 +139,9 @@ struct SearchResultButtonView: View { Button("Cancel", role: .cancel) {} } message: { Text( - "\(String(describing: debridManager.selectedDebridSource?.id)) is currently caching this file. " + + "\(debridManager.selectedDebridSource?.id ?? "Unknown Debrid") is currently caching this file. " + "Would you like to delete it? \n\n" + - "Progress can be checked on the RealDebrid website." + "Progress can be checked on the \(debridManager.selectedDebridSource?.id ?? "Unknown Debrid") website." ) } .onReceive(NotificationCenter.default.publisher(for: .didDeleteBookmark)) { notification in diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index 1620fdc..81d7dca 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -60,7 +60,11 @@ struct BatchChoiceView: View { // Common function to communicate betwen VMs and queue/display a download func queueCommonDownload(fileName: String) { debridManager.currentDebridTask = Task { - await debridManager.fetchDebridDownload(magnet: navModel.selectedMagnet) + if debridManager.requiresUnrestrict { + await debridManager.unrestrictDownload() + } else { + await debridManager.fetchDebridDownload(magnet: navModel.selectedMagnet) + } if !debridManager.downloadUrl.isEmpty { try? await Task.sleep(seconds: 1) -- 2.45.2 From d6d731102c856f855e01dff621fefcf0ddc9df95 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 00:12:22 -0400 Subject: [PATCH 43/59] Debrid: Add TorBox support TorBox is a service that handles magnet links under both a free and paid plan. Integrate support into Ferrite. Will add rich services once the instantAvailability endpoint returns a file list. Signed-off-by: kingbri --- Ferrite/API/TorBoxWrapper.swift | 275 ++++++++++++++++++++++++++++++ Ferrite/Models/TorBoxModels.swift | 103 +++++++++++ Ferrite/Utils/FormDataBody.swift | 27 +++ 3 files changed, 405 insertions(+) create mode 100644 Ferrite/API/TorBoxWrapper.swift create mode 100644 Ferrite/Models/TorBoxModels.swift create mode 100644 Ferrite/Utils/FormDataBody.swift diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift new file mode 100644 index 0000000..29e72ca --- /dev/null +++ b/Ferrite/API/TorBoxWrapper.swift @@ -0,0 +1,275 @@ +// +// TorBoxWrapper.swift +// Ferrite +// +// Created by Brian Dashore on 6/11/24. +// + +import Foundation + +// Torrents: /torrents/mylist +// IA: /torrents/checkcached +// Add Magnet: /torrents/createtorrent +// Delete torrent: /torrents/controltorrent +// Unrestrict: /torrents/requestdl + +class TorBox: DebridSource, ObservableObject { + var id: String = "TorBox" + var abbreviation: String = "TB" + var website: String = "https://torbox.app" + + @Published var authProcessing: Bool = false + var isLoggedIn: Bool { + return getToken() != nil + } + + var manualToken: String? { + if UserDefaults.standard.bool(forKey: "TorBox.UseManualKey") { + return getToken() + } else { + return nil + } + } + + @Published var IAValues: [DebridIA] = [] + @Published var cloudDownloads: [DebridCloudDownload] = [] + @Published var cloudTorrents: [DebridCloudTorrent] = [] + var cloudTTL: Double = 0.0 + + private let baseApiUrl = "https://api.torbox.app/v1/api" + private let jsonDecoder = JSONDecoder() + private let jsonEncoder = JSONEncoder() + + // MARK: - Auth + + func setApiKey(_ key: String) { + FerriteKeychain.shared.set(key, forKey: "TorBox.ApiKey") + UserDefaults.standard.set(true, forKey: "TorBox.UseManualKey") + } + + func logout() async { + FerriteKeychain.shared.delete("TorBox.ApiKey") + UserDefaults.standard.removeObject(forKey: "TorBox.UseManualKey") + } + + private func getToken() -> String? { + FerriteKeychain.shared.get("TorBox.ApiKey") + } + + // MARK: - Common request + + // Wrapper request function which matches the responses and returns data + @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { + guard let token = getToken() else { + throw DebridError.InvalidToken + } + + request.setValue("Bearer \(token)", forHTTPHeaderField: "Authorization") + + let (data, response) = try await URLSession.shared.data(for: request) + + guard let response = response as? HTTPURLResponse else { + throw DebridError.FailedRequest(description: "No HTTP response given") + } + + if response.statusCode >= 200, response.statusCode <= 299 { + return data + } else if response.statusCode == 401 { + throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to TorBox in Settings.") + } else { + throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") + } + } + + // MARK: - Instant availability + + func instantAvailability(magnets: [Magnet]) async throws { + let now = Date().timeIntervalSince1970 + + let sendMagnets = magnets.filter { magnet in + if let IAIndex = IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }) { + if now > IAValues[IAIndex].expiryTimeStamp { + IAValues.remove(at: IAIndex) + return true + } else { + return false + } + } else { + return true + } + } + + if sendMagnets.isEmpty { + return + } + + var components = URLComponents(string: "\(baseApiUrl)/torrents/checkcached")! + components.queryItems = sendMagnets.map { URLQueryItem(name: "hash", value: $0.hash) } + components.queryItems?.append(URLQueryItem(name: "format", value: "list")) + + guard let url = components.url else { + throw DebridError.InvalidUrl + } + + var request = URLRequest(url: url) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(TBResponse.self, from: data) + + // If the data is a failure, return + guard case .links(let iaObjects) = rawResponse.data else { + return + } + + let availableHashes = iaObjects.map { + DebridIA( + magnet: Magnet(hash: $0.hash, link: nil), + source: self.id, + expiryTimeStamp: Date().timeIntervalSince1970 + 300, + files: [] + ) + } + + IAValues += availableHashes + } + + // MARK: - Downloading + + func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { + let torrentId = try await createTorrent(magnet: magnet) + let torrentList = try await myTorrentList() + guard let filteredTorrent = torrentList.first(where: { $0.id == torrentId }) else { + throw DebridError.FailedRequest(description: "A torrent wasn't found. Are you sure it's cached?") + } + + // If the torrent isn't saved, it's considered as caching + guard filteredTorrent.downloadState == "cached" || filteredTorrent.downloadState == "completed" else { + throw DebridError.IsCaching + } + + if filteredTorrent.files.count > 1 { + var copiedIA = ia + + copiedIA?.files = filteredTorrent.files.map { torrentFile in + DebridIAFile( + fileId: torrentFile.id, + name: torrentFile.shortName, + streamUrlString: String(torrentId) + ) + } + + return (nil, copiedIA) + } else if let torrentFile = filteredTorrent.files.first { + let restrictedFile = DebridIAFile(fileId: torrentFile.id, name: torrentFile.name, streamUrlString: String(torrentId)) + + return (restrictedFile, nil) + } else { + return (nil, nil) + } + } + + private func createTorrent(magnet: Magnet) async throws -> Int { + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/createtorrent")!) + request.httpMethod = "POST" + + guard let magnetLink = magnet.link else { + throw DebridError.EmptyData + } + + let formData = FormDataBody(params: ["magnet": magnetLink]) + request.setValue("multipart/form-data; boundary=\(formData.boundary)", forHTTPHeaderField: "Content-Type") + request.httpBody = formData.body + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(TBResponse.self, from: data) + + guard let torrentId = rawResponse.data?.torrentId else { + throw DebridError.EmptyData + } + + return torrentId + } + + private func myTorrentList() async throws -> [MyTorrentListResponse] { + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/mylist")!) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(TBResponse<[MyTorrentListResponse]>.self, from: data) + + guard let torrentList = rawResponse.data else { + throw DebridError.EmptyData + } + + return torrentList + } + + func unrestrictFile(_ restrictedFile: DebridIAFile) async throws -> String { + var components = URLComponents(string: "\(baseApiUrl)/torrents/requestdl")! + components.queryItems = [ + URLQueryItem(name: "token", value: getToken()), + URLQueryItem(name: "torrent_id", value: restrictedFile.streamUrlString), + URLQueryItem(name: "file_id", value: String(restrictedFile.fileId)) + ] + + guard let url = components.url else { + throw DebridError.InvalidUrl + } + + var request = URLRequest(url: url) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(TBResponse.self, from: data) + + guard let unrestrictedLink = rawResponse.data else { + throw DebridError.FailedRequest(description: "Could not get an unrestricted URL from TorBox.") + } + + return unrestrictedLink + } + + // MARK: - Cloud methods + + // Unused + func getUserDownloads() async throws { + return + } + + func checkUserDownloads(link: String) async throws -> String? { + return nil + } + + func deleteDownload(downloadId: String) async throws { + return + } + + func getUserTorrents() async throws { + let torrentList = try await myTorrentList() + cloudTorrents = torrentList.map { torrent in + + // Only need one link to force a green badge + DebridCloudTorrent( + torrentId: String(torrent.id), + source: self.id, + fileName: torrent.name, + status: torrent.downloadState == "cached" || torrent.downloadState == "completed" ? "downloaded" : torrent.downloadState, + hash: torrent.hash, + links: [String(torrent.id)] + ) + } + } + + func deleteTorrent(torrentId: String?) async throws { + guard let torrentId else { + throw DebridError.InvalidPostBody + } + + var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/controltorrent")!) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "Content-Type") + + let body = ControlTorrentRequest(torrentId: torrentId, operation: "Delete") + request.httpBody = try jsonEncoder.encode(body) + + try await performRequest(request: &request, requestName: "controltorrent") + } +} diff --git a/Ferrite/Models/TorBoxModels.swift b/Ferrite/Models/TorBoxModels.swift new file mode 100644 index 0000000..b3c5196 --- /dev/null +++ b/Ferrite/Models/TorBoxModels.swift @@ -0,0 +1,103 @@ +// +// TorBoxModels.swift +// Ferrite +// +// Created by Brian Dashore on 6/11/24. +// + +import Foundation + +extension TorBox { + struct TBResponse: Codable { + let success: Bool + let detail: String + let data: TBData? + } + + // MARK: - InstantAvailability + enum InstantAvailabilityData: Codable { + case links([InstantAvailabilityDataObject]) + case failure(InstantAvailabilityDataFailure) + + init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + + // Only continue if the data is a List which indicates a success + if let linkArray = try? container.decode([InstantAvailabilityDataObject].self) { + self = .links(linkArray) + } else { + let value = try container.decode(InstantAvailabilityDataFailure.self) + self = .failure(value) + } + } + + func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + switch self { + case .links(let array): + try container.encode(array) + case .failure(let value): + try container.encode(value) + } + } + } + + struct InstantAvailabilityDataObject: Codable, Sendable { + let name: String + let size: Int + let hash: String + } + + struct InstantAvailabilityDataFailure: Codable, Sendable { + let data: Bool + } + + struct CreateTorrentResponse: Codable, Sendable { + let hash: String + let torrentId: Int + let authId: String + + enum CodingKeys: String, CodingKey { + case hash + case torrentId = "torrent_id" + case authId = "auth_id" + } + } + + struct MyTorrentListResponse: Codable, Sendable { + let id: Int + let hash: String + let name: String + let downloadState: String + let files: [MyTorrentListFile] + + enum CodingKeys: String, CodingKey { + case id, hash, name, files + case downloadState = "download_state" + } + } + + struct MyTorrentListFile: Codable, Sendable { + let id: Int + let hash: String + let name: String + let shortName: String + + enum CodingKeys: String, CodingKey { + case id, hash, name + case shortName = "short_name" + } + } + + typealias RequestDLResponse = String + + struct ControlTorrentRequest: Codable, Sendable { + let torrentId: String + let operation: String + + enum CodingKeys: String, CodingKey { + case operation + case torrentId = "torrent_id" + } + } +} diff --git a/Ferrite/Utils/FormDataBody.swift b/Ferrite/Utils/FormDataBody.swift new file mode 100644 index 0000000..d76e84b --- /dev/null +++ b/Ferrite/Utils/FormDataBody.swift @@ -0,0 +1,27 @@ +// +// MultipartFormDataRequest.swift +// Ferrite +// +// Created by Brian Dashore on 6/12/24. +// + +import Foundation + +struct FormDataBody { + let boundary: String = UUID().uuidString + let body: Data + + init(params: [String: String]) { + var body = Data() + + for (key, value) in params { + body.append("--\(boundary)\r\n".data(using: .utf8)!) + body.append("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n".data(using: .utf8)!) + body.append("\(value)\r\n".data(using: .utf8)!) + } + + body.append("--\(boundary)--\r\n".data(using: .utf8)!) + + self.body = body + } +} -- 2.45.2 From e49e37af36f300c47a907a07fd2342a39cb510f8 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 00:23:23 -0400 Subject: [PATCH 44/59] Tree: Remove OffCloud references Was an experiment for later commits. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 -------- 1 file changed, 8 deletions(-) diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index ded65f3..f0846d8 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -12,8 +12,6 @@ 0C03EB72296F619900162E9A /* PluginList+CoreDataProperties.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C03EB70296F619900162E9A /* PluginList+CoreDataProperties.swift */; }; 0C0755C6293424A200ECA142 /* DebridLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0755C5293424A200ECA142 /* DebridLabelView.swift */; }; 0C0755C8293425B500ECA142 /* DebridManagerModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */; }; - 0C07C6002C19FEBF00808A46 /* OffCloudWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C5FF2C19FEBF00808A46 /* OffCloudWrapper.swift */; }; - 0C07C6022C1A016B00808A46 /* OffCloudModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6012C1A016B00808A46 /* OffCloudModels.swift */; }; 0C07C6042C1A859B00808A46 /* FormDataBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6032C1A859B00808A46 /* FormDataBody.swift */; }; 0C0974B029CCAAAF006DE7A3 /* OperatingSystemVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0974AF29CCAAAF006DE7A3 /* OperatingSystemVersion.swift */; }; 0C0D50E5288DFE7F0035ECC8 /* SourceModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0D50E4288DFE7F0035ECC8 /* SourceModels.swift */; }; @@ -172,8 +170,6 @@ 0C03EB70296F619900162E9A /* PluginList+CoreDataProperties.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "PluginList+CoreDataProperties.swift"; sourceTree = ""; }; 0C0755C5293424A200ECA142 /* DebridLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridLabelView.swift; sourceTree = ""; }; 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridManagerModels.swift; sourceTree = ""; }; - 0C07C5FF2C19FEBF00808A46 /* OffCloudWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffCloudWrapper.swift; sourceTree = ""; }; - 0C07C6012C1A016B00808A46 /* OffCloudModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffCloudModels.swift; sourceTree = ""; }; 0C07C6032C1A859B00808A46 /* FormDataBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormDataBody.swift; sourceTree = ""; }; 0C0974AF29CCAAAF006DE7A3 /* OperatingSystemVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperatingSystemVersion.swift; sourceTree = ""; }; 0C0D50E4288DFE7F0035ECC8 /* SourceModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceModels.swift; sourceTree = ""; }; @@ -421,7 +417,6 @@ 0C6771F929B3D1AE005D38D2 /* KodiModels.swift */, 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */, 0C890E4A2C188FA7003B17B5 /* TorBoxModels.swift */, - 0C07C6012C1A016B00808A46 /* OffCloudModels.swift */, ); path = Models; sourceTree = ""; @@ -675,7 +670,6 @@ 0CA148D0288903F000DE2211 /* RealDebridWrapper.swift */, 0C6771F329B3B4FD005D38D2 /* KodiWrapper.swift */, 0C890E482C188808003B17B5 /* TorBoxWrapper.swift */, - 0C07C5FF2C19FEBF00808A46 /* OffCloudWrapper.swift */, ); path = API; sourceTree = ""; @@ -848,7 +842,6 @@ 0C7ED14328D65518009E29AD /* FileManager.swift in Sources */, 0C03EB71296F619900162E9A /* PluginList+CoreDataClass.swift in Sources */, 0C6771FA29B3D1AE005D38D2 /* KodiModels.swift in Sources */, - 0C07C6002C19FEBF00808A46 /* OffCloudWrapper.swift in Sources */, 0C0D50E5288DFE7F0035ECC8 /* SourceModels.swift in Sources */, 0CB6516528C5A5D700DCA721 /* InlinedList.swift in Sources */, 0C8DC35429CE2AB5008A83AD /* SourceSettingsBaseUrlView.swift in Sources */, @@ -944,7 +937,6 @@ 0C84FCE929E5ADEF00B0DFE4 /* FilterAmountLabelView.swift in Sources */, 0C10848B28BD9A38008F0BA6 /* SettingsAppVersionView.swift in Sources */, 0CA05457288EE58200850554 /* SettingsPluginListView.swift in Sources */, - 0C07C6022C1A016B00808A46 /* OffCloudModels.swift in Sources */, 0C78041D28BFB3EA001E8CA3 /* String.swift in Sources */, 0C31133C28B1ABFA004DCB0D /* SourceJsonParser+CoreDataClass.swift in Sources */, 0CBC76FF288DAAD00054BE44 /* NavigationViewModel.swift in Sources */, -- 2.45.2 From 3ef041f8891d1edc67c3492169cc9c9b09517e35 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 00:23:36 -0400 Subject: [PATCH 45/59] Tree: Format Signed-off-by: kingbri --- Ferrite/API/KodiWrapper.swift | 8 ++--- Ferrite/API/TorBoxWrapper.swift | 20 +++++-------- Ferrite/Models/ActionModels.swift | 20 ++++++------- Ferrite/Models/AllDebridModels.swift | 8 ++--- Ferrite/Models/RealDebridModels.swift | 10 +++---- Ferrite/Models/TorBoxModels.swift | 5 ++-- Ferrite/Utils/Store.swift | 4 +-- Ferrite/ViewModels/DebridManager.swift | 2 -- Ferrite/ViewModels/LoggingManager.swift | 8 ++--- Ferrite/ViewModels/ScrapingViewModel.swift | 34 +++++++++++----------- 10 files changed, 57 insertions(+), 62 deletions(-) diff --git a/Ferrite/API/KodiWrapper.swift b/Ferrite/API/KodiWrapper.swift index 74130b3..ba5ccae 100644 --- a/Ferrite/API/KodiWrapper.swift +++ b/Ferrite/API/KodiWrapper.swift @@ -12,10 +12,10 @@ class Kodi { // Used to add server to CoreData. Not part of API func addServer(urlString: String, - friendlyName: String?, - username: String?, - password: String?, - existingServer: KodiServer? = nil) throws + friendlyName: String?, + username: String?, + password: String?, + existingServer: KodiServer? = nil) throws { let backgroundContext = PersistenceController.shared.backgroundContext diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index 29e72ca..c76409f 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -20,7 +20,7 @@ class TorBox: DebridSource, ObservableObject { @Published var authProcessing: Bool = false var isLoggedIn: Bool { - return getToken() != nil + getToken() != nil } var manualToken: String? { @@ -117,7 +117,7 @@ class TorBox: DebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(TBResponse.self, from: data) // If the data is a failure, return - guard case .links(let iaObjects) = rawResponse.data else { + guard case let .links(iaObjects) = rawResponse.data else { return } @@ -230,18 +230,14 @@ class TorBox: DebridSource, ObservableObject { // MARK: - Cloud methods // Unused - func getUserDownloads() async throws { - return - } - + func getUserDownloads() async throws {} + func checkUserDownloads(link: String) async throws -> String? { - return nil + nil } - - func deleteDownload(downloadId: String) async throws { - return - } - + + func deleteDownload(downloadId: String) async throws {} + func getUserTorrents() async throws { let torrentList = try await myTorrentList() cloudTorrents = torrentList.map { torrent in diff --git a/Ferrite/Models/ActionModels.swift b/Ferrite/Models/ActionModels.swift index eb73c30..cd32128 100644 --- a/Ferrite/Models/ActionModels.swift +++ b/Ferrite/Models/ActionModels.swift @@ -21,16 +21,16 @@ struct ActionJson: Codable, Hashable, PluginJson { let tags: [PluginTagJson]? init(name: String, - version: Int16, - minVersion: String?, - about: String?, - website: String?, - requires: [ActionRequirement], - deeplink: [DeeplinkActionJson]?, - author: String?, - listId: UUID?, - listName: String?, - tags: [PluginTagJson]?) + version: Int16, + minVersion: String?, + about: String?, + website: String?, + requires: [ActionRequirement], + deeplink: [DeeplinkActionJson]?, + author: String?, + listId: UUID?, + listName: String?, + tags: [PluginTagJson]?) { self.name = name self.version = version diff --git a/Ferrite/Models/AllDebridModels.swift b/Ferrite/Models/AllDebridModels.swift index ff28617..3faeeb8 100644 --- a/Ferrite/Models/AllDebridModels.swift +++ b/Ferrite/Models/AllDebridModels.swift @@ -53,7 +53,7 @@ extension AllDebrid { // MARK: - AddMagnetData - internal struct AddMagnetData: Codable { + struct AddMagnetData: Codable { let magnet, hash, name, filenameOriginal: String let size: Int let ready: Bool @@ -103,7 +103,7 @@ extension AllDebrid { // MARK: - MagnetStatusLink // Abridged for required parameters - internal struct MagnetStatusLink: Codable { + struct MagnetStatusLink: Codable { let link: String let filename: String let size: Int @@ -137,7 +137,7 @@ extension AllDebrid { // MARK: - IAMagnetResponse - internal struct InstantAvailabilityMagnet: Codable { + struct InstantAvailabilityMagnet: Codable { let magnet, hash: String let instant: Bool let files: [InstantAvailabilityFile]? @@ -145,7 +145,7 @@ extension AllDebrid { // MARK: - IAFileResponse - internal struct InstantAvailabilityFile: Codable { + struct InstantAvailabilityFile: Codable { let name: String enum CodingKeys: String, CodingKey { diff --git a/Ferrite/Models/RealDebridModels.swift b/Ferrite/Models/RealDebridModels.swift index 1374058..fd25dca 100644 --- a/Ferrite/Models/RealDebridModels.swift +++ b/Ferrite/Models/RealDebridModels.swift @@ -67,11 +67,11 @@ extension RealDebrid { } } - internal struct InstantAvailabilityData: Codable, Sendable { + struct InstantAvailabilityData: Codable, Sendable { var rd: [[String: InstantAvailabilityInfo]] } - internal struct InstantAvailabilityInfo: Codable, Sendable { + struct InstantAvailabilityInfo: Codable, Sendable { var filename: String var filesize: Int } @@ -96,7 +96,7 @@ extension RealDebrid { // MARK: - torrentInfo endpoint - internal struct TorrentInfoResponse: Codable, Sendable { + struct TorrentInfoResponse: Codable, Sendable { let id, filename, originalFilename, hash: String let bytes, originalBytes: Int let host: String @@ -117,7 +117,7 @@ extension RealDebrid { } } - internal struct TorrentInfoFile: Codable, Sendable { + struct TorrentInfoFile: Codable, Sendable { let id: Int let path: String let bytes, selected: Int @@ -136,7 +136,7 @@ extension RealDebrid { // MARK: - unrestrictLink endpoint - internal struct UnrestrictLinkResponse: Codable, Sendable { + struct UnrestrictLinkResponse: Codable, Sendable { let id, filename: String let mimeType: String? let filesize: Int diff --git a/Ferrite/Models/TorBoxModels.swift b/Ferrite/Models/TorBoxModels.swift index b3c5196..be9845f 100644 --- a/Ferrite/Models/TorBoxModels.swift +++ b/Ferrite/Models/TorBoxModels.swift @@ -15,6 +15,7 @@ extension TorBox { } // MARK: - InstantAvailability + enum InstantAvailabilityData: Codable { case links([InstantAvailabilityDataObject]) case failure(InstantAvailabilityDataFailure) @@ -34,9 +35,9 @@ extension TorBox { func encode(to encoder: Encoder) throws { var container = encoder.singleValueContainer() switch self { - case .links(let array): + case let .links(array): try container.encode(array) - case .failure(let value): + case let .failure(value): try container.encode(value) } } diff --git a/Ferrite/Utils/Store.swift b/Ferrite/Utils/Store.swift index 395e45b..773d39c 100644 --- a/Ferrite/Utils/Store.swift +++ b/Ferrite/Utils/Store.swift @@ -91,8 +91,8 @@ struct Store { /// /// Use this init to schedule updates on a specific scheduler other than `DispatchQueue.main`. init(wrappedValue: ObjectType, - on scheduler: S, - schedulerOptions: S.SchedulerOptions? = nil) + on scheduler: S, + schedulerOptions: S.SchedulerOptions? = nil) { self.wrappedValue = wrappedValue diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 962a721..01cd4b1 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -369,8 +369,6 @@ class DebridManager: ObservableObject { await sendDebridError(error, prefix: "\(debridSource.id) download error", cancelString: "Download cancelled") } } - - return } func unrestrictDownload() async { diff --git a/Ferrite/ViewModels/LoggingManager.swift b/Ferrite/ViewModels/LoggingManager.swift index 9abf814..c790fb6 100644 --- a/Ferrite/ViewModels/LoggingManager.swift +++ b/Ferrite/ViewModels/LoggingManager.swift @@ -71,7 +71,7 @@ class LoggingManager: ObservableObject { // TODO: Maybe append to a constant logfile? func info(_ message: String, - description: String? = nil) + description: String? = nil) { let log = Log( level: .info, @@ -89,7 +89,7 @@ class LoggingManager: ObservableObject { } func warn(_ message: String, - description: String? = nil) + description: String? = nil) { let log = Log( level: .warn, @@ -107,8 +107,8 @@ class LoggingManager: ObservableObject { } func error(_ message: String, - description: String? = nil, - showToast: Bool = true) + description: String? = nil, + showToast: Bool = true) { let log = Log( level: .error, diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index 964fcc8..cc844fb 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -313,11 +313,11 @@ class ScrapingViewModel: ObservableObject { } private func handleApiCredential(_ credential: SourceApiCredential, - replacement: String, - searchUrl: String, - apiUrl: String?, - website: String, - sourceName: String) async -> String? + replacement: String, + searchUrl: String, + apiUrl: String?, + website: String, + sourceName: String) async -> String? { // Is the credential expired var isExpired = false @@ -354,8 +354,8 @@ class ScrapingViewModel: ObservableObject { } private func fetchApiCredential(urlString: String, - credential: SourceApiCredential, - sourceName: String) async -> String? + credential: SourceApiCredential, + sourceName: String) async -> String? { guard let url = URL(string: urlString) else { await sendSourceError("\(sourceName): Token URL \(urlString) is invalid.") @@ -522,9 +522,9 @@ class ScrapingViewModel: ObservableObject { // TODO: Add regex parsing for API private func parseJsonResult(_ result: JSON, - jsonParser: SourceJsonParser, - source: Source, - existingSearchResult: SearchResult? = nil) -> SearchResult? + jsonParser: SourceJsonParser, + source: Source, + existingSearchResult: SearchResult? = nil) -> SearchResult? { // Enforce these parsers guard let titleParser = jsonParser.title else { @@ -751,10 +751,10 @@ class ScrapingViewModel: ObservableObject { // Complex query parsing for RSS scraping private func runRssComplexQuery(item: Element, - query: String, - attribute: String, - discriminator: String?, - regexString: String?) throws -> String? + query: String, + attribute: String, + discriminator: String?, + regexString: String?) throws -> String? { var parsedValue: String? @@ -956,9 +956,9 @@ class ScrapingViewModel: ObservableObject { // Complex query parsing for HTML scraping private func runHtmlComplexQuery(row: Element, - query: String, - attribute: String, - regexString: String?) throws -> String? + query: String, + attribute: String, + regexString: String?) throws -> String? { var parsedValue: String? -- 2.45.2 From 8f7fe94d21e5ca109228457a888e17c7de37d5b1 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 09:44:13 -0400 Subject: [PATCH 46/59] Debrid: Fix cleanup of unrestrict and task The task can be set to nil after completion, and the unrestrict flag should also be set to nil when the batch sheet is dismissed. Signed-off-by: kingbri --- Ferrite/ViewModels/DebridManager.swift | 1 + Ferrite/Views/SheetViews/BatchChoiceView.swift | 1 + 2 files changed, 2 insertions(+) diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 01cd4b1..823b228 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -375,6 +375,7 @@ class DebridManager: ObservableObject { defer { logManager?.hideIndeterminateToast() requiresUnrestrict = false + currentDebridTask = nil } logManager?.updateIndeterminateToast("Loading content", cancelAction: { diff --git a/Ferrite/Views/SheetViews/BatchChoiceView.swift b/Ferrite/Views/SheetViews/BatchChoiceView.swift index 81d7dca..a18d355 100644 --- a/Ferrite/Views/SheetViews/BatchChoiceView.swift +++ b/Ferrite/Views/SheetViews/BatchChoiceView.swift @@ -50,6 +50,7 @@ struct BatchChoiceView: View { try? await Task.sleep(seconds: 1) debridManager.clearSelectedDebridItems() + debridManager.requiresUnrestrict = false } } } -- 2.45.2 From 80e966512a2ebb7d27a94062750aaabef283c431 Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 13:27:46 -0400 Subject: [PATCH 47/59] Debrid: Add OffCloud support OffCloud is a debrid provider that allows for caching and playing media. Does not have rich debrid support. Also add a handler if functionality isn't implemented in the service. Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 + Ferrite/API/OffCloudWrapper.swift | 268 +++++++++++++++++++++++++ Ferrite/Models/DebridModels.swift | 1 + Ferrite/Models/OffCloudModels.swift | 41 ++++ Ferrite/ViewModels/DebridManager.swift | 37 +++- Ferrite/Views/LibraryView.swift | 5 + 6 files changed, 357 insertions(+), 3 deletions(-) create mode 100644 Ferrite/API/OffCloudWrapper.swift create mode 100644 Ferrite/Models/OffCloudModels.swift diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index f0846d8..7d5c314 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -13,6 +13,8 @@ 0C0755C6293424A200ECA142 /* DebridLabelView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0755C5293424A200ECA142 /* DebridLabelView.swift */; }; 0C0755C8293425B500ECA142 /* DebridManagerModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */; }; 0C07C6042C1A859B00808A46 /* FormDataBody.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6032C1A859B00808A46 /* FormDataBody.swift */; }; + 0C07C6062C1B2F7600808A46 /* OffCloudModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6052C1B2F7600808A46 /* OffCloudModels.swift */; }; + 0C07C6082C1B2F8000808A46 /* OffCloudWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C07C6072C1B2F8000808A46 /* OffCloudWrapper.swift */; }; 0C0974B029CCAAAF006DE7A3 /* OperatingSystemVersion.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0974AF29CCAAAF006DE7A3 /* OperatingSystemVersion.swift */; }; 0C0D50E5288DFE7F0035ECC8 /* SourceModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0D50E4288DFE7F0035ECC8 /* SourceModels.swift */; }; 0C0D50E7288DFF850035ECC8 /* PluginAggregateView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0C0D50E6288DFF850035ECC8 /* PluginAggregateView.swift */; }; @@ -171,6 +173,8 @@ 0C0755C5293424A200ECA142 /* DebridLabelView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridLabelView.swift; sourceTree = ""; }; 0C0755C7293425B500ECA142 /* DebridManagerModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DebridManagerModels.swift; sourceTree = ""; }; 0C07C6032C1A859B00808A46 /* FormDataBody.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FormDataBody.swift; sourceTree = ""; }; + 0C07C6052C1B2F7600808A46 /* OffCloudModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffCloudModels.swift; sourceTree = ""; }; + 0C07C6072C1B2F8000808A46 /* OffCloudWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OffCloudWrapper.swift; sourceTree = ""; }; 0C0974AF29CCAAAF006DE7A3 /* OperatingSystemVersion.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OperatingSystemVersion.swift; sourceTree = ""; }; 0C0D50E4288DFE7F0035ECC8 /* SourceModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SourceModels.swift; sourceTree = ""; }; 0C0D50E6288DFF850035ECC8 /* PluginAggregateView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PluginAggregateView.swift; sourceTree = ""; }; @@ -417,6 +421,7 @@ 0C6771F929B3D1AE005D38D2 /* KodiModels.swift */, 0C1A3E5129C8A7F500DA9730 /* SettingsModels.swift */, 0C890E4A2C188FA7003B17B5 /* TorBoxModels.swift */, + 0C07C6052C1B2F7600808A46 /* OffCloudModels.swift */, ); path = Models; sourceTree = ""; @@ -670,6 +675,7 @@ 0CA148D0288903F000DE2211 /* RealDebridWrapper.swift */, 0C6771F329B3B4FD005D38D2 /* KodiWrapper.swift */, 0C890E482C188808003B17B5 /* TorBoxWrapper.swift */, + 0C07C6072C1B2F8000808A46 /* OffCloudWrapper.swift */, ); path = API; sourceTree = ""; @@ -937,6 +943,7 @@ 0C84FCE929E5ADEF00B0DFE4 /* FilterAmountLabelView.swift in Sources */, 0C10848B28BD9A38008F0BA6 /* SettingsAppVersionView.swift in Sources */, 0CA05457288EE58200850554 /* SettingsPluginListView.swift in Sources */, + 0C07C6062C1B2F7600808A46 /* OffCloudModels.swift in Sources */, 0C78041D28BFB3EA001E8CA3 /* String.swift in Sources */, 0C31133C28B1ABFA004DCB0D /* SourceJsonParser+CoreDataClass.swift in Sources */, 0CBC76FF288DAAD00054BE44 /* NavigationViewModel.swift in Sources */, @@ -946,6 +953,7 @@ 0CEE11B12C1743E0004C8BB2 /* SourceRequest+CoreDataClass.swift in Sources */, 0CEE11B22C1743E0004C8BB2 /* SourceRequest+CoreDataProperties.swift in Sources */, 0CC2CA7429E24F63000A8585 /* ExpandedSearchable.swift in Sources */, + 0C07C6082C1B2F8000808A46 /* OffCloudWrapper.swift in Sources */, 0CF1ABE22C0C3D2F009F6C26 /* DebridModels.swift in Sources */, 0C6771F429B3B4FD005D38D2 /* KodiWrapper.swift in Sources */, 0C3E00D0296F4DB200ECECB2 /* ActionModels.swift in Sources */, diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift new file mode 100644 index 0000000..2bee0d2 --- /dev/null +++ b/Ferrite/API/OffCloudWrapper.swift @@ -0,0 +1,268 @@ +// +// OffCloudWrapper.swift +// Ferrite +// +// Created by Brian Dashore on 6/12/24. +// + +import Foundation + +// Torrents: /cloud/history +// IA: /cache (JSON array of hashes) +// Add Magnet: /cloud (URL param in JSON body) +// Get files/unrestrict: /cloud/explore/\(requestId) +// Delete torrent (website URL, not API URL): /cloud/remove/\(torrentId) + +class OffCloud: DebridSource, ObservableObject { + var id: String = "OffCloud" + var abbreviation: String = "OC" + var website: String = "https://offcloud.com" + + @Published var authProcessing: Bool = false + var isLoggedIn: Bool { + getToken() != nil + } + + var manualToken: String? { + if UserDefaults.standard.bool(forKey: "OffCloud.UseManualKey") { + return getToken() + } else { + return nil + } + } + + @Published var IAValues: [DebridIA] = [] + @Published var cloudDownloads: [DebridCloudDownload] = [] + @Published var cloudTorrents: [DebridCloudTorrent] = [] + var cloudTTL: Double = 0.0 + + private let baseApiUrl = "https://offcloud.com/api" + private let jsonDecoder = JSONDecoder() + private let jsonEncoder = JSONEncoder() + + func setApiKey(_ key: String) { + FerriteKeychain.shared.set(key, forKey: "OffCloud.ApiKey") + UserDefaults.standard.set(true, forKey: "OffCloud.UseManualKey") + } + + func logout() async { + FerriteKeychain.shared.delete("OffCloud.ApiKey") + UserDefaults.standard.removeObject(forKey: "OffCloud.UseManualKey") + } + + private func getToken() -> String? { + FerriteKeychain.shared.get("OffCloud.ApiKey") + } + + // Wrapper request function which matches the responses and returns data + @discardableResult private func performRequest(request: inout URLRequest, requestName: String) async throws -> Data { + let (data, response) = try await URLSession.shared.data(for: request) + + guard let response = response as? HTTPURLResponse else { + throw DebridError.FailedRequest(description: "No HTTP response given") + } + + if response.statusCode >= 200, response.statusCode <= 299 { + return data + } else if response.statusCode == 401 { + throw DebridError.FailedRequest(description: "The request \(requestName) failed because you were unauthorized. Please relogin to TorBox in Settings.") + } else { + print(response) + throw DebridError.FailedRequest(description: "The request \(requestName) failed with status code \(response.statusCode).") + } + } + + // Builds a URL for further requests + private func buildRequestURL(urlString: String, queryItems: [URLQueryItem] = []) throws -> URL { + guard var components = URLComponents(string: urlString) else { + throw DebridError.InvalidUrl + } + + guard let token = getToken() else { + throw DebridError.InvalidToken + } + + components.queryItems = [ + URLQueryItem(name: "key", value: token) + ] + queryItems + + if let url = components.url { + return url + } else { + throw DebridError.InvalidUrl + } + } + + func instantAvailability(magnets: [Magnet]) async throws { + let now = Date().timeIntervalSince1970 + + let sendMagnets = magnets.filter { magnet in + if let IAIndex = IAValues.firstIndex(where: { $0.magnet.hash == magnet.hash }) { + if now > IAValues[IAIndex].expiryTimeStamp { + IAValues.remove(at: IAIndex) + return true + } else { + return false + } + } else { + return true + } + } + + if sendMagnets.isEmpty { + return + } + + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/cache")) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "Content-Type") + + let body = InstantAvailabilityRequest(hashes: sendMagnets.compactMap(\.hash)) + request.httpBody = try jsonEncoder.encode(body) + + let data = try await performRequest(request: &request, requestName: #function) + let rawResponse = try jsonDecoder.decode(InstantAvailabilityResponse.self, from: data) + + let availableHashes = rawResponse.cachedItems.map { + DebridIA( + magnet: Magnet(hash: $0, link: nil), + source: self.id, + expiryTimeStamp: Date().timeIntervalSince1970 + 300, + files: [] + ) + } + + IAValues += availableHashes + } + + // Cloud in OffCloud's API + func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { + let selectedTorrent: DebridCloudTorrent + + // Don't queue a new job if the torrent already exists + if let existingTorrent = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + selectedTorrent = existingTorrent + } else { + let cloudDownloadResponse = try await offcloudDownload(magnet: magnet) + + guard cloudDownloadResponse.status == "downloaded" else { + throw DebridError.IsCaching + } + + selectedTorrent = DebridCloudTorrent( + torrentId: cloudDownloadResponse.requestId, + source: id, + fileName: cloudDownloadResponse.fileName, + status: cloudDownloadResponse.status, + hash: "", + links: [] + ) + } + + let cloudExploreLinks = try await cloudExplore(requestId: selectedTorrent.torrentId) + + if cloudExploreLinks.count > 1 { + var copiedIA = ia + + copiedIA?.files = cloudExploreLinks.enumerated().compactMap { index, exploreLink in + guard let exploreURL = URL(string: exploreLink) else { + return nil + } + + return DebridIAFile( + fileId: index, + name: exploreURL.lastPathComponent, + streamUrlString: exploreLink.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) + ) + } + + return (nil, copiedIA) + } else if let exploreLink = cloudExploreLinks.first { + let restrictedFile = DebridIAFile( + fileId: 0, + name: selectedTorrent.fileName, + streamUrlString: exploreLink + ) + + return (restrictedFile, nil) + } else { + return (nil, nil) + } + } + + // Called as "cloud" in offcloud's API + private func offcloudDownload(magnet: Magnet) async throws -> CloudDownloadResponse { + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/cloud")) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "Content-Type") + + guard let magnetLink = magnet.link else { + throw DebridError.EmptyData + } + + let body = CloudDownloadRequest(url: magnetLink) + request.httpBody = try jsonEncoder.encode(body) + + let data = try await performRequest(request: &request, requestName: "cloud") + let rawResponse = try jsonDecoder.decode(CloudDownloadResponse.self, from: data) + + return rawResponse + } + + private func cloudExplore(requestId: String) async throws -> CloudExploreResponse { + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/cloud/explore/\(requestId)")) + + let data = try await performRequest(request: &request, requestName: "cloudExplore") + let rawResponse = try jsonDecoder.decode(CloudExploreResponse.self, from: data) + + return rawResponse + } + + func unrestrictFile(_ restrictedFile: DebridIAFile) async throws -> String { + guard let streamUrlString = restrictedFile.streamUrlString else { + throw DebridError.FailedRequest(description: "Could not get a streaming URL from the OffCloud API") + } + + return streamUrlString + } + + func getUserDownloads() async throws {} + + func checkUserDownloads(link: String) async throws -> String? { + nil + } + + func deleteDownload(downloadId: String) async throws {} + + func getUserTorrents() async throws { + var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/cloud/history")) + + let data = try await performRequest(request: &request, requestName: "cloudHistory") + let rawResponse = try jsonDecoder.decode([CloudHistoryResponse].self, from: data) + + cloudTorrents = rawResponse.compactMap { cloudHistory in + guard let magnetHash = Magnet(hash: nil, link: cloudHistory.originalLink).hash else { + return nil + } + + return DebridCloudTorrent( + torrentId: cloudHistory.requestId, + source: self.id, + fileName: cloudHistory.fileName, + status: cloudHistory.status, + hash: magnetHash, + links: [cloudHistory.originalLink] + ) + } + } + + // Uses the base website because this isn't present in the API path but still works like the API? + func deleteTorrent(torrentId: String?) async throws { + guard let torrentId else { + throw DebridError.InvalidPostBody + } + + var request = URLRequest(url: try buildRequestURL(urlString: "\(website)/cloud/remove/\(torrentId)")) + try await performRequest(request: &request, requestName: "cloudRemove") + } +} diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 50f9d27..60ca4b8 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -54,4 +54,5 @@ enum DebridError: Error { case IsCaching case FailedRequest(description: String) case AuthQuery(description: String) + case NotImplemented } diff --git a/Ferrite/Models/OffCloudModels.swift b/Ferrite/Models/OffCloudModels.swift new file mode 100644 index 0000000..0485563 --- /dev/null +++ b/Ferrite/Models/OffCloudModels.swift @@ -0,0 +1,41 @@ +// +// OffCloudModels.swift +// Ferrite +// +// Created by Brian Dashore on 6/12/24. +// + +import Foundation + +extension OffCloud { + struct InstantAvailabilityRequest: Codable, Sendable { + let hashes: [String] + } + + struct InstantAvailabilityResponse: Codable, Sendable { + let cachedItems: [String] + } + + struct CloudDownloadRequest: Codable, Sendable { + let url: String + } + + struct CloudDownloadResponse: Codable, Sendable { + let requestId: String + let fileName: String + let status: String + let originalLink: String + let url: String + } + + typealias CloudExploreResponse = [String] + + struct CloudHistoryResponse: Codable, Sendable { + let requestId: String + let fileName: String + let status: String + let originalLink: String + let isDirectory: Bool + let server: String + } +} diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 823b228..70771a4 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -16,8 +16,9 @@ class DebridManager: ObservableObject { @Published var allDebrid: AllDebrid = .init() @Published var premiumize: Premiumize = .init() @Published var torbox: TorBox = .init() + @Published var offcloud: OffCloud = .init() - lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize, torbox] + lazy var debridSources: [DebridSource] = [realDebrid, allDebrid, premiumize, torbox, offcloud] // UI Variables @Published var showWebView: Bool = false @@ -52,6 +53,8 @@ class DebridManager: ObservableObject { @Published var showDeleteAlert: Bool = false @Published var showWebLoginAlert: Bool = false + @Published var showNotImplementedAlert: Bool = false + @Published var notImplementedMessage: String = "" init() { // Set the preferred service. Contains migration logic for earlier versions @@ -343,6 +346,10 @@ class DebridManager: ObservableObject { // Indicate that a link needs to be selected (batch) if let newIA { + if newIA.files.isEmpty { + throw DebridError.EmptyData + } + selectedDebridItem = newIA requiresUnrestrict = true @@ -431,7 +438,19 @@ class DebridManager: ObservableObject { await fetchDebridCloud(bypassTTL: true) } catch { - await sendDebridError(error, prefix: "\(selectedSource.id) download delete error") + switch error { + case DebridError.NotImplemented: + let message = "Download deletion for \(selectedSource.id) is not implemented. Please delete from the service's website." + + notImplementedMessage = message + showNotImplementedAlert.toggle() + logManager?.error( + "DebridManager: \(message)", + showToast: false + ) + default: + await sendDebridError(error, prefix: "\(selectedSource.id) download delete error") + } } } @@ -445,7 +464,19 @@ class DebridManager: ObservableObject { await fetchDebridCloud(bypassTTL: true) } catch { - await sendDebridError(error, prefix: "\(selectedSource.id) torrent delete error") + switch error { + case DebridError.NotImplemented: + let message = "Torrent deletion for \(selectedSource.id) is not implemented. Please use the service's website." + + notImplementedMessage = message + showNotImplementedAlert.toggle() + logManager?.error( + "DebridManager: \(message)", + showToast: false + ) + default: + await sendDebridError(error, prefix: "\(selectedSource.id) torrent delete error") + } } } } diff --git a/Ferrite/Views/LibraryView.swift b/Ferrite/Views/LibraryView.swift index 347bc04..03fab5b 100644 --- a/Ferrite/Views/LibraryView.swift +++ b/Ferrite/Views/LibraryView.swift @@ -96,6 +96,11 @@ struct LibraryView: View { .esAutocapitalization(autocorrectSearch ? .sentences : .none) .environment(\.editMode, $editMode) } + .alert("Not implemented", isPresented: $debridManager.showNotImplementedAlert) { + Button("OK", role: .cancel) {} + } message: { + Text(debridManager.notImplementedMessage) + } .onChange(of: navModel.libraryPickerSelection) { _ in editMode = .inactive } -- 2.45.2 From 5223c60acd9eda217f9bd48b85edb12135362ebc Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 23:09:39 -0400 Subject: [PATCH 48/59] Tree: Fix various bugs - AllDebrid: Don't throw an empty error if cloud downloads/torrents is empty - Fix history not saving with the proper URLs - Fix the HTMLParser looking at the incorrect term for seedLeech Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 8 ------ Ferrite/ViewModels/ScrapingViewModel.swift | 2 +- .../SearchResult/SearchResultButtonView.swift | 26 +++++++------------ 3 files changed, 10 insertions(+), 26 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 033331c..4f47f07 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -307,10 +307,6 @@ class AllDebrid: PollingDebridSource, ObservableObject { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data - if rawResponse.magnets.isEmpty { - throw DebridError.EmptyData - } - cloudTorrents = rawResponse.magnets.map { magnetResponse in DebridCloudTorrent( torrentId: String(magnetResponse.id), @@ -342,10 +338,6 @@ class AllDebrid: PollingDebridSource, ObservableObject { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data - if rawResponse.links.isEmpty { - throw DebridError.EmptyData - } - // The link is also the ID cloudDownloads = rawResponse.links.map { link in DebridCloudDownload( diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index cc844fb..0da575c 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -920,7 +920,7 @@ class ScrapingViewModel: ObservableObject { ) } - if let leecherQuery = seederLeecher.seeders { + if let leecherQuery = seederLeecher.leechers { leechers = try? runHtmlComplexQuery( row: row, query: leecherQuery, diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift index 0e94938..5e41b5a 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift @@ -28,15 +28,15 @@ struct SearchResultButtonView: View { navModel.selectedTitle = result.title ?? "" navModel.resultFromCloud = false + var historyEntry = HistoryEntryJson( + name: result.title, + source: result.source + ) + switch debridIAStatus ?? debridManager.matchMagnetHash(result.magnet) { case .full: if debridManager.selectDebridResult(magnet: result.magnet) { debridManager.currentDebridTask = Task { - let historyEntry = HistoryEntryJson( - name: result.title, - url: debridManager.downloadUrl, - source: result.source - ) await debridManager.fetchDebridDownload(magnet: result.magnet) // Bump to batch @@ -48,6 +48,7 @@ struct SearchResultButtonView: View { } if !debridManager.downloadUrl.isEmpty { + historyEntry.url = debridManager.downloadUrl PersistenceController.shared.createHistory(historyEntry, performSave: true) pluginManager.runDefaultAction( @@ -63,21 +64,12 @@ struct SearchResultButtonView: View { } case .partial: if debridManager.selectDebridResult(magnet: result.magnet) { - navModel.selectedHistoryInfo = HistoryEntryJson( - name: result.title, - source: result.source - ) + navModel.selectedHistoryInfo = historyEntry navModel.currentChoiceSheet = .batch } case .none: - PersistenceController.shared.createHistory( - HistoryEntryJson( - name: result.title, - url: result.magnet.link, - source: result.source - ), - performSave: true - ) + historyEntry.url = result.magnet.link + PersistenceController.shared.createHistory(historyEntry, performSave: true) pluginManager.runDefaultAction( urlString: result.magnet.link, -- 2.45.2 From 0d39fd481a9cba09c2ae0ae20333e8de0b94ad4f Mon Sep 17 00:00:00 2001 From: kingbri Date: Thu, 13 Jun 2024 23:10:30 -0400 Subject: [PATCH 49/59] Update README and add media Signed-off-by: kingbri --- Misc/Media/Demo/Dark/Bookmarks.png | Bin 0 -> 216655 bytes Misc/Media/Demo/Dark/Cloud.png | Bin 0 -> 205746 bytes Misc/Media/Demo/Dark/History.png | Bin 0 -> 219754 bytes Misc/Media/Demo/Dark/Plugins.png | Bin 0 -> 143500 bytes Misc/Media/Demo/Dark/Search.png | Bin 0 -> 551799 bytes Misc/Media/Demo/Light/Bookmarks.png | Bin 0 -> 210568 bytes Misc/Media/Demo/Light/Cloud.png | Bin 0 -> 205551 bytes Misc/Media/Demo/Light/History.png | Bin 0 -> 215289 bytes Misc/Media/Demo/Light/Plugins.png | Bin 0 -> 146380 bytes Misc/Media/Demo/Light/Search.png | Bin 0 -> 486377 bytes README.md | 89 +++++++++++++++++++++++++--- 11 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 Misc/Media/Demo/Dark/Bookmarks.png create mode 100644 Misc/Media/Demo/Dark/Cloud.png create mode 100644 Misc/Media/Demo/Dark/History.png create mode 100644 Misc/Media/Demo/Dark/Plugins.png create mode 100644 Misc/Media/Demo/Dark/Search.png create mode 100644 Misc/Media/Demo/Light/Bookmarks.png create mode 100644 Misc/Media/Demo/Light/Cloud.png create mode 100644 Misc/Media/Demo/Light/History.png create mode 100644 Misc/Media/Demo/Light/Plugins.png create mode 100644 Misc/Media/Demo/Light/Search.png diff --git a/Misc/Media/Demo/Dark/Bookmarks.png b/Misc/Media/Demo/Dark/Bookmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..511d323b773601785a85ff42c921c48bdcdbb84f GIT binary patch literal 216655 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 ~L<^jbI&~E;DVfr2lf}#1aHpxU*lXl? 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%0D&`c@bT9 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

i-`=SK+K9WwE!$oxed;)UX`U`XGm$BxUH z-$U+W7B)u&N(a`b{U#B(AQx=CuSL=F^q${zzv9p4;FI09afiDprc+uLX zwbY%bI^37;ewJ9Yj(Pq}6Qt+QI?yx$XtrCj_{Q6HfORH%&~I;VTs*zsF)(FgVe3(E zW6tKuNwpwzJ6TyRE9C$(f(WE;y?9L&`XQnnq@)#jd|qAn+#~UDBk$_IyjghnECg0d zX4|Oj0W3SS%liC;^WOQG3)2D(IQ?kuhEoP6@{`SrA#cG6?dE>K$cWk(kBpGx47|9Q z6x6Vh2v@gr&h$&_V`H+axi2Sv$tzXJ$)060LhwK=-QzQBeK3c@Q)HTgyZwx$A7Kxm zw0sW=SDf{b7r9{jWUP1loig$37YUetkh6AvhN$bi#SiH=g+~~$u#ocP^UeqW_um5| z)GbmL1Fz6@#llI0CPX3{r%zI`X6Dq_e2a=+QvGt@wF;@UCfDz&;U#rka#O^y-+6;{EYk39npeq($?}LA(rjNdIjodwE zqbe7!V^AhlHuem zE)_OEsd+HLd}xA~B8%VgR`~?Z$f@)Zban%d{T4;<<IOdg2GqX<3#8dktwN?@-<~6-Tjo)3g z%1fgCsOuN9{Lhc*RH+-mQ*Aq9eS5#3=D{5p_oh1M=WqJ~jDUGj*Pba5=yaYhOv*ri zEIU5A7N;of_?>5amYXz6h^rlTI&*?}g;v(-z6sZ){33U3w%5w&&#D_+cq1lt)u%(| z&I8(QP$Jmdi=7W}Di zRCns|d^MSu0C`arzQA%a@B}*cC@FQc-e1#sSW;qBJS�wR>C(rN?kUe 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%0AT0!KCiJf=PYE=6V{A^ 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�ohDFa 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 Gp#KHScpd!! literal 0 HcmV?d00001 diff --git a/Misc/Media/Demo/Dark/History.png b/Misc/Media/Demo/Dark/History.png new file mode 100644 index 0000000000000000000000000000000000000000..7366970f36ac81f799245c48507e615fc43a18e9 GIT binary patch literal 219754 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

Z96zZE^J9K&h2ZJ^v6 zjo6`A-L8gwsrNJ!U*xHjHbP(tgk3b(cj%GX^m2i()+YS#zHfBI@TLemxD9pOwfesw zLDhiZ`kHOk!NR?{hB}M5g6PPE?UoMqz}$wHhWySKYjR8}eSg>1%~kSR&5zI6`9fm% zMj1xkKk($3+mD(kdj%+|Q}Sl)X;#KO;`&(qfI+tI%^msh9R9vvO4cB}#BDiuxSQ8( zDqyFCLE48OVg%ej?tusLs?Uj1c*Y&z5tCnI4u|+`wKQL>9;WozyV~*npG_&)g{Z1u z<67I;2+Kg*b@F5mjs_N8cnZbi$k|5ice>&2VdRhIT9Y>u;QQ-Q>aaqDncn0&KZrM& zRI3tsR<8>_kq>>|qeG&&f$0Y-%QOJC;Q(VGy#zPy3@3w9Q_ds4Cty;V#Tv5<^s&U) zg!#XoP;e7-BAPgBb~?gKj((zKq~=Jnxee~-gs70Ww~^-i7RGglm8P3#etCA^HR_|@ zkhk>2Oz3;{F>YwA!9v8JwfNB=3-Ggq^kXjxQSP|1F9}>arWMDud#0VRT3>@@!3~Et z*{xKyA3Ichq#b*p3vEY}YW!=Hxk%(h(7@5iLIMA{VHC$<0PWY8qI+F)IH2t28A>M` z90y!x-+4{Hl-wo9@IdQ3w{Ft}zq6C2T@xqvPm1KLoxB_%!-?JN%Ak8z%BaJ#yvH|* zGkHU7ztOlLT9fZ((w_KTBF6Vob_8`E`rcSXa3^bey-c>}g@370|RlhVc`E|4%%Uu3#7-^oF3<`Mhs z^AiQPIhR0z+KwjF(+p|fE_d%1%H*`Y`^HtDA&>wLZHf8YJ2ZUg`aD1)H;R+;-Uxek zpJ6BLw&uORuD?9Nm8IXK`*6t{d)Re)>yeqVoIwE7eGltdh;Ik~*T7{_8J$h&X3NFJ zb(^m#M)m%e}jo6h9D5<|E{!x)Sv^v~7m3RlyupXaCTqbNu894``DcPZl ztc|yOarK6(de=_eA0(GfP8g6Y2<}YHw4jel$|irBj6E>qpBlgCzrVJ9Fgr1qkD%(P z_qAw$eTBJwyvBmo?E6^^kZAw7=5^4$c1}G~WY8PGShq=j9aUgAadPM`b8P>oBf}W^ za@nZbWBEnFvw}DnvbRb$9eTK(yC7TJ(4)e7SShtPq&p8tmx;h+MG0)*ykPr|Z4M!f z?#^jD0(MeAffF=j#2Z`1x!pqT-nCqyE0=h7dfX1iryGSwM=eIx8+*VaIfg=yv*-1;X_rrCon=64z1 z>A;b?I%2DycWbiSPWIMj%-tIO`*8kxkgEZZz7meof|UuU&jae)7H%RrsX>m&q5?inJV;?s{Xq z1-0`A~PO-~KdduYZL|D~QTf%)I0btN{%{lGc zAkpcUfkdABe8+OTkn^N2!zw|y;oguz2_UKsE`mY0HDGW&xntG0wn#|)sEWOpluw$^ zuRay?`DwPz)=bO(+Fj9gNd6?S+j&3k@|`RNH963v{+4{*W~4Y}AVSblk82gq=8?0`*%v@YDS*^tp~WN!T#Yb8rMQsn%Cl$_;Txw~>GXn#%LCszn!0 zikNPuQcIZ1{>Jh<4nI}E0PI@Bt&OtEou5>$O`evmVfUi7V*%4r4G3PBjn05&7|q!E zi`1e`BfG?SFoXRt(FjgTJK{~_D*JiwCKs|lu-$&~!Ilme0A(+*teT*lVugCdzdI%7 zPK*mX6tP3r@wp*~pqeQ*d+0a3lUY*2`}KE#J6ghBHW|;otB0=9I!siBK8vIikq#eL zM%?}SqU9=>ooI9=sp@m*0ZRWf;V>}ta?e;N)O!7r={|GP-`)Q5eg1_yH8<@Nl&qZm zh{QRU(U)!b6)m?%!$-1vX-Mmg-il)0Kh$3alC-xp+XE(NmXo4vC{)$kDw*C|jqpC3 zsFQ;d%L8u85D2gJhQhUhEgvFkz1+4Ll(G00cp8+rA69Mw)oLso5R3Ud6I}T z$e>%z=dO3m#5^H7p&EwqS8#>ekL%Enr3$>Kkx{jgALM!%2s_I8!-Yb3(z)!?pSE%& zYqbte&ZNX`)wc|Cr+40qN$9bYYi(vS2^{WgzZLs`kiWz?L z9JM_P=&F5p%j&nURR{kX8vIE>z zdOCY6!`&A^8WOTQGmiKJ-u%&{p$I}%?K1t)>d%7rT{Dlo!vW@gA}&WPkjJh5AqP!2DKj&PyNI+OXtj42}Hi%M$;OyS)k z2Ay_@?(Mn~+(RDt?$XnRUs|<~O{n&kwq6^_Z9+U7!En)5OeFnm>imqlD(w@>wiYny zBK1|nyB3D&a)x+);pdDe{e{qOBstqZq={5n-#SCvd=k9#XpF=-7ZZN1xm1~f{xy2-2*T;Ej{^JX~RE1(vb%WjZ zMNDL;;(3dd&3t`J-9`el6lkK$D<2=n1s=AX4^BLwS?A52Xzxgt+iETik#7@>sRB7m z%LBP-H~VNDh#5RAT_Bu$T|(L^dgIm32Z`GYB7HC(SX5$+11`uTS~%@RsP&LFYmE?nb2w{MgbM*0%r9on@i zVYF~|mL72Monw0z`x_@P+18ia+>muXo(Gy1^>a?XnhEK`G4>tbaIR}9QUG9;5dZKl zsR@)Kr{oK3W*J`X6$ENnLCz6}vy($Xx4HY-CS#1sMTvvmD(xmABDhstF>OScXFBKt zZ|*k@PkMHzOI0t4D~`x+w)Xep#$=^ z3}pM(NxSXt`?U?*9i1ubGnM9bs7o5tg?w*n|MCL(K++lQ`PVKXUwh>?&(c_Aw?#E4 zoYy(V_QmEZ0g(S7u$o(*3( z<^P)guHutN0m}lc(pK@u&h5F$87BnSkUiKJYVh>(f!4^h;`XpcKN61&7z(k(f{_f= z&Gc9)$WJBoBQf5ztyxg`8-2JD78P{H=(}u0eQ3RbQW|JYH<=lDxL7tZmU9}`X6^5JM?7M;xGhnLODNHIQR4YQ2#Fx}*%d+LmPoBsUMmsLhsjBCIXq?_Ol8AQ+)c=i| zT+@?BP~n;gaS~pufaE0%9sjXuwZur@>YL{_-?2UE&zj@2HDjygk+}>Qpea^br-zG( zZNS(|J@=6QJW+R^_>O|(prpLCns{b}3}3oj(?1QLf>hT238f~c)9xy=Bd;pi2NO_~ zzy~j@Q4rERRlG-2)e=LwG{DhbLmMXTzt7MrkZ!+)3Opr7`&Qog8-rq5C7@1}usA_F z9ol@4E4E{rXNY2yyXPKJ>bx%>M`d)n_Htng0W~f~OTj;859^Z8Zua%oM(oiB9XCp@ z&&@LDx1T*C$qIP3QK7xCv#@b_luHL7a(CI)WCf`E6yhgxp0pXS4CGdR1Xek=Bf#`a z1Yz$5lwh>cY49PRoKqGtrB+DVB7*t%mAj`0v)bFBxcJ!`8JyO!qKiF=jL(_4;TiO@ zsHM+$QSZGv3$QF|R_-jrLe}In_>N9c=}lOlH-L|S<%>D;wx2_^P<4rN@*LxwRl^EiP*YI^r{G> zNMKjMX*g~!G^v5HZe?&{qqZ=y{<+7z#%p|ud-K|0F8RjBk3pr7Sxui{*zwuU(9^b) z_6N&`l4k_$!TW<7mbgj(=o&w;%5^C>mF1et;E;vw@p|jXGd!)`NN7+b27GA8J-udTS@?g2swIf9*};O`k3Z@gg1kt@-6y(Fn3xpPuKn zt=|ZyKzGbOC2>lK**?o3*JiW36x-S~mz@Kckinumbti9`17kpJtnUcY!98tB4i2o7 zz;+8DJDjFa@ZaC?2J=PO%&1Uzom%yqo;!DovDXmP2oj9pd>xF(L;d2iOXTKMrb;wp zJWm~}w!76%YT_K(JGEzI&Y~TNhZ7L<<;FJ>cf6$ak@+8euJj>!%(oNhlbS%yHNT1W z{$Q3V{KfTj57YTk!u@0+*J?@n%*Oz|dcw0dQI{`46;nFMQRRT)*8*lbab zaC?#FVqP2L#p~|bLGKwCc#44e6>Hz(?PY50!=H?;)Q;egho6avRrxzM7LIFCP& zRZ~M+%{0*o@#+c1Ix%ziZjsgx`nXQei##vc_tgu(F2}$PTz*9{%dQVh53+l`9{hvx zUw+`CR>QSmm^eb^8=>$yoLcfx4^JS<)TAJ9t|PY7c;4sKqyNF-i&0FJO|xx%=M~gC z{Ox|HT{!wGN-b}-!mg9IC1Uoo>tnr|GA}7ad4zCCZ*oukcNN%Mv!BB5AU_g*`fx*} zRcRZ#HMFpuHWzYfR*B>|N_l%fV#GIGd7@oN06#le@cpE(K$OI5b{AvrpC!^wq3uBp z$py}(_u81~?k|tw98?VW+KA1C3@l*Cn}!lw8bRda()ezP$D?m~V*H(rrc@r{RFU7AUR@1w@Ce7HmOJ zCfsW3r)mz{6KP|v#4y z`qhB}V=`{)TpnAE?ljG5ZUD5$p9fnMT?*ey)^|l%S-;bat@vtJ{{Rv_3dIUSfylp} z+ON029uBl-oj+8g_i{?I%O@wZp{~4EJ#Wwb=?Q@vA=LMwp9t*7Q)U=f8hIGw{bd@J z%`Pbcwnv$e@dudTdW&?ShvrcC3d+WfWDYy1?-DT0be!3NR$TE-GfWrLZn2M@`=mO2 zg+Q&q&sIpHwA8FlHUBZA(CEtCOR|r@Lby3FKLS_QtKYUK8kjo}d-llSOtX~+9`sXj z;a$p2J_97I**@0|DX~p*xL_lI zJ@MTRO^7A-Npd=p$$=3-q#fH$jkYi^3!cm{wB76Gb71?v7@de56BAErv%1&0$YUb? zQY)qWHkiw6tP^o*AX;r?Vmq~vySB1V2LQ2zCt4OeYEQdUK`Y-kq5>S&JM#TBl6fh} zt`3*@H}py#6RgYXRamRJ_fuO0a010;W!b*ws?|c8u!9rIrN7jiuBvZD=v~4aa#;Jd zC6MCy-4^M=4=JfUtK?Wmjg(DQ22QMvIXLE-I5%`x0lj@`jXI&{QLn`jXhH0};DZ}) zjnsf8tpKqYylLr$IQAM1u;0?d*FO@_#6%!wKIQ06o3fUkUgs$QA%!&u;BF@Z+ugMD z;`L&nlzL0fI0sljl~h~r|9YHRZd|$uVHaK)d$+xTVSbPLrZ$pOQjl@z5%$3FW=+Or zNvc(D<)R!6Hp8jAOjaU-xrn(4^OT8c$9nwhU9U+nNLpuTEwlt(NnGB?u&V)pNU0oj z=k3iWem{gtWA%cFX@Hpq#CNB=TG6DMNP~=CGzQ24pwO)2y^RT}-wVgM&19ewZvPp} z!PM(}ybiHm=<2lwMg2wGySDcVA;g_{$r#k)s7hp=$(9|Wv^x_XVm*-4E;}(;45_#9 z{Fqy}xxoe;{NsT8zbH4|>2~qOr3&65A{_K>5rnyOW!5r)N zvOSJ{;e(#O==sS`bQN@>_40j@WZ=>C-Pu4Ha!2IFkGfW0dUii@wZE$13k0zgeFE=M z8mhqbKvj}vU+#Q8E*}luxZ5{(j5^tldA*O8b0R;W5 z63M$H4z?$vk6w1l7LIAjJ zs01#(fy)o(S*QwhXKK{jS;H7>hWup6u|yI#!k>fSF4I{#U3H%Nj5N+RWT_Qh{TX z?0!ALP3KifZg`NgZ9R?CPZlHjXC4LqV)?$y_}3baJ2yy!*_f!fsiZld5(nobh(|II z{ri0tf71l#ut*la&$)mxW)q-XBr;AKiTgaj(@#w2`L3^l&<&!z!>x=A4(7?V$@axFgM zzu)g2{{3cz-ERE*{VaoLNun;9x6={bz2AhSQs^S;elM@{Dubpl^zWsFe`iJY-@h_g zV>{jl+_=mIUYNkau768a{oUYCg@3b@f-gmFN&?pb#~Wdp;QJB@PzZB_@9X#C^Z&Tq zoWWL7*Uh?_xvi zt}$ya3O^f{MKdt|>oQtiWiUENxW@Mys+p4a-|TbLC=<|GAqDe^Q}?c$cmH*f+?>V~ zB(~d_Vzb-&ZPg}~hJ4cv%P$aK!oL>bUl`|qy^bi(RG|Fkzi!um-;ZFn(tmxAzv@8)(3k!1 z-~8`2`2XK?AYle+QC8!2*&khGgG>~N|IbzNj`xeh;2XuV7mBMYESy;%-zATxiWE_l z=?q=|e^yGIPEaXC%@_OmZ|LryZSICY9$6L3SNwmMBnv0L(V2J19{AUh@Skm8ehvJt zW%A>#|FNlog&dp%3dw|o{7Ch`$3g%6eL2`VZ~MEe|KF^e|Ngw-Q_Ab;WQcP8-E#bM zaQrX_zgz3(y!ropH?VPoFYv!#?q9d>fA8G?K9>LATXSx$jjHOJ)cCj|wP>bjjrO=) z>*;Ty14RbTqhDREY8hnPXxT587Ts^Y=Zg}X7%~O0@uI|gFl6so8?BVt=}-Ob7m?&N zv*X(9J-JH~EDDWg&gQ>Qf$rut-mUCP zmlB(x5eE{}tG9ph0Zb$TFn&@bP5^i-2-4X2-L1sH0%P$aI4baz_G)QC=R`zQY?Ud} z4P^rMgrM)XVtXv>+eLd|M8ggwb}`@IUiVKD2$sK3U~2HmJ{N<^R)(I7p)u2b+g-t;hPjew-W8F@G4an-bV#)^^BLn?P8_?&3l>;R%{R`6< z0pZz7fTn3>?zcKpt-d+gz%V~j>>Ij7ZNR2mX)7lAN;TCRc-rQ=&66s@OIX>Hg3zlo zQ*fN>I@WUzOv;`XIRPwsZaM#0d|M8Pi(S)A=L~JTUCfMbHI|+AeA?9SVFw1kqUVOE zKt&#jDak53(l`R1x#{$Riv~ff{d^j#q~B|x6Su#3ts6TG%n^&FwOXecT5y;1^4$x& zV)%1D8IvHj>9kld3f_R3KWuK(IJ$MpLf_^jF*$5%)z|{=iHu_Ha}-9SzZGa_`eBnv zj!ajk;6WfDMH^_s?p-3KN&w(P^W_KW^`&dR{P;73?L9b)6eTDG3RQq(YVMOy52FT( z7pkH{jXp{Qj>8{SUkI->q^q;jYnt->gi!;tXq#`ZuNZa9{ysb6F2(K9EMfaK2})*b zZ*6Mj2Czl!A3&5N+A%+FY1l{>9cl|5QwO_B60T;f|}J0~!WJ~Ml0MAzfFdheXz z($(702exBBj*Q=V`U-?-X1)RuN*n-V+V)Tb!tKfkMk!uPvQx9w{)6Mr!XWhatu24E z)zz}n5mzF=$OW8%_}-Og+Q-}S2n`Sh9}h4_vntQDdl0iR;5a<%?^6%+&I5Z~@atPY zGoBzn339UXyUr*gT<<3FS@43U_i>7q=3By=*(eIFl5E#vaB0d%AMzyB$IsUeK-s}p zbv=>7jk`aR82SqJZ)YF2{@p|!5i}6p`isoF4axh?)ThEU`km7UUQg0Rg+uYDEivvtd=D~LRca1z`MUD;!&q$)@6WNjDD_Ul6PMa+-CwDG8m!@KTvdg=kN zxn?OVoZ);IvudqjyeJFHNC5n-M;`J|;&fSzN>%JiQo`TLi(}OFWmUd$@-gwY8|MWw zty~z>A8;+dr3s$B=%01eMCTEhiuexyl>$__!t=&&X?Q=Y1*LxX{bN5^cmcl46NN57Q<+v*w@!TDOZvOFu(QZW`1NHHI{Z3CjJ=FdsQN+~)r%6C?!jsR&VYrD3zdbs{-g14=s=&6L+%L~nR8_W0 zbnS$&?O4lSPejlwV1K|DN=m&yWZm;oq5^&%*c*_g&4$I*%9U9n2)7Q-uIe+x_i)t@ zDtmLa<!Tq_r3t{Ro48Epyn2+sW^PzE3p_6LF>1Omob~8VdOt2 zD{M&H0cuupgAF264H<(H#hsBE!eLwy4Ry;xy}Kd=0a_73Pf3Jatf$HY4&AK}{!9;i zd7k~5ya~z|zr1_<=UT0nHf5CLQzDQs!U||I9?w(=FSIAbP5aAK_68fm;WqjR)sN?3 z!!pw^HoSv3oT!un5kz>1lzys#^=_<;Fa87Gq|9_QQIu%E7Cc1Jw=i8j?&ki3T$6;l z;dEd0W@mK7U5?BNArF^cFxu=m*lG+3c*zft*^F53n2-2}h>ha2L0PGNkumr3;CJAT zV%L4I#gQwpEWZPX;XsIo#DO=|&@t70cIzV10A3z-lnzqOgJUjXQIX@BV<7t?6wj)> zg9&DQ!QldiKX{&ifb4*-tagVZW`n#2c&oiIp#2YN`edxs&f;|CFO6Td*Pvny_yUHXI(1$=mCL~M zr)GSk$Lr2zAMdvV98tr?MnbO{2%HP8gxGXuYOe-};^S&)CEOCM2>1M^Ll>3WKL1o7 z*tmoJwhR_mA~;r3XGI()%T)nIPgqW_%BcZG@hQ!w{6)*$H&Q)7oMmo@^CI(rcPj|L7S?inufO!^ z`b+#^D~dwab49o55LcTKVjl=s+F>ZOKu`A1n|8jpF8X6Xl3ssPo~40^hLy9S z$6GTRPzwZFSsHVtZ5n~AT~@T%Ub1cXk>+mefI105(~|Z_9KZ#J8_%&Rf1o1-KPi70 z2+lzFVg_z)SO*q21$XX#vsWnAisfm_VDkBW#~1u|J^a;Uju}r+jF~r`Haj?Yyc+`= zqt{@oC1Og5j+t}-zVZU8^tSm&{+%Q9V%>bytN_L@+YH!=#*~qe5l#8pNjdb-P`SrA zZ#Kmqf%KT`3qCindUFR`vp3!QN*VCO(xs+pyobL%f4jPIRG?SDpJr9S@rnRbxL)JL zWykxNY;W5mYcv=herOhMP{SpkogF)akV@22*%08VrlYk^c*FPX3a8ZB+8;KMm(`U< zEj6J4h0xuU-tRJSaLQk@JI+*iWDUqZ&zbdXG3q&TDuUd6m4y8`M||?8h5N;HHyrb3JX>8u2r@+OXg{r$K4o6#3B* zx4&$fm=vKA_Qz4T*i;-~)?vd1Uzzu+btYBU);=AvOn^FXlB1v#lB~S~QPQk3+1gi^ z`#v=+E_}kXmBRTO%E`nWsj2+n?d^jfSsSgGO7@viT{wacp>nK{kY>!SJR;HE%`Z0g!UsKsr2 zcTA^<%W%W-tSu=sTxyxj4Wu9DcyF46!Txnx1S?_WtS9Qnb~S>Rbl$IO`@UIig7i+; zpbk0^=J>S9pdrP1a6xou3WOI#NXl|TCqv55G|7A}Txoo065Oym(3feZvfKVfY}_S8 z_~p>glR#QQYx_QhH9|(Wzi;Ui89b32j1_4sDPN!NV5jzvW}9Si9)ctY5U$i4iF5KE zEw_4$)`BIm&x#mV+IqIR0@1B#PE)1TqIehE3eK|q z#1N;=+ctQJ^oCk+@t#(gwboD4i+mT?_d!vc6Qsaa*3AwI;MT#GqYfZbnQ7oE-2s)g zkTJUip&Is^Y6urJZt@p4L=}5=6}W_iAI(}KTZUd;n(`_9EOr~Zx;EM_`bhxBN4RH5e#a14bihR(@7 zS;2s<(D%`FLr=FfrcqZ-?k$HV4YP2V_0%IdLXoefC7QZO6C`o>y~ihp&<12;5w3bZ zyZIN$_w1;0&<)5qu!qbpi1e2|g}ign1`dpAFwyCJ-93L9ngIPq^s9OLZcp^tioY4y z(^*rM;>7S*uR?xFi~k|-E5;j_%~(uOYszA;6j~2%A9kmU_+*)p;_VUYywABoR27}m*n|b3GmoVg zMvR%dG4^H#U;ud=VrIimma#-5wx1)$0OH7(0?y^cq&A2k>h zgu0FNEfLMQd{H_XV(J>Nfp>HvJDv^arB7U_i zx%c=;1_^}apqI>conRCx?Yt(jS+BlO1T!%^Yv+jXqN@HxY;^0CZrHVJ*ZI2t)jgW^ z<5ow>;YN&*`!(D#cV$3!O(0-tE<}f7*~iq6QbZtF562_}d}p`;fasaPtDl49f-__g z{DGcw6Q&}rGi>fBtc>~Jr1StaW+{pP2LnH*@o`<`P!WbDho0y7EH+~j4M+FC|6J)R zB>i-^RWW{2TJG3MF59H3AuxQn{vEQ}&+UxqDYkr)F zLp2xU)XxmAXP<8f$LxZ@$U~x7P`*9)QaA;}Y#2eDAB7(nKhtSbNJ_BOHD2G%Gb7ah zB)p1VtI)^=^l4j5b!WCJ?j_)dy6nv$!dUcKBe`dR{P%H;+O)9W4 zayWum$b}DblL#&BgocSVc*4GCUDR2JF7aJRN&Fs#TMP@F@*#=cZKFT!IouuOltp0t zU@O;&(xv2V$!|L|)}hFmBt5)yY#V zaSH_(8@<*yc9&ljmM|jxOVQbh&+dDEaW0xQ5w`!$K%qv$3B_#iq7~RC35 ztL(YyB2f8b&dyedZjV&QbGD~|d2vcC?)>#rO2EmMA|mMBM!^{%0cVVR40dO1W`ou~ zqf59wAJ8uy$d90M*C2_xn+B%>ZBk$I#+LUa?0Ogm6{p6)KGP5_vmb`9?A`@NzU0>Q zAL!+W6*{$8)W^G=#U%zz(UvCec`1x$p-ulC(-FS$L|Vk!?WfFDe& zz>Il(3=|0;04TCT{?(Xm z=Ly>Bh>^E^B-d(vM0ZpBE*^-WyW%Eq<5u=^Mo)Fx{L14{`U4zff%~Hm9G@DN4HsG1 z60w|ZulXLzOE|W`^zVqS)g0c|g;X+>C^6FB8;wB4 zt@mfY%^txI{Cz(jr5X*ejG1|R@@uV47y?r;Sz1x2*I(PebFs#jJtZR^i*H2ixeL$& zZ;>)PFYFDG?Ut2X_t{=f&(WS`lic%b0zKiBqqv$k1p-oD&OaQEv%9zRu>5 zth1nxu-Ht*yZNuF$5~2%Hq3m6!HBDqS#_d zKrl8|j_@(4TD9WJp%W?euZ=Tl%icskA&|%Fpnze`g8ZC56W!8KThi)>P^eCpMfN05 z+`}zb_mlGRdx_v7udO*fyPEJ{7jYQ|OZPIqxwFX!FY!HH?-j&fNGyQ|Bpk(m_?A7B z$K&DQcXQIM#^#}oXYW3M5_DcDXmh=K3hH51H&ndgi5b2Lfjwu3T*{i|ZrO<@*=*7V zF?0-KSbek8hL;yQ=yLQit6M;4=6xm_c~tSNu{0~n?)Deh@l@0c0#C?bJ}{4ossxB; zz;Tvl{vP#QicoqmH6!)?gdD58p#v{ecFe1x={H}0Sh%k|6+iOJHi}Z+AJpe5YGYXVuTDIyvzC z3>G0U(n+~eF3U@B#so_>QWAw=*M2D?mXbc>BQKIKkv48U)2@S&F&w;-xUpH;D+!O> z#B3VvEGuM0&hl@8@ZGeFEJgO~MN^++g$ylAb^`a9bRFh?KAlYa;Uqg;R%HK(NoFNL z{X;`tR)Z7c95&+{G} zbCP!957ycMh{*kgkhZZ{lu2L0eD)4!+oXqW&Z_MmK07q`UR~Qi?t}#PPxegh&BMr) z>&WM#0Z2te0k9K(#*r2+`82b)sk;I*`w1M{&|{~ETB}-6V0IQ6tZwI9`z4XjV)8O? zH#MW-FLfZhP3*PAjMN&UUtahr`@38=REvawJZZN;`RFw#w*zYv0U_!6CGTSQ>=N-)cGz~RH_P^F8LStHhMn@H0ZX&l0`)VL+O7>@in`I_S(*aFIu;OFm!QibJ9xim#Cd!^Ch>%o^=NqJH26xa5nht zJsax;(TrWpIF?7F>}(sCJRQX-b;{$_;I!BS&+%A}4`!>LujQ0C(L+LEMfTK9K(Jpk z8Vb3~@|*E;--AlGbZeWb%M6bdEB-)pKc&265gDKBWsBQPcUh%;cl!ReM0afW#zdpo zQ50F6KWDZ?$LAc44B^O{eht0@2AF1ws6`2bPf z6+6L~3GM;ecmng_!}hugu?dg(*=1D_Bo%M(&8p*e6;IEXrNmJ$Nq@KZWA1+T<#&5N zEipGok(lq~@v69*k(Q(-?i4r0;l3E?Af34V^p&d7B{J9ZyGjAQ&-IOEeJxn;=yTi= zjjnnp*ZZvIZ~}cU*Cx@KCRS!8Yh*Vt?LV=OGq{`nh>T@4MAf+Z6r4;tlm(g z&hMT2$mQVj4~zx4|&lFxW`AgA8h7WSuMwpeN)4xHcxIZBjDr6q&`O>?gC4N z#j`VL%%k@6A3;aG8lX)J*~mjbbPRgfDRp>Mb~yAE5LquxBqugsI`K^Bdcp$#lm4oB zuTlAxQ|gzZ6ElpFKs#azGiX73h4fa=3(1Al22VYjN7>JO|K)KJ3y5$4dnA8FNb0PA<@#r&8-3uI9qk|8?Q_^{B5V{{N` z0}^uc`A2tNNbVE(1vVglh`KM>1v1~<*v#wqj~O&%2$tpK8qX<7sW-8)p1Dl+hOc!ZHx!AS#C2hO0Y$?W#r<`K4h)|uMB;tKv&(&KNX zYhD5og}C4DXYI)M)O-t-4=OJKN~XST8j+?d+LW!q;f{oAL+fPW~kC z9_=wnwN6TQPs#Qh=4~>6{YximO<{X_P%*7v>*NgLER)*Ibu;ffzn7Nb8nG)IKqh@n z3ayCkms--#QC+zf@Ud`e^%H)V*<0X?Nl0WCzP0@8Gk(Rs!IK5WqZyRK2qxj;s~f^Ljw`LYvIjYQchoqyN_=;7A=m2N@npHF(-(tQr5-{t@aim`J> z1{hz`^k0Zg1oF+9Lr)X{L|(w1>b!afXYaD-2N4VM0gbiFJaC}q!UMckDX@j2vIVSN zcYeGC)elQ$XBOcgipPa!bxBrYWKpM^aPX!NQ?|}N_NA@jwdM&ABB-8E!$w{|Q>Al~ z_TG?gdkUhFMY0g{pYn7cODMe@DW+Y4Ua4saR36hUF~+>H$?_d4)a%Sh6v&&5mTi`5 zBUTfR@8F5s70#K#`H4?iymM3YBjG|)t~Q5|P~`dz5dxI=27#I>kpt&%=lb|3&O?RZ zyz~>g`EtM_1*D2(T2+5~WU+lsSsJi~ZN;b^2^;Q!Zad5#_d!t�}r}|H7i3A>Dew z$I}J%tDc%{eX2z~D%*S$x=KT08)3J*wM+MN_c7h>E~c;-3qA5!^fA;ceDjNV%X*d?RnnI{60iWF^@v=#-|K|CFW*QuCZM9Ou!}gh%8z~WxrFrs^X@1;>?^^K z3SDE!x<|Y2d?TE62-e9>4A8khN)>jvwf)H~V5>z3xzZAKs^j1!y@{p=`_78^h&4hD zxw+?pM&Fv3rs7_3V&8yRL^uopfP%ef5UPUh$97|R`--9>Z@!Gl1ctV)2dbACjBLH?qashc zoW@Yy<KgvR_a{Yc`m$;T=dil6dH&3l&Sco*kI? zuHX!YTpo2DydvdwSpzonBqTzYSz<1Ln(WqZwkM$nmwm(*F&i9E=Mj*$LZk0pnWvTZ z{;U!NKM$7c)H^%vUNK+};2*$t1vD&XJkAnJco$ct6nFN@A-A$eQbRd{2HKrk2DC2# zJW;I%RCP(jqf(Ht*;}D#k{JxF3(As#O2`hSxV^Dm2}C!(fPXJkg7O*$zV+1%V`d)x zN>OMPXlZ0>Td5**2g00m7`>{Gy|w*j^U zrkCP(mwj1P0)JCDd05kYN-=~*EggshHD_)12+%PJ2LARL)8kij9=GtB_C>tqjiASU zIss-RQ33J3ww+W{t^>ehS6z@fPJ1H$&|gMp%0l+OtMP9b1TtCA`B>zWAt-m7&|naH z&g+1DmbPfOhZsween)f+96bXHh3xynTXhq#Qh|C%=N#=EU);paEcD2m)GEq2lyU_J zS=9-+68lOS%fW;sl4qAOawEua6Y+^<=@ey`nI9}zD+URyvlo&NjmsR5iq!Q{cGhob zn;y8(4O}ireIQC9tiO(p%UB^Y`oLVHk~ zf$vbxUsgxfYc0)!K{w_kt=2WFzLx4(DnRI^S0ss$cc|`%0DS+~4(m58(s8|rRhF@{ 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

5jo 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%0DkbDGYxu4hZe!+SW}4!kc5{ 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℘ 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 literal 0 HcmV?d00001 diff --git a/Misc/Media/Demo/Dark/Search.png b/Misc/Media/Demo/Dark/Search.png new file mode 100644 index 0000000000000000000000000000000000000000..3a25c14e3a064cdb3b69c9bd6cda6fdec2a40520 GIT binary patch literal 551799 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

2PHB2~g&P>9JD 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АjLI7o)=U$z~6D7U=%QoQ_sp>{c|i08uYq&u_@) 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Ⓢ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 F{{zb?r+xqc literal 0 HcmV?d00001 diff --git a/Misc/Media/Demo/Light/Bookmarks.png b/Misc/Media/Demo/Light/Bookmarks.png new file mode 100644 index 0000000000000000000000000000000000000000..2d35db5e59d0952b6661c3219fb34a95875b2022 GIT binary patch literal 210568 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∨M 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 z zR7?#Y49u}<<0%7?+stCRQOIUu1~Gpo*W(q5{`H2Fe|qE#vhq!jNqYtbs@Srk*$T>- zB9*ID9wkcA#_&1!E2K@v#)5MoeW(;H(f$AYr=9pfCYCDc>DoPleO$|BM{-tA9b=eo zCvvI09A$mg#;5A>us=kgf1?2QJweLm+$NHULJ{GRd48+<$#JgeRPlK~e zy5R2@fjnLBk+-6oZ(`On9cVLA!TvuV0Q_@D#=z4cg>#h#Ca5z#p)@W~c)7W?Vmrra z46N7$VaIZi;rk9eeqzYA?-cClKQ{7 z%|NcK$P5NuKh+n{zrQ?c1n#m$1uA6oufrI&S?%4k;;3{i~t$=Y=TsQyZW&%mvgixAv33 z@GI)x=bHnw`2$u%8s<}fU8li1n*9Pff=syR#jaYJOkYiz_B*xzF!A0+02w`DW41-q z-_JbNaBzK!yu{(JYZL4vJ~xIH@xCLfIsW+r|NHlBZE(F9Pb=X+EE|L{)ZO2|*8dpm zz&s$XT=T71_b+eKKTHYVVCw?Ai|Ev|zrS7xb2=4^t8e^=MXv``+u|!wi#Pw*V)s8Q zphyk4uF6zN{~s`d?66fWLQnCfR?kN$ri=bwKO`R}9u@2vli zv)-vxy&X(?BHuO;U-sS`6nk{lxRyQ`bAW`LjoOK~^+3`*2x2Xb`CRti{~u8mMuE?e z_bR&+YL7iXPFKt;vpt^gE)%f%d{n#UwK=ET$q(J!?N2PA`%}NqsbSN4>rw^ETU%j! zqdER=0Ctck*N<7W90rlU{f^J?sH2kxQ?(5Ot*tRk*?kJan9^((8v-wW0+Nm;7f38q zq|+%yBS}+O0p$fw7}Sc8*Wul_xUD4+U1RHhzGn`TxlS~DxaL@h!2!8*bp1iYuEWdw znbtd#M^B$6&nq-^c%1{qVd}-Q&oZnoZrUGDX9}a7Hf?=%GgIGaE@ zgmm9>e|LS<;yVIl)p$bDFrs-WCpY%K)b-srgm``8F*&OpuR||TQ{4obt>N2aG!SHi zI0&oi*rfc7gYg$$_U71#q2&iT?^_OemL!iED`?C!<7N$?w1Mrefm}W;_ z$gUMMR3;B*fXX9qpJB4L`ut5QXP+*}Y1{-7Aa0;=diAaXbXR2Gzi_)b?o9*b3vTvE z7t^#hRF)o(CJ9=)wX`hbYu?tH7w>XCW$HAU- z3m-5Wqyf8wpl31!e2zZUZ||c3EvjB`;PZKn?Bp8%%`&Arow@9!bI4rMxm%SoDVZ1T zB^Y~|F7iYGp4I5p?IHkR8m8d>aOi`RQpLN~Kj2w5(AA(LWAuFGmx0S~^G76gT0wrr z1Vr7M7X*7$fq{}XmMe)b*gILI@+wNRHr;JAWfL$yRK|YsC6mD26rcltg} zCh}+27QlsjLiT3r6Rep9b11}!8zZZtUcsysmjo_)kHa(YcbPKvZ*q`YfzU_Hven4V zNe-b>COfu8NAR#Y6q_b>J&K>%vn7(4oB4dB-490KLOV6u?{2KdJG}ait15%dq z9s>W%RCoh~W#PMgR@e7(t^)HS@g~Il{Jf`3m~5_v)!{{vFqr)(XixTW$hH>bsn<_hiprzIXUCf|z?I@2$6+1LCuC080 zi>-mYzX`xO??OK^##TDL9C$wf%pj%vWRtrfvyqN?hH|YsSgCQqS;@&dpRSSsb zWsC&uJVKz_ISr_gehW&QcGaIgP(ff4^PIpgP=ft=pkSS$P{7conFgNxqF%)ezw5y> ze(UjouK2atwMN7-(Iv+bLHWa_=2sWSeq~02_8`@1Gh;2=|0z5439S3+c3l%g0tYq! z{2FLB>rRLQ#n~WQT|?T2fw&z6(l-j1uiDqO;d3-MxL*Q;$fOafGE02Q8P0-;eby;} zVbKo3G|N@}^d$imxgop~du%usjEh2;_TLmYVbnXr8_HGzpELqSf%(#G)z}bVBQBh2 ze!LD^&O6z6HJA($Kmu(Nopz_3dNh&P^y*^phq;~yWQjrx9|Y?Ofx_a-Po zXK4XN{K6}3eBVTvm}@|H=V#E}zO4`H5Jzq_(W@`$k^DXpA2}#e4&4Lh2f!aBOnl{5 z#z@OpI{rCZ3`$F3syUjZ>BOJ zKwP6ekmNO2g~a?*D^&6$ztWtzFAdW)YEa$5TK?LmR<8S=1{kYb1l>G>nR&=BvAC zBQDzalDLso#(RL+odB|H2v(mUnQu5Ubwqw1ZfVNrQuaN2rnICs@Y0`UF65g2xWEnY zSk_c=7AwW#a#R`w_HWh~?^gWLH??{VNxG|i4UTHC;!Pmro>9D;NV@?gdTdl!XSpn0 zj+ou441+w*0CrN}Sj`MazJgh})!h3aUYHPZT9WpoT?$LV>(7L8%J$>ZG=Xe573xlb zuG=7z{?mo7eKZJ~s)W%R81)zFt0U1d zP6qXAG9g=bYoRooRK|EhtwV0e)noApb`PBq#n%A%Zs&j=8pV!I7@$3vOkzs;+qkrVJ^ctkg3=Vg<_lrXc9vr2ssKe5Pdy#cfrt!lzm_l z!vMmbJ%2iM3`$JTbu(M@`OF{G4S?mFdn6&yOfq(MhL$YON#kooaS&7{0VFgMuTgWx z9u1!PlNr+yX*@zBFnFJYyWn6K8uu>vfx57b726}9%eEJ!M!M~b{)C~rt96oc*$x|k zl-U<9?-xh`ajC&E3a_7*N}sR$5TQb*31bQl$;v##omu2O%;tKX-HklCyJT#Tb{Ed@ zOEmdocCvFp+LC^+!!ZDQJt>P{Fb2!P@+)pV*Q{yr=er1|-|Nkq^DXpu5H8#J!JF+# z>IXPwZII1=XM6{K2Kfr?x9|*rEx=e4;JO(uJT1UA`B5$zO}a`pjavGJ3HpO=s^UpO zC^^vM;&X$|XS|_$LyOmSj}TSH9Z)6=DYSJQRm#(8pFJw^WJJ5lu8#%~vL0<)4vi7{p8pJ{2DaDUj(5k1n{p z=k*$#`u1gwyPd7W9h=8_%wpMpHZ^oK%NeXdJ2(=)tAM^;ze$dq=|oBG$Zh4p0=TojWlVLd7jUjxxCb^-0#V)d|Y3?-lbD~CMbSeyr^GzerrfL zZ&F4$j^92+kW>sdGHC#<6WH%n`bxI`!*pt-NqkS`^hIVF2VRJc9L2fulum!b&?ZZD z7Zbk8H4t%U$@=Xs01Y(JfEZ7bG&m{jA;9WA(=tBo?^R_7xaO@U@NP^UeMEJ0!`u)! z>S_>426a>7eL9e7y6Cx)e$Tl8LTw!)N?Oy64T%=I5ZoM$gj#Em_fox{OUXd#lZFk3 z-3X}#DxaNod$9PD{e4sWV@VwhGV-J^-%(5&uXtT`k>e$;eNX6FT6Gfj(D{N+`$3871*SBMdThtb&C)Hg2ZzV-XeCcS zAaIagi6<;P<&$$WX=DGIO_y9gcOlY_E%|K4{V|!kb$jpouCeXLO@Iq-I=3gojT2EC zs|6OCTEyc|bH6VR$*yNt5_#W!`_$z4=)lFg{V_C+GU056LdcbLXW@M%NEqGP={?*5 zs3ry7ZXn{|FGuS~#(5t)5So@lI#Mg*tNP2Wzv>+1n?zfQ9laREL!+)XewP(0K;cIy zGY^L-`tDAQA3k4n9$07R;izQVE8WZxa_6ku2hHn^;7T%@eu;kFTc{{ZFnIo)MeuOT z9UOC1=KQh`-JDSt)J}`50a$p81bq#6gXE1Rh2qhL*&bN8)tUoUB(a)`wc*3`8NP-NJ zZmC9m6i?z=U0byf!iP_>ap}Q99CsLmlh86MB%xe!as*F*y-oPg_(#I-ZuHKjd72k- zIQMcOy`lrP4PN^vy;bhr-ifchyUys}Pp@SeUncK(06yO_6 z(C&Le!9qCgV6*bG$=}4r&Ih}<9cAL4E7o9^6{J`;(Ib+rxXs&hfy3wQa2^?ILv{Y! z5iX-C4DSBA0LS^>3IIB;TSdTf5l(z45PY?7Os6R2XJd2e(W8xB;>Y8c&$NvkcJL_U z;?$^2#Pc)o7;}v@Ouf-~Pn`5-1}^B*^ei)x$g)o4MOF#>NTp97-m*R@{lP9jD{ zT6IMu>#FJ9%wiXx9QBLG8YOShD#mGW5E3_~^AfFMCmGD=+!s82#g-8K72VYGg~OdK zi2O7j*&FJ$GqmqZLVLlxSqqjEgI8`rG8e%94R=uU>Nyi7RB@F{Rf^CLRU#)?u$_$| z<%O^2lflt76cz+IHB?w2H5PrAF2}i;`TBtwpRz6!ZCW(8z8xJ(sqoF>Di=y7P(P7W(-{CzD2XwiYDG$x{aKQjr3TuD4khfGOm^8?s~9q z^y!8CF%5~4$PTDGD4gQZ%OViL;?mBx4G}^tqpq0Kw`H{1UtH;;0icd zY^R^*^aMY|lY$i{hDe#WBNDNVALd6!J{H@$g`M)&*X)GgOvWoV^G9g?mq|Ud0FWv% z8|_qbD73YG4{N2I~$ET~x zz=fo>b7*qx?xn25fvMC$ZyIrHaI$n)eF%dmPd$n%LGICMK6pC%_^$JWhHP4FMP0YiI$wDjj!YPeXFbW%750?yesZGl%f{^X;zOJp+iwKs`-5q`f zhq?WOG3eIC)fJw;{QzA&gmi=}GXYl3=rkidL^VbE;nu@}-i_9-b~|RwcN?LI%|T&@ zjh0sR-6%W-ma>#aBJZMA}%%%R;IvVsRi78m#yUOtol zFGkRZEtlgKTnD3M^l@Z8OP98FKEHF$pSD_X)G%(Iz96;EW;sL|AuSc0z+o)=VAF5{ zsCiJpn)0>6Zfh+|xbq8klaa-lite)NL0r>;n1kD7=W3coSMf^?$A<==M8P|j%7olkY< zT{{G-eAex9zKChqnvZ_eEH)>$_bQBCz*QuLl&o)R**2e{WbT5sVn|lDMPznLLbuuo z3+hulU^b$~D51O}k(w0kP>K*%{kbB`>WcA-sgq8zdUh`~scYJC0Bu2O-tS>J2)x6k z2#v#@7>eGO61-YOK*|R_ zzVsaIWd>ezn~S#X*`lf(^h;Y8N*|ueYA1;>Y^%O6VT|?r(nv`HcYq{BB@ubVCiV>B z*%1FK$aS+;;M>k?^16G(k+br4BZ`{U2pi$-JT7s;^jCt?x93MrW7QFJ>-zgqIBX7s z@1674bTnB{JXd@lCo(2}#}aK@YjPTV5c~QopCQg-o!!X*k{`v^kW{;UX@YJYrZ5N^ z@Y3L1Rx8sazODAw`e7a5k*!Hgv`v7A*Rt_KWe?9mqd4!N1xAL_gc{`dcE6=-uMD{4 zTF8Pj6)@dRt|hP@nH8T5K=KaGJZlZr{2QyUGmqx|ES=&Lo~xTegK#}qtm-!s_l-Oa zl`u9=B0RX&A43piEF3`vI9a(W>-a4Q#9m)0t(d;uea{q|>>HzL(rqMMPqR`tcvZp4 z+&doS4n1^R;!OfFqNT=3L4Br~df|$Q6T|_1#tC->NOP9~sP=TCRgl{67uQXmW)`da z2DoPVQXj?Rt#(eBqEaei`5z%y8$n2w;l7rLc~XrABqs{xR9O z61s|K@M07l^__i!C=~gM#1YO;(s?c1u&rA7U@|NDmdyKd)vX)&MD_M>Ag5Se-?N8k zarX4nSANufH^4(_Bw~(paY}*UOziMdvfQg$GZO7swzv5Q{LJK=>AMZ_*_pEgP$;9;OY|!V7WhpvQ=>yc(8Zpu1 z#cJ=5j>1xn^5K42#_E^1=^h956^ockKPV%8H{OJNB;N)B+Uy9=T>~F1&`QIH=Z`kK z1(Ue2-r4&7g2I3PDDyi?aHlX=EXm44VTsolxE@Nc*}tM8CrBJL4wd29$Yq%Rer%eKL(O`k$L}QjlpyL zJ-W%|#_uipT>*e`Ac_Gmu*eT;snrTC4%GeReRY{R>txW6-8O6-W%bAKmk-Dj#dTL- z86GxYM5PJH_5RE!Wp+OV-|7NW=S3)GXh}dqimkcC zvus9GGJGM5<#F2L+dC_3&kwH=Bg!uXG1M+3<|TD;*Pu|Daf3N0MRwYzCHVYp$o=087eoke?EUo+p zovOZ%i^Mo0WFjzjYv0TdLH{$H`86H}!ov$;o*Rb+>!onolemz3V#CoMwI(dGkd?Wc z+E9*fy=U2?{%9l2Yaer*PW&CwiMbeKoN+FYOmuRFxR`SmH4drNxoCHgAU4LzxFy(D zHZ51C{(*Fdue^oPXzRl|jIJ02)ki$~eem%tWn=He$_}I5*?%m(A+Irw%d<%+DBEb> zYMqD^@QJIQVBy~J`jjV-kLzm+YbA5&l|2GMnP|t7Y{)@7!(pAMCg8;MW`W*k8c}y? z4JEfEojdd>MoL6agP^D^X{BW~jCgQzQU85L_NH`~>)8=}01aJ<*7$E`b9=DuB5FmO zTSB@J$<>F~r9l=OcwB@V@1eQRhN@OWX@L`C@C!6pOy7IqIKLG-zZ!K19gg|>c|*jG zyXr1iI;MB>m|LDoZnr1v@o_GxGMUx_Gb!3aQJ2$IKft5xaOl;5T<=|eI)ZOLIgqCR z5!#?0*x%kUg+t>&};%EvU?P-XBj31U`UJ(BOUCpIXKs}a zoC^b993n9uuFF(agw8Vy>oFY&-V=9e#9lkoyUzQ(JrOEQh^=4XW5`0vgY~zorHa#C zsF&}4%>w8wyGnsvU(6a02Pq|PE5%?u#Ga~uidNz6GVW)s1iG$N8KZ}fi0_H0)O5R7 z=ii%OinQH!qU2tRKG1KRwdu2+za2HgL%(;GDUg6Zo>OaScR6C)eUlYFg#dXsh2!%J z%TjuHcVrS*?XfolZMDC_jazVqu8b_yRqxmg&M`Vc`{MLO?npRMCSmM-ue~q|wIpq$ zw)Dwwf9gAF(2D64FhOYzubFu}|3=-x1Mmv7WvgPE}ZcE1LP&-yv`@g z;mT!qV$BE9?z$B5)6$PvbV8rZn5;(>vl={?58*8O$sp>M!178WF zy_rCRJh}OU{*Mpg2Qej|tsWHj^N|I}DMe({w#AZ%X44{>s-Z3FTL~>Je^7s|)%Km! zKFORu_CqFgEoq-r*0>pOgiGUCsdyOD9U)I#GeUZrQUe4-XB4_CgLe5Hf zNli}H5R5@CT>8{x$YSes*AvPpa^|lf(^_pPRXyCJSo=26eUa?0y9lu}?>1k;aJ{Pd z+~wtg;8NqSFJ+e~WR0!k`T90Qhu1Q@c{k*W44^nT73PGR-mCHRGWX$~{ijQr90ykM z1f9ZX5+4RIg$p6~YqVeFP7HDar#j@h7jaU*UuR4@49Ih2>C^b|4}sgL1w-8sga9-N zt_o$njdk)H&~rJ6kq`Y{HvOA4q*N1r57umwXWjVlRvrmy&wFr_M9wWYU90kjo|TwD zw86TRNa!`0&y9VjZISYEf*^QrNnd%tZQY|Z!Ihau8>tm@E_Z6Z_dZ%ClkR_WGAtI; z)my2DDZiyG$6EruSGND`C z$C)8i8x0&M3Y6#Md+VC4iSs?C&@VT4zOC}}yUsp#2NGtQZ@7-kairImPFqDiYt3t> zSZ0K6wYQXb$wxyFe#}jWXyhaBb`8vCRD@9j;H~#fP<86n#2evm=Hk)!7DaG3o-LMA zMK?;l+ws^?TuW3&{m*>5N>|n8TnKi~_L9jJc;P6VQEBT(tDTMsctSX$#!P(%Ztgf-S0YGP=1 zTvc{G+R8jAN|!-%1J(^4P|3r3N5If*8o{yB*#284%^{_+N=-Rv*-c&#}WTc7Nox%FG4jbaPiG;7oAt?;N zc3@N5Hf57(s%=(K2l}`|p23aqA_4=kgARCgLt2erZY~U%4x&vBHPN~3eS#xDG50lZ zjePC%KriXw#1#xkZQGbiD7;KQurCW2NrXwG@=LUOYcI(rXf1EF>~4a&(XX@_UVr$R z1n3g$SXUGz(xVf{?<_uOga%M`iasX6(Wbe|ZS$Uu2$)Vy(+^gkrEcROX{<2r4U&&i zhD{^d-$+(EQbenyw5oOPdt`i0h3zDR8G49_3?p$`rYZTPYQ>l7-nuc!*wm`J)QFc8 z6WFrw8brbb-sy2{DhUkUvj-KFyY98}UpC%6-ftC-WtERj;?dK*s8{au>Wbfnd?#F4 z@B-b%2+(JDUC?{Pt+vp*hC+4)F&KJH2suixVH;eyJ=5+Tx6F;?Vh3R~nh=yg###sD ze$Bo$LABlM+!TW8RCz+-z6P^Uk3;Lm{o0(^wB6{hlr}GzPtB1xt~ja_IEbCK&%gvy zgoPbWrG9uc(o36fJ07VMM)q#>KI9x8eFkm_#G@s=$9typ1(YV|AwjbDCRwguyB<~X zv*kl^c@|*-g5Zx=HHI-Sen%6>-ZAJ#xJ05jD!rxcAlkdVSmuUd1vR;RpDji^7_CC5 z9lR02eLLD!Ew>&V1V$>$^qyjE@O zH;^wDVXL*)xK2ekB41)Q??iMb0`Ny%_ZOP`|GZxd%Z9o6 z;f{xFV z`J*s=nx*d#owY0T+qjn=Mm-WU^tRx*@)G9WU*hw4^b`14Pa_*#HHc7tlwE%9|l#Mw7o4c!=x zAbr!N_5flq{~q@oen)rE8*Y4xXomHo;5#sFCnR;ZF1bApw_5nH9_cpi7vBtyesu%B z;!M5tSEs0v^b>V<=cn;=Z$Te^5QvYgB!FM^&TzY%5LS+sFJ_`BroAZjm0%8A#yODs0jLARYq&;nyoKGzxZ8xc^jRJw>; zPLg^?rW9X)diAuApQ7LzA%~F?+EniVv`IheEug(9Wy>J(FR19lewHw~A}!f9vaUOf zfFnD8K(J*Ws5C3X7<-e9EA3Zwa;z6ouJfksi)333X9rbyG^XEZ0~xtZs*xGwLQt{P zW=g2XmZTeTuk_c>6oab72+)GLXbdGqz%_Ct9ec|Dey9K(Tc=rWqMa~*?Vu0Y(dIppGT6z9(cznIIp322r-Fg$G{@FziE6C-R&tP-AqI1`mx@J zThPO_NiF)^Xy)b`;G@yatin*%wi7L9vOG_utAIQ#n8b>27G}Sb){`t;2SrGmaK;9h zGVYZtF}G6w-IP!ku;+KMp32kZIKKHJShmufKm28#0}10q-8JA+pLT2UsrH#tXC&rUOdK=&tJOr&Mf_fZ{g;{N!+PjNq6ocf2t{XD0pD+ z^QaD}B!q(u7Nm{K$L^_Xb8VUWvtxvFZBuVl6OlOS!N4Xu>*rK#PF4z4pduUA#5QQz zR|vH!36u7sqe5jvycttkL(h4B%nzy6O^i?g#;|50ar=33`2kQ9#aGuRv7Y)749P1^Zi&((wxaogzr3=98U5RV4( z0Cd5r#jWpydi?LNg98|j{$_zC5j4cPx!%t(>Ubm!u6T0f)fK%-LBy2{M?$_ww4won z@cdW1(=z>vr)yfPy`&DS#-Xnxm>2LcAu7tC%|u^805E-?U|Gat3QKvQM1JK9nXT)_ z)4>^Tc# zo?Ah6$L7onQap2*&S%Nsxpj9SiKSG$SoiPcybYd_H{;iADsB=gEw=VjLZL|SGDLby zxfS;r6h5|<1oA0532keR&(fWL+W%gW%L{^$o{*{7BW#QSLU!y-k%>B@P!sDm6%xyV zF#-b#kXG{4ux423hx(-mX0%a)e3Aeu`Gw++-&I4;1NJKztdE=Fq>V zXM-_Cxm9a!jYfBon@X1!47~P7i#=1pbj?K+WX}deg4d#Au!kdeJAkgoI(%TE^1Cg& zf^iC4XANFh9E}2z?u?bdSD4CyMOL?tE3F9D6M9vasA*(S7Pt|^0uEIPtqkYq)M-}Z z!?)Bfn;`*COIHti*Tzs}EEyw_;Fel_?(H5C7?~Op25daSi=~C$LZueI+&mgc$sfpU z9F48Cw-qO}VIqgAaDJcd;`dl(-$g`y=9GLPVn(>DwA_H0#Ixp}Pv>5{G0{c-B)@7G zZb0>-$u?xs@UiKK;FD6=u5b0qjLFGu8vD}{`ln2v#B&|mnu@~pXX;RN`^a~RFBm71 z_1=TyIqEV4)O=MTC^ld@mZ8baet+zx?Rh%z3>`kV{sSicNth+2n?teZ3=4oWwTUx)^=OK zM1X0Ix^QxGf=E#ss4#)&+4dv<362xu1RfuTX6i-)CKMY_Mtl0M+9$5P*S^u6vYu<7 z{l39}*~*|Iw%2bLN0Xoik!(A#5_dtr#3S1Pv0nhAi~pN325m@KA`Wfn>A2)=?Z7O4 zS1P^xk^}l9nd8rAPx!ikIKZc!v;C);&QZnNgKgt2RH2*s57e(KP$eYhZ+3qapvK=- zjKpyoatO@(W$)}m5oPMX%Wv@Roc!R`k@E9Rt~IcG&eEJ#H|lOsKPiy`N9Fu>sV%>8 zv}kU>73ArJx9s{wXE#;eHXuy4d!i+fCnxatD&G!mxI)U45t`+G^b5&^F zx37aYQPDYSPtowMh!o+~JZTcmzHcH=UCpe-RhZK+oVp#8Lt`4yuBh0OZTNL<0|>gp zGI&ZO9?|`XaZ}aDi&z(T%!xK2IKwvAhXV8AKROVW4r$vfkl2t1D$X30!39fMv3yT6 zU}CvvB+rpZDR89`N~k1k2A;Hph6+(2+3Q(^czu*EIb6@k8}`;_jLHNFA>R++CSP3A zej_$KADDD;Mm|bAgEw)MSPR6IV=tOKC6&?!49CXY!-RO1k|t3zo(P(WGM&0_Dn=RG z4Kod)1btnV7z5E3sCWsQiiRW`sE~lJypuppMY&Ik3K(XsrDF4762-NT;|{!JoLfUV z49xuMrY|-NAKc*tKSGUV2 zHz>|)LHMlu{quQunTg<`FVxwp+euf&&(HC&+x|@zM<)h6&9duJKx@8{ zSnmZ8RU#SlCdlZNrt|dvvKsjEdXGu>o4p}m0KI50OL1yim+79TQw?g(x}atzgvzf6 zDajPVAEe4jVZM~rDY_YQ@Z3nycseiTi4$*X|G4@m3x-uvJL3YLJ-QtEuawIN-6kZi zwS^DMXt_K7*R6Y^ky`r}$aq|%pWi$b-BpUmZY&z*{wQyoBp@vPMkq5no&wWXoo4i5 zRi3)vXuj-rlq$pV`@CBAeqr}tKNameW36!{G)Xb}v$e^DHRUiO62Aj5TLiM1F9jEz zPYp^YezJHF3(XDy0P%h4dY^r3&vzf`M52~-0u*GVw5>g}BhmthI4!h>A>myda177m zB?k%mkZ8ir3!_`L$3>3=69OX{B-2TZo*zHk2CiX4N+{`PGaZi|SQ1R(f@u4zbOs~s zvacN|ZtY9+Tg9H}98Ur9r?qX0#&d>M^PSH?7c%)LCx(6?L&xsHroh9R2^RL7;K&Xz zLGoGHWevMtB}}523A~K>Wgjx6+~4tX_d*p`S}@T>1*L^L^Zb&nW=Y}}pp92#8_ce_ zee{Bh@j~EOd!Gzts~YFVyh4RHQqth&QaVzjh<;isERViJZR~GdP_xvd7Gae2wIPB3M)HWjwvq-o8GgevmTae|X5X zFrWPXZpnWK!C!4l{~iSYeei#t`r!Bf-)Fx_uNC*3zgxL{e<4TQU(uXSu*3~^na2(O zFjpCztj!vlG#5@YZ*SF~D@ftGtEoZMY1jX{FZ+1n#e#T)d%qlsDLV(E^Y&=YtFLHx zhyy8CGlr%U<^@rv(P?DUO@NXQjo%i_gKFwfKaZWAWE9$I0azIzgRQ zq0+*=EPvY`fr=xYK9-6~i329an5$l(N*j<{WRTus{*7Kg;DhG!nsDC1hd z7FBKRnXA99C8uFJyh*YB~_Pr>r2y`^1}|JUV{4cQ_m)vnwr%^jA|fJ6BcXznba$(C_b{Zibc1v#AVWzF z9g@=BB_hp$bc523bi;eh75Dqx_jUjOU*Gkv^?YMF!#JGhaUQYn+qV7Uq*r?B<~!ty zjImD*dw5J=eU*>$Le9-MBn1Kg{P6qep(*F@iEj=R?>o@a-L7r9Un^a%2(I6jzERb` zh#3Exs>x|?8&Z1lIP3I{$gJRE^TbKGjAu*r>{O}u{_|qv;-2oU2CoFAb-w7!Uc&aB z2KNm+G!(huE!xl-CI<5xa zVU9~Zp*T6ZEyf*L@EMX&hY zdGw{nP3`S5dNOe81+IV6cexDcutY9P0r;ilTjI&~^f)8P6gR0^05%qOz!vdhzCo7IxM%FzW&q~f z6IiQOfZIZ*s2j;+S)Z!1v{>fSdYQuS%nm$(CjzS{yddwAON&6A?5{=tEkBC2we<>c z>Tw(n0xSyg0myWU2ThtpU=&Tb`&j44j}xQcKs`3b@e~}@JwQzDUZ+gxEWi z5%?!_%mz}C9rZg+kgkb=h^m$%g><_wnHkOSto;X|Z@{OSEB%Mw z0yaD6>!3$WF;p`xpuQXk`=k!ht$JIp^+c{BLOZ-nEvc;U&c1kI6is`m7+N@h}LXjhTW>Cc=k;%rJj)pR2 zr&PyB6=NNn@kiBbW`z3Hl3SkAc>V0ElEXEY4(*yl2b?PB8lW-cLC-T3tD*}MbHF9x zYW#^K;ri~E%>R6_EM#vLB#lD!g;av^vwh3f!Et1CN`sS^R6`YDZ^|dlb5lY~#P&D& zZDx2Kfm$YM)@2$Ym&DDap1!vG8HQj7yaU&E;vd+vQH{O3eFkj`wKEHXU9kuhkXQt-aOrDlx$F#TJG8 zOT|$3*08FC8&T02@akEbCNU)(&%mPts4100;|Zbwwq{7jX;A!^fn2vD-*U_=>9#B2 zuksmOd*b=K^$(&Li1sUof&waHZ7>r7l5TP61(9^BAQ@uD zmt%S!)*QeQVFzVM1hsabHD=R+pn_STzs8}r{jv!f%#Z7%9+Gf&y?Oaz2IROIXorhj zze{3rI0N32Ai@Qf=2OF^Jrw~!B{=wTv|oA- z`-#kxHfNNbCeVxUBh(;~hg&~$-^;9|EhYq|v2WTmznqNSt=h53>D-rHUd6&UT=XHb zZNAzd2#@6(8-+N;Di2oOB#TI?<>TzzFinX`-h_Z>AglMsK?4D)* z48rtyO3f}r4cTKVKmRZZ zyWRZi+daOW)3IgHU>n0&q$iL`Te)6M^AQdm7E5?4;KB(y$9ijX_|D;=3mp&QI7i>a z`eU!&573Nb*3AITV9+>Z?A79ne3m^)c5^Dp0X+Jwige@L_)osamHWTCldTi;qvrM5 z%O^Bh@F$rY!;D^@Cnxp5uR@CNIM&u`Jr2kn7Qo6=kxV@W=DrvUqWdR00b^;`JF%jO z=#n+MnCj%K&K)jtr43JW(?mB@j_q;jx1sBA`Wu%8hrRsVj2^GoS8pGUU-hB2FnHdm zu6dM1a7N7SeR4a?BgTNtY+SpwubcXbKMwVp))Z&w0`4`}6NNXUS{Qejv znc@8OEOSFZwMnYQWw4IV^M%(wQU}gTpCy)|py`40a|-QFP^Qkz)+kKRu*!tkQ5Q7B zZp7##yW~rc{O;Ua!T6RaQtV;GtQx>Dszwp!e$WJf3#) z@%7C!Tgm4PMf!Yw3_`j4e@8m9q4YVK1YkM3a_csTSV((jP{TDTT)*f*N_B3tLE@$R zdw{Xt4Dx_EK{uXwrjS+ECg$h$hc`!I7o=XY)54I*rQ(a_KV&P{ID4Paf9uMi&wvnK zhS~;c3_Lr6U|QJ6O?A2W@Anv7mVo7>J0|1NV{Qh^WBty;GUfRF3B z8xUQAh44>UiN<;Ac_iy>igf7fB*b@iL@vX%nd9!={m3A~w_B)IM2Z{DLOCxeCk8&qkE z2BsXvn3SoI0nfkmLE3O;ROR$)y%1B?h{|^O^wSXL`nSAa#mQ}_;?zEt7@L4aBKYY= zbaM~^+UXF<*K!k6^X^+&v3DNvek~@{!Q~j)-sHg3Cp6xO$y>>Ok@_HsT{fL|vuSR_ zH1(|E9vck)-~^`)JtSL8s%8F!N62F!p3Z&Z^=nIetrSX1RMQ?Qfss%WJkjSL$oPFw zNkVaX!j7Ofz53UN3L;mB$%=Id$sbKXp~I|3lVaaN?Bd!$y}spECLB!3EhIb72%lV4 zdSj1SVXkN8P2%y0(G9unC><6*7r9zjEX#?kI*VrXasn{~!860UqDs9PYssLARo9pxl&YC`5cyU`2Q>?BY`= zi=xY}B`$bJQ&myo!BzT>Q-(5JnMZ=$>sKOMJFDpqXvb#w@Y*)uuDIPbfBje0%0krl zSxY#xXv*#W=#_a1f(q#@cf|>HfI)0GRKB z;Ivr@01AkKcK2p>*ZVQr(@yIWo#)q41g3_-2dh|^E|x!bD^p0a2yU+LqjT^6Z<}`Y zuajQNvS?^UZ>;rX*MAoTC{3+;9!_a?S!3hphm+jqC#U_0?)kBsm1P~7_K=)GK<&G&^!wL< z_vIJM=Ypaobt@$AopJml1e`;0V>oIZp7)Ko0B5y0wX7GJ-0vGRe5_Uq3jh*(NI(lx zy=`2DFV7=*7tmkl;u?GaqJkPs0=jrlyv8U?UsjYL3PfT+kU+|fl9qwn2lfsOLIt2P zkLLqP53g^WPpBhCRe(yy@ui@3DwQl_Noh3+px4BQP4fTF%N^dt*!konh2#a!*i2Z} z%)0!t{pj8Rdr>?ta=jO!GiAsio$&ZyxFoT364cVMGlZ>oG(%!5bD`xhwrOS)c(nTf zj+ErlEo5MUIeyX?Oo2tFgte22cVgbpD?Pxjf6p~&dgo_c!_JEi|49s)h}u`l^bn#i zz5ZEVSK!u8J|Q$+ZL1d!uidddY_&AsQ!gTtKC`j5TxBgBvqk9iWjrSH>A!peUVGkK z*qFS|uUIpaH$y&CmjYmI=qOJqkIm!IvlMPUruP?RcMnt#vCQx5wlfDXB}NL`lG4qh1m{Ck-M3BYKq&kqx9awa-^;tcTSs`CPU%4}c(| z_svk4IPQ*dK#pkpt9y?*82U6E!1iPcF%zYLODIy?Vs8x&6oqyj(K`P6kTt1voeBqF zjs389uW(^tC-=Q504Pu!Fe`cufc#z$-ecSXR{jtTgCOlGU`T!vE_NR9L%}qyY~SbR z#3#@^V79*XPA{9O<4dJ-oS%3+ErwAa+{zq4ddQz^XTG%WHSDQp+rpg(#Dy*E!>qqm zi%&nJm13K|$tCvAohT0gj)e8?La2PGQ-v&Pcp`rpD*P za_hcfFnqVUhB5TpH7vNkoVdedqp{^rLiMY5*PGS0nO7)OVwF!INqtO<3sS+?;KIgG z)C_aGI>Yg6A5vTyHPd6Gjmu}k%rAK|Vl?r7nCT)xS^+E#=v@?akEpYy18%Xr2XwFW z6x`r%0ILK9FU$RHAql=SRk(#tr?2g@_suqVmp;A5yj_4}8ct55#1t?g(H8jd0Uv=1 zg)-S?r*i0Lt0{04>I1>$Bv5&|(ODzVV0LYAqCL{#c|9|2hvi7X#f_&S-=}97p$k$c z`1H8t^QixTDOJF>z=HF60n^b%f9;F%V+Pu@NBnE)GiTf0j8Vn43m8U4IZ7%WRWh*N znbiMx*5|s7wyqP$jP|Njn1-9$i($^KaWR^nw{*X32pm-HG&mblR-#-F!G@pcTG{se zwq`-P*utH-R%$fz2InLLw#bz;YiMx@2}YfY&COEVx8VA^Z@!v@RNI@1T__CF#nf=a z%j?40+`r48G_=ZT^tL`eDd>2wM?I#vq{@%uNQU4#{8hI2= zVgh!d6+zlZg_G=Lm&Gj3iAS_*glzAXzLC>5mR`U7h-l+32f(;xc}bF;!d4$20G;gv zduq*nx!TgtAAd!hOVSxwJ*V|4RDr!oqIJ-D-W(Oy`Mr-0m4<~TejLvTR*5QgC;(~S zcen-vQ!sQ^jGr;2l%gC)CjxS9F6NUrpV>sU&tMwZf#8_soLdsoV42UB)Lvje+03#2 zd+8*&EnMz4Z|D`W&`xlUQv2CxPo50L^_|Z0V&7@chbP~Qzkeet*aA+}AtwGR=fbaL z=?hp4Z>Rj(16zemvyDE%gvF}@SRdGkglvNZopgXB_}+X(MNocya<9Gh#jj~A+Sdgb zasff0>@tM)*%Va<31PCE?Oq5)%Z9owP<>`Bd&?5W{lU&l~&+Pw6N(#69ilszvJyUSeD znP{D`a#Uk4VDM(qsbl$9jw^7ewP<*k62c{l(;PpaLqo{JJ5yqd zl%UI7ogYYexIctH*pVMA@c;l`J`*uMlenaNc(!q}b<3Y3$OAMN)7PGpXW0fU!4XpF z1U&J%vvD1`Jl~L{xC!!5&D%IS!}JFjDewEsV^f7Z0$T{YS=z5lW6Jk`1(8jSc9|sh zQ7WdV{B_knvEM$2%8~nfkdD>V0y@q2EYjk1wR)hI2Z1S698Gm5SylbUBqOmRg%Lm^ z!|n)x5`lzUjRnM-6gmCibQL>B_W=GrATlgYn&O<~@M&qsD|@k~(hWnqjj68zWUU#n zi4YAKbZ(lnsMcwA5(9Cp^D!i8jwx5^Tw->&KEDWTll{GB8z-lqdFRt0&h~=#>JFUN zxgj>X3=~SCUomrs4fDX9O-}_Hv2p%3GB$$&IteqJqk5f~o`Cr9xjf(v0-f2YxaD2d z=1;hO_+5NvbInt1+9VNwnhfj^f$6)qAFhAYdj7+N3-yG59MPwKjL%QTk&i<@gTWjr z-7aLNHs=s88Jp?#_dv2lIn1`Zs2-jGP^I4=0aR&l;zR(>C1>IH4Ru*c=zGGcU;#?E^bx00#ew@gbhw4TVJJw8&ws zi%qJAo-2XX2ab;nnvoo9Z?mCiL*c7|m=y@t;&R%WgYnqdvCFV^!PO@QU$+N$eT+Li zPxGM0-Qriqc{UC9k@e1L0;A>Xnl8wG+N@;(JXZSFCLKR3GE2P}b#o3rJ@}OYM18qU zuz3RHb5Aj~jg6CF(c#))TX9bPApw7FmBHOW|GZB>_QVs^f|UaQK2d7<-O^~TrGrAK z@yWiEh`qxyy8j^~C-TFj7pOZduztVw-lLY24W|dBW94hf>&yUNhT!W^Dt}+3GTzPW z(YGh8)K{QpNW7oLUfT*a*ANdX@~MIsQ*`fM5D2`u6J+Bv!j!AoEFo|_CTkmSuYkSz z@=iakR(m&IE|zih+N5MEyTG$b?ZLy?XP1|YY;_d%E+sZ^E@px&hYpby^>f)TXj$^U zlM8F)wf?;X8ba;t4EMJx5cm z^9paKb!a;IcXV2U#U4bOF+ip(Vo6F9GX)6IEL0kO4j_av2BwEN!K^z`0B(t#SDZ&|CDFeN%ae+8whl3b6J=hdkdqYmk>c6XTz87QdJZpP(V=$X(p;@+V2c)(xfsN z4GSUlX})M8ZEVycoO$j`b8QQX&;6sRx0VlC7BzhU5w5q+^H4rXJ#wkOYLFbF9Ao*$ zFLo6Ti({IsRF+ZiE{wK5slM@SVY7}?_E?RK@7`+$ad7w5@FN~^v)?XQqE+wADue$K zMh6s*0qyJ*f%lnNg#20AGo>gWR8(tH10a>p>Zmv>_a*tTM^s8U5lF0=uP$Mj8 zqZ9z*!VwgrlbVjFdJ92XoPiEKW4;oN(B5}E8v3`?Po?;AT~;1#h$mBnoS#2aI7Q7- zK$4jD7he9Ac%yIMkHVwX3OkAo(Q2-Mp`){~yobKMJj*?Fef7RVzkUoz_n{e&_@-qZ z#x?d)W^DgrEqcgjkz^rXqEG>iPxd|smX^WqVaURyQCMR#5o*aZHmi5VFw`l%cfsow zVyiCh48u8939kBH0yDjg7PeU65K-A-+o-l~)x3Xb$H7I^CBAlZ0u@P_w*!r`6pZ|s zKx%MyXwxH6XN28iF=yaLubvIp!o5c>ql_C1_o{u*Hp=uW_ZKLu@t`J3Bz%a)&FLRi z`tspL;cpRBeS7^{q(c8~fZ7*LB!%g>e+`Vv$9?*h3C(Q8!h=?=jX%z9QqP6)T5GU? zo0oOXR4oB1_*aPha1@0vtsL_gp^dy3HGZ(KBf>xlZTxrbf|iTg2J^GkQMt zcqoug9LqYxdsvGd?xCtKBIcAge8i{>CGhDwXc`u+fP&TB(%B;66LgK4i2I|^8sRppRXw(|Wq{QA_BZ8WW5;0H-|fvtW)OaUfKU0X z55FAbHxcQSVDoD|skvRd2-hxf+Tm=j4fvc)M}v%wD{FJB_yo?mcREtIGLd3sWZKC-pX&aK<~}rG|~F4>)2KYN!V>EvwtlR zk8qu&N2q=&{Hy83Yl+YX>5m9dgCgU8(2n*J`@wxSCy;Dc`zmO9`^6*NGGA;IWy8P_ z?3u`0vFJ3TWB7tIgQ7QenIV5*niQ}JHTpiN$gN>d@}h#$z279*Y==sjcCq%e|tFn_QH+KPLGHplA|Q z`7G_aO9GWd41Z%|-Cw@@3sa^Wgyw`j{obbH4sHZGPl`Q4QX}H*PT3 z_fD9|+tKH0Q{S;+JsOFvtlKt)5?`E+uQZL%UscsV?MrN75=;o4&w19%V!onp+-k>D zY}S_M*{Y~=e0;jwnc#RY)m+bg;Y^1(X{Ry(YBNgUFbz(ZDqt?B7nkZJ4ZlSxuE83z zoW1)176qh6ECZvxiipdaUvoI6epcCWK|n9Ob}0PV+i=!P=832rt$+%D5ZeU zck*xNK|g=BqXs;9$y_u8+A#*9w4_T@J7&`9(wjLQ$H-i@O~%p`F(o@3miy07xl`_u zo^-=s|Bx_!SK;pv(VxTRRdWH|znB2kz_z>y`ygX2eg4e90fcW&Q5x@U8{;*ycpPn* ztYzXmsxRtFKOrl4k}>~PVEQp5yws}0`N^i0=|H}i(k;MLBZr_mn@P;PDz-ROw=;1E z9XLm~D9lGI?9`g}7lNQ#?M<{np0EEhnat4i+Y|;HnYGB^j^&EU)HoU8<=9%179Vi2 zW4`xm{yqKuXzl6u@6Bsq5^9L&}2_BFYJcGk>p zMVjkw%j@G&a(Jn#8Vs zE{s@b%;a~Vc8F!zPy*yAXwjEDi@l&>f_ryJ)yv$FqzD-D2W6K*+ze;A;GVclS{U~f zE#^e77skgTrw2@xN?)XYFjC1-F283CIb^SVN=_$u`O`abL(h*Cxd$nwZzr4r4Yo@Q z1h5kjwJQ!4>cdEvI;=LLeoa3_)(r58RAlmGo(gJ9aBamvDBmWw_rdzhBpAn`W=}JH zKb7MnE#9wrxSFy|w5$*{*>=iig9OfSr`fK?37DZIoyLfcBZ45D-a;Y_*+$@Jb{14u zjIvBYd0U_p%$SQmG93p(!-AR*j~kKVycKY%!tTzG$%R8&EWh>NG zCRbB^7V0*=zkgn2My7Aww|H5g6A=07Zn6m@^&r^zJ<)r-&yNjxxK+<4;yg$C>*4RO zaf(Ui+3OXL3${l;;&Z26?q;%X4xCK37M6AMC&12r&tmocY7zW7E%C_v45);xYbd@pdt!=)NrGKKSzCxWWn1inEWY?&JsnFhuHA0cva67z*wXBxs_QKv zz>nzRU{sDP*UJ86zerOhqq;eyK=Ez#uF)nzhC;x@tmK>{5@HKNDB!RmKxh0(KW|1{ zb76$eu-UYN06V1nO5S`~*d$g;MJZO5f-VK06N8X0AVjChcxYxV{QcB2%rrSVV*}V` z9`P{5S5Fm+K#Z4>v^z0BmRYZz@|X|oKI4^N0Y25MR+h!B=FV~sB)uDXs*j8soQ*Sq z%FxptW}yyu#qd8NX>u~6F{dF2(=ZR@p-Z3wcJP2YkV@Gm(jrVJoc&v+R1y^h+xHeK zxe_W0iSMw7Eik-=(0o=R6ZeS~dvACCh9y@_MOZ-dZSU{#?PJE4L?#6<_PSD8KWgP0 zSs#~K7RC39xNf6i{9ngk9Sijd=&!YWp z=D{BDbB4^FcN?7{Rm`aW9vYBB6Hd_$@-N^)J&acr2k79vaqbYVHIgk((lMp6peB-2$JPstJCu~OL5ky zM0Vzb3v)BVmS!>;22Wo~Ja_M-BVx{%rSeX39 zr{v`i&}nU&*?BgpvFSD{XQ@G`=dR50ZsL&0z(spXpQkvAv{t~{JDZgCZF=Ow+g~Px z9G2GA#e7SBlnCX=De+0T(#~T&iYDX;`CH@FE5ag`%y<1j8tdp=G@d%y?hhVnZ%CLN zt-pWB*})*8JK?%ZhZM0`dY3YsW)zk$<$uu>NA|AqPwNN!mN9a_#+9c>2Uqe_Y=lz$ zG4^ixxsa0=7}v%1#>($3Ivi+NkpvKZvTT`Y*%l))e@ELQkRX{T2p#Hj(6R=T*sF(9 zI5{UZg*_KXn{nA+bcW~|eP;@nY+h^ZQXG{;^@WH&B|fdVsdPti?Xw}tYU~ces$~5hw1NM7PUd; ze@`ndb%gp8BGjPK-Tick-VEmQkGJiho;w})H-%F`ZnaRP&8~L_QskYk##4R(59Z&W zh5XSk2D~v{N+vkpiv2XUUFAy{Z4`zxKOYft&i?zmB7gi6AllM@+SgeXGaByp3vyWz z{(t;HG^b<5gec=>^sgmPVhycdN2(PbbPxW==lP00L`6G#1yB~vkA@9?LYSJyx`Qb4 zocjrw0{-(mCf~?6yjagfRC4$eUP=%Y6Tz?+!&Z-Qr+0dK49M zYi4SZUo>*$*=j=OfBC~rcLd%O&se_c8KJ_vy+?v$_Zp^nOI&4dfK3wp&qoV6js1DG zh|v#sx6CAtNmHLodc07#qS_LC>km&9)pISKnzugApH~N$+I^QpBx^rETp!YOo z?Sft@m_uaH{bFv1BdGAbt}ih|9KPt`0Zfd80mvY@sy!A2fvmE z`c7?|dtzEX1_vEJGdA58P<>mJeJUm8fdj6a-fB|jKW+v+IxX6dP_Mv5#T-xb=6L>& z&@*>Wg6v8cxIt6U2TX}WVpFukjrpm2uQv;5ez3W0eODQ+(`E%5C!H;(cT;ac($T*S zz#IzJoz45E-+2CqWOQiUbfdBaQTcP8C)+$H%O_i|19nv--oUGEO!=iHr`^1+}%r=ti`p1k#`7_;}KQa#bkCa?c} zNc)ODzu(m)>w}Iu6?Utlx@wwu_1#~)m4CZvqOqt-ROEAB1QwsL{QFJ(^Sxi9z^nAFkq`gd=T?&5#+Tl9>EP4*&zS`|D3z$etLpxgr2p-6 z-}0c)Mon#pIyU~-8z2K-%}15w{%@cA!v@^C|Glxu(f9wy8{1USCs|GS{P&O75tUN1 z<~08p9qC8tjP+{^MdNEES~GvlH4o3UnK!{9O}iMuN%YTw=(j=z5Wrb0R+R5i zl;Z!_2MC6IMh5$7JMa9r$H0NYmxAtpfAtpX|6ZoQC!PNt5`XRQ{&z_He?26A2;@4@ z5u(Vy{0a2m+@O3dKLQ7VI-Q5R^CDU$C*Q(&=H3EU1;sEByjK8WJWaoo$uPKEadn^>l9$fkYG`AuXSB zQ#~Fqmij{NTJIt#LKqDJ4d78eAr-Jb2*d-z6R*Wt+V$ZJB)vy+6Z+UGtqBRf0-8Xc zlBVOt1fb{#kg2Q$aH>Rr{?gNHQ>N%cY+Cl)vmAit<9qhI4XdpMNT%66Q#YCuKs~?h zWCZw=9AEzi=ja5`4|;K~Dgad88XQO{5#XjUT*f*;y%a$0<1M2fDB^Hc-xkslAe0uu zY#bcj2I)he9Vq1m4poLEQ~2Xmn%5vK1t7$f2U3vAX>HlTi7ZMRA%-OPLB}tQf=(iP z6Xqko(|FLoQqyu}J^q2q>etN3t%2_R%`;mcz$2=%UIs660G>pnuKdvjNcW8gg@@rk zz&jgMFS`3U2CS+nZ)+W`eSy_yT>U}`ve1k3uwMwQo4mh>MusLrQ=n9X4- zH)(irxQ?eK1&9j2OhL!NWVp0!0`-~Kp|T^=I0763)O(^w{o_qYzE;qQuHiTSt<$ZF z0gyp#Z48*>1vh*)Tdu?K>XBw!Q~uJ!_W zoJYIk6A~I5GG9dopce#qG;-+k%19VG5+G){E7wLEJ&`n5OJW5?WO#$J-cYNFI;I2yT27DXPg^6#}1(l2h;%yR=ff{r{>D$q6} zKz1}~b159yJ`#KARaTI~(%xS&(__@iNw&XBq@md(+C3>j4$~XDw#q%jl4<-4w9+D~z24u$st&2U zngb&2}*sA>$Eiw<@nsrcP;cD86}KG zP|}!RyTgTr)Xo__b6bim7w=u5WZ9eN$zKJC4M!VT7J#_a^>Qo+iCh}!1xeP;`C{@t92&t^0+A=ZAX3X=qYN+1U?_N|n?sFOZhS3FLm7?{>qU3UJdw;vA}I3FE^1Fmb3;Tu2&Y_#4*T~GBN%Z&Y5~^mF9x) z6G4cC1VMDWvq`Vs(BTsmv8TW_QMTo9Uny4?E+KN-iq!|WRrnq0@4#31h68QSwp#|5 z;vo}N^@QOASI1fSXr!w++nD>&#)Q#{8nXJVxFe@`h|Q9f$4&G4Odq$;4IYfaVq~`I9kAfq*(@-h ztkxKyHW*<9U(rC0tvy3kj-O8JX!AIhAWfk-3Mdh89(O42_cGL6g9#uJI1V~Z?wNwx znHlhaz2*Q;4kRe6({tBj{=wq?9wwc#{=?8X>SzXfTM$Fd0qV?6P!J0>tILQyk$*v+ z44q$3CfXHeI4xh5%s(W~sX&8VWOnJq5h__o7n zbtX%Mfjv6z?hi1hJnPMRRHZXnP7gnPSr6K7o%_g!Ri%SU9~T5)%n1pbVIPRQ2qB%9 zIqG4O9Y_+y=V}&@@?S2gU4YpfkTf&iZNWEp=hlvVrI0xRi~NPAGm5FNGIRw-0G8X- z;;KZJkfiJbK`7Q~AeEaK!X>=n|q+tehIJ(M89>Imm#^N4eE){Dy^1cC-9o@$v zVg&g}&Xh(^AHXH>V%C$XPx;=h8|ZoZ7Kosn^K><0kU?C!JsF=af$|~W4^O`uDD+sz zvKInqg7-JPqhEEy@C8~<+gZMSJ$4^g$2}^601q28+YbJwlni8+17jK&>m2(Gofp?Aj2@_bUEWZJvCFN*mn4CXB z#T~y}s9JHpG3_L=$FWi*II;eDBzMCXifYSZ)B+_ey{MxUse1pL4&GFr6dPH+g+e*(v?84d(N;(xHGiWL1q2skz1Q5wbwHJiiPoz)uW`$&q` zvS0Pa-&p{<{uaF?N+)3@Vh#~1(H33Ql5DX$k?OC7=C(n@-La2fVNBVbo0iBkQ`{yE zOr+4+#OGtpu~M@bx#{(IpKwQ?l1IK$h9^6;7G{a5ydIGpyHFW;1L2%bTCjC~LGonp zh0Ld;NPJO;)nf4aWTNOVBwNAAzT2>eKxh@TQN}0A>Mo#x$kM|DF#M{1Shh8uV@Gxu z`y2OQjuSL};7ZJkRI&gLs3<)S&y~?Igt{IGMNp~RDw7&ClHOAu-3U^K$D=1_h7T}>UyZP%Qe3*d50rbtcSiXr!Ip?7U?TOn)tSDc3hw*QHGrB(A^%8 z?`Oo>K>ydcP@)=5dYcsU;_>5lLFK}S5TqWPnGkiy8~*&3-wHK3z*K>amFSv72C-FP zRmfG<`lWNj>@{+UXM+$536%FW=j@vt@4^@}_pu>)?4GA~nG^U3D)*K1)(8{2L=7M$ z5y@OErwF-U_x*YMbMgW*p6YlspF^CycOT8gnYkPe9K^>{4O`S0kp4r)>k!5#%NFBu z8DA%)Il4{Eb9D@l0DSJfuVFtRS6Niq-cMSQa*DXxacv2qR>!0qe>gdt_Y%^itvh(3 z+`7jAeN?}GWdc>4wQGC$IX0?c7sNGU>PpR8|2ezFesy)(se+4LS5u~AH4ZBXAl_EK z_PbYfxv77{?sM8k_DwX^MLTgG?1UMUe~H-(a5@)Ay!#^vu-pA*?-60$l6k%nDW@{5 z6g)h=NRFvQ#SpR;npdFq0!c`U7-EpJ)hc+9B&{0J8z9daATR*?0nm%bE zR!m*~y)5HvwYkI`sXf*N_jyaX+z`4Yd=tU)db2)F7bm1}#~ztr`oh6>xJt;l3%h15 zF-~{9nsc>a1%rby9SarW#KLgPN^6iqy)0J&SpH~3dPc0=-DDL-rVp*+4AlligcOei zHNNW9eJ-pVk|8L0NjHIy_oMl-Q`5S;Qu=h-<!*XmJ@qNY5L}ot+*kK!q>7!q7!p^Nh{RRJ`ad#N%jppT*jANT zQdBP{T>vD^7B#@@-K|#cZIu*V&lR~crz0|#S1*>w*Tnzc^U$AUN;f;bLJdQh(eUER z{XJH=3ZPZ>sG7e7v?_I1EkLWv7Ih=&-G!UPy${!+i;vC2M-^05clz-;B$hZ{M)ItZ zMG4-1Jng<^`{Oy?-LhvHf^LjU_VVZ3a*j6s#7Z)L4xAm7@q1k?`O`<~sw51r8Sgwu z{O;*CeS!Uz^Y1U8s>TUOpw>bvp#}eI{gdnT{6pT@@Fb^r|B|RR(8FZ z!ru&?0jMhb=bagOmAGX9s>+wNw&6YlyCt$J#qm)fR*$a>Mq+3SF=O#)f3U|zbHAoc zwe~~FTR2b~m;(CChOOtQWZKzpSU*3YypS8=posrmiSHR2he)erI~8TwZn?S677dQl ztezwGTNb5@=VPL$DV++=#_~6jyy#&q+l&|QQ_B}Xnn1;f9&a|*wV`T^~7dr*+7rp}RPH-eCjO*9zMWLvGQ%l5$mLaVski*dM9^nI546sI>f%ikU7enFu&TWM2a zHHJ7L&h7EGt|eygRD0h*;3SC~7iJAwW3FOOWYdFI|xj%EG4BUqhkY69Z5widXbKd5(?%}lk1NoUk5$EM~^ z)r@Ib2H;6eET(drtDHU=s{+AKZyV}*ZGU)SmY6{;>4|JeB70+o7-;KBo#qA@dZpW6 zBm$G2;aHJ(eU@{bXZ;ur%yw)ouf=4Wkaj7PX46eGY+6Z8H0AO4uBw?I0vdkh1+m}^ zBVrns@pZX8u$Mlp-lx1;bv;;3XT1KLwF5yb!Qx9~?t|NO?{y;cN`Cu3HhL&$wwO+T+2V8gk^Mr54h&@z%g3>n`R)KHL#RjE zPlmR3AQhbeU{ywJvQ(~QZW;xqvi2un`zb9>Xxczlkx2r`5}ho=-z=7d-c0|z=|Mj3DuJwA0+uLh|A5Tz=0JWnF!3t1@vp zI<>q<4T@!MI)i8( zYbM+Doh1r_%gB-Bs*L^%5JXSf(XI?cO<%&RE-$#E7Re$mdkOIJ^)epih*%V#k|wqq zZB3LJXmh$3VG)K=ou#12Z_)=S5k{spPHgfX-Ol{_3D%SzX-AiPnEQ?}QMYqf(>!KO z#0z_n+;Fi~e&e@XGVOG9KH62p zxTd3gS?&(-RnjI6gwin54AD^_y)Y(Q8{~%VF4zpeBUTtXUpe=FlOAw{;D5gc5 z`$c>7+&x%Hl*Y`vcRiH7>JVeTjKv>)1uCy(x@octV{+Vg*3YkjQB$SH61s~6`IZ0j z3G_Qx5-sxrD7N5p$$|$h*qlnd(Gn-;03zR*B)Ch~-mgpwGKBa1#InS=6t$QtR|#NV84;ZI;lLFw7tYG;_ORiczL_i1u3nN5t3b1 z?&iM#jCR_Wgc}WGVuFo6P%;%)GyeO=1IAUE)_d-=1ta#gt5+bb-s!gS!06jSi~6mD%M9Pq2kmpR!bqQYVcG-o@e3gSbd;`XCD;ePDw zjIZn$X0~Gusg6djj3VU6GpD(Wa$`-sBTTj-v}0*xo2oj8g7@)z3DO>zyVb4xzbqg+ z5&gWqQ#@UMb3MX=0#0)Kls^>s37#?#O1CDV*T4 z9h~ool~Hrv31w)#SJE)GU0$fb3ER=;JtKbqv#V?ZXNtv=dffW^fa(Y5c>;v1dVy1@ zw^j?|vUQ+G`VbrEurO5f6dsh=!P~8y2d};$lrE?G6cED5XpAL58!S{2FcAXR!-BB+&F=ygc=-j1+f9tM(zlL` zrq06|czZHSIeJ|C!k4eh+GS^)n+b-#^kSk+U>C!ws`D&kHIc!)X-60wrf#DfQ-ek! z1KZFG+~4{imi09E2V4Yl*!L6*Fr$(_&9gyn?Kq^IewRQKFrG>qo6#}70mo$5!dj5H zk`rR9hm4?9#t@?!g&*U9YT4xeaJWubNm?rBdtqw|^DRe43sa<27K zg*?nfmvS~ZW~q5iOBMsRn{#w0`Qqi2wHDoJ)c~wG4LC-)ssu9d`HBtO;HvB6Y1l7e zSxCq{?X5ZnjIT`8c`=3#wsQbD(5v9e>?%r^Ufyhk1x%PfsHeyBTovBbnLv{EAwA6P z>e@c2?PNJwc+=6!D(H(Z zyYWJb?=r&YlF~`udDx|9>mrX~#M3h>D zc{v?)6#=rPN|Wl$&BQONV}l;C$GJbb!r&G)wK>rL#mT%#lJliM%QB!{!KqakPsyCU z`F85(LR6N_aBfHj)58khsXrmQJ3dxb#QR=F3zM;&ZX1<_KH(wnl|zxkimvk z)zxFD+&|F_XMVH|3p+KtP(ymNAuC&%>dgF--DwM9hsAlp_ai6?rFrB12rR~i$z84Y>j~uTu8OiuCyMZD!Yd(~fC3uA!2^MhRU;-E?GA-b2nJ*S^GXN5gFEvV zZkN|(C0~z*Aq_k8z3v*>%1-LqWM@EcbPS{kc}@MU#gdyoAJ2x(T0p3iDWC)^lUC|i z$QT0vR$-pQunZq0lhe%$@=-%Q=SyaCJBpmurDKe`eQcm@MYgh}(hivhC#)pFGfHf{ z`r>nTg39Hlnp@JZXHxuurjx}HP#>5fRK6>gQE^Z5qX|=<`&B}HPu0tD82(hbn4LIW z_6T>jq4<=;ukNB=`}klZ;iu0B7l=f~c3hG)E8nY8L{HQ>8Rs5@7f9YP?7`Q4%urmL zkybc;1e|u0jAh?(XLBm<>sXRB$hW|Pay{tHTaq+5AU!?(SGPtb%gGA*5Jqu|Aj0Cu zLU-}zd%+^oD#Y-b{_II{R$b5)r#G>Uo4BS;+)4a-NWHD``eQj^L;N&FjMbgg*bN5S zl$oDV-)nvj^s02RKnP`^F~ic^W&%iM3C`L>H1v@W-<#(v3{jpCo`k!Ae>GIuPPTkP zpc&iqyU3D0+xf)Y{SD;O$oWLQp>S{jq=|K`QHn7OZ8UbJNbKC-Dak1>*2pKOJ|a+r zGS%l>TV@_~XLME3|M=n*8rqNF#-8qa2@N9J&`TBlaT-FT?U@}hwZ9lIW`8vje z#S-&$Y8CvhD2fm%W$eCuqI$jwPlw>)ij3sDq4LqkHK{NvAw`|NUYCV~RM0$JYAa0qy=>BsZvF?3;`x_w|sV7e+b zhCs9KpZ2j*k8Xhwm~^c*@vH>5D~II(8LN;Q14+i}a2a#UP6T8unz!7n zch{@SEDl?7qpJ9A8?6 zzcyo1w1PI$Y7Q8Nxm4pcjZM@PmeBG!HJr%avWIElL-E%qDF-hUdbYDxmGs7> z5S}-c7anrEr{L5 zFUlG`NZAz+a-1gD4kAviWSh3AS`1pgc#l352DJ*G>+h>e#ru6`BlOZ};B9PLU-cP} zep0QCzT~K6U<%9g7$=v^*rpsZJaai7W!3qr4b$(~$u%V9U)1HF7p!lnV+f)2;-auN za18g@(`$dD%Lt(jK*vf3yZWJ(ha+)-=gXVQJ2N}B(d|O52UKxPdwafnQ+2PD9(JYc zbs=|A7Cu^5Mh*v7DZkr;!Jb%lvdctsCue3+s*54iKlEt+Zi!_W77u^|DrjF(>2;SE z@$Qd`LrGh>xY?gwqF19A2hEr9s2N1gbWnZ4P$wq9w=Cvt~ z>wGKvaZT02u<%yX$ZX*(J6NYj)cG#$-}AN|VG4LhbH_cgsvnvJqKo_LL@H6kg2%^z zEK7wgDYL^uMAK%mizFN7o`>GLpp)yQmLUVW zC~tOL@P8(KL_oEXMUn^6SeJo0nEAq`*Pwj7L%H) zG7%r?IyU>_yc-Q0EGh{>Zchtx`%QSCtFY<0nO+xV0Qs$R>_Q3~Rd(q;(^A=}g?6SL zxfq0$*5!v9pBfbyVZ0k4n}6dTEs4L8PB&>ICk&CfoB#^z)`m`J$9|Z#6sReC{@4m z-M4#0OkWw893;%D`@sbI{}_A0ohyaZ#l-TBb8in>PwX5n(2}c z^#%Bt#s{zv0LqKa0yfgGEOjhIs@bv4t7S9Llgu9fQ|Ex4(Wh9Aj#4uk}+yWWh_Pkfqy0uEZ577?V`nV-r=*5`G~WTEtp z{mNm2cJZYgJD}-6HHY{NZ|{btr^NqZp%s+K?jKoh?l#H9xtPjrdoi7osEusJq)vEk$@GUgwT&sTc zgR2D?Pq+>r=W*F(e4}LTketvHlcFRx7H3P$GeY|^>}aQu<$NT&U9iu4Ck=)%GCKu6 z!3J$Fv@Ri9wbHErWx8$3j5aAt$604}ncmM*KHJkex9JMNoU1Qh`u>VLyfh#7bGN{+ zdD{SGBH9g$E^;#EOL;OrqT0=K?E!o`Yw3Zt@VQ#h@-tfJp9{MUJ zRbQo;gMFoj-O(<{8Ij!xjyGuDc#ofaNHaNr}cQzmZLU`9!Jl6qe6_x(PZXw7C@op`w`) zz<-O_8E#C|jc$W-ECSm~7x5gtUurq4p6zL){}V+QtLQ} z(ypX#I4~60j6|k0J3Gt74=v(&&hr0WA?{EB2wiQ{9AdnV41Epv8QBfiRH7EX$2DK#Z(vUe&Apw3=6_>6*PAsNm4;lTqf*%JsP~)IcWZH4V_9ogJBP zLC`r{aSiWsu3xU(0TlCqm!?H4bmRaoS2^R-J-X>x1EfNAUklaO+fJ=kWf4D0X!_o; z0U9PYmGG2st7-VllMgsewFoSEov*WKQMEa;L>C(Xf(x&YTlWHxJ*(Uvaq%PrS^yt7 z)TL>C#ZFGK8sb2y&huytY2XF z6ink!H&eQ>f4X&7cLR`^(~TccYWvePkZLB)UoQv)fTLPY#P@QM*Dkfrx!SZI833R) zL$V&*;9lRoHd8!oRQ|QeagsxaIrHlZYNdu=kr6Jfm;LjsghR0Oe46m!$y{E#ZU)bz zr-Nv#EfzcK-opaA#V}Hs=mt3ORWJjxop91jl>ctZ+zps>9n|iJVJ!!z-5x44h$z(I z3^aTxacsgII4bFda*fYX;}zne=S)m`P0zryU?dwEYXYa)8j!|5({`H6WoyYfcw@;M z`<=d6{@eGot|cNF#0V&D>862P<^`^x4YH z%qo&|XYK^3L_2;4)%f?t5Q_?NQ4H)hxBh7W{4wXM`}(wi&alNMh)oDs%Tmq;5ukVm zn~nj9;t(BsfXC;$M{8INjA-lJB zU6-fDC^&=|w{k+WXQ1{gi6!z!UK5XAOpZ33G#tFdw_mnO;h6DV*MVJL{ljRh`#R)q z!$QrSK`#)PEe)CCaeVh2o4<#$vytZ}{gx}ebIH(d8f__a*GV0|W~3qcDHO$8Hrm(k zzh9XskgcrK>%_1{TfbNzJ$AiJe*5k$RWrd3KuFq~Lt@9i8MX*jn}<-MrHFMu{bGP!2(fcgiw71tL`eA z60X8oqEcNh9hKB%v=3VVQys*Ot&| ze6BC*$N1$s(bn47F$90KR+i=CAr8^dBql&>ckFlo#dnnCir&&N3>xhj8lAmcU|(OW zaMMw)8D!!bl>i;`!ujrqf0&e_4cGH067uHaYrt3t@xZxhja6*=JHJH~Gun8oxNr;E ztnN!H%99N*NJoNmqwx)?S-q7tSoxDZ|0jE%oQC5$Bk?k6Yj3lT)ykrhJ0bBl$scTh z><`f#yGwhNXp%&*J7;~?LCMTck-ByLV$}}9;BeN{bF1QT>vXHRq&uuG!2C+KYw`N0 zP|_anaT{_e)}fJu$kFiiv*Icc0#{*$fw!A9W$TJs`?bkUz1tAh+~%DFkkat%C&l_B=!W0N$0m7O z7KE)yuF>qvY~zcI^5ce}q0$}C-%nJKC~odi+>x8o!;}g09bDU|xMQpUe7G$00`VMK zR~EEq!!unq@FkWSON9=sMc6HO2aq}O} zGr82TKIMd-ImZD3D&3OLx+`MX43)WG8N^xjzwf6vT)s}Fwir&AC;j?GJv5K#aoT&Bq;&+18iOLX-8)_lR=kp5>b8&3z9qXW`s z+yaLr-Nj)fH6JTEaf`k@*UyYq^egZVZxBPKDo2~p<&hE+eI9D`iiy9}of|zxdZ*CL z>r%p2PEmtBm_@_vz=MmpS9j81AJgswl;`VU?u@q+E(fdWCN8NCvW%XsKVWXfFIo0! zW>1A+sFq1!G_xJ+R5tSKqHGD>!%2$IKMVSj(hceK@ zVX8;|d$6gE{J7RZ;G3H&!#e6&wT>M^UvMSx|CKMEH(O*|Si{;w#hp zolmop>H7R(kae)c%*|KXx&>fWxnxcA<`@i$xq8xLZiv@Zg7&(TrfjWGqR83+Yuj+# zJ-V8^1Gt8)stwq8^l3GAsK-ZYTrgsi%4T{=BOb2r z#FT6AeG~^8Fb^pZAR>-nG297}fkb89U{6NM@|hm`pN8Bd@#q+p9rm#c)pUQ>71C3e zyD~KL7TpT3XB2RVnSS+Dq$oV+Py~u#1*fkuaVLr)eesXso7oE}-2Ukj%18@_Mr=en;G%ZDh1j_nGcVS~yTob>=|2zaY4U_iWI3AJ<&U5IZ0i#ygA3=ntau@ zX;WG1XK3w>P^wc~Lwp7pO{c14c?2y?>CTN(Q-&r$ZTQCVcqee&SQYyYAtCoCq9;>t z>NMA$bx;_$XXNe9sfyzN6_x1X2C@`S$1v3geWBu6Y6w3$BsmJhAc zK@AjDU$NOy{FyuGMx~?T>_K`7(jSFZVYIGly7sZMlpTpiuxf6}f5^V46KX?Nr_%bg z3Er!99RL0bYifwv{jEzBML!I)KhXPdveUfA#9`=tn5ljcQAXDKTC+v*u9pFm9^4Ha zh(J@L|KmN^(C0bF+5yQ`QlZi?sx{Sk=?3@^n_t8H@)p1j_di^W#o>22*L7CZDmM+8 zl4NaK%k}kGx4H=;s;tRO9b}TX%F~tsc4!R@s7rABN9(a|qJw5qxC zB{=_16^=)@1aegimSp#iI?p zc(ngnEdNigT5q8;+yAiys+a?vja7L_nv=|#RZ`4>gOF)ne6yfNzMn%L_IWd_G9S|^ zd)(9N)fTG1u5%1A^M6Kw{JU_)Ej64JYpdE_13B`1+ot3B_A*cn19LGa~8ejSY#HfpK->FL$2q# zPiq5&O!VZj%jiPxO=Am3-NO0x{Udu5CJ=U@Wr z93Z>%Nwo^U{%b7cy&lPQT_LAy;Imw6jFD zw2&fW8nySxz?q5sP6D(cPF#Dg{kjWD;b0moQODdCfN)~e!LGNS$wX;x>~;_SDk1@{ zOCIy@8K37{petnJ5j0^zOB{h)*gsla`86VgTfm!B>WWOx;lgNDc$%S@lh}PHI@HTZ znC(C7@6RA!@bvv>8&KbTPi_%t{4DD&0g#jNu@&a|^|}rPlbtG7SY_mw+rLR(mc37* z&PcZR*+uu)nG>1zeq?BTk}ryZ{RRxNN}=3(%j(^GB!JUk$(S$uRjAMvRR z6vVOlz}IQbMuL-7+sR(OWY`XH9h$X7D};_s+k8WF5)bAA0%nQ40CDRs5Hv5=_v+PF z1IqioBZV5DELXi#0dXp&G^FbCA5(B(1WO?|+6ySSg`v!dB@Q#u#MEA(qi<`O_y~v3 zWkEjMKOF}JwCKo&2L}fS%+Lh3dhiR;!sxc3uHm%{^xB?pCYgl`_W(}-D*$FOezsYf z7p0M>bQcYO(mg|0CiYzeegx4bqMf$T=3$n=8LK>Rf=4yoLT9$%*=yv+Jd39KL2qy0 zLDb#;B(Mq(bk_ZU%#j~%QDyh~IE4#xOCCLiIhK<3(s!TnxN32W?U&pMWb~^p57&o_q7J%|V!ddl9~z|e84&=8wJ*r`K*7w%G}%RThojNJuiCNLine8}CZ}@_ z-?{^C{GoWEZ$t4@Xminzye@A3C9a!KPE0RmU{d3xV}2ZxcGz`n)yu$JpU6+0H@I~-u zqD@{>4;Yv6AA*Cw{bxz3nPY-ZN(|`DSah*PbpaiB6u>3qwO4fL`2bbktt{ze;CRye z^+S-^rto@6C7O+G!K|8oYdXEk1#}}*fa4E;o;2mX$C;pf=VjVe0BjCElz^GN1W2Ir zY(?GsV%=L%7?qioI!CEa-X5>R{t%?ZLgnhou5rsE!U*dpKt+1 zW+1#94iSq5$=aP;78;mI34m@p7-Cax77w#5tjkFIYuSUQCTkF2C%)VECrNU!eU^> zHQAGKeqvP#_z20{e%n4vz^qFUv^m{Y;yr*g`*WMJW|S=-@Op3svr)@Fi=&pz=tDzi zu_~LQ&vV^KUWbp*@MJ>^(F(JcXhtSszka?9#$TIclWWK-W*r~}%!vFk}^?A2y zlXdtMQmyj%TFc#C&KjwzCK>{--C{W^)@(tr+uF{LkJSq#GsdiXP}INCa*@#x`z^^% zabz_{pYBh2IB=>*T#YpStkrX8DH3Pb;HH3W?BHA*mD8;@`RMf~oU>Rb5Tvfmv(>Ne z>YWW|oRPLJ#_A`T+B8%M`y6ah>uGm3D8x&n`>P-G;3Ov&i!k#p^BZe`haoyrRM9J9bUWkn9y_OC8K%{*dnj_e%A$(Ovk-G5PMo zX~gr!Hs7;c;m!9Xy|jIzeLW)W@{(So>%$6I?B$e3ugo{>qdbO`{Vt zs3Xcm5d!i*`m|nh5%S)V9{|0a48Wk{*6~-8?lG+50=4NjF%bTifVd_PzG;%I`O+z< z-#n-8aB8MT%Ey!&P$q?}&)9rc+Z<53+e?qu?e%;OvR$$ybC)B$cn0p;FunOd^xlA$*Hv;=5j(Z4i@-m)K zN%(r&XBZB?c&E&8?j9ohbYY6={1BU5mu}B$oV1kJF8aX3~%tW3hOSv z;;cy&2CAj(;d}Lqxv(*Tnhiv^?6MWu*YV7#54{|wNvZBHZHUMweO`ZOXLy&AU%&+p zC0?2x{Q!VZ=+c0c02cpCGZ|;r7?hD<*l8TST#!nrcutFVAFti|j{vO*z`9^qp)T>4 zgQG>Or6K$iiHww=5eV?Jr&>Q7x2CxrzXD8F9n&eXZk3X%Fpu|eRA;(~MUmG@`ioC- z5`odKom%mC`FeT9UaIp4)G6P6ZC)`#fb9&=y5! zTNB=#J!aSyf5yZDK8!2BL0B0FeNI}=mAB7$!RgOhtxa#auGa@_h@T|d&^{kT`%K87 z8L_x{WZ&rf%rD>8YICB%rpT_4_o2{b2Uw1_S=tQ$2BmbK=j=4CPhEg{)T5I9^qb1@ z4*lV68D1-p-OdjH;f#cpA?ts(t3_0T)$v{K=cSQ0;3wIrNX}}t(8V;U?qGHu=4{M0&+du^qc?~iFG_sV1?Y3E!WcApQOxovSf z7p7bCGHj}`gZ|YsZFz(=BD+q+c+EG%^LvP(*LNrFr4a0jOMe`5)h=U(UfTOadp2;V z@3r(L{WS{BQ1RFryT5|Q+=wg`^OJx$V43{Q8A?x$t61|i6FDdI$ovQxV z`#9)xhqwI?8s&wf4xAz1-q@Hf3NlBnr*YVgKq_{Ci14%F4qL-)uLJ`Z$bzfW@B;F9 zH9v#0*Pj>Q;({4`c*#_go3#~4>Jwp;0Qt}hCb5%Fws9C?=Xbd+ClMiN8QR})(7!P= z{8_QI2q2~Q0EZKru+S;DHM%=SLEo7=pBZgx{pcy7FMf+0)8~dxbTXbHy1DrLy57mV zrrq7y^F8 zSX^!`ikotwQ2XR9CW3JdA`^|$^!OnkWQ^eFVsTVzdrq!bU=WR%o(bf=@}QH==r*}Q zXQh2@x;CurKmcQI)yjW^!mNiNLYX-G?&BX)*|4z^LK?x(9Ecv%rFyw^B93_GL@OHK zF8TV{T5C1Ga>mcoe`x^>W>OQ+h|MDAa4`BCjk=utFzafn&xGxh7zSRQ0NBe~mh=$D z9rC`4b{Z<`SEN{Rz6;sU-1Q~^=rin$(M5k6C>xkEZ39myS&U+)WF$l9hDdy2ID6=E zcA;G>DtXvBMwYp z7JTqvGa9mZja$et*8;mL{&|$h+vv@jX)euFAh6tdy~|x|IJN`rPNLaTD(B1y9{f9N z%15lMXwBs5S+am(-f~@B(LYmpclt~WVWB(KIO6(E)o zD2u3)mtCx-Rp%hRQeDZ*v*^Xq=)eyqLpbQ?xg}^xzC+=%jk^;+D5SX(!n6r;R0ibb%^VgVoLyX3`G?k7_0i0u~+1 zZoJU`$wa~5bRP3rOSU6U{8ioR>Af^ImVQKKRV8d_>^S+!_8#ByK9x?tJcye#lTu=Qz?z?Wot2@8wQ))epLx}#u;$jH#uEr^UVe~a zopuhtlk+%E$0$TQ2Gdv;ugD;h3UDnPt?jSM!Z6UTl~KIhg}UyUr5vDv|E)S}J$ERB zDsm)^x-EYGY%Hc;pX+yGBfxHWUscOchi zU4TfPGS_>qtJ1ed;e?X1Lt-2z;PsZ$qgdpWFQeid8D#F>6(A{--W-4JY*X@T_6M#@ zh$=h6f9QQ2nek-ardPbfy2J9E$8xdVk8h&1FS#&uV5ANpiHchEx5go&A;p=YIYmt` zoz{NgtL*1{kx^2%?r4y6Gq_)O9Kl*rhlcnc%($3qU5`YLpv{RZK_Hc7(mklLen`R% z#F8#Qvib>_i6sqjF0L9@BV7gR*&C*Y0e;WJXQs@tnXxsZ3-~xJpqyE}SO1I>gSZ{y z#$1pwPDqf+*pA$`f%5C0z{~gDqZg$&wb9-+Z~d#aNKCEA#`(XqF`S$|%srv>bvfn- zb3UW7^ozx`$kb8o>{0XK;jU!~$!ApTX?VG(uu}Rx)~WLWhl3Q5v@z@Tn|%v{e~AdC z7CdS6gbd1()2X3J>AY$aBVVxi^=I%{Qm+QlC9uPgn)pW4-2<6%z@wC&(BKH{9NhMS zn63(}3SlE}pNvg1#z(d}qlI*Jw>0XrtIi&jJ+FYH&l}3hs zgah^F$@G@5VXdIy<+7}T#`W*tfEvE!EYgZ>{)M}aZ0@OTH$j9r1yhpMeN@LaLUJ~= zDDgF7(UhboS}tzmZ6y`);lOir7xZ<5TZyPeMml`;sL6W?J$ml8yXhD{Jg{S?D3%6T zBy#;;?ycc+Odi)|Z`yr7q3ClpBH1$C?DE$yiktj@=F2<0O*p0ot zZ^6vRs(gsLv|KdrDeF1}KVQLqrZ0)q#_J`i@pYIYT7pEDT=P2i+!;`UBjHLo-o7k( zc)toZrig~2f%98t2bKq@+Nj-Tw4;ZA4B>Cz(EB>FMwy-`AsJ>WX!}H7yZ!o=E>Lgw z_eVI6lX**xX=#@MKiNjzpW_Yttm;sXJhASwi8{f_$v$7&mg6XSb-wn4W#0UgW2MSD z))$&5qF?)8B)iuhI!2DvS{IF5fK;ZuXLR|Doz3x^1qI)w7lff>cCb51+Yih~phR9N z31Dq3i3?Sg5Msdh-vX$okc$&r4F625OebA;uJPGU!lM&vU>bps0tdC}4x~a>U&8+M zZ!_Q8m{I*{Q#y{1pnaOrK!zcAXzT5;6$x5!4|p(ray$qS_+I}3hbj?hH_o}~G-v2! zKLgxW+bY-zQbz^tS#G_1dT`M5nq2+)UjmihiSL2Pj3qGlL;O%36N7!$ssnM1SuC0=!7DUg|K?P%bI;KPtPmHKtouNF*$8(f0SBS7hH(&5&n-Ub)opz|V7%tBq0 z)x-nZgm@5*=nEa|#=bHKiv0}6Kc^iVOBI#aQ|8XPu#5uba!rQkE)n|*xdtnL`cuL? z6NZPb^r{cZN$Y$oL zsO@}OUsEHWtx+dc_zTc7Sm-oAu`?aP+)ad8(%y88U!Np7kXU0W^!A%cFzYQm&M={A zS&k}rjjWj&=xI58FepNBbp?%;*ut%7S;gf5B8=)Oq{ho&vWJgtJ|$%m-K^5+8SUO; zKS1a5DWGOAI+Odp7er^%Sf#*Q7B|gi%lIue(FEsBr+DmoAJ!)|(qkHE>h&bi8`GKIceXD3jdq6_J--8D3l0ENVEWUyFMuHFy&nAIp++VaQR;bfhv zVAE4U+h8Gf=$0W+Bvs$QZZvFZkl<%{Ez7h>gs!?LgHz0;^2a~r?=uVWR?@6k;s+X? zfhH%?WDZ(ym^l*%!t>4WqXO+uH zQrFF&Zn4ksQ!u01D7G*)Frjy|My?%!E}l`W~hb#ZA8e!}cI+Kjw_BnQ?) zD%24+xsd0cU@=y@!vs~(0`*4U(YG2#*jVEnmfCLNqfz=m8m8xXyM?xm23mp%b1e*F zs(cJvm(O{uetC%O?wI?0TQGE^Kv{6|bC1Bd!K3$fy}>R(BTlA0x37RBI@(|zwZBP~ zCJIwwEvV%Nnw~`SbQ8NZz#};k%o-tbUwzA+-`$XU+p-QXLrHD0G?(=mO2(+w#kN54 zO!qZ*O0C|Kpk&J*?TbJ$ygMdHklEUzn=o40fK-S!LvjH6g3XVk36ZMl-fOH3c8u)! zS;ZK)7Y}5%mBvvzr{YMjBC@88QTSUf3pP1qBOlydr-qpz>Uv4)9nwIK;*pFfc}Nvn zx5Uv7VW1KNg2A^=wcZtu?2x zfZVr73jwsxC;glIi7dmE$2v7Xzu5LSAv#~gm|I%qVKMM1x+%f?#Yw_>JG*DSU$xeo zQe>Wo&t%|?&HXt9B7R9bSZ_zr$fdKNr$)M+Sk5Ghl{RWKIW~7%wR8I%^ z8+k4K)87b}^LKxvtl2c5#2sXgb(=72QORoEQ=8&ml&g%kM1HDEXgwf&&-NO|=Q74Z z-aYj(0xXwr{_X=C{2%>;0qS@3iDWIUyQH!&bUyK0MBgE@y;U-ho4g?+m z+oDf3Rcsi_*1*UJbZjGTqOFWRMUs`xoRH1^VP#b88J*lCtvw7CbZA13h1jH6y!djC zh}V7@gmLLR`Hh;eH3nO{O+f3cO@V^*oktN4|NShn@(}HBDK#0XZVfX@V}H67Mdsv? z)iyfE&Agu_+b5GARskKKhrPPi{cvs$aM22N4Pa2A>-q|Gz9A##FVy91% zPMRDW_C&UhKPYA9t@)U^?MT7EGZB5(Rwd3|co=?{pE3qBCXZ0XBm9s_etYeG5=DgVopxcCtI6=`tu}jgV)g|SGM3{5mQ`e&_MP=_8Znh z8@G;=sEuqgZ`@p39fNYZrF{0;OOAwG9t}w;KN9MelAOw00rh6!bmD>(n67zO9%8w4 zypp)wyI`Y{yct`iC2F!AWUR>8~zSves=6ab!Sj&<%#;y8BCg2?U7bfKm-rg2S8@lnfuv_$gR7)EHP@!|OHRG=zxQ7)ek>=-}mHcsRu(lHZ zC?f1qipp;?*L5&|y;AC{KISP9vUKCTGa(4I2c6JRKYwA7zc>ESO_mNR6Dg|}!a~Rz z$&(D#9M5%d9b842{@3dYqTd7KnBpFY;I$hwRQ@t8*TMFq$wqb>>*D)Y%lY@F4Vb8E zoPi&jE++!B8_kra(%q2huYww%tFy!3Y?4CSG9k9>EL4|?|BE8|{j`o52t1B}D^b-0 zd=I8;)~b%1`DWG+WuQY${T{#G%abQ}8Bm0L550*oWpFTEY^Z4dKYfO930Fqv0DdZu zP*`3BvHh5j=W8%&hSW4Gus{o_I86ALmr-Uj7O*jTWVtP==tsb5ZS$R9za@#l+bxc` znA)AtAz!}87w_%Atzk@_%0s9v`_34`NEPIH1EWrZQ-o2y$*E7opEC?JK9>88@himW zH>@?OOjS82KKS{hQhB(_ZVMy>OGBvI*kn=RhD8V?6BM`@#YI9|mJt{heIi`hu=)!^=A}6dwP1T&V@h9LESlnj$XmZL!`W)=C<^?WR9XM+ z--KkQ%k3mYyB6jD=~{H^{a_k)=L#Cec7tbN!yap_?0{@cWYHZB@+r07#Ua|T^G4G1 zYpxq)RsCYZB(;0(2F0CdW?#NerBuOArF20M0{}Qr<#?cp&ExXGFtOKpCC4dFc}eBX z$wRRY-Not-R#7A2*G6|6Jn#JSK%^S4-x%_V9Hbrkf;FYyJ`kKI>|pU^^b4F{?w7fT zUIlSd$E!EM7>|TceKgpXXE+T{y^oeGXS z*e(ghzE7GvwHy)JWkVH>n{7BfCYKzgOt4<6U#H{0!T-jK#`OzBf>v&2M3F*K(XyDk zzYph|BE#j><;j-(q5_oNHk^b`>d9|`64xHfLTQ1h^6*EA8^sS9!T&HYv2d@VU&O#9 z;Tnjz`H(g}YGJ4b@4O2d`S%yGaFrfl+#h1RwO0SaZEd99=bh?5-V8qFMw67JC83{} zEL4&?IQ!h?2jPD|`}Z%&Op)p(N8L4E>84v9VNIxYKYs8w`0k{?8X#d+77S34G{kS}yzx@jEO^H~Tr^%dq7Lg<6h2Izt zMci@!^Be!T4;CzxfIhg3!o1+qw=4{FR` z?({LZ1UH&FwMhs+{hl+zT^s7OmqqaFxYc6Y2CG#*^Z$a{f1M+;mrTEZ%pxTjup{d6 z&ntN-1Cwv>9gix5ZyZ&PpKn)<_iwV8vu@TEi~r}n?Nv(k64?e1Z0pZmh9Dc-KyI>k zyc{^s^3N%O)yJS#8RTz7W%DF&J17TVout*QJty>12I(2|uUF!a^t_*xw-UpG1fbsC z^FILw*nR$Cp0ED-#aFHIM%<%pElorj=;TquRu7uSey*s$vON0u$0Ypklj_4Ad0uU& zZQ`(4nQ`rDP9=G%>TAArCgd^xMv(kF$UkQv3Yuwo$=xs~nQWpDA2+&BuWGJ{z=~RY zjknfS_nqP|7t3ZE^=VgPyt0Fb`+6^P`Pfc*?yaou7uqElJngW;`sXuRp$POQhZ^cm zFWUE#Bt-K!R!KgxMd?a9+a~h6uf=jjRHgj#6Fa!n0?ui1qY$*+p8MSLl(KNT=c#wi z^pYg}^pfaRDP?!ve-64h>*Izvx>4-vb#Hmc27#Sxc+s+s$b8ke8WvMkg`1KBYDG@d|D4&s1>V9$ zN=H%Nx{}HtoxT2L6&mS=QF-IgT-2kaDk!JHA9^KrZ4L=i9j@O-HU9bD_csVeD#O>N z!YaXZYz&pu<;Znp9-$V{5%% zR|~E*E^aja$mlO27z>w?^eQ9M#ZUNs;z?aRh5xMgi;48NsC==U{}X3G%)5w4e;pkz zg6e-atc$JfuUT>RVt4-Usrur8@t-Xf92hSS82=fKivz~R0plX&`C|@Ttc8oUaIqFH z*22H)MHh+ZMdEo;&HE#ySrYvE!oT&#t^)fUhV(u;!R-v;EOAbC-cyl5Bx(ek}m z3m0qQVl7;(g@2%^z!CbQQT2b(sG^!1&-zOX;IFq|1lWrJdl6tS0_;VAy+}g;8ws&4 zpoV{IW?dXM{yHsOpkn^MMlN8t|HWlrpkn^JMlO&5e+!-$9iNMi&qc@QkKk~z7B1Gp z#ag&n3x8|&U35SHdxrcyI9wDY|C?f5B%c30R9}!K|Kioo(>>l<=u~f7v!<0SqB!^p zVde3I(!>SP16Y0_DQ3RDp?_t7!lZj$Y?EAmEJ?n1@us5wdBVGsp<#<}8&L9|qS-0H zcQ3)rSIywMOiaTe7k-PgJ)D{yc}g%#&XH)m)R*S-M)g1pOhkjo_sxFCUESR0H5;>y zwH$^GIb!=0*%qk1t(KjPd(K(!_J-Ik*2hX0fi$w6_*oQhz}X2w(I(`SY2dW7sO8oz zPINAy6#2ezY}>L$SG4qGE+RipsCMM4O&69{a~&^xxtJkM^OojO|3UhlS|j&wEha_= z6zR%O-s|FzytV!mT;2uzNA675IyqgIH~Wb~`K<=&J?<*y(2pr{=(V56{2#U{5Q-uYc;y2obuz&tG)G(j;B@Q13Xcl zNv@q=T ztqM|NM5PwK{bd#vxGr@})!&-BBmQFw+-+t6)|tg@)z02|J)^}-eoqCYL5{cJD8spr z<)qggV>-b@-FM2F#@K?6Gnzo8|2ZB(6ppCVmv{AI=O<2G!0hny_P!u^He3o{fg{f1 z`@o=wM%iaH2WVmVNueJq;#7r3Q-Ypg+ye^B%@}x6pYTNoldM%njMLiIIL>M}A6eQJ zz8U<|bgcJA-R@^}u)|c9jm4LDUZv|c6tT|! zNWdKrbT$z^sgquL@4xytDL;`4ASltVZ3Y5@R*OT5+?>Q>KZ45aZj2(MR5G>*10{~_ z9fbW)q(%9QUfGV%eOqgQptbZa+xz*8+hmsQj#Z7$U77Q?(>l(13Z(n0fn0m9GI3=& zF_;W~JPY55D*VkR>zvJwfTjKPct`l2QZ_2AzzD1(U*u?;N77`aRc+a+vASb}jf~HS zns2tp_b@O|Z~vGxN>?YMN%3t*t+f>{p8N5Zo-~f-ItpT9x!}G#-4~@k$EO`UDl=@H zdNdRfaH3hiaDBW}wns`Cvx!UX{Lwk^PO`6s&7F;wr`vI7HdzmTyj@BQOwdb==WY^? zULLIsA1gByUHG}|li#djIA4mR6IAPMv(;Vt{9OdKsH@;2FnHGjPAY3-Ay^4l{1a=B zrKKWASb`iydc5}sSu%Xb6zU|YD_fb?g(|#J=BJfzt3xj1hVXdTmO%leDJ=$OjLz42 zYK<;-ss>}oX$LaD>)dn0b8=SC?YKokDBFG}W_>R`Kv%#plHW_xk9v}kq@d-cA8`E; zch$V~2rAA8NgUxb8^jGvzjn{fdL`~Q@}PF^WT|y$;Gra2cLKLvdA)W}#^yA<%9|#I zDsW_O9&IczM#iF3t3p&)IP>@u(xN+_vy@Nxyn2KLug}qH%Z*iDgndZW2`?IDGZi2* zrctWTJo=-ctjoAOg}S`-EK~cOL%*hECLlokit888xSa+p+`YH&%g0njo#5xY<>3j7 zyX(Y~`P~5lhtfw8rLA>*4zvy#P{GYKXqh38pyYcC5s#+p9n5cShL_Uq>W!B6Q|8`j z0&O_FN6>y{xrbP$*lXA6mmLLqj%K%w?2OYrzJESE;nFErE3~2;l|*v%d1EVTs4+>4 zz(r1X{SN}@w`hZ!MTSt^#^*cS{qgWGN1y6~<%87E58EZr|Fd)29iyG3~kp-*qB#eO=E|;DZ?>XL7v1DelE13g6-YdXYQNPVL8H zaFgk!G9Q}sr3#n2k65~Il)vfod@jFCF6#RI{&K%nrDZQ$wWNLke(HJt@fm+om7F1k zUh(+o*l+`jcX8*@+UR!mdF$qnZww@cM&g)QnAj3?aqG}(f;W0|dY;p=Po%a9Mntb8 z*J{k#!}t3k^IkQc!tXN0H-YhC<)7OW|h4@JGdSbW8mia|$U|2{-vHV+%F%YtE}TRtC*- zzue5^sxsW((GEDg>D_DZTIke#ln4Bz%BS+3xOE4-iY#|4H<+a8D&KEObc7$=y2fa6 zc5Bq<9CrjMP1oWZH?$myzGl#=^2;K zHW4f!f@)%IeQf&$@}S5kK~^?v=>XNTZWa)dF%`SiO# za&&weZb7xBwl0(iR0Hd0Jm*7q%bJZTf=cr58acNvmL|L_J4GOk`_X}RtlCjkc*bTP zy{iI8q}|03785#M=l8!y2kg-61cGa{r&B{Ny+DXswO>H;nY+aNa?nc4`T$Q z8QDhOg~5=B+Ht9y-Q)XuU}{_|5W0)nbTW204?2BpI3AE$-twtb*ZE-*m=6Dkz4z>D zvfI9gHG;HTK}AuJB1HwHSO5hniXcULuR%c(0z^s(JtDWFQl%FGrFW!+5(q`5cL)g( z5)h;Yf|St9e{;@#&iI{g@Vt0@kuemIYwT<9wdR~_?zLXA!h;oQ#ZI)|bd`_}Fjrb(c7H})?CdF^K@>mzle9J}}=DGzo)R|c6Y=wY94nPo$wNKq%@m4M=UaDk8okBMFqWz`& zloH&*jGPMPR7~*_Xg;WanpfdYp)NMa;?$>>X9ZUb_p#p&ws$D-QP`LZ34^9+5+-&> z?7N@q+=IUs;;* zF*`ZpT1Wj_tHc9g3d(t@_h@785-|XN)cZqzOlZD`U9b0{?M??P`n~$2>Faxz@iSJ} z?d;`H<-4MPz!a-EFa&FHG2ES;B<<`&VcC)BfF4XM+j8=s5;ti0y5Bv%R}uRND(|%! zSw)da_1W$4VM-1AkB%}?sB|jYI$%5YOp&tph8dY(i7%+}*N#3Jb$JmU5O+Q3Spg8V>$FzgVXC`A5UKA=wBB`HOr+5{O795gDm6&gKTECtD%W9SB z7p8^48?$&ipnGBYjGBaQ{P|1W#uBUrEGvZOieQ(V&U_;{D@m$lSt~^rJ%%8p6pd3- zFVlR~L`}%IT1Z|s)@*EowD0UK)xk1kuX2RQ?++~|MU*S@Yh4D&oJMB))yi! zS!|9+oNVX<(>sgXB915^9P)^ zwct8>HSIN@LsWM~z=`?FHX1H(uwyDhQF>BhuQW69)^m+KmL@Uly6TnZl?_avvm~TR z{8VeQ&eb`uKPrp4_Nqg)SG`q!>i*l8Zi_pVH2a>(x{nS9?P%ohf9|jJ1gt>6A<%;e z2Ilw{5#_`eH-5Q}LwlddmOG->maZVFV`kD$TaIJ9y8q$ak$N^D*?!Lq4H~>1C=QXj zEIa;igyq7GmlD;A?lWCiN_63I9#kI{#L|cq4F8w+m>1Td#4S$-a(6sYU4~Tg3>V)N zX3}7dTm%nc3+LSUi1>=$IhE;PQR!q>vs7u3tZ?V+?m`M9m?$HG!CRKk{3zyK`%iU1 zse#1_08&K8S^KNBqefC`mm!FzrBhtecX+xIr9SaU%)V2jHA&ex?vSWpLX_C zY$@67MXKrrF(pd~_Ou`uTu z8Q_Yrtj)y{18F#UVC$ybe{X4Nj8r(ddxJ1<5np3=wsH1EU>5|n^`kb6yi({cSAL^y ztj1kVaXm*KblSFWB~?+*i+~9;+JxCq8pFaRBQU5*w{=7htu0@Cl;%z2*L~#q`P3FZ zJ+O4*vZ!)_W%cfIL9@wcY{+%g@xM9K?)1ntY+`-68h+u*Xk8*8cK-X^C?NyGxMbqM zhzhL)TuR$x#`TIufD_GG>}1ly)=A4`vN?l8yZ3I1Jsrt+S)My0?}0m(IQ7UmghN6E zN%nqhTO-jhru*M5+O-}ck@O?pM|xnX3Y9Y(4jT7?qoiyLrG;kB*wwH6@;v*`8QIaF zC@7Ks*D$hfjUBh0)3VV=zqzv|ELp>9b`b;s;Uo5yQncnmVUz6@DQvh#a__YgkgWq> z%Cq#Ij^&O3^aXkKj$J*aSgvDldrfX9w{HE@8~W-q?8fq>msC$>pud_|E$Xw0^LHGMz(g!XuX_E z2`!r!LZ@L?<>K!RT4+ChqPP6pSm)%$cH`wxD-JT4ewW6(`Uhj#Hj0LE5%f4$8*lpL z1h8Tb4|roZpniE%=fR*n3jUHl6uF23^AI{ZVyiqBs|11pw{h#5ud||(v9*`)4b(-B zY*Qhx$Q&uJS*^i*H>)U$KHxmE$GNXR_~+=fN$7H*{db*VpMIxh3M7O=(gJoy-m_Bj z3yMX+JM4bX3+1hT_3Jxcv9V;%s|R#19^c_!dD(ifGFs|1GEnBVGI^$9&pxe)d&O4% z+a{nLSea-&q#@z4fyEGI+s^?oH`%#YFN7sB2zBt7Q93~}8kf*x*1%6SvU^NfppYQdDc z!KKLUt(B=P@{;rYDojO3?Q${Id=f(`7FFEoXYCBVl>WY0jY+}Ahw0rN%Mgasm!16D z-q34_&dMmlFt_`IKBq!6%Y zIt8=xna>K_^>v;Fzk|~v|3l6Hd8sGWX)mq=Zp!%Ah1~c6DQEZD9`62WxK=NBU5Pjj z>)~J@7R11MB%2I#ULC5%_;3AsJe_thpJqY1jvZI9aQH*9>>^4fEO>fbR82J`_@r`y z27Mo0c?a`bBao@x1}t{>tiD}c*RmKi)6j}2kN5|+^uZv2;g@8Id%^^iUN^pO>`9Sh zAYWeH1VHv(9qQ)t7>IBJ0X|mI8$qo2n0V-c^F71@?tPlf*a;2^7lqUmxdv`(o9C@LWr!p%aCCZFa)VIUDs7gZUD?Rb+?zrA|8w&DjQ85f;W#l+WAQBkJ~^GH53 z{rwp!NQQPd2h*zC`90XT&j(A1kN=4Xb4Gy}@)Y3TBL}zLXA1HBRky_*Z<0P;wzt~M zERKE#j_D@dg3t>sq8fDpzh39Q={#1QcO)mcBdf;K0QiGlIY?Zxshy_|ORX1ExDd4k zo>L*7Bih;mOz1ar%*-P*q!o!9N3cn-EVLz}~c6GgT9%P_wd5UDvgBRpq!mr;EyF#uBt zgQ3aLyby040LyS}d1TTOnB?k=mG}4%v$I#q7&X%ktDhe{(tMDya=J6!$;AE~?ivuh zYG#Ipovl6>36qMTx!8JcAX%)0JENCN>w}a^Eav|6;*S){c7bm|&)T^3koM%OPYrC) zcsX7Af{c3p6{A`HLxYZUI`_>_mNXeIQ#~m~_Eh}FfM&^G4i3c1rD-rD0G@L1p4}!r z)*zxld{N#@&TmV1d!#qOx)@9)JZdCg+4CAx-<39gS@u*wYL%}J5I=lxUqU>lg}{MG z$=yrY=+2)C43xuIU9;?nF^;?=-R?K>OZfjZ7*yhAE;L)yGsEs+@t@KZmir@yPDNG1 z$NTl{w^yGlKg?`mHLdsarr5G*o{H!JQ1;y^uAX{1ZTQf*0VQpdy!*v(*>^KWj=Dv? zYqVN6C1g{&v=WulNLcbb<%p#@4bn=^4Uc}yN`idb$)snQ$*G}?ePftE{$KPA#EaO* zU|zgRNiQ$IQRMt!^0JM*d7)2MYYh>s0D@Y4Wf^I~?%NjBLQ5H(-rppI!ssOw6acYX zaZTwnS@QI4=Hz!KVVocOUUDuKvp5*uiuqMPFQw4_Kg|!$`bNi>J7I037=%c5LP8fSMa}vtWiGL6JSs5dp?g0cY-|HU){jri6<&jN6K?b zV*zxQqE`J+6GN={pNSyW7$B0d5@$Y~YYq1AQsa>XKOY_pq#_ya-IL1~sZ&9`ay)R5 zwsQ979xGmsh~G$>x?vNR>3T9XH@<{WE&W!NOUA`ze9{$PXm)O><2|L&sRA?5!p85;<+7=`}v!~F*5q6Za4=!uQ&GKazJ0gvsG59h9#hv=udh`sW66}4ow z*7a?C0W_7O@iPrKWXRReYzS$G2aDxs?htnZeOa2%!iQVVqs?jXBiT_}yj=fB2BvQV z%tWzR$U<=Vj-eFz;7@V^3wT)5T4K6C)5k72WFZ@{w{opWrHjhlFv;eyIIF*0EbUcrWuPgD!9s>JNzQ9C zcRcmBy{GTfB~HszWRTKj%vmg!#bw6*Y#JFXR6b zx9hp=V$Dz$z>C&8eWV#A*zR6mNW9PM_va~0EAt2UW22IGD*!A%C=h1>n3zTr0>=Bt z8^ggE688x$)W3Qm0|fS+enHVqe*5>-k?Ne%XYIK-tOo|7XWcSpS}eqgYcdG@Y((3g?mnQo0R9h8$BCc8_(=tT=Rnt*}TB` zVxXuOeZ>9c%>#*6x?AoRLan-PXpE4MQ1Lz6$(i?#u^tC|Z%-4kJ3A*O-m~NPwPW=U zp9)!L@V!0;VLbX6;r|j+@Py%0#q$0RtsJzdz1r4&fny=?7{r-lj!*)h3!Yr#d@IiG zI(aRvV)1L#T!w}p_SG*)GT6)MD%6)d^Mg6cii9fo)H#x-DgAYiio6~wM%twNe94uv^}BTEWu%d@F~*Kasx#ylcpSbCQ3InO3d1<1 zZUwA(VjH|xp1mYn7lDxmGG+(_q88s9T(11O*m-0{KC|M&+6)N>$I{mNo@`ga$IFo8 zRx?ul#s*7I*i&Bn@2zmkdHvD--kqo8Qeurg+hc$7-^;|v*LMa27~pM0>)c5BV^tZ{ z-qwe|?+M*DKO_C_7-Z=}Zhn5*c~Rq$p#qb0#hL_-4p)yHm8M*+Wb>2x@BX?pX|+q5 z_aW}ooM1Q$UCYyJ0&Ht(nrdVd5>*SKi*nnn)iibA&-pC3$zxILX*G9C22S=E*^3_m zS>5U9``U-`>O+s5VYG#a8+vQ1C^;!9^nqsT8Kq;#>DZKx1s0y^W7JgKpQqq~5F2`x zSe%#F&Ur%Q%`pg4{L9|s&Uno_@ zQR2Hs&pzQG_CAw)@TRKO;8pF4cO~N2L!@1?+UipLJ>$I5y*hs?73t_b)$?0@#*2J>G$_uB$~anvu;*!$6D>gstc znK53%O1N0DdMDCOqD+)|ytvh*J=&|}8 ziHW0650xHC3L8v1F$9L6+iFgW8zH>Fn++B5@8*ah<7~>N9LKAtci(xA{h8p#E<62a zUq-Q9e~l}$sCvPYrxLDu*Wi_qsfT;O(x{H5?Q4~$_OB%}E_=A?dgp-K4HXr*Q+0Q) zd2D-V84@tx?z=H3X{9L)!34jkGWqDPD)Y&}_h*9rTQ;Aq{#M@@w$&_p9MN?eTEHzP zD!REdw_tM?eLW$w*pnR`26*6_%*RD8-uTgRl=-tEL`_vmhA5ZQ0f$(=Tge9Q;y_ucr;op5u;I@W}{5MBjk#ru#{hg5yI8J*O>pgCBJ({G$lW!zHPk{Ke!WeED zf#Ma6OWNr#(q~SIC&_U&cH>`TZJv$NrOU9YTbws_&8Ejy=zm&pooY!^Jvof^EuoZ~ zN3S|wZwC$lo!j&!d+7?_9kaKa7)0w1N)OiUdOh4Vvwz&DW1CY8JoG~qiE%!tstn&d zJuD4LWb513JUrMpxP@_!*%9HL?$2oDzg8SprXBa-Sm5HhK15=1Y_TFg{lIafXqvzUQQxNdS31CB z8l5*5&BXQZ4}s~7i#u~X73KE5l@8o1EU=Ue)v$_E+g4MMASUg7m$`z}Lx`83=tEqF zVnM)VvyJ~45OY_pWG}ohJfnAKB<&feP zzDW&;X+`tOMStI|U%`bsX$s`u6hcXG_Tj~QZkb#+9KIa(S13U1Os7>T*3^?Wn3Pv? zKs)`mGSynsl)Q7*^4+BxQ6)ZMWJ7JtP+eW!*sf0T;atZaY60i4tY>62%}+8h7ksrQ zQ`i{3Q@1fcNR(3or*xQWx;rgxaa;S1da?|B#aLZZIPu0BTbowkN9`BqcJUTEo1eu< zKRYxz7nO`km+qV3Ac*-npWPN^x=-eflE(w@v-izC=GMdMKb`CQN*5&yNpt3pJRbP& z-8%_Pju7uQ4PRuj0o3b}$!1oc495~^LqF}RL%?Z$W8)W_W4Gl_przpzRFE@$GQ6%4 zzijBJ{{V2ENn*sa?0I6m?@{JimeYiV?O#xFH2NJ6lCLiVGXhmmP_X%~z;JaD9D|C2 zc{>A{s-If?`?6cTbkTlHsb|_)152@7ixM0|!vi;I#sjyk2fxbY4Pq`GPVif}X8G2P zAbCnkZxpy#ig|||gXEp;eY)H`}c!RHt6bI1^C z+^-D^aH|w0T#&G~`{+m*QsFAjyP1&b;vxvwY(;*TJ<}G`*!6(6u_0k-A;Xc--cm;M zDCI76yd=IebO|l}#bUKKc%)hp$8?;I`b0^fZK1~p?E6u~i6SwJlDs^c>H}HtRYMDf zmNKx@lp&A9EB;~>DyV-WqoHyZ8l&hi`IBiS+F-}}-shOH-QVre&ekOmC|%TOR~(HO zz%&|E@4)0$TcjM*RcB8v!R~Brp@f*j2DS}JUV7Zl9B*2F`zT*jm!j-hg>UmA=Q2od zJ6o5-{2zW{qxZ<@*;N%VYSVoX zk9Z>XHD=gC>{AqJ-9%E8@Vp}gckvh;^9x^#v~|geL)dGGv#_akOv5E276Ps{Woji$ zgO?w@Iv3nn%pTfU_mr0H;yhxx5nQ1v;$E61d;+ZR+NLTA;GQEuL4RBbS5i`f4B}2H z2ROm&9;_C*Of|A1IY@QT5^uLNJQNWYt^|nFTt!7iqqb5QPNkB3oe0IGqM3)Bk~Xhp zM5_e@oqrIu5(T1>t7xz7^~Q<*d7QZa&lpo*5G0vQvW*`)V%JCP ziOzo}0>vY5cW~8co#02K$Esa_aJ`zJXbLJe>YrEhj>KhY@9J8P;Xc+rj$nq{{i$?G zn|9X(dC$ck>J7D^kG>%0(+8YVu@&2PY!AhvH8eE`$uf7VwX8t^_c$K*-I$j{MnpI~ znav-R#>(8=plt zMCmYo$hioE83lna#skrjmKmq+le@k+GRUO`o`{EvV5Q*lq8;pH=u6oB^y8&Y<$6qa zoL_bYMB}~Hd{X{RpY@l?a+|5yOm!mH10x52zZpe&O0&@8V#*)vH< zlbc|OW|xZ4U!YLN=B_@@xY2P7oS3J99X(<)TfaV?t+gh(`ABQkj8D5Vi;j<6T&iZ@ zFw4I3TB((JuGp_W{^4+|-{I*IMLNIZVHdrBJ&Zk+E=ZNIteyyanP?Q7e(TaXaGY*B zO5=asbUsF`%cIY zVsedXy_JV&x9A|;5`AFvhL=1_g6T5uCcJoP9HE3~%%zw)J8OmP#Ka?S3DxvG>i4X` zZlzOQ^Leu*>F=Hs?^@=$GCzInnA9`%M-L3;?KgZtKrT+UsIbuoInM1xL+*9RTR}<1 z2c4;h=u+H)op+*eZcJF#Pg?!%k6lL#L#?k_P#^4P8-12bSNS6MAtz3*_a10e7Q9o* z*85i$!gj2U{6m zg&*B{$ORtmW3gq;$f_sosrfg8*^O6=!>;kKebHR}<>D1_8mW0FQdF6~@V!>@WV+5f zKsxMe*VN}WE_V@6X?^pHCY@hK78#>Bb)*{39y~lC?daEX2h5emUnPv7EG%LBwJSMy z7Hgk#LPoB>TALB`1w}u8*11p4GzNW5)7T;X7_hMXO_P3LAg0fWblh{~lS47$-)+@l#y z#s{^ITuPF{gnHQpi!Trg-hcAlAUQeS_i)%Y0z(zwCNGFcG{|}~2mTG2?MbNuyvMsq z0DV?Oltt&%7rZ7gB1T`J%nxK0bf?M>*1j8f@63E`zVzvj9M4_P&L#$+RCp7<3;P|* zNJ=s%*82yO>b!rngmF<+-%*Iqe4kwZEAS8W>C;6y-$YvoSQ0dFjEz+~jl2L>QBQ^+ zJ`_^z02rldC!jhOYwN3wICK3*V1uJQ#xFR}&BVU&q58RmdP1acKy->M$GCoP{ z+XXr{wXDX)k@7`QE%%Nm+JZ7Q-6#ER<)>DRb{~`)0{pci@E_kOGP4PrvfnrolYlvq z{+f3Q97vcz0d$haR#e=1%BIdD@?OfeW&K6kFRiD{Y-%E1%kuV{=H2%=BmyMuDLTz( zt{Vm_SaB}Ka^x>%nRKp6Cm80Ai|vLf6*I-e#@0}wAy{!vlaiUo>BBc|RgaLY`%=M| zdT^{C2BxR;8@Oa>#)~)ON3p)hl4)J1hZD_zGfg>xW%dL*$1sjZ-sh+F8YIvTB1qK! z7tjPOI)>@V(zp%pz6RR=xkgIt%m_5CwH2S!_2E1S1v~UU8;ehM4CN`Fcl>z&z5?3}r41VHmXCay_?JPZ=zBHIq)t%xS5gT9o zN#{Ca1#q6^o#z9L;2)Lf|Ip<-%zsz8D>M9u(Er2y{`J>DV4GBT<*QTqw<_^J-@?ej z7s*cjZg?bD{LdG_y8r(__W$K2xqd3G%aG2^WCGxMV=JqrB_%Vn8pQm-JtXp7l0akz zM3H3mY?=2)CC63#$mAzl_eOes(_&v%`fx?9kF=?9mDDqyI`EcpOn2_w83y{8t>_{d z`~71`a=2pYC9|!`qrJSh#l$7$`1dKE`*&GjYO!oed?xh8&;}PEqEwcZ-QrRVs6$Z4 zgiVldeUOn#{js7lBw=}>WIB-1i}Dwutg2r%fuQ|zdO8IVC^EIb6@y%k(=zJrz!U=B z!F>_wjo^~=4DC)+ln|w;XR)=Z22#XN`fjLBsl+{#L(&{~)7~RmL!9SXJFuid+Ngbl zEAd^e%_pchNu=!8Vfp;u&u8JJ%CGWCGrOHDp~oO^g>?-KU{x-p3J}%It*lav3_ak- z`|}L0Ap>w;pB--AmV6)+2h3c-rNY4JS%;v+?a%6istFp{I|v0xJ-tuzhkNm3_iQwS zhr?GO$LaL1>M|0Zb;e=gIoc_!T`i%PY&XYyY5E-jO7vy?=7P`rIf{bf-tYn0zG`O& z)0YI^K{HF}U)-{S9t!7x6d1U{xaWuZus_Q6oGju~ZQ8q{SUof|sDc(nRHh*U zGr+m-7X5vKkxy3_0&WSE1IJ75kiWQ?m{ba@*5|wZC;yroUs$cFcB;8&glB)e&Ly|8(3zj%i^MVOX1^G(^Bx3<)Y-l_RSTmowh3tb zBDFS$xIRA^CEoc2ocS*Tbk<4w@WXF;O{Wddj}!vd^Ji|xiYS||?Q{+>E}buxm3Z7f zrR|e#<*Q%&(r&-s*NwF6WvKd)v;l~C=D)jvzM@>fcmy3#pjChGmc#rcw>G@T)S2JYPL^(#b{?HX&{A$aciYSNicl&5INn@H;}9Zy#)ndrmb{a{ z^L*>iucH7-87jyj)mu3Os8qJU%Q_6oFi-S;1F0-YK?a6@awu^BC<>Zg(H*I2l0MvV zmirA+&k&g}i#rcxj#c6drdN&NAr)>c6lWjnobEIkTR(}kHe5EB^j}Qj6+RZts$#VX zYAa?{X(m7j`sg<-v~fJJ@O&E{cGGH2c(VYyu3+ZSxf*>P~2aPxBm~lXJ z3Tij1uqys(643g^N_CUu4f9oRx&fhA&D`0iG59A#ONSEhSennk zkqR9St%quqN9#jWJbz_>cL2JXT08(6`%Wv93|ci&h8{hj1g)@)sNBnlJMAc+HT&d3 zO2Pczymkm?JC}Sbi!X8+QsW^OCpNC)8-6qIzW73twmfq0Ol^5{4%@#dWDI$fV7@*GSCG{TGe_Ye%udtFG{@XqpWb%GBEk; zx%a>i;zQ{}=^s8)Lox#C*%{z0nz@FMdF#RuZ?h_$u67R7xfbF~w?*AAC#hR0Ntuek zyz630e9&zS7!y7Gx74)4A4+j{Jl2P{N|gqCw@6E1*g;;l#_+Vrk}}BWGzx*xnZw5d z*iNRlO#@5%{nh4NXLAazwJ>4QBkt(TV=64TFg6G~?veySS7-){EY zbNeL6ndp$5VTG)7II*y#!+{%3AphdfBaYeEuWQ)quWE}|Hc+bI$*KjrwY02_{{CkM zl1|h}AK$}qV_!*he@g#%UrD&(`z}qj3UUqh@dn)O#6turC#4()?V1Mpw zbKXc5rQwui+!jSzQh!Uhk={>~5%=S7I-BwnOD2RtL=cQ8)xe;lq9_vv`S|VMl4Ev;1n?*%G+Z ztNKH8CSr`cl2+?fNP4}jUjNkhw=6DgZQEZd{cZu{*7UE~AMNa|Ev*#5HUfa)Q36RIW*()O=bh5Ki?`|9lNfr@y|cY(n>^sFuhhFa62$S> z8GlDBRa%7z>rNgXo|a|sjl<#Yq%>9_yo(H4B~e@f%7GJ=`re`aJ_fFqI3FC_)1mw! zv2a9E4$obm&-c9tSW*j)pAhngwD(pFR$1XMv-L%ycQ=Vba7Sj?dGk|GV1p;j^3{Tl$sMh}4cw~3%ZQUDJj~X4 z7FMw=y7E&H%e2E8XD%FeyEzsrAupP{9xL%iEq{fssy@(V`+$_Bur~19heOSA4|kgI zmii})pR2#XAzQ!;OI_uoMA$-#vWX4uhcBmNT59I-JsA~UZ}pFeNjn;|Yqh|$$19gw~46Yam$!kI(Q zsIA6&tMZjYmbtH2)-vFU1rqo>EcLks3FacCy~%81T7a&jPH53>^f3*?%4)u-Hwubg z#Vs#bi>q29pR8pyOk>ivRRZ%4cb&AHY7|om7nRJn_TA(r-^epx_xH*iwodwd_e;iS zHR6~j%H1<%Kb~I7_>3E?4Td6;^LnUwElkSC9sXgzM_vngZhxn4I(zr|FDsh0QU|K{ zHiYqSmbty}65J!^Gi9Akxm+Fr1w1KG`HkU$7qh&~b8~xBz)=zqOWZHKK)|?GdaVRm zbKF6_bu9hnHZ8JDt;^0s?*N;55~*>}1I5OH1+E|C@)&vn)zEK1si>80prGH#dM;MS z`>M~nv(v4r@DYofTf(_*eR4x!l96|OH*PGOi;%HJovo;P^ybpNmdw@a+>@sR*z$m+ zVJ+IJk4(wGv^Gim5zPFYrX$* zolR7O{C==e`F$0Gajz*c-|cA>jVdktD(XgJ0>*D%P$kQElUd?r#@NHAbi549g{}xK zpqoSxQpBa3uybQIA#&T^IN$sG>(OFw)Xa^$>Gu($j5Fgj=HhEx=7;^fsJ;F^zNk0@ zo{R;@c+;QfY3(MB>S8HxRF;=(m&vAwHcRktiT1C|4$%;YCcdcbO{&#A|FBj!HzGI^ zRLr;q`f4?U_B-Q~7(N+B?^=p}g^N2oI((tpGA{^MVO01lg;c8{nfqL+7A~^AQV3sd`mWHFd9@B5v!p} zUs>j~tIRvLRAeS(^K*^RX#_p75?-H|dLe79^fqxf%*Gt+(<`YzKtU3A;nBeCkgR6S zr@eG{%~Nh?Z!FZO7kdT(>&chHTN{O+qk8YJRRH7AIr1rm!|!61$0XR=TmzlzE_6x{ z$jSffg^jrd^t%c#npW5}L6%Lkrp{Xt{fgG_2dA}X+glV$eRxg%GG9CtBW& z5#vKQ?kXN2V!rf-6elM|c^4Ea>Me#{Cu|k3j1Lk%E)GVAq2g+*xtw$&;LI=Rm zF`Vpsw})RoP(_Gy+?O%n(Nw%RBavY*#7x+Z=lReh7Sy@M8EAQ~trAx1v{pN4`$Qxn zq{%klZ9kRi64vs#$01l~UXWz9mUaiLPT?=>DIxQKnce~1q5O09sp$30tA2pzxx`(^ zR93dY@<3^0FuSJSF))25C_rzs1SqiEaEtpC@fav5Ajf^nifjmls5l}F4GgBx9|tz} z@j3^$+Ea&AB+Qsn$0{~>p+))W?9+m3h8PbA$2c(qfYCid8|~s-ubU-~HIOv}ik_b~ z@;~!I{m=2R7(71x3?3+al_D}~{jo$9&k^ilt;AVdm{qZ6z(D$$`4^Zm?V|J3Hs+Fb zWaC<6BaMaqp899IS@T*=>1oRn;aN3C9QD*+o5#(Gf32Nq6Fr^++gnpS)GYU3b-#S_ z+5$wms8;UQV|~f~s;JGYqOywH{PHi#n)$m$MMSi{*0e+&Xa~A~l`(V2p z+~i8!cTI0q_BnluU>3ichqAc-v?*iY<+E)Yu+s2!r{0@aV_Q|YqhqQ}2+7z(JdAtaevM+?PjaT>I zwJh+|d~jVpon5H!w5a2DX29NpZ(5Y+?v?tmmB`S78&AmM?n(t4((gA)(pDkQgG~NSF-0T>1R`#@Zo4UN@%I*S32lYw2~B4{ zNP2ggdy>0^-E!4;+%D*;0{+URFj9f)LtTvKFF}%|#(ZigqC zLS_T%Xz|tA_?SBl%=&Lsg+l*2SzKYwZEBRZx~fgpd%^iU{K$4t@%RgxFBBpb;Gomk z3Js3(JseGb?l}_HapA_o48GhTi00h_#}8anHdkv&48MzoB2xYOR+r zXKUjgn^=inS3ES}jlb>Ko;%aJYUq@V;EODPJU!u&>ua=0CDnzzyQ1vT)VFu&{&=yV zCuA?#rO6oo6rrd2$4OYW%6B4=p8V1oxD)>L?Bo3VBt|(-k@i8&6Fcppt?}SXB%SP} z`3hx3)=%A^YSsK!u5F3u~h2k886wFTujb{UVs|Z$_xnjcnJp3*=J$m- z?)%ISxecnpM0%_5KWdPx>bbg}2bUflJtWSk8u{i3m#9q*EFGE%VDgBg1+^NBakbjM zhc+MNDXQVVz4EZX@5atv!#{TUh1+5}P~k(-vrGC+erUZ_8N_KVtH(sSaKX};^lVQ_ zA0{)38;~P@#DvY=L>>5(!@l3P@9{2**}I>FQL{iVDElttU8{SbSyps_V+ef0Xt!W~ zfFm%pck$3EcCl=EY?W)EMH#7)HyV0r^rrAee9diidkp81AiBl>ii8a z2$AhK#qJ0!f4!hY)A-!4q1V_fv2snyF<>!%Loo96Rn=r!#7AVjM*GE}2ZGLW!(~wnggU1ZMkC7(d>GO1{zFggD86p__3Cmg6XpE`s_Bo^UB}?hm z>xf5UA3WAHX64&It}+S>7k#8gm6(?1H+x6nGuY{y>LT0miBxaq&sM-UB)@0;YlVo* zt!;9zcr&Zn7#1)fSDTJTpfPxcC*-K8{Q?Q*@ns7dk1l&v{;N7dph9{XpV zQhw_Us{g!}R=7Ey{oCw#L0MVL(~lJ;;M+Df?p3>?70kgSjjwB#h9G=X5M(;dr^iF@oHt#J7 zV24Kb4Rpa18#ybXO2y1}Q|JWvrOQvv2XO;8%^WDJ?fBSy?;|-EbtYKvR(u`e`;&hj>&Uz-gEW8Ly1LGxLq2c4~VPZ+C(=C9_6afs)fU zoVV=W)0W43x$aScp(wD{OGVmsk`5)~1$;p4EZ5s^?eb3T_`P+q{TrsTwh-caCNXmQ ztX7g-CRst&+zIJlP%d`a8h(y+-9_U*wwc~N>AS)URB0|AQ?XVO2hnqk&ZO~p3RHFP zE2dcXr280fvsatXpS3}`)eY|;Vc*IL$>tJ5`MW9FCYzPZ0i(mr>bq19RoI%4mnxq- zFfRP{iVJrC*4*crqAKzR=JCs6-xQho&+0OLcg|YCid?Tgxwsrx^9)p#Ry~!9>ZD$& zzxopeZrBq+ad@mvx$|~aG*e~fnkfAM?yM#WkNfD@mC#SU@9{bwX|P-CzZ-6PS~G%WyMiWAnT>kY|1*LW>AXfqkl6n=#shGIbiX$6Rd*)Qh2|(+!>x&GzIj(76UJh@) zhIK5M?FRR=CahRCfvOAIA}m==QOCBMB^z9Xon^RAK5L6{&#oHmF<5({YmnO)Rh=VAhkmTtbtFsZjiap$~Tt+LM(`wXDk=1q5&!x3T zUn9l{NAE|pq@K6bZ){U6?L*;h(!6M~P>jcic%u3>vpkWhmM|Jb1zhcRFL3&U8QHcv zd_(N}(DjCX)0bgj!sEzHv_KbArqvXS*N7UcDDuZ8ACj&)E}8@wzaaLoCu4lxB1CtW z?x8n^@|Gz0?65qe!EpskTU1$HR|Tq7oMU9X_H{T`0!JI^yt{$-}n;3h86_dF=+D=`Xjjt4lVDE;E^A#t*P=} zi+eHngFFVz>oVzF%U4Y}w>u$iCCIsi|@$~ENH8YsoD^~`z{=Z?h#<$j%K z<-CFHTLxasImi>2mzvBFZ^5Iur?4D)Y0wHDiaxMd9(_Wv&&ql(#>xKjYo$1^g=-Qt zbF%ub$DA&bB-_lL=IK@RiQRDZgl2aE^mkmc9mvx!6%vuc=Rti&zef&g_WXGk7yXnv z!NVsAw(tI3#puV{LGE^z`L8EQcluRKlc~>I;bshM9`u$ zcih)h@7;bYkHrF}#Q6_It?73(Ml;J;M|MTyaiW5M5&`0{yOBa}x-#sf$25ey?1wMB zboKU;@u^0+EjFdOcg$C(io;V+RtvP5&z9xXuo+OTk!|dm^Yv9hbI z*@`@_jY&I_PGtdKo2Tys1-!*+O?@80hPkcGWxZ4UxafCL)`97wCN4WD;elEqJo)Nz zp{MKTKF$X*f4P3i?i()(cRt??t<8-4trM90@gr3|NcSnld2dh5puuZex5ID++-J9Q z)Gt1F^Jx7_lu~v>JaY5f#K&%w{c`!cGLXboclz4==u|RwPdVc|%~PP7G>w^ywfpmi zih|!jAFe;J<;&|LaSZR%h^2yK^P^BaFpw6p%#A5CSq-hKK8UfCp_)T2w$6h15{`bY zpZ^93V>kSoPABAFFvHjwnN(S0MJzHE=U$7Hs?*&Pk8}n*@pZTkbMB*43zZ0OlpObp z-?i3eP(kpuf+PG3;=aUmG2J0CcaKSr=+hmi4_{|Iop|w=?bnd&f84Jf&zBRY#MxRf~#1(RFZ{d@p`|5}t28|(lKu%$!xnv>2A4;|kQRlz+4Pi#_t z0{P$qAm2ApheRLchN8}0qWX|K09~Y7q&p#35T`w~ITS}@Q*#Wt(8>QV^GKg|V9M;r z#pJY@Q6?Gll#d7dq?)DP!{0@rC{PvtLFX~3T|~EcrYBAU`fGYlS68(tf9Tf4(Nz-! zMY`nwwR5FWO&w7zyW;uUk&=BZ9Z$1Q>BDFAI7c*8|-nV(X7SuktgHd4A9K{$)$@|oqP1Wid z`R(ps#S~j7e@wAX69FQ~9Y61>Yc*Z;Xw~>Pd7PAp<%C3^b>=?()T-$8+aU)ajZo>} z<9-tQj=fA3Wm4%8q?a<~leM{$8!1nv7v@{sUsjvge!^A(lGcCeYVt8E}pc2`PDd^;qB#j!wg($)^)JMP+X0b$Tn?6(Mzy@y?2 zwFT_c%q|VIJZDXS4RCkrjC9i-1F(baGM8o>>9K!JTI7%yzUv|{g57Hy6^mAQy5h3t z1{3c~fR=4!B}FPg=jiK&X>@^p3UE6`mazA~XJLjM{03ADgYEHQeMSFr&<5B}e0;1t zY6m#3CV$RXB<+|9Y-VZes2eHJLd)rym4afjmNNicO&056mYO1zoLs}23Xnk%B62El z9GqOtkH~|RfRi8JuArDhH35iH%IR$?Q!q&ACx@ynP*9BHI)QnNS6l_yth|Z1CTu`c z$ag6P%;OjoWCU{MbjLf7Dk~_SX{@T{lu%P+r$`<+NJBw0D$@=E;LEgwRHkPTnrG89 z2=?y(Pmj3GM%d%k)PSqAB&jWqlve`uk(TdmZ+64-bnk0=x?e?f3qLnkebymc43=89 zklWW6(FKPc40L+#KnJ3z>MU;UZuy#7e_q%m80XmdEFsC_wFQ=KuI}(k&#^#{e(H7t zpKsY(S~1`XXme5aq`>(ng4|qZ|fXA;G>1mg0v=xS=`ISdDsv8pX zl%tYR7)ze5L`bJlD9o2Xw+wzKi59^*6&Xpt6l_7^g=?;bpkn@bPh^XRMQ+~Sp@Pvm z!IyQX1T3rFk9jX>H+YcNLl-!r%{h==0>!s_a7;2@2`DbNjVM0dwO2~r_50IPwU#Jq zS5%Hj1fj66H)o>>=}0KnNReuGZqaU^SCS;D)D4SXeTaa|X6JVkL9|%)mh|1$TfNM+ z*DuN9RPt`6v2vQ#&ats`SV6}nL`fWFw3vasN}cAi@bb?t`z8KOu-4ak*uLN&ZnZx6 zZq%$BjYvjgY^cJs!yBm}>4Vgg8Dg+QzOI569 zbFz`W`V4Nl0}MwsUl>{3aa{93)Fouqi7zrAcW>qS%~uW3ct&Gj;>%48rdJ!CRoSZ` zHKqYC&oMn{%?H9TvAjyCA`WYEo_spd%=@eJKu$=Y2qPx9BWsb$1=*X3FYk7jb zJeFqIzt?)A*?%!5H!GWNj%LFoGotS4mVt}$<4Of1Q)^(Ddcdrp{kU!RhmJvQn}$IZ rK{_K~2wRs;r~y~pZ1B#1+i}C=Z*i1@nuLLH9DJM|w>ae41swVdvm z?bNBWQKwE_m_JVlexvnB;SBiew3C|b<5NXFw9DWhQl>icuM`zev4fw_pE@0Aaq2Ae z5%7l^{5f^%O#10lzYcK4sEZFer0~x2pVKi!%v1e#@?XDZWoC%b z2$H|^kFP%M&)oahh5Yx5ByOGd&wTupo9rKFI?wDu__wPE2VJ~yo|*hb)cb#&NrIt+ z2men0^93q$5)8RlqM!crwg}`?|9cI8oy-3*0fGG6k1rYjai%MB8zlc+v+Gx{$gwvw zU;D?IUQ0xo{bRu-(j#6=sNK4g@Xy-vzn<*|0mii!nZ-_B%P4o&!lflubQ* zaKZeDKR`i&tKPY8uiGxHTVPtGV#2Xg$23+`kMc$U4_Ez`+Jx@`c6})$y!D#02wAV# zfpy*SKIV+?haESPMC1CGLXAI2?QZ;xepD|XeW&FOF{chG`ofZ8qcD$#t$7KHyC>D! zo!3qI#SMC)Z&2d9hkLlj6FLRX>X!vovmb`i7UJ}asL9e!8Pcgzt~MO3RxM{I&H5AF z3_4hA6z|7|+IgGYD`~!3vOTQd_L!K1_wzpaoxc*}v)Kz1uH!Zi8yzg#ezw&Mai{6J z(xv-~e{^pY)u8iAPL2<>{j~HfvQE2%F9xoBE3BNNjyLx8czNG~5vFUF!pA>mo?&@~ zYfZk9#Xs|^_-VIE7j0UHX0oAnTN9qf9e8m|c9QLwyZcCQas7_o;fk4fFqhA=Lgb?; zEsIdT;UF&WAH*d{Bd<_TiRIEx&R}Kl*=vP~!#nHYeus1Gag}vh_SL8~KQZ4UjB%T? z??yD*m{gCvD`>lw#*Q}drl)z`5!R001*U~{OvWn#C1kq;X~)-%Pxg^>b(=jjv4ksM zzFmr(cB`27Jy5MS!ZHequKh{ORd8HV?^-}_Sl@1!k9HG%)djgK;72EF% z*Fquqt!AmrlF4dUYplxDIl>K{`=rWvts+-MDDxUqxCnRDEM5Fjt3ZQlir0kg z6*eyS?ICS#)ZH|nol!bt<41T~r8Qo{w{grQT$E9kaOjQPXuxN6q)h+#zSTUujC3^4 zpt&}ljfi#djhvu@NdPH-P-Vk*Vab?fe#_@zPHLyF2eMtsuNk5N_DCEGvdN>67sb_!iR%Z`Ck^?9HStzyvmKs; zk3NNy@dvB5c6#>_tnMM-y2swh`!&uTbOBujuW+r=vc6h`9@bCuycsFHo$wuk4DFF3Y9Nw3yuWQMGH% zf>oJ>TG&R%d3zSNz&n>>9XaxnQR5#Smu5k^&?c=IN*f2&An&Mi`AzLgX=i$*(J0u% zCr1ur7O)}8%~brT;rt0wRK`Bt45$T#gpWTEif|hfI=g~TTJDi(%-epiu23m^jQ|@$ ziNov7=Dwwe3zH*rRu%NCliUN7*Z?L9qQb!$v= zwayV(Rvom>@vQOTY&?Tf_C$~>`@+uLH7G)s8p}k2W_+ixsrv-`6G!booTzO6d_4ZT+hrn6;fN7e?udkaHN zDy!-BpsL6cMs0*2YX@lE9O+`30v{~!PR)mNj3?Tx4kwB!i|xI{ z_MefNo0rS{{3z3cJS0G16t<$zF%&M5SDBNt7O(A}`JirqtMSlrUfBfkwvPM!`q#_8 zUzWMzS`Q1wQ0AFtsUEMsFDLiJFy)XL<%WH4TljsrfG0yxc5AhVi`QIGET5k-a7W3koMhy8*+%)O{aD2G?yz6 z4=XC`IpPdmM<1d5w)2h2_b+#+zqy1*hE&-7Nf^2WroB1FHE5_}Fqys>{pk-A7xpFT z_f=d-GvnS0i9}-9O(#7<>$GfahV^I?HIr=8tct1=Q!Ftf00QxH`1Rb#&3aX4ZHa0< zu=1Hk9~js@m^v7-JvbLNMvhTErcM3mbiZ*Uw%B3JYew*2x&%Elxn%@(Hnl=h7<{!dwsP`2ar+VohROA&8{%utTm$c-Rzk5a-j= zV1@{d@6V)d9G=5^RfN?3sK*X<+|oz?fNh<%{GGg?aI)6x-m zk5ukAAd}|Z_V;^D(UO(pFOU_s!4;~;G7(Oy=%bzS;!w4g(&N2eKikBTCG$+ZA6;q0 zP6F8l;*?3YagMhSXpiHqco#4)f;qG%No}JQ`7Ppnno3$NY&=T&HOk`FhqR4DL4`;g zYCoWJn;;V;=P0g*AUJz|fm$d3ij~jVdNC&!CqpO7x34U6Uh9_~hT-)TRE+$$k;dXZ z0KT+~e@Efo(PE<&^hj_-2gF=;Uur7Q_O-leAy0^BRm(lOHt z6F*vR-&x?C2p2zgcVXAB;0t$Q8uIf)yw+*V{&m-!3j!1Nk}l3VzOpIp@(dOvYqmY= zSm`Tlwa(K%I6kZ{03WZ&;dza50)C^WQgxGq)@>DIL75~B3m^8Xuejz**CGKVemEZ? z$tdfw(BmeV6*6J=M}vcg+9gsO0rb*b8RNZD_HpuIc)T~cWDUYiv++@@}-`uW(T^#>h_j!0o_rq-VR(6rKI z_eKSEWK7?2@;(k=f=bgXY#4xYF?qFDT<@g}Ggw<6!b4hA)orcb&FKf+AubhUlC z5H*|B-D(wV ztCj61Em+}nKmor*+1)aii2X90cMM1ZedO0n@NAU}OEtm;^qGZ~=ZkE5#ZL|+OgCT3 zWLy?M{E7ZD{3^lN{m0u|ly~g3S|8wp*5W2jj(2^Zaa6!eu z>$IrU3T;fy6{yDS$89QOKT(NV1xTp%nzvQVzG8Z(ckb;wON;!;&cq>c4N>V{K4NB{ zjp#IM>MMEEo+Y|Rf@spG++J?M`7gSNlx4uQDsKhIS3maaQ5QSjolDYufYsqd zbKu4J{q=KUV*5)YfHP+7)Mrzkj?+tlGOm$RfqJ2$$z)imf#1e_hpELA<*{24gV%;j z3VD%NEe&+V^mzfhg-?C~d?0t3HQVT%tYxEp5+CmwS;5AKlwW!aT^qC53exh>`&%VZK@eml5+Y9YngCNzG!SRbEDBB8Sw}M;ri779#UJc+IhE zPiF$f51&IU?`_2&#i1J1AJXMg59eHsc#1j5Zg89qwh52hVl{$M9C|Eg#Sji0X+-;w5sJGH_Mi(YU%R3!8%jspsI#;O~g%k*&RXzT?M&XyLJ-* zIYpPm@z>X4FGFm9?p7LJyY%BT0>Gf>%X6*2xp2hOb*xcUPxV1O1Wx+yrsvY9T>$z- zvBFR1+-h1qH!m+z*(0nJ>d9EIez&S~oa>njMYSE6`Dd>C66u%weLY7>dwsk0!Ewy_Kd7kjDq}dAPlB;f$Z7!*gN6wkiV~I{6a)AWc# z!}!^+hUA`$?h#(At6FO~ARJr=ad6Agd5C7}yEng?((_JL1&9ZU{A@aN261Wod90>Z zuI;x3f4IR+?SpOhnPGQ2{HJik%YUMr#q15B{Ao9?JVlVnR!5JGPwiCvnGwhRJ!WrH z7-8qTne-4)cShNJrg`Tg!vK;+%RDlf-h4m)=GE!1pFESMPYaAZ3;0wTa^Td$baAdB z|7gfx>vRb1ozb2zZC%s%K)%+Uat&MXlwp#mV)ew;P8)`fA(7FIU7PW?VK*&f`A1(y zx5L95K!$DU_1!6RN9V%yOhaiu>@O?()$H?N3d*!LCmlOE0yc2$GyF@Be?v_d{h>z1 z(6fFs@q!2OEdf4V!1} zzkb4!;VhG%GTETy(^$5ucZF*jRqYvU8mD__2T%$$u0=##HCm$oY<(GAup)G_7Eq$` zi_C_g!xE~gAzlgUkRX&AB?Km&)wd}ZQ@vJo4b5^~8{&&Wv&eG*z1Dbg{M^rjtNi=p zb*!DAaG1zO`|i=2AHCooyhteogT}F%j!7tAo;b+!Q?HNbKTmhRu?@8n;XqhdGJ(Tk8 zZb07Kfb-9xIP5$W3d(wf&JZYE8+rug_R$cnH0OT#08ck89H~VKyXpM7#UDH=)1yMQ zqL%VW*YOsRbObp%{Z4RxZMm>iJ;SHAV_$F9cRW)m8|+bXf|><&7{fJ7EyV$oZW$)i zR_6#j#J42w&*-0en6W*5a*T8T`IRXDbdZ7jLARZ+)4lqwe#NhrJWPqHE9+nPBLzY; zoE@o+%2K|0O=PO(HaKwPLr|aqRKbk?RBi()hFlW2PeeB6Oz0&!&$v(mYE=RC$7-;%U$j!0bxDdUz&*Z&QtEiGx6oX6!ER>78;zA0(YcO% zT6Q49%R)=a{v=Y#jtI7)g@<}aKg0sARD~$$v(X?6!2r*c=Wvp-bZV@7w;CRguXEQqgKq&{_D9&^|}uQ(auAf+M2NJ zq4-`LjZL{~7f-K9Xdui-43+GZU0>`6dZM^ysFhc!^`+P28`KK&i9{bH8&v`@c3Ef& zEul1R6_+Tzy%{gzBUP20YORd`5_&N{{j>lu&`-=8vrbgLaOzZsN$c>)?Ngo?)YT$KC64?0clt@|%|cUdfikHh|8l zbUvStCGr5Oe=N!NkFj$gi??ljy6j^efvZD_l2*fft+y2fv5tkXAN^p->FAGt1`?Te{s^yL zfc-_|pVeI?scbd3eK>G0G~Tg$Yzkx2{Ysw1ty>8}qHP94p_1$xETl1Oeqp5ux`jJ> z2(h8!6#Z$GXYl*swIBOT5xmLYABr`i^YUfNPCdEQCOq@{Or9T``EY&mo1GrF2B)zn zTiYJoO{MLO!GrYFTVie^`c{Q-LfYP3dzMu9*>Z9$QF6h7J=nZRpTvEBSr!P8uE#eX zntrby^FQpAJ3iCf_XxB)iYhMpn%3Vfu5&brM89wojNzrMw~DoGJlbiG-E%sEwQiM! z`xGn?c!YZR{MGkXk?}t~8IjD=DkE)GsQ$D+obNQf*W<=$#yOvpF_x403W;z^VA*_? zP?|ZxQ51)cSM7Lo+V}{q&E%Fp4oZQE|2c}FR_Q#e1(`X%BTMl;pD)K|tT=0@3ekfI zpANAhE^RevHTss+6N(;4F8oMV%OJ^1P?q z-NJG;7bT~;YN!RLhl9G9)v+%LBYHr?a(4?RKIzP>bS&AyX3(7-#5a7j(aF_T?7N+h zrdH5(lW`0#=!|)k0KE%X-gZKd5{dovM{^QZD-D32sydxg67d@p7gCGZ2vwudEu%d& zmW+{s>m`ezd{2;mN7^oiImw>!8L6PB&-Tx*R{0`F2#5g0kXxOF@b zGJ3YCVITcG32J3uM(`LRNG*3+>DsrmA%NSyb_@Pm^(f1#ZNp2?cP-y|rCMxSr>>Vw zuo1NC^W%G5ZR@v(BQcvhl8Dd@&bps}T3D?B#MTfwO?mJ@*V^mN^ft+qH|RcC3Nf;v zI2#Wp*NQIAKYrf*hLJCoWR})#!r|>3Io&&zS=Rj2d0NK#$dKckUMnRIGyX(M2Sj?E zNsp2Z25Tz5xL_%*vEF4!mtkF&25=UBVLq(R@tdAPL5Mae3u}2rH?lg>WqoF&^V=y) zyTC|(E;{_b`#imz;M>s&R%H4=J3x%Ojr+bcXzsNr31hE!yLR-H+ytAzgHJi(jhsca ze{@!y9y@dwXdFD4vnEIAJcC<;)wW2;I}5JjNE{QTcq2g7**>z}YokZhQctYZ$36F& zV>4GT`~D1AhiX&%FbTO7B8AF#uhUoy=0K_|AFuSv{w~sinv+!EBjPt~j5PI!;NnLn2ojFC z&xI24F@-Nwcd56Q4{7Nu5`UiGYMsCeH@Yo!g&Mp*0&SA;0F3(wvr_aNDWg!&GQF==G-eDB5Fk9toI zd#kV&m>@Q{A>>H!rgMsL;q7z3{dgSBCovel0tNB#vyo?iEVOQFZQ!E#b%kW>-l_qyBk z-p1wJLjE6ATnh;MG)L!74^#>zXb0(TvrLBvPBv{Eyin@yWOJ{sYm-tQZCkP0sh$py z^C;%15baCbr8w$rNp}*nS`~>CuNKzrap@*s-ZVSFRu*$MO@7|Zq3==E*i+b^4dyDU z;0vS@!%a91@pD4&{{U@h)t}xUE?SM*8B|x+42)T1oVqN!rQ%|4axCk-w-8@^JkPke z7tDMj$&N=zCDQ57Ij;XS2ojRLy+B=7jd4{vlYc^Gs~c6~+9_di)ML9RCOfe(^T)(f zwniqLWK+SC516N5zfF%v8Gpga^xkt%Z7`ce5;!~z^q+|lY4GOt!;=o#|G|m>^TU!8 z7%UOCWu5G5UH;Hr+hNX_4{t zKK!YJ9iX>+zuV*+e2He%;amz1aK<2Ko*Y zi@UjLsooA~46GvPp<|m~SdX!=hYU;i&5~UaGKDVTBNrGslUDB8%Lg16n77C2kjD5C zyrnXerOjk%d|2y|06P)*_`O?5Rt-tQ!^<@}YrokQR&o8|`q_itr7K5Ay7L zng*8!roMNdSC+`0ItM~G<41)7~i}wtsSpy!@Pvpd92p4}7&8Ysq zvmdP7I4t0nTRztsWT%;3W;&B2c2rinw4d6TbFa?Vym^HOnU-*4P0=Rl22PdhFWLoF zwx%k|_L--I!Il81+WL(2xODo@!3dj z&A2vKCehzq74G>6ZeKttp2MULMUJxAkf3XtW6ACsj0vetVoTYBO-erDr%XDu*A2WYyoaINdp7)n|5| z*t4#IQK}l9gCeR2Co2KS&z2+)hY%q{7(Z+3^&g=`MxwBJpP9iR0}~6z+g8kqnYFoG zzXhR+p*pHdpQ&L78PvHN?!Ex`XI1E;iB!*Ss4{H+KujWn?15pGKi2Fz7Iu*(X;!?M z{<6b1JEFkU;5E9{+gs0l%^ zzjL>J&6zPGrm3Uapd@Mvi6Wf)Om0y0U1I)|DtOF5X*5 zJnq|G?n5!z`jj8H&)}%c&Et#;Lo(5@m<%^x)eDz~U?ew(`fujT%-2YPjj-J=N`BBd zMN`tk4W~6ZNyHvZ-6RuEd-#Q8uRt+VA}ZJB%v!PXZwq%{=^ST+@QeJpcb6E4+&E;} z>73-7Ib*qwxdcM=@_JD|Yv+y~m8A#+EiJ+jwq{;MS_juvj|?u{8G>Ca&OOlx!wGB2 zsB-Z4HdVZAa%4P57%E5Y?&tHH{J`IVHDVypb>E^n*hScPsHS9Tf(*k+Q8JO4YrN#d z+&6Uc!M%X{1*>{d=O#T&wl3?I%7bld)Jd)Ng6H@>fqL&Soto9@0dZ694GWh(MoG2IAkQv3bKeC|JCVsu|zo4Jb9eCOQ+q`l2>L8Esc!Adg?><tvw6if44S258BngB@maA>c?d3J9j*2I>Q!GKEpS_+>+I_L4u{A zDuH}AQ=6#tFrGuPmWf?f##!kuvlJ1@YypGYo2rUAb!Xg)8OTl}}O) zyoCoAaLPX0jTv_%zNVY8Kl-GX$m?aA@+sCbExYm6ef#Mr5!qsVoZk)oYzwAPtYxiR z-^)T}Ti48(qFUGL2OROMM+mXMv1T^Y!sF(YY~8!l2Dp6dGt>9#Rj9f*VuJ}&JKmO^ zc-uGs>2yhCYGnXHEOWS=9t01EE2;6M^*tQEK{DpGJ*H>6rxdVm2>HJC~mp637c07910M87-HM zUngc9(t{%&lhJ#rH>>&;(ya^W5nL9dbMRfbISl)hooCbF+#D54_7W$~2XD5Doy0m; zRw`Q?8GjpT^fS5r#ih+;VEjQOw8)B$#Z$i(`KE{0cIP+t+ z_TCx%k(ckmeST{{W?6GF%uJtC_{eFl)}YJt1d*t{o$DZ_epFrJ+1PGyrugvtS?b97 zw2me(%fJGzk(td_Ybhvl;#|Fp&8g3hvKwKL&+gI@lv3@TwFUXr(Ucr_3$ z1DFBD*tZ46psU_K(r8EWL@AdzF4PAjGfbd9F0%;Z{Vk=EF#YUt5h7k4%(IywY;YBE zJ4l@P612V(E1?FnXd`Dj_Ed&t#ae04BtH3xS_~wLqqfx3=Rnm2OV2wu@1Gl1uH$D6 zkH5_qCV|Mcy>|Novto>JEfHeV}p}NHVeO4lBphvca5Ie+Sw=}C-o1%wX#}u zW`4ZulN(KbdvRrOIB%3#lVUqgMs_9^$>{6yt;x!!-au+jE*0z=zp=dMbXgF7IH(Ak z)J{k>E10U^vTTm#x>Q#~CVxiM`?rj9njnMo=g4LNmta(+ax^=JSw4d);!&C```5Jn zt&F=&8?b>G3`gv(2MZ5wEdJX0iFGK~YWvk02 zd810P2C(VPS6@&e?K6R7S|E;K} ze~|zMx-pg0z+0u2NJhm~#q?77^@r7^{Az?g=mF|rse2FXjv`;I_2xc}%vTodUzVg9 zqNkd~#ZS^Zw3(bK-WwibdX?%hQ?h;t=8Qz9MQvDqq2&KOZ3%kfE>SBfB|EP?+vjuQ z)8r1{_ftM4`^lOu#8@h)JLrv5bV?Z<9`B%Y7Q~M8f&!FteLhreH3W^{^-rESZCkF+ z$>7^gPh{-U2q&bc>6LwIL(}V~JdTfmzoQ6*iymH?nHXoveoEzD&<;Zx=bq(R<&08K zjXXcGV=fgomaA-MTzjnUwT6S>#=AbTQ2)Fg%M}rvHdk2H>hzgTE`H_aVN&5P(yj-` zVqjpp(JQ+JKVTVtHWJwBx-du=Ic;@fh;H89Sgwtit{b^OnI~5rxo9zQ$2W63w%*$$ zf(7P{Rlh*!lIR%UkfKekvyX~hwn;gAjcB-k3MQ^WF>;KM4(Rl@3lE}V(U~`W<6`zx z(dqXXxl`1{dH1rB-{JsDdj5RIXN!$8GUJ9X=BquMih1{HCO)qE<*m0jA0>ZHF*XqR z;wM~irKE}WOgQ`iWR8J)Wi6Tb$pKrAlm)-~e%Og%<5iLaO(`XteC4&mrzO@T&ckW+ z#cSuHS}`dDw)pA!N)TMOu(SnWkl4YTKK8 zveXib&_zkd<_1vB=PHLjO5b;qo?dHs(ri#h(lz;T!(wJM($5pS9W-#FI~t1J&3)9~ zN~Y5J^uz9O5mTcQl@(}b&l&dpCWd^<;7@rsBfxQNM9!DmZ7&bCH|t6k++*m+JX?p* zli$02vhi-)9qnYA+U?of_!F3>;>6frgr~{Av@dwTA!ygk zwieXhGQ;ws)M{L+E`R^8x3>_mzi`iUzMZCQ;|g*DJl4ijJmFsSVe-nFjAnU~MYX_!?y@!)!qgA{0aq z_$A+T7&KocN(YH$&zV(WK3$QD+XIWKxgqz3 zv$)4Fbg^^NY67W!bv-+=xt=Uo%95G$FbuiHrp^MH9Q9ofT&rKD^70siuuZz>lP;&YJwv2>*sxEV^f6o@nC-^DF!*$6MQc`k(w3 zR5xU13^7v4`#nLgg7qrd6ET?N?bOxK5DS--vGwGgtpHJ`#gszVOmQO`7`)q9*WDXN zUW>$$%&*igHtqK`GR=O45#7Y>z%wQn%UzM+wwIn zpXL*ymJ|v!*`x{(dPG!k1dhe`lYM437F3F~) z?~Ya;rFiUn_%=7gtTdD=r~O>!Z35Hl|2O*sf-({p&J{#z{F(Gw{%@7MghX#ej-nxP_22yVZ?^vbS&8e?XqB;0KOj&RKXRV1|3>=2V`Cl~AAa$cTq_8S zxR)G#i23aeGgP(9uiR(MJ=f(f=#5~5H6!j8(*kLdv30}VVhNaJY6h~Ot6&z@ZTkqC zAztq%$1>w1L8!KK-v1W!gx!ONulRivq@Rc873b!om2Dke_dh{`c`$uTvj&Etvgx<* zM7_Tt1H*TJfEkF)O<7C9h;H*TEX^o~ji>9rWHOj)D*#ZNbnP7A@tKEb&)>nYCXxDy} zFr|0d#rR+hNl530M}mJ{5fGzYb1cCo7rFsewwt#ZLS%dmjx-8p3VZk&+c4>OaCp`o^oQ z019{=;3&{m70apow}p9n9ZWx6uxFXx$`+75miyaNIOT72@#EOAf}zW`-xeL*?j2xJ z(|@)mq2}@5&Uj@h3+xCkmm&Q2%&!#%kwhSWZRr*I;;(<=oiRNg#Mo+9Q4KM%2nc@% zpz3P zRPr?-Y2EyS)CI%%CUcrhykZ%B_lFuJt67mIOq?%{^Q#8~nrcbAAJ)*)RpshOT zS0g^!1KpGnf>ohSytr=TNv`6nkI&zQ?YlOU$(9clpQAMRl7XQG5`Re})Jj=zs@er} z7Y#RTgO&`tq972= zBs}{NSP&#^fPLii#FSb46K42npjTl?V&Vq0Ez~(14>w$s_^gjht6@LvZ%U?s`Sfpr zSSJ=LBOvEy1Bz7bHXGsXL3QEk0&e^W{dnhDXeOfak%jZwV=(gE5~puVCFqFyaJT42 zpR|+EFl7ILj`?B|CV0mYtv1?Ef3n-A17u0FK&?*|o4s(p7$`TnfEcKDbmMOK(U=?h2&;Qd7O$*|t?{U|4!6H#TLb`05Qz`BKD!W9A^3lofuNs>R}z zHwy-K2hrto_!swo{H?MhFCH#%`Mrl!r5o@hHsoP$$kPvq^T|0O%$Qe0OnDe^RsWHi z2!`57#R^>S0RpQ1;mTH!Z^5f(Kc8=-Q{Ezb^U?Y0laRb7CnRdQTUsawuD=Q{z-y>H z;EqP{g!6#n`gh68E_!vQ)sbg&96eufA!jT{%~|kzn;%u6{fBmqE90SZ9szUICP3vU zYBf{rcZ3-Mdua}gg)fcreb7qI$Z{lw0ZDtdd1Tn;(a%6}+96ftZBiew6K8>IiE}|o zEA>#zH%xD6%YkjJnY|;k1@ogcEhL?MN_E9Yd|vGz2{1~ihRWWpb3hCil~a eZy> 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 literal 0 HcmV?d00001 diff --git a/Misc/Media/Demo/Light/History.png b/Misc/Media/Demo/Light/History.png new file mode 100644 index 0000000000000000000000000000000000000000..e77177c72fb4924171f8333809329d537c5dfe34 GIT binary patch literal 215289 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≥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≈|=NlUJyU` zVZ6{-;nmWo2*IJ-H7^;xqsak;EUcz{)04M;>sYEfOd1Zr-5e~L)BjG%VP6Z-?^~Su^6L*HZSZlzW7ihu2ExPM{g%xv>jV8uLr=+(iG0hl zp&cdOm-EX%^qk9YvKtw?J@!j%lM*&y>dW~#{02f3_g_(pHVEgnFCG

bAr`Dweu_ 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

)#iQBZe4v84C1wol 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 literal 0 HcmV?d00001 diff --git a/Misc/Media/Demo/Light/Search.png b/Misc/Media/Demo/Light/Search.png new file mode 100644 index 0000000000000000000000000000000000000000..208b13b81e3026e88114bf12e80290f28304eb9a GIT binary patch literal 486377 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%0A-CgnuTf*2#6eq?aT_f)ATWkC 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

pULfQ2V^<=J!^HM`MnT^ReWpFIy+o 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%0DSBU!YWoDr_ z1Ee0V=Xy#1;L6wFFJ3N;Umvj4xfZ<{LGP6@EJdoDVs)6I;aGg>Sbq(8C3$L&Cl5iV z|7wx;tc8Uuf9>XEbb33b*d*zXO|$THJ@r=X;{58(j7!ohsFcu*-(}TcZd@(eRW~Mm zFeQu}*m&Vr|7Ppd#X3rU_r%7xFTB<$7V;2JV3g%J`iOhc!DsC0xqP{pSI3AUT6f%v zSA6#@rxt=N+Kv2K1~>oFIY0XoJGwVPVLa_5vGSN^+E&zq@*h3P=4!*%IEWKa?Jh`9 zs`1&-L)bN;lBh*#?fBI41zuR_Z%IyGvJs1Uq?)|2d?h{V$Nek~9}Qz(U@0v`ntI$* z36Pk7Pd*ez$0D8;?+O4JiWs$QKSGs>XBU&2sCu}jgVhMxoaZ+bMVD%wLC2ls*FfW& zyUJd*#Ef~)&b8C?ON+U~3eco5RMJWR-Km$6;NDQy#Tg){Q81267|4}pAv)bR#Ft@>uKB4{n#EpxCm_1ke%n3dcW7{s`o^`^_t>R&DG zx~i5#a?7QV%Wxwtb&2KWM|mC!a&vep=@@H|Y%iow|$$(8@J6Q1={}t5Pp|D62Vd%=|lE+HvB~ju!K> zXY5NScE)9UfZ@JGJD@ab+D55o4p(tEedt~H)s4Tjh3?^{DtonCZr+XgnD7%jBxT^? z#!Q2W%9YZ-%u{G4#;?|>OP6cMY~SbH-gzsSZ=}&d9~7g4_xDWel8lwYR(jbZg^}40 zAxyhkCQNv6Rl!uduz>+^@svYi4HawbH$C!y{WD6u94VrX0gzgQ0GWKf>f z`e!-aM$lvT#hiH%U2|;rJ%86c**OA*X2A;XToz zoD4bBvSrJ*iW_c3&>t2o^Lg21A8fM-GPRA_F3--)p4;4+xo8Ta00c&P33jx6W*Qet z%Kgn&+k))1ANKkg#5>pVGnsI0uK#F{lF%D6d@#$-Q#Um|OkmikYFlj4-aWu7nhICD#?58$0#RF2y=b`onSr|i;DX>Wu~%A`&*Iheot75^MPdt9>t`2iPWPh4KB0LFUSUY7USfqEdfOyU!Gtckws# zpp6Iu7glB=Z!6WF#XCOW8Y@j9Cg=qhI7l)}@3SkgPn3`V`=*-r3<;YG-S>fmO$AKE zPf8X*vfj7M4B*}CZ1uM7+$eJmxc=UjA$v$&uCmVyE`1|)MarhX?(WwOCN=lPuwlRexj<=ZK36Vzhll0-U_^d;K7!* zCa9|4k|D1+aiqdOnZ%|2Xw>}Y1{R={K10ZUqI@FVo}Kd>M)^V`F-RluSt>MH)eOgl z0rjx4V_66_pX3}w?);ex1L)JYJhBM#f`DcNT`SF=eTJeU=fbjsd8YINDjirB-l?^9 zp!iczlt(rQO8DdNFb8I@cXDEsf{|#dT^T-t ze5+aw)>$OCZX7KEO|6`K9wRfZMpHn7qZsOP{F0(6(r_5-VXU5!@f4qK08@C zDq#-b^fuZnA7(L*h6@Ef#y$f82^TrP|dn}_JoRme*px)9FrWd7I( zuu3I8T&r`Dy%@+-yWnVe#ZD{54njtPO`wANI5?%fT^=nz$%aUi>qw|1LElOH7e1Pw z`cv}8*3_zK88%_PfG-2|fwU& z?e!WC4%f`b5(A2As=T^}a^EntakYa!w&Gt275)_0eMT7`xw3_^YVTx82tcdwKZEzB z(Ur7Zd!XLpeUI|lsw$6Bjnty7!Mi@{GIZ25X1!wEvrn@x$L@0C_b&E1{lau1Hj zf>Gax;V}TjZoVjwweh+L@@oR-s)WxwX9{k(IC-lP(jkwRH7cukwr;w+Oi_oGZgr&}Bi{r}rE8t7xHNn(WZ@gJG!wwdd^Py3HXP|Y%UW+< zaYpZ?!|2=XA2PGQU>?|vDX3?mLlM*^woJ&D^T7S;yMg0)qQq>%0De+m18vy;?;il^ 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

<80+cUfzdh%c)pqnYq*bZYQhMzl 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ś?G8gQJ4&;8NW>AS=z_|d7LW%F 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 + + Donate on Ko-Fi + + Swift 5.2 + Platform: iOS | iPadOS + + License: GPL v3 + +

+ +

+ + Nightly Build Status + + + Discord Server + +

+ A media search engine for iOS with a plugin API to extend its functionality. ## Disclaimer @@ -16,31 +36,62 @@ However, the main problem is that these websites tend to suck in terms of UI or I also wanted to support the use of debrid services since there aren't any (free) options on iOS that have support for this service. +## Features + +- [x] Ad-free +- [x] Clean UI with native performance +- [x] Powerful search with an intuitive filter system +- [x] Modular plugin system +- [x] Integrates with many debrid providers +- [x] Flexible parser system written in native Swift +- [x] Local library with bookmarks and history +- [x] Manage your debrid cloud +- [x] Does not pollute your debrid cloud +- [x] Kodi integration + +If there's a feature that's not listed here, open an issue or ask in the support Discord. + ## What iOS versions are supported? +To decide what minimum version of iOS is supported, Ferrite follows an "n - 2" patten. For example, if iOS 18 is the latest version, the minimum supported iOS version is 16 (18-2 = 16). + +To make this easier, the minimum required iOS version and Ferrite versions are listed below: + +- v0.8 and up: iOS 16 and up + - v0.7 and up: iOS 15 and up - v0.6.x and lower: iOS 14 and up -## Planned features +## Supported debrid services -More of these can be found in [issues](https://github.com/bdashore3/Ferrite/issues), but here is a small snippet: +Ferrite primarily uses Debrid services for instant streaming. A list of supported services are provided below: -- More involved search filtering +- RealDebrid +- AllDebrid +- Premiumize +- TorBox +- OffCloud -- Companion apps for playback on other devices +Want another debrid service? Make a request in issues or the support Discord. ## Downloads -Ferrite will only exist as an ipa. There will never be any plans to release on TestFlight or the App Store. Ipa builds are automatically built and are provided in Github actions artifacts. +At this time, Ferrite will only exist as an ipa. There are no plans to release on TestFlight or the App Store. Ipa builds are automatically built and are provided in Github actions artifacts. ## Plugins/Sources -Sources are not provided by the application. They must be found from external means or you can make them yourself using the [wiki](https://github.com/bdashore3/Ferrite/wiki). Various communities have created sources for Ferrite and they can be imported in the app with ease. +Plugins are not provided by the application. They must be found from external means or you can make them yourself using the [wiki](https://github.com/bdashore3/Ferrite/wiki). Various communities have created sources for Ferrite and they can be imported in the app with ease. + +There are two types of plugins: +- Source: A plugin that looks something up in an indexer +- Action: A plugin that "does" something, such as opening a result in a separate application + +To start off, a plugin list is located here (you can copy and paste this in the app) -> [https://raw.githubusercontent.com/Ferrite-iOS/example-sources/default/public-domain-plugins.yml](https://raw.githubusercontent.com/Ferrite-iOS/example-sources/default/public-domain-plugins.yml) ## Building from source -Xcode 14 must be used. +Use the latest stable version of Xcode. There are currently two branches in the repository: @@ -67,7 +118,7 @@ If you have issues with the app: - Describe the issue in detail - If you have a feature request, please indicate it as so. Planned features are in a different section of the README, so be sure to read those before submitting. -- Please join [the discord](https://discord.gg/sYQxnuD7Fj) for more info +- Please join [the discord](https://discord.gg/sYQxnuD7Fj) for more info and support ## Developers and Permissions @@ -80,3 +131,25 @@ Developer Website: [kingbri.dev](https://kingbri.dev) Developer Discord: kingbri#6666 Join the support discord here: [Ferrite Discord](https://discord.gg/sYQxnuD7Fj) + +## Screenshots + +### Dark Mode + +| Search | Bookmarks | History | +| ------------- | -------- | -------- | +| ![1](Misc/Media/Demo/Dark/Search.png) | ![2](Misc/Media/Demo/Dark/Bookmarks.png) | ![3](Misc/Media/Demo/Dark/History.png) | + +| Debrid Cloud | Plugins | +| ----------- | -------------------- | +| ![4](Misc/Media/Demo/Dark/Cloud.png) | ![5](Misc/Media/Demo/Dark/Plugins.png) | + +### Light Mode + +| Search | Bookmarks | History | +| ------------- | -------- | -------- | +| ![1](Misc/Media/Demo/Light/Search.png) | ![2](Misc/Media/Demo/Light/Bookmarks.png) | ![3](Misc/Media/Demo/Light/History.png) | + +| Debrid Cloud | Plugins | +| ----------- | -------------------- | +| ![4](Misc/Media/Demo/Light/Cloud.png) | ![5](Misc/Media/Demo/Light/Plugins.png) | -- 2.45.2 From c5a08cc7251a9b377e14b4854c9fece81f35af7f Mon Sep 17 00:00:00 2001 From: kingbri Date: Fri, 14 Jun 2024 00:02:44 -0400 Subject: [PATCH 50/59] Debrid: Add description field and cleanup Allow for overriding of the default description in the settings UI. Signed-off-by: kingbri --- Ferrite/API/OffCloudWrapper.swift | 9 ++++++--- Ferrite/API/PremiumizeWrapper.swift | 2 ++ Ferrite/API/TorBoxWrapper.swift | 9 ++++++--- Ferrite/Protocols/Debrid.swift | 7 +++++++ .../ComponentViews/Settings/SettingsDebridInfoView.swift | 4 +++- 5 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift index 2bee0d2..62e1e08 100644 --- a/Ferrite/API/OffCloudWrapper.swift +++ b/Ferrite/API/OffCloudWrapper.swift @@ -14,9 +14,12 @@ import Foundation // Delete torrent (website URL, not API URL): /cloud/remove/\(torrentId) class OffCloud: DebridSource, ObservableObject { - var id: String = "OffCloud" - var abbreviation: String = "OC" - var website: String = "https://offcloud.com" + let id = "OffCloud" + let abbreviation = "OC" + let website = "https://offcloud.com" + let description = "OffCloud is a debrid service that is used for downloads and media playback. " + + "You must pay to access this service. \n\n" + + "This service does not inform if a torrent is a batch before downloading." @Published var authProcessing: Bool = false var isLoggedIn: Bool { diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 9fafa4c..ad4aedd 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -11,6 +11,8 @@ class Premiumize: OAuthDebridSource, ObservableObject { let id = "Premiumize" let abbreviation = "PM" let website = "https://premiumize.me" + let description = "Premiumize is a debrid service that is used for downloads and media playback with seeding. " + + "You must pay to access the service." @Published var authProcessing: Bool = false var isLoggedIn: Bool { diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index c76409f..9037db6 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -14,9 +14,12 @@ import Foundation // Unrestrict: /torrents/requestdl class TorBox: DebridSource, ObservableObject { - var id: String = "TorBox" - var abbreviation: String = "TB" - var website: String = "https://torbox.app" + let id = "TorBox" + let abbreviation = "TB" + let website = "https://torbox.app" + let description = "TorBox is a debrid service that is used for downloads and media playback with seeding. " + + "Both free and paid plans are available. \n\n" + + "This service does not inform if a torrent is a batch before downloading." @Published var authProcessing: Bool = false var isLoggedIn: Bool { diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 0c396d8..5ead94e 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -13,6 +13,7 @@ protocol DebridSource: AnyObservableObject { var id: String { get } var abbreviation: String { get } var website: String { get } + var description: String? { get } // Auth variables var authProcessing: Bool { get set } @@ -54,6 +55,12 @@ protocol DebridSource: AnyObservableObject { func deleteTorrent(torrentId: String?) async throws } +extension DebridSource { + var description: String? { + nil + } +} + protocol PollingDebridSource: DebridSource { // Task reference for polling var authTask: Task? { get set } diff --git a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift index 0296eef..479acb9 100644 --- a/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift +++ b/Ferrite/Views/ComponentViews/Settings/SettingsDebridInfoView.swift @@ -18,7 +18,9 @@ struct SettingsDebridInfoView: View { List { Section(header: InlineHeader("Description")) { VStack(alignment: .leading, spacing: 10) { - Text("\(debridSource.id) is a debrid service that is used for unrestricting downloads and media playback. You must pay to access the service.") + Text(debridSource.description ?? + "\(debridSource.id) is a debrid service that is used for downloads and media playback. You must pay to access the service." + ) Link("Website", destination: URL(string: debridSource.website) ?? URL(string: "https://kingbri.dev/ferrite")!) } -- 2.45.2 From 89367b72da9c6a8bf25bc489ecceeebd8c26c36e Mon Sep 17 00:00:00 2001 From: kingbri Date: Fri, 14 Jun 2024 00:41:09 -0400 Subject: [PATCH 51/59] Update README Signed-off-by: kingbri --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index aa91b90..e5bd79b 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ Donate on Ko-Fi Swift 5.2 - Platform: iOS | iPadOS + Platform: iOS | iPadOS License: GPL v3 -- 2.45.2 From d0728e1a9b3629aca5b78586ce2f1981502b0f82 Mon Sep 17 00:00:00 2001 From: kingbri Date: Fri, 14 Jun 2024 10:31:13 -0400 Subject: [PATCH 52/59] Debrid: Make TorBox a rich service and fix cloud downloads TorBox can now show if there's a batch before loading a file. Cloud downloads should check the server in case there's a different method to fetch a download link. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 4 +- Ferrite/API/OffCloudWrapper.swift | 10 ++-- Ferrite/API/PremiumizeWrapper.swift | 6 +-- Ferrite/API/RealDebridWrapper.swift | 2 +- Ferrite/API/TorBoxWrapper.swift | 54 +++++++++---------- Ferrite/Models/PremiumizeModels.swift | 1 - Ferrite/Models/TorBoxModels.swift | 6 +++ .../Library/Cloud/CloudDownloadView.swift | 29 +++++----- 8 files changed, 58 insertions(+), 54 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 4f47f07..75be7f3 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -347,8 +347,8 @@ class AllDebrid: PollingDebridSource, ObservableObject { } // Not used - func checkUserDownloads(link: String) async throws -> String? { - nil + func checkUserDownloads(link: String) -> String? { + link } // The downloadId is actually the download link diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift index 62e1e08..9785d08 100644 --- a/Ferrite/API/OffCloudWrapper.swift +++ b/Ferrite/API/OffCloudWrapper.swift @@ -17,7 +17,7 @@ class OffCloud: DebridSource, ObservableObject { let id = "OffCloud" let abbreviation = "OC" let website = "https://offcloud.com" - let description = "OffCloud is a debrid service that is used for downloads and media playback. " + + let description: String? = "OffCloud is a debrid service that is used for downloads and media playback. " + "You must pay to access this service. \n\n" + "This service does not inform if a torrent is a batch before downloading." @@ -229,13 +229,13 @@ class OffCloud: DebridSource, ObservableObject { return streamUrlString } - func getUserDownloads() async throws {} + func getUserDownloads() {} - func checkUserDownloads(link: String) async throws -> String? { - nil + func checkUserDownloads(link: String) -> String? { + link } - func deleteDownload(downloadId: String) async throws {} + func deleteDownload(downloadId: String) {} func getUserTorrents() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/cloud/history")) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index ad4aedd..3f6d478 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -11,7 +11,7 @@ class Premiumize: OAuthDebridSource, ObservableObject { let id = "Premiumize" let abbreviation = "PM" let website = "https://premiumize.me" - let description = "Premiumize is a debrid service that is used for downloads and media playback with seeding. " + + let description: String? = "Premiumize is a debrid service that is used for downloads and media playback with seeding. " + "You must pay to access the service." @Published var authProcessing: Bool = false @@ -369,7 +369,7 @@ class Premiumize: OAuthDebridSource, ObservableObject { } // No user torrents for Premiumize - func getUserTorrents() async throws {} + func getUserTorrents() {} - func deleteTorrent(torrentId: String?) async throws {} + func deleteTorrent(torrentId: String?) {} } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 975f8a2..bd65250 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -483,7 +483,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { // Not used func checkUserDownloads(link: String) -> String? { - nil + link } func deleteDownload(downloadId: String) async throws { diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index 9037db6..7abdf33 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -17,9 +17,8 @@ class TorBox: DebridSource, ObservableObject { let id = "TorBox" let abbreviation = "TB" let website = "https://torbox.app" - let description = "TorBox is a debrid service that is used for downloads and media playback with seeding. " + - "Both free and paid plans are available. \n\n" + - "This service does not inform if a torrent is a batch before downloading." + let description: String? = "TorBox is a debrid service that is used for downloads and media playback with seeding. " + + "Both free and paid plans are available." @Published var authProcessing: Bool = false var isLoggedIn: Bool { @@ -109,6 +108,7 @@ class TorBox: DebridSource, ObservableObject { var components = URLComponents(string: "\(baseApiUrl)/torrents/checkcached")! components.queryItems = sendMagnets.map { URLQueryItem(name: "hash", value: $0.hash) } components.queryItems?.append(URLQueryItem(name: "format", value: "list")) + components.queryItems?.append(URLQueryItem(name: "list_files", value: "true")) guard let url = components.url else { throw DebridError.InvalidUrl @@ -124,12 +124,21 @@ class TorBox: DebridSource, ObservableObject { return } - let availableHashes = iaObjects.map { + let availableHashes = iaObjects.map { iaObject in DebridIA( - magnet: Magnet(hash: $0.hash, link: nil), + magnet: Magnet(hash: iaObject.hash, link: nil), source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, - files: [] + files: iaObject.files.enumerated().compactMap { index, iaFile in + guard let fileName = iaFile.name.split(separator: "/").last else { + return nil + } + + return DebridIAFile( + fileId: index, + name: String(fileName) + ) + } ) } @@ -150,25 +159,12 @@ class TorBox: DebridSource, ObservableObject { throw DebridError.IsCaching } - if filteredTorrent.files.count > 1 { - var copiedIA = ia - - copiedIA?.files = filteredTorrent.files.map { torrentFile in - DebridIAFile( - fileId: torrentFile.id, - name: torrentFile.shortName, - streamUrlString: String(torrentId) - ) - } - - return (nil, copiedIA) - } else if let torrentFile = filteredTorrent.files.first { - let restrictedFile = DebridIAFile(fileId: torrentFile.id, name: torrentFile.name, streamUrlString: String(torrentId)) - - return (restrictedFile, nil) - } else { - return (nil, nil) + guard let torrentFile = filteredTorrent.files[safe: iaFile?.fileId ?? 0] else { + throw DebridError.EmptyTorrents } + + let restrictedFile = DebridIAFile(fileId: torrentFile.id, name: torrentFile.name, streamUrlString: String(torrentId)) + return (restrictedFile, nil) } private func createTorrent(magnet: Magnet) async throws -> Int { @@ -233,13 +229,13 @@ class TorBox: DebridSource, ObservableObject { // MARK: - Cloud methods // Unused - func getUserDownloads() async throws {} + func getUserDownloads() {} - func checkUserDownloads(link: String) async throws -> String? { - nil + func checkUserDownloads(link: String) -> String? { + link } - func deleteDownload(downloadId: String) async throws {} + func deleteDownload(downloadId: String) {} func getUserTorrents() async throws { let torrentList = try await myTorrentList() @@ -252,7 +248,7 @@ class TorBox: DebridSource, ObservableObject { fileName: torrent.name, status: torrent.downloadState == "cached" || torrent.downloadState == "completed" ? "downloaded" : torrent.downloadState, hash: torrent.hash, - links: [String(torrent.id)] + links: torrent.files.map { String($0.id) } ) } } diff --git a/Ferrite/Models/PremiumizeModels.swift b/Ferrite/Models/PremiumizeModels.swift index 927702c..a3fdf97 100644 --- a/Ferrite/Models/PremiumizeModels.swift +++ b/Ferrite/Models/PremiumizeModels.swift @@ -20,7 +20,6 @@ extension Premiumize { struct DDLResponse: Codable { let status: String let content: [DDLData]? - let location: String let filename: String let filesize: Int } diff --git a/Ferrite/Models/TorBoxModels.swift b/Ferrite/Models/TorBoxModels.swift index be9845f..d2c0af8 100644 --- a/Ferrite/Models/TorBoxModels.swift +++ b/Ferrite/Models/TorBoxModels.swift @@ -47,6 +47,12 @@ extension TorBox { let name: String let size: Int let hash: String + let files: [InstantAvailabilityFile] + } + + struct InstantAvailabilityFile: Codable, Sendable { + let name: String + let size: Int } struct InstantAvailabilityDataFailure: Codable, Sendable { diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift index 9f2b488..f68f27c 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudDownloadView.swift @@ -24,21 +24,24 @@ struct CloudDownloadView: View { Button(cloudDownload.fileName) { navModel.resultFromCloud = true navModel.selectedTitle = cloudDownload.fileName - debridManager.downloadUrl = cloudDownload.link - - PersistenceController.shared.createHistory( - HistoryEntryJson( - name: cloudDownload.fileName, - url: cloudDownload.link, - source: debridSource.id - ), - performSave: true + var historyEntry = HistoryEntryJson( + name: cloudDownload.fileName, + source: debridSource.id ) - pluginManager.runDefaultAction( - urlString: debridManager.downloadUrl, - navModel: navModel - ) + debridManager.currentDebridTask = Task { + await debridManager.fetchDebridDownload(magnet: nil, cloudInfo: cloudDownload.link) + + if !debridManager.downloadUrl.isEmpty { + historyEntry.url = debridManager.downloadUrl + PersistenceController.shared.createHistory(historyEntry, performSave: true) + + pluginManager.runDefaultAction( + urlString: debridManager.downloadUrl, + navModel: navModel + ) + } + } } .disabledAppearance(navModel.currentChoiceSheet != nil, dimmedOpacity: 0.7, animation: .easeOut(duration: 0.2)) .tint(.primary) -- 2.45.2 From d512d8b88d1433c898d92aa96091575ae0bac9bb Mon Sep 17 00:00:00 2001 From: kingbri Date: Fri, 14 Jun 2024 11:02:27 -0400 Subject: [PATCH 53/59] Update README Signed-off-by: kingbri --- Misc/Referrals/TorBox.md | 5 ++++ README.md | 62 ++++++++++++++++++++++++---------------- 2 files changed, 42 insertions(+), 25 deletions(-) create mode 100644 Misc/Referrals/TorBox.md diff --git a/Misc/Referrals/TorBox.md b/Misc/Referrals/TorBox.md new file mode 100644 index 0000000..c48f48c --- /dev/null +++ b/Misc/Referrals/TorBox.md @@ -0,0 +1,5 @@ +Enter the following code on [TorBox's subscription page](https://torbox.app/subscription) + +bb2d4f54-61bf-4d64-af08-8db0a900485a + +Thanks for the referral! diff --git a/README.md b/README.md index e5bd79b..3b98270 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ # Ferrite

- - Donate on Ko-Fi - Swift 5.2 Platform: iOS | iPadOS License: GPL v3 + + GitHub all releases +

@@ -20,8 +20,42 @@

+

+ + Refer on RealDebrid + + + Refer on TorBox + + + Support on Ko-Fi + +

+ A media search engine for iOS with a plugin API to extend its functionality. +## Screenshots + +### Dark Mode + +| Search | Bookmarks | History | +| ------------- | -------- | -------- | +| ![1](Misc/Media/Demo/Dark/Search.png) | ![2](Misc/Media/Demo/Dark/Bookmarks.png) | ![3](Misc/Media/Demo/Dark/History.png) | + +| Debrid Cloud | Plugins | +| ----------- | -------------------- | +| ![4](Misc/Media/Demo/Dark/Cloud.png) | ![5](Misc/Media/Demo/Dark/Plugins.png) | + +### Light Mode + +| Search | Bookmarks | History | +| ------------- | -------- | -------- | +| ![1](Misc/Media/Demo/Light/Search.png) | ![2](Misc/Media/Demo/Light/Bookmarks.png) | ![3](Misc/Media/Demo/Light/History.png) | + +| Debrid Cloud | Plugins | +| ----------- | -------------------- | +| ![4](Misc/Media/Demo/Light/Cloud.png) | ![5](Misc/Media/Demo/Light/Plugins.png) | + ## Disclaimer This project is developed with a hobbyist/educational purpose and I am not responsible for what happens when you install Ferrite. @@ -131,25 +165,3 @@ Developer Website: [kingbri.dev](https://kingbri.dev) Developer Discord: kingbri#6666 Join the support discord here: [Ferrite Discord](https://discord.gg/sYQxnuD7Fj) - -## Screenshots - -### Dark Mode - -| Search | Bookmarks | History | -| ------------- | -------- | -------- | -| ![1](Misc/Media/Demo/Dark/Search.png) | ![2](Misc/Media/Demo/Dark/Bookmarks.png) | ![3](Misc/Media/Demo/Dark/History.png) | - -| Debrid Cloud | Plugins | -| ----------- | -------------------- | -| ![4](Misc/Media/Demo/Dark/Cloud.png) | ![5](Misc/Media/Demo/Dark/Plugins.png) | - -### Light Mode - -| Search | Bookmarks | History | -| ------------- | -------- | -------- | -| ![1](Misc/Media/Demo/Light/Search.png) | ![2](Misc/Media/Demo/Light/Bookmarks.png) | ![3](Misc/Media/Demo/Light/History.png) | - -| Debrid Cloud | Plugins | -| ----------- | -------------------- | -| ![4](Misc/Media/Demo/Light/Cloud.png) | ![5](Misc/Media/Demo/Light/Plugins.png) | -- 2.45.2 From 646c22c9be3a3bba0dce8dd9ad3bccbdd141b8d5 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sat, 15 Jun 2024 22:52:19 -0500 Subject: [PATCH 54/59] Debrid: Fix UI updates with auth If a debrid is authorized, a Published variable needs to be notified since SwiftUI can't read computed properties on the fly (they are getters). Therefore, it's better to maintain a single source of truth of which services are logged in. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 2 +- Ferrite/ViewModels/DebridManager.swift | 22 ++++++++++--------- Ferrite/ViewModels/ScrapingViewModel.swift | 4 ++-- .../Library/BookmarksView.swift | 2 +- .../Library/LibraryPickerView.swift | 2 +- .../SearchResult/SearchFilterHeaderView.swift | 2 +- Ferrite/Views/SettingsView.swift | 2 +- 7 files changed, 19 insertions(+), 17 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 75be7f3..a5a31b8 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -13,7 +13,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { let website = "https://alldebrid.com" var authTask: Task? - var authProcessing: Bool = false + @Published var authProcessing: Bool = false var isLoggedIn: Bool { getToken() != nil } diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 70771a4..382e319 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -23,14 +23,7 @@ class DebridManager: ObservableObject { // UI Variables @Published var showWebView: Bool = false @Published var showAuthSession: Bool = false - - var hasEnabledDebrids: Bool { - debridSources.contains { $0.isLoggedIn } - } - - var enabledDebridCount: Int { - debridSources.filter(\.isLoggedIn).count - } + @Published var enabledDebrids: [DebridSource] = [] @Published var selectedDebridSource: DebridSource? { didSet { @@ -57,6 +50,9 @@ class DebridManager: ObservableObject { @Published var notImplementedMessage: String = "" init() { + // Update the UI for debrid services that are enabled + enabledDebrids = debridSources.filter { $0.isLoggedIn } + // Set the preferred service. Contains migration logic for earlier versions if let rawPreferredService = UserDefaults.standard.string(forKey: "Debrid.PreferredService") { let debridServiceId: String? @@ -193,7 +189,7 @@ class DebridManager: ObservableObject { debridSource.authProcessing = false } - if enabledDebridCount == 1 { + if enabledDebrids.count == 1 { selectedDebridSource = debridSource } } @@ -201,6 +197,8 @@ class DebridManager: ObservableObject { // Set an API key if manually provided if let apiKey { debridSource.setApiKey(apiKey) + enabledDebrids.append(debridSource) + return } @@ -213,6 +211,7 @@ class DebridManager: ObservableObject { if validateAuthUrl(authUrl) { try await pollingSource.authTask?.value + enabledDebrids.append(debridSource) } else { throw DebridError.AuthQuery(description: "The authentication URL was invalid") } @@ -278,7 +277,7 @@ class DebridManager: ObservableObject { // Currently handles Premiumize callback func handleAuthCallback(url: URL?, error: Error?) async { defer { - if enabledDebridCount == 1 { + if enabledDebrids.count == 1 { selectedDebridSource = selectedOAuthDebridSource } @@ -296,6 +295,7 @@ class DebridManager: ObservableObject { if let callbackUrl = url { try oauthDebridSource.handleAuthCallback(url: callbackUrl) + enabledDebrids.append(oauthDebridSource) } else { throw DebridError.AuthQuery(description: "The callback URL was invalid") } @@ -312,6 +312,8 @@ class DebridManager: ObservableObject { if selectedDebridSource?.id == debridSource.id { selectedDebridSource = nil } + + enabledDebrids.removeAll { $0.id == debridSource.id } } // MARK: - Debrid fetch UI linked functions diff --git a/Ferrite/ViewModels/ScrapingViewModel.swift b/Ferrite/ViewModels/ScrapingViewModel.swift index 0da575c..82d5c69 100644 --- a/Ferrite/ViewModels/ScrapingViewModel.swift +++ b/Ferrite/ViewModels/ScrapingViewModel.swift @@ -102,7 +102,7 @@ class ScrapingViewModel: ObservableObject { cleanedSearchText = searchText.lowercased() - if await !debridManager.hasEnabledDebrids { + if await !debridManager.enabledDebrids.isEmpty { await debridManager.clearIAValues() } @@ -136,7 +136,7 @@ class ScrapingViewModel: ObservableObject { var failedSourceNames: [String] = [] for await (requestResult, sourceName) in group { if let requestResult { - if await debridManager.hasEnabledDebrids { + if await !debridManager.enabledDebrids.isEmpty { await debridManager.populateDebridIA(requestResult.magnets) } diff --git a/Ferrite/Views/ComponentViews/Library/BookmarksView.swift b/Ferrite/Views/ComponentViews/Library/BookmarksView.swift index eb0d632..c0b7d5e 100644 --- a/Ferrite/Views/ComponentViews/Library/BookmarksView.swift +++ b/Ferrite/Views/ComponentViews/Library/BookmarksView.swift @@ -56,7 +56,7 @@ struct BookmarksView: View { .frame(height: 15) } .task { - if debridManager.hasEnabledDebrids { + if !debridManager.enabledDebrids.isEmpty { let magnets = bookmarks.compactMap { if let magnetHash = $0.magnetHash { return Magnet(hash: magnetHash, link: $0.magnetLink) diff --git a/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift b/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift index d3c88f6..8c97e58 100644 --- a/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift +++ b/Ferrite/Views/ComponentViews/Library/LibraryPickerView.swift @@ -19,7 +19,7 @@ struct LibraryPickerView: View { Text("Bookmarks").tag(NavigationViewModel.LibraryPickerSegment.bookmarks) Text("History").tag(NavigationViewModel.LibraryPickerSegment.history) - if debridManager.hasEnabledDebrids { + if !debridManager.enabledDebrids.isEmpty { Text("Cloud").tag(NavigationViewModel.LibraryPickerSegment.debridCloud) } } diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift index 1ba7df0..9a96ab3 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchFilterHeaderView.swift @@ -60,7 +60,7 @@ struct SearchFilterHeaderView: View { // MARK: - Cache status picker - if debridManager.hasEnabledDebrids { + if !debridManager.enabledDebrids.isEmpty { IAFilterView() } diff --git a/Ferrite/Views/SettingsView.swift b/Ferrite/Views/SettingsView.swift index 3c8ffcd..692ce43 100644 --- a/Ferrite/Views/SettingsView.swift +++ b/Ferrite/Views/SettingsView.swift @@ -128,7 +128,7 @@ struct SettingsView: View { } Section(header: InlineHeader("Default actions")) { - if debridManager.hasEnabledDebrids { + if !debridManager.enabledDebrids.isEmpty { NavigationLink { DefaultActionPickerView( actionRequirement: .debrid, -- 2.45.2 From 078e48d31600267e04bd23c5d3e96fbe41360b28 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 16 Jun 2024 15:37:00 -0500 Subject: [PATCH 55/59] Treewide: Cleanup and rename Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 +-- Ferrite/API/AllDebridWrapper.swift | 33 ++++++----- Ferrite/API/OffCloudWrapper.swift | 42 ++++++-------- Ferrite/API/PremiumizeWrapper.swift | 10 ++-- Ferrite/API/RealDebridWrapper.swift | 55 +++++++++---------- Ferrite/API/TorBoxWrapper.swift | 52 ++++++++---------- Ferrite/Models/DebridModels.swift | 6 +- Ferrite/Protocols/Debrid.swift | 12 ++-- Ferrite/ViewModels/DebridManager.swift | 16 +++--- ...orrentView.swift => CloudMagnetView.swift} | 30 +++++----- .../Library/DebridCloudView.swift | 4 +- .../SearchResult/SearchResultButtonView.swift | 2 +- 12 files changed, 128 insertions(+), 142 deletions(-) rename Ferrite/Views/ComponentViews/Library/Cloud/{CloudTorrentView.swift => CloudMagnetView.swift} (77%) diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index 7d5c314..d13f4ba 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -139,7 +139,7 @@ 0CB6516528C5A5D700DCA721 /* InlinedList.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB6516428C5A5D700DCA721 /* InlinedList.swift */; }; 0CB6516A28C5B4A600DCA721 /* InlineHeader.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB6516928C5B4A600DCA721 /* InlineHeader.swift */; }; 0CB725322C123E6F0047FC0B /* CloudDownloadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB725312C123E6F0047FC0B /* CloudDownloadView.swift */; }; - 0CB725342C123E760047FC0B /* CloudTorrentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB725332C123E760047FC0B /* CloudTorrentView.swift */; }; + 0CB725342C123E760047FC0B /* CloudMagnetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CB725332C123E760047FC0B /* CloudMagnetView.swift */; }; 0CBAB83628D12ED500AC903E /* DisableInteraction.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBAB83528D12ED500AC903E /* DisableInteraction.swift */; }; 0CBC76FD288D914F0054BE44 /* BatchChoiceView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBC76FC288D914F0054BE44 /* BatchChoiceView.swift */; }; 0CBC76FF288DAAD00054BE44 /* NavigationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CBC76FE288DAAD00054BE44 /* NavigationViewModel.swift */; }; @@ -294,7 +294,7 @@ 0CB6516428C5A5D700DCA721 /* InlinedList.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InlinedList.swift; sourceTree = ""; }; 0CB6516928C5B4A600DCA721 /* InlineHeader.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InlineHeader.swift; sourceTree = ""; }; 0CB725312C123E6F0047FC0B /* CloudDownloadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudDownloadView.swift; sourceTree = ""; }; - 0CB725332C123E760047FC0B /* CloudTorrentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudTorrentView.swift; sourceTree = ""; }; + 0CB725332C123E760047FC0B /* CloudMagnetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CloudMagnetView.swift; sourceTree = ""; }; 0CBAB83528D12ED500AC903E /* DisableInteraction.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DisableInteraction.swift; sourceTree = ""; }; 0CBC76FC288D914F0054BE44 /* BatchChoiceView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchChoiceView.swift; sourceTree = ""; }; 0CBC76FE288DAAD00054BE44 /* NavigationViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NavigationViewModel.swift; sourceTree = ""; }; @@ -430,7 +430,7 @@ isa = PBXGroup; children = ( 0CB725312C123E6F0047FC0B /* CloudDownloadView.swift */, - 0CB725332C123E760047FC0B /* CloudTorrentView.swift */, + 0CB725332C123E760047FC0B /* CloudMagnetView.swift */, ); path = Cloud; sourceTree = ""; @@ -896,7 +896,7 @@ 0C84FCE529E4B43200B0DFE4 /* SelectedDebridFilterView.swift in Sources */, 0CA148EC288903F000DE2211 /* ContentView.swift in Sources */, 0CC389532970AD900066D06F /* Action+CoreDataClass.swift in Sources */, - 0CB725342C123E760047FC0B /* CloudTorrentView.swift in Sources */, + 0CB725342C123E760047FC0B /* CloudMagnetView.swift in Sources */, 0C03EB72296F619900162E9A /* PluginList+CoreDataProperties.swift in Sources */, 0C95D8D828A55B03005E22B3 /* DefaultActionPickerView.swift in Sources */, 0C44E2AF28D52E8A007711AE /* BackupsView.swift in Sources */, diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index a5a31b8..7f5f3b9 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -28,7 +28,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { @Published var IAValues: [DebridIA] = [] @Published var cloudDownloads: [DebridCloudDownload] = [] - @Published var cloudTorrents: [DebridCloudTorrent] = [] + @Published var cloudMagnets: [DebridCloudMagnet] = [] var cloudTTL: Double = 0.0 private let baseApiUrl = "https://api.alldebrid.com/v4" @@ -217,8 +217,8 @@ class AllDebrid: PollingDebridSource, ObservableObject { func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { let selectedMagnetId: String - if let existingMagnet = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { - selectedMagnetId = existingMagnet.torrentId + if let existingMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { + selectedMagnetId = existingMagnet.cloudMagnetId } else { let magnetId = try await addMagnet(magnet: magnet) selectedMagnetId = String(magnetId) @@ -269,10 +269,10 @@ class AllDebrid: PollingDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data // Better to fetch no link at all than the wrong link - if let torrentFile = rawResponse.magnets[safe: 0]?.links[safe: selectedIndex ?? -1] { - return DebridIAFile(fileId: 0, name: torrentFile.filename, streamUrlString: torrentFile.link) + if let cloudMagnetFile = rawResponse.magnets[safe: 0]?.links[safe: selectedIndex ?? -1] { + return DebridIAFile(fileId: 0, name: cloudMagnetFile.filename, streamUrlString: cloudMagnetFile.link) } else { - throw DebridError.EmptyTorrents + throw DebridError.EmptyUserMagnets } } @@ -300,32 +300,31 @@ class AllDebrid: PollingDebridSource, ObservableObject { // MARK: - Cloud methods - // Referred to as "User magnets" in AllDebrid's API - func getUserTorrents() async throws { + func getUserMagnets() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/status")) let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode(ADResponse.self, from: data).data - cloudTorrents = rawResponse.magnets.map { magnetResponse in - DebridCloudTorrent( - torrentId: String(magnetResponse.id), + cloudMagnets = rawResponse.magnets.map { magnetResponse in + DebridCloudMagnet( + cloudMagnetId: String(magnetResponse.id), source: self.id, fileName: magnetResponse.filename, - status: magnetResponse.status, + status: magnetResponse.status == "Ready" ? "downloaded" : magnetResponse.status, hash: magnetResponse.hash, links: magnetResponse.links.map(\.link) ) } } - func deleteTorrent(torrentId: String?) async throws { - guard let torrentId else { - throw DebridError.FailedRequest(description: "The torrentID \(String(describing: torrentId)) is invalid") + func deleteUserMagnet(cloudMagnetId: String?) async throws { + guard let cloudMagnetId else { + throw DebridError.FailedRequest(description: "The cloud magnetID \(String(describing: cloudMagnetId)) is invalid") } let queryItems = [ - URLQueryItem(name: "id", value: torrentId) + URLQueryItem(name: "id", value: cloudMagnetId) ] var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/magnet/delete", queryItems: queryItems)) @@ -352,7 +351,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { } // The downloadId is actually the download link - func deleteDownload(downloadId: String) async throws { + func deleteUserDownload(downloadId: String) async throws { let queryItems = [ URLQueryItem(name: "link", value: downloadId) ] diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift index 9785d08..45d4b93 100644 --- a/Ferrite/API/OffCloudWrapper.swift +++ b/Ferrite/API/OffCloudWrapper.swift @@ -7,19 +7,13 @@ import Foundation -// Torrents: /cloud/history -// IA: /cache (JSON array of hashes) -// Add Magnet: /cloud (URL param in JSON body) -// Get files/unrestrict: /cloud/explore/\(requestId) -// Delete torrent (website URL, not API URL): /cloud/remove/\(torrentId) - class OffCloud: DebridSource, ObservableObject { let id = "OffCloud" let abbreviation = "OC" let website = "https://offcloud.com" let description: String? = "OffCloud is a debrid service that is used for downloads and media playback. " + "You must pay to access this service. \n\n" + - "This service does not inform if a torrent is a batch before downloading." + "This service does not inform if a magnet link is a batch before downloading." @Published var authProcessing: Bool = false var isLoggedIn: Bool { @@ -36,7 +30,7 @@ class OffCloud: DebridSource, ObservableObject { @Published var IAValues: [DebridIA] = [] @Published var cloudDownloads: [DebridCloudDownload] = [] - @Published var cloudTorrents: [DebridCloudTorrent] = [] + @Published var cloudMagnets: [DebridCloudMagnet] = [] var cloudTTL: Double = 0.0 private let baseApiUrl = "https://offcloud.com/api" @@ -140,11 +134,11 @@ class OffCloud: DebridSource, ObservableObject { // Cloud in OffCloud's API func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { - let selectedTorrent: DebridCloudTorrent + let selectedMagnet: DebridCloudMagnet - // Don't queue a new job if the torrent already exists - if let existingTorrent = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { - selectedTorrent = existingTorrent + // Don't queue a new job if the magnet already exists in the user's account + if let existingCloudMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + selectedMagnet = existingCloudMagnet } else { let cloudDownloadResponse = try await offcloudDownload(magnet: magnet) @@ -152,8 +146,8 @@ class OffCloud: DebridSource, ObservableObject { throw DebridError.IsCaching } - selectedTorrent = DebridCloudTorrent( - torrentId: cloudDownloadResponse.requestId, + selectedMagnet = DebridCloudMagnet( + cloudMagnetId: cloudDownloadResponse.requestId, source: id, fileName: cloudDownloadResponse.fileName, status: cloudDownloadResponse.status, @@ -162,7 +156,7 @@ class OffCloud: DebridSource, ObservableObject { ) } - let cloudExploreLinks = try await cloudExplore(requestId: selectedTorrent.torrentId) + let cloudExploreLinks = try await cloudExplore(requestId: selectedMagnet.cloudMagnetId) if cloudExploreLinks.count > 1 { var copiedIA = ia @@ -183,7 +177,7 @@ class OffCloud: DebridSource, ObservableObject { } else if let exploreLink = cloudExploreLinks.first { let restrictedFile = DebridIAFile( fileId: 0, - name: selectedTorrent.fileName, + name: selectedMagnet.fileName, streamUrlString: exploreLink ) @@ -235,21 +229,21 @@ class OffCloud: DebridSource, ObservableObject { link } - func deleteDownload(downloadId: String) {} + func deleteUserDownload(downloadId: String) {} - func getUserTorrents() async throws { + func getUserMagnets() async throws { var request = URLRequest(url: try buildRequestURL(urlString: "\(baseApiUrl)/cloud/history")) let data = try await performRequest(request: &request, requestName: "cloudHistory") let rawResponse = try jsonDecoder.decode([CloudHistoryResponse].self, from: data) - cloudTorrents = rawResponse.compactMap { cloudHistory in + cloudMagnets = rawResponse.compactMap { cloudHistory in guard let magnetHash = Magnet(hash: nil, link: cloudHistory.originalLink).hash else { return nil } - return DebridCloudTorrent( - torrentId: cloudHistory.requestId, + return DebridCloudMagnet( + cloudMagnetId: cloudHistory.requestId, source: self.id, fileName: cloudHistory.fileName, status: cloudHistory.status, @@ -260,12 +254,12 @@ class OffCloud: DebridSource, ObservableObject { } // Uses the base website because this isn't present in the API path but still works like the API? - func deleteTorrent(torrentId: String?) async throws { - guard let torrentId else { + func deleteUserMagnet(cloudMagnetId: String?) async throws { + guard let cloudMagnetId else { throw DebridError.InvalidPostBody } - var request = URLRequest(url: try buildRequestURL(urlString: "\(website)/cloud/remove/\(torrentId)")) + var request = URLRequest(url: try buildRequestURL(urlString: "\(website)/cloud/remove/\(cloudMagnetId)")) try await performRequest(request: &request, requestName: "cloudRemove") } } diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index 3f6d478..cb6eff1 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -29,7 +29,7 @@ class Premiumize: OAuthDebridSource, ObservableObject { @Published var IAValues: [DebridIA] = [] @Published var cloudDownloads: [DebridCloudDownload] = [] - @Published var cloudTorrents: [DebridCloudTorrent] = [] + @Published var cloudMagnets: [DebridCloudMagnet] = [] var cloudTTL: Double = 0.0 private let baseAuthUrl = "https://www.premiumize.me/authorize" @@ -355,7 +355,7 @@ class Premiumize: OAuthDebridSource, ObservableObject { try await itemDetails(itemID: link).link } - func deleteDownload(downloadId: String) async throws { + func deleteUserDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/item/delete")!) request.httpMethod = "POST" request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type") @@ -368,8 +368,8 @@ class Premiumize: OAuthDebridSource, ObservableObject { try await performRequest(request: &request, requestName: #function) } - // No user torrents for Premiumize - func getUserTorrents() {} + // No user magnets for Premiumize + func getUserMagnets() {} - func deleteTorrent(torrentId: String?) {} + func deleteUserMagnet(cloudMagnetId: String?) {} } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index bd65250..9eb3195 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -30,7 +30,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { @Published var IAValues: [DebridIA] = [] @Published var cloudDownloads: [DebridCloudDownload] = [] - @Published var cloudTorrents: [DebridCloudTorrent] = [] + @Published var cloudMagnets: [DebridCloudMagnet] = [] var cloudTTL: Double = 0.0 private let baseAuthUrl = "https://api.real-debrid.com/oauth/v2" @@ -261,7 +261,6 @@ class RealDebrid: PollingDebridSource, ObservableObject { let data = try await performRequest(request: &request, requestName: #function) - // Does not account for torrent packs at the moment let rawResponseDict = try jsonDecoder.decode([String: InstantAvailabilityResponse].self, from: data) for (hash, response) in rawResponseDict { @@ -320,9 +319,9 @@ class RealDebrid: PollingDebridSource, ObservableObject { var selectedMagnetId = "" do { - // Don't queue a new job if the torrent already exists - if let existingTorrent = cloudTorrents.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { - selectedMagnetId = existingTorrent.torrentId + // Don't queue a new job if the magnet already exists in the user's library + if let existingCloudMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + selectedMagnetId = existingCloudMagnet.cloudMagnetId } else { selectedMagnetId = try await addMagnet(magnet: magnet) @@ -330,15 +329,15 @@ class RealDebrid: PollingDebridSource, ObservableObject { } // RealDebrid has 1 as the first ID for a file - let torrentFile = try await torrentInfo( + let restrictedFile = try await torrentInfo( debridID: selectedMagnetId, selectedFileId: iaFile?.fileId ?? 1 ) - return (torrentFile, nil) + return (restrictedFile, nil) } catch { - if case DebridError.EmptyTorrents = error, !selectedMagnetId.isEmpty { - try? await deleteTorrent(torrentId: selectedMagnetId) + if case DebridError.EmptyUserMagnets = error, !selectedMagnetId.isEmpty { + try? await deleteUserMagnet(cloudMagnetId: selectedMagnetId) } // Re-raise the error to the calling function @@ -396,17 +395,17 @@ class RealDebrid: PollingDebridSource, ObservableObject { let filteredFiles = rawResponse.files.filter { $0.selected == 1 } let linkIndex = filteredFiles.firstIndex(where: { $0.id == selectedFileId }) - // Let the user know if a torrent is downloading - if let torrentLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { + // Let the user know if a magnet is downloading + if let cloudMagnetLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { return DebridIAFile( fileId: 0, name: rawResponse.filename, - streamUrlString: torrentLink + streamUrlString: cloudMagnetLink ) } else if rawResponse.status == "downloading" || rawResponse.status == "queued" { throw DebridError.IsCaching } else { - throw DebridError.EmptyTorrents + throw DebridError.EmptyUserMagnets } } @@ -429,15 +428,15 @@ class RealDebrid: PollingDebridSource, ObservableObject { // MARK: - Cloud methods - // Gets the user's torrent library - func getUserTorrents() async throws { + // Gets the user's cloud magnet library + func getUserMagnets() async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents")!) let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserTorrentsResponse].self, from: data) - cloudTorrents = rawResponse.map { response in - DebridCloudTorrent( - torrentId: response.id, + cloudMagnets = rawResponse.map { response in + DebridCloudMagnet( + cloudMagnetId: response.id, source: self.id, fileName: response.filename, status: response.status, @@ -447,21 +446,21 @@ class RealDebrid: PollingDebridSource, ObservableObject { } } - // Deletes a torrent download from RD - func deleteTorrent(torrentId: String?) async throws { + // Deletes a magnet download from RD + func deleteUserMagnet(cloudMagnetId: String?) async throws { let deleteId: String - if let torrentId { - deleteId = torrentId + if let cloudMagnetId { + deleteId = cloudMagnetId } else { - // Refresh the torrent cloud + // Refresh the user magnet list // The first file is the currently caching one - let _ = try await getUserTorrents() - guard let firstTorrent = cloudTorrents[safe: -1] else { - throw DebridError.EmptyTorrents + let _ = try await getUserMagnets() + guard let firstCloudMagnet = cloudMagnets[safe: -1] else { + throw DebridError.EmptyUserMagnets } - deleteId = firstTorrent.torrentId + deleteId = firstCloudMagnet.cloudMagnetId } var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/delete/\(deleteId)")!) @@ -486,7 +485,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { link } - func deleteDownload(downloadId: String) async throws { + func deleteUserDownload(downloadId: String) async throws { var request = URLRequest(url: URL(string: "\(baseApiUrl)/downloads/delete/\(downloadId)")!) request.httpMethod = "DELETE" diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index 7abdf33..e17a662 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -7,12 +7,6 @@ import Foundation -// Torrents: /torrents/mylist -// IA: /torrents/checkcached -// Add Magnet: /torrents/createtorrent -// Delete torrent: /torrents/controltorrent -// Unrestrict: /torrents/requestdl - class TorBox: DebridSource, ObservableObject { let id = "TorBox" let abbreviation = "TB" @@ -35,7 +29,7 @@ class TorBox: DebridSource, ObservableObject { @Published var IAValues: [DebridIA] = [] @Published var cloudDownloads: [DebridCloudDownload] = [] - @Published var cloudTorrents: [DebridCloudTorrent] = [] + @Published var cloudMagnets: [DebridCloudMagnet] = [] var cloudTTL: Double = 0.0 private let baseApiUrl = "https://api.torbox.app/v1/api" @@ -148,22 +142,22 @@ class TorBox: DebridSource, ObservableObject { // MARK: - Downloading func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { - let torrentId = try await createTorrent(magnet: magnet) - let torrentList = try await myTorrentList() - guard let filteredTorrent = torrentList.first(where: { $0.id == torrentId }) else { - throw DebridError.FailedRequest(description: "A torrent wasn't found. Are you sure it's cached?") + let cloudMagnetId = try await createTorrent(magnet: magnet) + let cloudMagnetList = try await myTorrentList() + guard let filteredCloudMagnet = cloudMagnetList.first(where: { $0.id == cloudMagnetId }) else { + throw DebridError.FailedRequest(description: "Could not find a cached magnet. Are you sure it's cached?") } - // If the torrent isn't saved, it's considered as caching - guard filteredTorrent.downloadState == "cached" || filteredTorrent.downloadState == "completed" else { + // If the user magnet isn't saved, it's considered as caching + guard filteredCloudMagnet.downloadState == "cached" || filteredCloudMagnet.downloadState == "completed" else { throw DebridError.IsCaching } - guard let torrentFile = filteredTorrent.files[safe: iaFile?.fileId ?? 0] else { - throw DebridError.EmptyTorrents + guard let cloudMagnetFile = filteredCloudMagnet.files[safe: iaFile?.fileId ?? 0] else { + throw DebridError.EmptyUserMagnets } - let restrictedFile = DebridIAFile(fileId: torrentFile.id, name: torrentFile.name, streamUrlString: String(torrentId)) + let restrictedFile = DebridIAFile(fileId: cloudMagnetFile.id, name: cloudMagnetFile.name, streamUrlString: String(cloudMagnetId)) return (restrictedFile, nil) } @@ -235,26 +229,26 @@ class TorBox: DebridSource, ObservableObject { link } - func deleteDownload(downloadId: String) {} + func deleteUserDownload(downloadId: String) {} - func getUserTorrents() async throws { - let torrentList = try await myTorrentList() - cloudTorrents = torrentList.map { torrent in + func getUserMagnets() async throws { + let cloudMagnetList = try await myTorrentList() + cloudMagnets = cloudMagnetList.map { cloudMagnet in // Only need one link to force a green badge - DebridCloudTorrent( - torrentId: String(torrent.id), + DebridCloudMagnet( + cloudMagnetId: String(cloudMagnet.id), source: self.id, - fileName: torrent.name, - status: torrent.downloadState == "cached" || torrent.downloadState == "completed" ? "downloaded" : torrent.downloadState, - hash: torrent.hash, - links: torrent.files.map { String($0.id) } + fileName: cloudMagnet.name, + status: cloudMagnet.downloadState == "cached" || cloudMagnet.downloadState == "completed" ? "downloaded" : cloudMagnet.downloadState, + hash: cloudMagnet.hash, + links: cloudMagnet.files.map { String($0.id) } ) } } - func deleteTorrent(torrentId: String?) async throws { - guard let torrentId else { + func deleteUserMagnet(cloudMagnetId: String?) async throws { + guard let cloudMagnetId else { throw DebridError.InvalidPostBody } @@ -262,7 +256,7 @@ class TorBox: DebridSource, ObservableObject { request.httpMethod = "POST" request.setValue("application/json", forHTTPHeaderField: "Content-Type") - let body = ControlTorrentRequest(torrentId: torrentId, operation: "Delete") + let body = ControlTorrentRequest(torrentId: cloudMagnetId, operation: "Delete") request.httpBody = try jsonEncoder.encode(body) try await performRequest(request: &request, requestName: "controltorrent") diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 60ca4b8..7ce96ca 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -35,8 +35,8 @@ struct DebridCloudDownload: Hashable, Sendable { let link: String } -struct DebridCloudTorrent: Hashable, Sendable { - let torrentId: String +struct DebridCloudMagnet: Hashable, Sendable { + let cloudMagnetId: String let source: String let fileName: String let status: String @@ -50,7 +50,7 @@ enum DebridError: Error { case InvalidResponse case InvalidToken case EmptyData - case EmptyTorrents + case EmptyUserMagnets case IsCaching case FailedRequest(description: String) case AuthQuery(description: String) diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index 5ead94e..d7ecbff 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -27,7 +27,7 @@ protocol DebridSource: AnyObservableObject { // Cloud variables var cloudDownloads: [DebridCloudDownload] { get set } - var cloudTorrents: [DebridCloudTorrent] { get set } + var cloudMagnets: [DebridCloudMagnet] { get set } var cloudTTL: Double { get set } // Common authentication functions @@ -39,7 +39,7 @@ protocol DebridSource: AnyObservableObject { // Fetches a download link from a source // Include the instant availability information with the args - // Torrents also checked here + // Cloud magnets also checked here func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) // Unrestricts a locked file @@ -48,11 +48,11 @@ protocol DebridSource: AnyObservableObject { // User downloads functions func getUserDownloads() async throws func checkUserDownloads(link: String) async throws -> String? - func deleteDownload(downloadId: String) async throws + func deleteUserDownload(downloadId: String) async throws - // User torrent functions - func getUserTorrents() async throws - func deleteTorrent(torrentId: String?) async throws + // User magnet functions + func getUserMagnets() async throws + func deleteUserMagnet(cloudMagnetId: String?) async throws } extension DebridSource { diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index 382e319..c388f17 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -157,7 +157,7 @@ class DebridManager: ObservableObject { func selectDebridResult(magnet: Magnet) -> Bool { guard let magnetHash = magnet.hash else { - logManager?.error("DebridManager: Could not find the torrent magnet hash") + logManager?.error("DebridManager: Could not find the magnet hash") return false } @@ -415,9 +415,9 @@ class DebridManager: ObservableObject { if bypassTTL || Date().timeIntervalSince1970 > selectedSource.cloudTTL { do { - // Populates the inner downloads and torrent arrays + // Populates the inner downloads and magnet arrays try await selectedSource.getUserDownloads() - try await selectedSource.getUserTorrents() + try await selectedSource.getUserMagnets() // Update the TTL to 5 minutes from now selectedSource.cloudTTL = Date().timeIntervalSince1970 + 300 @@ -436,7 +436,7 @@ class DebridManager: ObservableObject { } do { - try await selectedSource.deleteDownload(downloadId: download.downloadId) + try await selectedSource.deleteUserDownload(downloadId: download.downloadId) await fetchDebridCloud(bypassTTL: true) } catch { @@ -456,19 +456,19 @@ class DebridManager: ObservableObject { } } - func deleteCloudTorrent(_ torrent: DebridCloudTorrent) async { + func deleteUserMagnet(_ cloudMagnet: DebridCloudMagnet) async { guard let selectedSource = selectedDebridSource else { return } do { - try await selectedSource.deleteTorrent(torrentId: torrent.torrentId) + try await selectedSource.deleteUserMagnet(cloudMagnetId: cloudMagnet.cloudMagnetId) await fetchDebridCloud(bypassTTL: true) } catch { switch error { case DebridError.NotImplemented: - let message = "Torrent deletion for \(selectedSource.id) is not implemented. Please use the service's website." + let message = "Magnet deletion for \(selectedSource.id) is not implemented. Please use the service's website." notImplementedMessage = message showNotImplementedAlert.toggle() @@ -477,7 +477,7 @@ class DebridManager: ObservableObject { showToast: false ) default: - await sendDebridError(error, prefix: "\(selectedSource.id) torrent delete error") + await sendDebridError(error, prefix: "\(selectedSource.id) magnet delete error") } } } diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift similarity index 77% rename from Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift rename to Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift index 07acfc1..8da3066 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/CloudTorrentView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift @@ -1,5 +1,5 @@ // -// CloudTorrentView.swift +// CloudMagnetView.swift // Ferrite // // Created by Brian Dashore on 6/6/24. @@ -7,7 +7,7 @@ import SwiftUI -struct CloudTorrentView: View { +struct CloudMagnetView: View { @EnvironmentObject var navModel: NavigationViewModel @EnvironmentObject var debridManager: DebridManager @EnvironmentObject var pluginManager: PluginManager @@ -17,27 +17,27 @@ struct CloudTorrentView: View { @Binding var searchText: String var body: some View { - DisclosureGroup("Torrents") { - ForEach(debridSource.cloudTorrents.filter { + DisclosureGroup("Magnets") { + ForEach(debridSource.cloudMagnets.filter { searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) - }, id: \.self) { cloudTorrent in + }, id: \.self) { cloudMagnet in Button { - if cloudTorrent.status == "downloaded", !cloudTorrent.links.isEmpty { + if cloudMagnet.status == "downloaded", !cloudMagnet.links.isEmpty { navModel.resultFromCloud = true - navModel.selectedTitle = cloudTorrent.fileName + navModel.selectedTitle = cloudMagnet.fileName var historyInfo = HistoryEntryJson( - name: cloudTorrent.fileName, + name: cloudMagnet.fileName, source: debridSource.id ) Task { - let magnet = Magnet(hash: cloudTorrent.hash, link: nil) + let magnet = Magnet(hash: cloudMagnet.hash, link: nil) await debridManager.populateDebridIA([magnet]) if debridManager.selectDebridResult(magnet: magnet) { // Is this a batch? - if cloudTorrent.links.count == 1 { + if cloudMagnet.links.count == 1 { await debridManager.fetchDebridDownload(magnet: magnet) // Bump to batch @@ -67,15 +67,15 @@ struct CloudTorrentView: View { } } label: { VStack(alignment: .leading, spacing: 10) { - Text(cloudTorrent.fileName) + Text(cloudMagnet.fileName) .font(.callout) .fixedSize(horizontal: false, vertical: true) .lineLimit(4) HStack { - Text(cloudTorrent.status.capitalizingFirstLetter()) + Text(cloudMagnet.status.capitalizingFirstLetter()) Spacer() - DebridLabelView(debridSource: debridSource, cloudLinks: cloudTorrent.links) + DebridLabelView(debridSource: debridSource, cloudLinks: cloudMagnet.links) } .font(.caption) } @@ -85,9 +85,9 @@ struct CloudTorrentView: View { } .onDelete { offsets in for index in offsets { - if let cloudTorrent = debridSource.cloudTorrents[safe: index] { + if let cloudMagnet = debridSource.cloudMagnets[safe: index] { Task { - await debridManager.deleteCloudTorrent(cloudTorrent) + await debridManager.deleteUserMagnet(cloudMagnet) } } } diff --git a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift index 9a612a8..63a5932 100644 --- a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift @@ -20,8 +20,8 @@ struct DebridCloudView: View { CloudDownloadView(debridSource: debridSource, searchText: $searchText) } - if !debridSource.cloudTorrents.isEmpty { - CloudTorrentView(debridSource: debridSource, searchText: $searchText) + if !debridSource.cloudMagnets.isEmpty { + CloudMagnetView(debridSource: debridSource, searchText: $searchText) } } .listStyle(.plain) diff --git a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift index 5e41b5a..d523bee 100644 --- a/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift +++ b/Ferrite/Views/ComponentViews/SearchResult/SearchResultButtonView.swift @@ -125,7 +125,7 @@ struct SearchResultButtonView: View { .alert("Caching file", isPresented: $debridManager.showDeleteAlert) { Button("Yes", role: .destructive) { Task { - try? await debridManager.selectedDebridSource?.deleteTorrent(torrentId: nil) + try? await debridManager.selectedDebridSource?.deleteUserMagnet(cloudMagnetId: nil) } } Button("Cancel", role: .cancel) {} -- 2.45.2 From 489da8e82e3e10739690ad3980ca0e125db00f69 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 16 Jun 2024 15:47:07 -0500 Subject: [PATCH 56/59] Debrid: Clarify struct properties Doesn't make sense to use more descriptive IDs when the struct describes what the model is already. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 14 ++++++-------- Ferrite/API/OffCloudWrapper.swift | 13 +++++-------- Ferrite/API/PremiumizeWrapper.swift | 5 ++--- Ferrite/API/RealDebridWrapper.swift | 18 ++++++++---------- Ferrite/API/TorBoxWrapper.swift | 12 +++++------- Ferrite/Models/DebridModels.swift | 13 +++++-------- Ferrite/ViewModels/DebridManager.swift | 6 +++--- 7 files changed, 34 insertions(+), 47 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 7f5f3b9..93e23e4 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -197,12 +197,11 @@ class AllDebrid: PollingDebridSource, ObservableObject { let availableHashes = filteredMagnets.map { magnetResp in // Force unwrap is OK here since the filter caught any nil values let files = magnetResp.files!.enumerated().map { index, magnetFile in - DebridIAFile(fileId: index, name: magnetFile.name) + DebridIAFile(id: index, name: magnetFile.name) } return DebridIA( magnet: Magnet(hash: magnetResp.hash, link: magnetResp.magnet), - source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -218,7 +217,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { let selectedMagnetId: String if let existingMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { - selectedMagnetId = existingMagnet.cloudMagnetId + selectedMagnetId = existingMagnet.id } else { let magnetId = try await addMagnet(magnet: magnet) selectedMagnetId = String(magnetId) @@ -226,7 +225,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { let lockedLink = try await fetchMagnetStatus( magnetId: selectedMagnetId, - selectedIndex: iaFile?.fileId ?? 0 + selectedIndex: iaFile?.id ?? 0 ) return (lockedLink, nil) @@ -270,7 +269,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { // Better to fetch no link at all than the wrong link if let cloudMagnetFile = rawResponse.magnets[safe: 0]?.links[safe: selectedIndex ?? -1] { - return DebridIAFile(fileId: 0, name: cloudMagnetFile.filename, streamUrlString: cloudMagnetFile.link) + return DebridIAFile(id: 0, name: cloudMagnetFile.filename, streamUrlString: cloudMagnetFile.link) } else { throw DebridError.EmptyUserMagnets } @@ -308,8 +307,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { cloudMagnets = rawResponse.magnets.map { magnetResponse in DebridCloudMagnet( - cloudMagnetId: String(magnetResponse.id), - source: self.id, + id: String(magnetResponse.id), fileName: magnetResponse.filename, status: magnetResponse.status == "Ready" ? "downloaded" : magnetResponse.status, hash: magnetResponse.hash, @@ -340,7 +338,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { // The link is also the ID cloudDownloads = rawResponse.links.map { link in DebridCloudDownload( - downloadId: link.link, source: self.id, fileName: link.filename, link: link.link + id: link.link, fileName: link.filename, link: link.link ) } } diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift index 45d4b93..e2109a2 100644 --- a/Ferrite/API/OffCloudWrapper.swift +++ b/Ferrite/API/OffCloudWrapper.swift @@ -123,7 +123,6 @@ class OffCloud: DebridSource, ObservableObject { let availableHashes = rawResponse.cachedItems.map { DebridIA( magnet: Magnet(hash: $0, link: nil), - source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: [] ) @@ -147,8 +146,7 @@ class OffCloud: DebridSource, ObservableObject { } selectedMagnet = DebridCloudMagnet( - cloudMagnetId: cloudDownloadResponse.requestId, - source: id, + id: cloudDownloadResponse.requestId, fileName: cloudDownloadResponse.fileName, status: cloudDownloadResponse.status, hash: "", @@ -156,7 +154,7 @@ class OffCloud: DebridSource, ObservableObject { ) } - let cloudExploreLinks = try await cloudExplore(requestId: selectedMagnet.cloudMagnetId) + let cloudExploreLinks = try await cloudExplore(requestId: selectedMagnet.id) if cloudExploreLinks.count > 1 { var copiedIA = ia @@ -167,7 +165,7 @@ class OffCloud: DebridSource, ObservableObject { } return DebridIAFile( - fileId: index, + id: index, name: exploreURL.lastPathComponent, streamUrlString: exploreLink.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed) ) @@ -176,7 +174,7 @@ class OffCloud: DebridSource, ObservableObject { return (nil, copiedIA) } else if let exploreLink = cloudExploreLinks.first { let restrictedFile = DebridIAFile( - fileId: 0, + id: 0, name: selectedMagnet.fileName, streamUrlString: exploreLink ) @@ -243,8 +241,7 @@ class OffCloud: DebridSource, ObservableObject { } return DebridCloudMagnet( - cloudMagnetId: cloudHistory.requestId, - source: self.id, + id: cloudHistory.requestId, fileName: cloudHistory.fileName, status: cloudHistory.status, hash: magnetHash, diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index cb6eff1..d1d5255 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -211,7 +211,7 @@ class Premiumize: OAuthDebridSource, ObservableObject { if !content.isEmpty { let files = content.map { file in DebridIAFile( - fileId: 0, + id: 0, name: file.path.split(separator: "/").last.flatMap { String($0) } ?? file.path, streamUrlString: file.link ) @@ -219,7 +219,6 @@ class Premiumize: OAuthDebridSource, ObservableObject { return DebridIA( magnet: magnet, - source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -331,7 +330,7 @@ class Premiumize: OAuthDebridSource, ObservableObject { // The "link" is the ID for Premiumize cloudDownloads = rawResponse.files.map { file in - DebridCloudDownload(downloadId: file.id, source: self.id, fileName: file.name, link: file.id) + DebridCloudDownload(id: file.id, fileName: file.name, link: file.id) } } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 9eb3195..773ff87 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -288,10 +288,10 @@ class RealDebrid: PollingDebridSource, ObservableObject { let batchFileIds = batch.files.map(\.id) for batchFile in batch.files { - if !files.contains(where: { $0.fileId == batchFile.id }) { + if !files.contains(where: { $0.id == batchFile.id }) { files.append( DebridIAFile( - fileId: batchFile.id, + id: batchFile.id, name: batchFile.fileName, batchIds: batchFileIds ) @@ -304,7 +304,6 @@ class RealDebrid: PollingDebridSource, ObservableObject { IAValues.append( DebridIA( magnet: Magnet(hash: hash, link: nil), - source: id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: files ) @@ -321,7 +320,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { do { // Don't queue a new job if the magnet already exists in the user's library if let existingCloudMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { - selectedMagnetId = existingCloudMagnet.cloudMagnetId + selectedMagnetId = existingCloudMagnet.id } else { selectedMagnetId = try await addMagnet(magnet: magnet) @@ -331,7 +330,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { // RealDebrid has 1 as the first ID for a file let restrictedFile = try await torrentInfo( debridID: selectedMagnetId, - selectedFileId: iaFile?.fileId ?? 1 + selectedFileId: iaFile?.id ?? 1 ) return (restrictedFile, nil) @@ -398,7 +397,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { // Let the user know if a magnet is downloading if let cloudMagnetLink = rawResponse.links[safe: linkIndex ?? -1], rawResponse.status == "downloaded" { return DebridIAFile( - fileId: 0, + id: 0, name: rawResponse.filename, streamUrlString: cloudMagnetLink ) @@ -436,8 +435,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { let rawResponse = try jsonDecoder.decode([UserTorrentsResponse].self, from: data) cloudMagnets = rawResponse.map { response in DebridCloudMagnet( - cloudMagnetId: response.id, - source: self.id, + id: response.id, fileName: response.filename, status: response.status, hash: response.hash, @@ -460,7 +458,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { throw DebridError.EmptyUserMagnets } - deleteId = firstCloudMagnet.cloudMagnetId + deleteId = firstCloudMagnet.id } var request = URLRequest(url: URL(string: "\(baseApiUrl)/torrents/delete/\(deleteId)")!) @@ -476,7 +474,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { let data = try await performRequest(request: &request, requestName: #function) let rawResponse = try jsonDecoder.decode([UserDownloadsResponse].self, from: data) cloudDownloads = rawResponse.map { response in - DebridCloudDownload(downloadId: response.id, source: self.id, fileName: response.filename, link: response.download) + DebridCloudDownload(id: response.id, fileName: response.filename, link: response.download) } } diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index e17a662..e4f34bd 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -121,7 +121,6 @@ class TorBox: DebridSource, ObservableObject { let availableHashes = iaObjects.map { iaObject in DebridIA( magnet: Magnet(hash: iaObject.hash, link: nil), - source: self.id, expiryTimeStamp: Date().timeIntervalSince1970 + 300, files: iaObject.files.enumerated().compactMap { index, iaFile in guard let fileName = iaFile.name.split(separator: "/").last else { @@ -129,7 +128,7 @@ class TorBox: DebridSource, ObservableObject { } return DebridIAFile( - fileId: index, + id: index, name: String(fileName) ) } @@ -153,11 +152,11 @@ class TorBox: DebridSource, ObservableObject { throw DebridError.IsCaching } - guard let cloudMagnetFile = filteredCloudMagnet.files[safe: iaFile?.fileId ?? 0] else { + guard let cloudMagnetFile = filteredCloudMagnet.files[safe: iaFile?.id ?? 0] else { throw DebridError.EmptyUserMagnets } - let restrictedFile = DebridIAFile(fileId: cloudMagnetFile.id, name: cloudMagnetFile.name, streamUrlString: String(cloudMagnetId)) + let restrictedFile = DebridIAFile(id: cloudMagnetFile.id, name: cloudMagnetFile.name, streamUrlString: String(cloudMagnetId)) return (restrictedFile, nil) } @@ -201,7 +200,7 @@ class TorBox: DebridSource, ObservableObject { components.queryItems = [ URLQueryItem(name: "token", value: getToken()), URLQueryItem(name: "torrent_id", value: restrictedFile.streamUrlString), - URLQueryItem(name: "file_id", value: String(restrictedFile.fileId)) + URLQueryItem(name: "file_id", value: String(restrictedFile.id)) ] guard let url = components.url else { @@ -237,8 +236,7 @@ class TorBox: DebridSource, ObservableObject { // Only need one link to force a green badge DebridCloudMagnet( - cloudMagnetId: String(cloudMagnet.id), - source: self.id, + id: String(cloudMagnet.id), fileName: cloudMagnet.name, status: cloudMagnet.downloadState == "cached" || cloudMagnet.downloadState == "completed" ? "downloaded" : cloudMagnet.downloadState, hash: cloudMagnet.hash, diff --git a/Ferrite/Models/DebridModels.swift b/Ferrite/Models/DebridModels.swift index 7ce96ca..d613b7e 100644 --- a/Ferrite/Models/DebridModels.swift +++ b/Ferrite/Models/DebridModels.swift @@ -9,19 +9,18 @@ import Foundation struct DebridIA: Hashable, Sendable { let magnet: Magnet - let source: String let expiryTimeStamp: Double var files: [DebridIAFile] } struct DebridIAFile: Hashable, Sendable { - let fileId: Int + let id: Int let name: String let streamUrlString: String? let batchIds: [Int] - init(fileId: Int, name: String, streamUrlString: String? = nil, batchIds: [Int] = []) { - self.fileId = fileId + init(id: Int, name: String, streamUrlString: String? = nil, batchIds: [Int] = []) { + self.id = id self.name = name self.streamUrlString = streamUrlString self.batchIds = batchIds @@ -29,15 +28,13 @@ struct DebridIAFile: Hashable, Sendable { } struct DebridCloudDownload: Hashable, Sendable { - let downloadId: String - let source: String + let id: String let fileName: String let link: String } struct DebridCloudMagnet: Hashable, Sendable { - let cloudMagnetId: String - let source: String + let id: String let fileName: String let status: String let hash: String diff --git a/Ferrite/ViewModels/DebridManager.swift b/Ferrite/ViewModels/DebridManager.swift index c388f17..654110c 100644 --- a/Ferrite/ViewModels/DebridManager.swift +++ b/Ferrite/ViewModels/DebridManager.swift @@ -51,7 +51,7 @@ class DebridManager: ObservableObject { init() { // Update the UI for debrid services that are enabled - enabledDebrids = debridSources.filter { $0.isLoggedIn } + enabledDebrids = debridSources.filter(\.isLoggedIn) // Set the preferred service. Contains migration logic for earlier versions if let rawPreferredService = UserDefaults.standard.string(forKey: "Debrid.PreferredService") { @@ -436,7 +436,7 @@ class DebridManager: ObservableObject { } do { - try await selectedSource.deleteUserDownload(downloadId: download.downloadId) + try await selectedSource.deleteUserDownload(downloadId: download.id) await fetchDebridCloud(bypassTTL: true) } catch { @@ -462,7 +462,7 @@ class DebridManager: ObservableObject { } do { - try await selectedSource.deleteUserMagnet(cloudMagnetId: cloudMagnet.cloudMagnetId) + try await selectedSource.deleteUserMagnet(cloudMagnetId: cloudMagnet.id) await fetchDebridCloud(bypassTTL: true) } catch { -- 2.45.2 From 78f2aff25b5a77504be1afa67db97137281a3776 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 16 Jun 2024 21:12:26 -0500 Subject: [PATCH 57/59] Debrid: Fix OffCloud single files and cloud population Populate cloud lists when the app is launched to begin maintainence of a synced list. In addition, fix the errors when OffCloud tried fetching links for a single file. The explore endpoint only works when the file is a batch which is unknown until it's actually called. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 8 ++++ Ferrite/API/OffCloudWrapper.swift | 32 ++++++++++----- Ferrite/API/PremiumizeWrapper.swift | 7 ++++ Ferrite/API/RealDebridWrapper.swift | 8 ++++ Ferrite/API/TorBoxWrapper.swift | 7 ++++ Ferrite/Models/DebridManagerModels.swift | 50 ++++++++++++++++-------- Ferrite/Models/OffCloudModels.swift | 31 ++++++++++++++- 7 files changed, 117 insertions(+), 26 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 93e23e4..0be8254 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -36,6 +36,14 @@ class AllDebrid: PollingDebridSource, ObservableObject { private let jsonDecoder = JSONDecoder() + init() { + // Populate user downloads and magnets + Task { + try? await getUserDownloads() + try? await getUserMagnets() + } + } + // MARK: - Auth // Fetches information for PIN auth diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift index e2109a2..c1fabfc 100644 --- a/Ferrite/API/OffCloudWrapper.swift +++ b/Ferrite/API/OffCloudWrapper.swift @@ -37,6 +37,13 @@ class OffCloud: DebridSource, ObservableObject { private let jsonDecoder = JSONDecoder() private let jsonEncoder = JSONEncoder() + init() { + // Populate user downloads and magnets + Task { + try? await getUserMagnets() + } + } + func setApiKey(_ key: String) { FerriteKeychain.shared.set(key, forKey: "OffCloud.ApiKey") UserDefaults.standard.set(true, forKey: "OffCloud.UseManualKey") @@ -133,11 +140,11 @@ class OffCloud: DebridSource, ObservableObject { // Cloud in OffCloud's API func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { - let selectedMagnet: DebridCloudMagnet + let selectedCloudMagnet: DebridCloudMagnet // Don't queue a new job if the magnet already exists in the user's account if let existingCloudMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { - selectedMagnet = existingCloudMagnet + selectedCloudMagnet = existingCloudMagnet } else { let cloudDownloadResponse = try await offcloudDownload(magnet: magnet) @@ -145,18 +152,19 @@ class OffCloud: DebridSource, ObservableObject { throw DebridError.IsCaching } - selectedMagnet = DebridCloudMagnet( + selectedCloudMagnet = DebridCloudMagnet( id: cloudDownloadResponse.requestId, fileName: cloudDownloadResponse.fileName, status: cloudDownloadResponse.status, hash: "", - links: [] + links: [cloudDownloadResponse.url] ) } - let cloudExploreLinks = try await cloudExplore(requestId: selectedMagnet.id) + let cloudExploreResponse = try await cloudExplore(requestId: selectedCloudMagnet.id) - if cloudExploreLinks.count > 1 { + // Request will error if the file isn't a batch + if case let .links(cloudExploreLinks) = cloudExploreResponse { var copiedIA = ia copiedIA?.files = cloudExploreLinks.enumerated().compactMap { index, exploreLink in @@ -172,11 +180,17 @@ class OffCloud: DebridSource, ObservableObject { } return (nil, copiedIA) - } else if let exploreLink = cloudExploreLinks.first { + } else if case let .error(cloudExploreError) = cloudExploreResponse, + cloudExploreError.error.lowercased() == "bad archive" + { + guard let selectedCloudLink = selectedCloudMagnet.links[safe: 0] else { + throw DebridError.EmptyUserMagnets + } + let restrictedFile = DebridIAFile( id: 0, - name: selectedMagnet.fileName, - streamUrlString: exploreLink + name: selectedCloudMagnet.fileName, + streamUrlString: "\(selectedCloudLink)/\(selectedCloudMagnet.fileName)" ) return (restrictedFile, nil) diff --git a/Ferrite/API/PremiumizeWrapper.swift b/Ferrite/API/PremiumizeWrapper.swift index d1d5255..c83ee0c 100644 --- a/Ferrite/API/PremiumizeWrapper.swift +++ b/Ferrite/API/PremiumizeWrapper.swift @@ -38,6 +38,13 @@ class Premiumize: OAuthDebridSource, ObservableObject { private let jsonDecoder = JSONDecoder() + init() { + // Populate user downloads and magnets + Task { + try? await getUserDownloads() + } + } + // MARK: - Auth func getAuthUrl() throws -> URL { diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index 773ff87..c64cbf1 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -49,6 +49,14 @@ class RealDebrid: PollingDebridSource, ObservableObject { UserDefaults.standard.removeObject(forKey: forKey) } + init() { + // Populate user downloads and magnets + Task { + try? await getUserDownloads() + try? await getUserMagnets() + } + } + // MARK: - Auth // Fetches the device code from RD diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index e4f34bd..c51e6ba 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -36,6 +36,13 @@ class TorBox: DebridSource, ObservableObject { private let jsonDecoder = JSONDecoder() private let jsonEncoder = JSONEncoder() + init() { + // Populate user downloads and magnets + Task { + try? await getUserMagnets() + } + } + // MARK: - Auth func setApiKey(_ key: String) { diff --git a/Ferrite/Models/DebridManagerModels.swift b/Ferrite/Models/DebridManagerModels.swift index ad4cff6..56ea691 100644 --- a/Ferrite/Models/DebridManagerModels.swift +++ b/Ferrite/Models/DebridManagerModels.swift @@ -55,12 +55,14 @@ struct Magnet: Codable, Hashable, Sendable { if let hash, link == nil { self.hash = parseHash(hash) self.link = generateLink(hash: hash, title: title, trackers: trackers) - } else if let parsedLink = parseLink(link), hash == nil { - self.link = parsedLink - self.hash = parseHash(extractHash(link: parsedLink)) + } else if let link, hash == nil { + let (link, hash) = parseLink(link) + + self.link = link + self.hash = hash } else { self.hash = parseHash(hash) - self.link = parseLink(link) + self.link = parseLink(link).link } } @@ -108,19 +110,35 @@ struct Magnet: Codable, Hashable, Sendable { } } - func parseLink(_ link: String?) -> String? { - if let decodedLink = link?.removingPercentEncoding { - let separator = "magnet:?xt=urn:btih:" - if decodedLink.starts(with: separator) { - return decodedLink - } else if decodedLink.contains(separator) { - let splitLink = decodedLink.components(separatedBy: separator) - return splitLink.last.map { separator + $0 } ?? nil - } else { - return nil - } + func parseLink(_ link: String?, withHash: Bool = false) -> (link: String?, hash: String?) { + let separator = "magnet:?xt=urn:btih:" + + // Remove percent encoding from the link and ensure it's a magnet + guard let decodedLink = link?.removingPercentEncoding, decodedLink.contains(separator) else { + return (nil, nil) + } + + // Isolate the magnet link if it's bundled with another protocol + let isolatedLink: String? + if decodedLink.starts(with: separator) { + isolatedLink = decodedLink } else { - return nil + let splitLink = decodedLink.components(separatedBy: separator) + isolatedLink = splitLink.last.map { separator + $0 } + } + + guard let isolatedLink else { + return (nil, nil) + } + + // If the hash can be extracted, decrypt it if necessary and return the revised link + hash + if let originalHash = extractHash(link: isolatedLink), + let parsedHash = parseHash(originalHash) + { + let replacedLink = isolatedLink.replacingOccurrences(of: originalHash, with: parsedHash) + return (replacedLink, parsedHash) + } else { + return (decodedLink, nil) } } } diff --git a/Ferrite/Models/OffCloudModels.swift b/Ferrite/Models/OffCloudModels.swift index 0485563..3781fe9 100644 --- a/Ferrite/Models/OffCloudModels.swift +++ b/Ferrite/Models/OffCloudModels.swift @@ -8,6 +8,10 @@ import Foundation extension OffCloud { + struct ErrorResponse: Codable, Sendable { + let error: String + } + struct InstantAvailabilityRequest: Codable, Sendable { let hashes: [String] } @@ -28,7 +32,32 @@ extension OffCloud { let url: String } - typealias CloudExploreResponse = [String] + enum CloudExploreResponse: Codable { + case links([String]) + case error(ErrorResponse) + + init(from decoder: Decoder) throws { + let container = try decoder.singleValueContainer() + + // Only continue if the data is a List which indicates a success + if let linkArray = try? container.decode([String].self) { + self = .links(linkArray) + } else { + let value = try container.decode(ErrorResponse.self) + self = .error(value) + } + } + + func encode(to encoder: Encoder) throws { + var container = encoder.singleValueContainer() + switch self { + case let .links(array): + try container.encode(array) + case let .error(value): + try container.encode(value) + } + } + } struct CloudHistoryResponse: Codable, Sendable { let requestId: String -- 2.45.2 From 70b628b6088536fb4aa2c262a2d1deb3df8483e6 Mon Sep 17 00:00:00 2001 From: kingbri Date: Sun, 16 Jun 2024 21:23:22 -0500 Subject: [PATCH 58/59] Debrid: Use universal cached IDs Different services can send different statuses for if a file is cached or not. Therefore, make this scoped to the debrid service rather than expecting everything to state "downloaded". Also it feels pretty blank if the disclosure groups are gone when a cloud array is empty, so remove those checks. Signed-off-by: kingbri --- Ferrite/API/AllDebridWrapper.swift | 5 +++-- Ferrite/API/OffCloudWrapper.swift | 5 +++-- Ferrite/API/RealDebridWrapper.swift | 1 + Ferrite/API/TorBoxWrapper.swift | 5 +++-- Ferrite/Protocols/Debrid.swift | 5 +++++ .../ComponentViews/Library/Cloud/CloudMagnetView.swift | 2 +- .../Views/ComponentViews/Library/DebridCloudView.swift | 9 ++------- 7 files changed, 18 insertions(+), 14 deletions(-) diff --git a/Ferrite/API/AllDebridWrapper.swift b/Ferrite/API/AllDebridWrapper.swift index 0be8254..30fcb31 100644 --- a/Ferrite/API/AllDebridWrapper.swift +++ b/Ferrite/API/AllDebridWrapper.swift @@ -11,6 +11,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { let id = "AllDebrid" let abbreviation = "AD" let website = "https://alldebrid.com" + let cachedStatus: [String] = ["Ready"] var authTask: Task? @Published var authProcessing: Bool = false @@ -224,7 +225,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { func getRestrictedFile(magnet: Magnet, ia: DebridIA?, iaFile: DebridIAFile?) async throws -> (restrictedFile: DebridIAFile?, newIA: DebridIA?) { let selectedMagnetId: String - if let existingMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "Ready" }) { + if let existingMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && cachedStatus.contains($0.status) }) { selectedMagnetId = existingMagnet.id } else { let magnetId = try await addMagnet(magnet: magnet) @@ -317,7 +318,7 @@ class AllDebrid: PollingDebridSource, ObservableObject { DebridCloudMagnet( id: String(magnetResponse.id), fileName: magnetResponse.filename, - status: magnetResponse.status == "Ready" ? "downloaded" : magnetResponse.status, + status: magnetResponse.status, hash: magnetResponse.hash, links: magnetResponse.links.map(\.link) ) diff --git a/Ferrite/API/OffCloudWrapper.swift b/Ferrite/API/OffCloudWrapper.swift index c1fabfc..9311a47 100644 --- a/Ferrite/API/OffCloudWrapper.swift +++ b/Ferrite/API/OffCloudWrapper.swift @@ -14,6 +14,7 @@ class OffCloud: DebridSource, ObservableObject { let description: String? = "OffCloud is a debrid service that is used for downloads and media playback. " + "You must pay to access this service. \n\n" + "This service does not inform if a magnet link is a batch before downloading." + let cachedStatus: [String] = ["downloaded"] @Published var authProcessing: Bool = false var isLoggedIn: Bool { @@ -143,12 +144,12 @@ class OffCloud: DebridSource, ObservableObject { let selectedCloudMagnet: DebridCloudMagnet // Don't queue a new job if the magnet already exists in the user's account - if let existingCloudMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && $0.status == "downloaded" }) { + if let existingCloudMagnet = cloudMagnets.first(where: { $0.hash == magnet.hash && cachedStatus.contains($0.status) }) { selectedCloudMagnet = existingCloudMagnet } else { let cloudDownloadResponse = try await offcloudDownload(magnet: magnet) - guard cloudDownloadResponse.status == "downloaded" else { + guard cachedStatus.contains(cloudDownloadResponse.status) else { throw DebridError.IsCaching } diff --git a/Ferrite/API/RealDebridWrapper.swift b/Ferrite/API/RealDebridWrapper.swift index c64cbf1..b1445f4 100644 --- a/Ferrite/API/RealDebridWrapper.swift +++ b/Ferrite/API/RealDebridWrapper.swift @@ -11,6 +11,7 @@ class RealDebrid: PollingDebridSource, ObservableObject { let id = "RealDebrid" let abbreviation = "RD" let website = "https://real-debrid.com" + let cachedStatus: [String] = ["downloaded"] var authTask: Task? @Published var authProcessing: Bool = false diff --git a/Ferrite/API/TorBoxWrapper.swift b/Ferrite/API/TorBoxWrapper.swift index c51e6ba..3894969 100644 --- a/Ferrite/API/TorBoxWrapper.swift +++ b/Ferrite/API/TorBoxWrapper.swift @@ -13,6 +13,7 @@ class TorBox: DebridSource, ObservableObject { let website = "https://torbox.app" let description: String? = "TorBox is a debrid service that is used for downloads and media playback with seeding. " + "Both free and paid plans are available." + let cachedStatus: [String] = ["cached", "completed"] @Published var authProcessing: Bool = false var isLoggedIn: Bool { @@ -155,7 +156,7 @@ class TorBox: DebridSource, ObservableObject { } // If the user magnet isn't saved, it's considered as caching - guard filteredCloudMagnet.downloadState == "cached" || filteredCloudMagnet.downloadState == "completed" else { + guard cachedStatus.contains(filteredCloudMagnet.downloadState) else { throw DebridError.IsCaching } @@ -245,7 +246,7 @@ class TorBox: DebridSource, ObservableObject { DebridCloudMagnet( id: String(cloudMagnet.id), fileName: cloudMagnet.name, - status: cloudMagnet.downloadState == "cached" || cloudMagnet.downloadState == "completed" ? "downloaded" : cloudMagnet.downloadState, + status: cloudMagnet.downloadState, hash: cloudMagnet.hash, links: cloudMagnet.files.map { String($0.id) } ) diff --git a/Ferrite/Protocols/Debrid.swift b/Ferrite/Protocols/Debrid.swift index d7ecbff..c325bb8 100644 --- a/Ferrite/Protocols/Debrid.swift +++ b/Ferrite/Protocols/Debrid.swift @@ -14,6 +14,7 @@ protocol DebridSource: AnyObservableObject { var abbreviation: String { get } var website: String { get } var description: String? { get } + var cachedStatus: [String] { get } // Auth variables var authProcessing: Bool { get set } @@ -59,6 +60,10 @@ extension DebridSource { var description: String? { nil } + + var cachedStatus: [String] { + [] + } } protocol PollingDebridSource: DebridSource { diff --git a/Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift b/Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift index 8da3066..870f63a 100644 --- a/Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift +++ b/Ferrite/Views/ComponentViews/Library/Cloud/CloudMagnetView.swift @@ -22,7 +22,7 @@ struct CloudMagnetView: View { searchText.isEmpty ? true : $0.fileName.lowercased().contains(searchText.lowercased()) }, id: \.self) { cloudMagnet in Button { - if cloudMagnet.status == "downloaded", !cloudMagnet.links.isEmpty { + if debridSource.cachedStatus.contains(cloudMagnet.status), !cloudMagnet.links.isEmpty { navModel.resultFromCloud = true navModel.selectedTitle = cloudMagnet.fileName diff --git a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift index 63a5932..412a829 100644 --- a/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift +++ b/Ferrite/Views/ComponentViews/Library/DebridCloudView.swift @@ -16,13 +16,8 @@ struct DebridCloudView: View { var body: some View { List { - if !debridSource.cloudDownloads.isEmpty { - CloudDownloadView(debridSource: debridSource, searchText: $searchText) - } - - if !debridSource.cloudMagnets.isEmpty { - CloudMagnetView(debridSource: debridSource, searchText: $searchText) - } + CloudDownloadView(debridSource: debridSource, searchText: $searchText) + CloudMagnetView(debridSource: debridSource, searchText: $searchText) } .listStyle(.plain) .task { -- 2.45.2 From dbf12c0a7960553d19dc72eb6be43e5af36f8c9a Mon Sep 17 00:00:00 2001 From: kingbri Date: Mon, 17 Jun 2024 11:58:29 -0500 Subject: [PATCH 59/59] Ferrite: Bump version v0.7.1 Signed-off-by: kingbri --- Ferrite.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Ferrite.xcodeproj/project.pbxproj b/Ferrite.xcodeproj/project.pbxproj index d13f4ba..3e9d788 100644 --- a/Ferrite.xcodeproj/project.pbxproj +++ b/Ferrite.xcodeproj/project.pbxproj @@ -1122,7 +1122,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 18; DEVELOPMENT_ASSET_PATHS = "\"Ferrite/Preview Content\""; DEVELOPMENT_TEAM = 8A74DBQ6S3; ENABLE_PREVIEWS = YES; @@ -1142,7 +1142,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.7.0; + MARKETING_VERSION = 0.7.1; PRODUCT_BUNDLE_IDENTIFIER = me.kingbri.Ferrite; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1158,7 +1158,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 17; + CURRENT_PROJECT_VERSION = 18; DEVELOPMENT_ASSET_PATHS = "\"Ferrite/Preview Content\""; DEVELOPMENT_TEAM = 8A74DBQ6S3; ENABLE_PREVIEWS = YES; @@ -1178,7 +1178,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 0.7.0; + MARKETING_VERSION = 0.7.1; PRODUCT_BUNDLE_IDENTIFIER = me.kingbri.Ferrite; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; -- 2.45.2

5nOSJMsdHBMB;t4JlvjAUi8^L3icHg}6(0+T$a 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