diff --git a/Frameworks/Account/Account.xcodeproj/project.pbxproj b/Frameworks/Account/Account.xcodeproj/project.pbxproj index a9b840800..0003bb8a7 100644 --- a/Frameworks/Account/Account.xcodeproj/project.pbxproj +++ b/Frameworks/Account/Account.xcodeproj/project.pbxproj @@ -35,16 +35,12 @@ 51E490362288C37100C791F0 /* FeedbinDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E490352288C37100C791F0 /* FeedbinDate.swift */; }; 51E59599228C77BC00FCC42B /* FeedbinUnreadEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E59598228C77BC00FCC42B /* FeedbinUnreadEntry.swift */; }; 51E5959B228C781500FCC42B /* FeedbinStarredEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 51E5959A228C781500FCC42B /* FeedbinStarredEntry.swift */; }; - 552032F6229D5D5A009559E0 /* GoogleReaderCompatibleDate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032EB229D5D5A009559E0 /* GoogleReaderCompatibleDate.swift */; }; - 552032F7229D5D5A009559E0 /* GoogleReaderCompatibleIcon.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032EC229D5D5A009559E0 /* GoogleReaderCompatibleIcon.swift */; }; 552032F8229D5D5A009559E0 /* GoogleReaderCompatibleEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032ED229D5D5A009559E0 /* GoogleReaderCompatibleEntry.swift */; }; 552032F9229D5D5A009559E0 /* GoogleReaderCompatibleSubscription.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032EE229D5D5A009559E0 /* GoogleReaderCompatibleSubscription.swift */; }; - 552032FA229D5D5A009559E0 /* GoogleReaderCompatibleStarredEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032EF229D5D5A009559E0 /* GoogleReaderCompatibleStarredEntry.swift */; }; 552032FB229D5D5A009559E0 /* GoogleReaderCompatibleTag.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032F0229D5D5A009559E0 /* GoogleReaderCompatibleTag.swift */; }; 552032FC229D5D5A009559E0 /* GoogleReaderCompatibleUnreadEntry.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032F1229D5D5A009559E0 /* GoogleReaderCompatibleUnreadEntry.swift */; }; 552032FD229D5D5A009559E0 /* GoogleReaderCompatibleTagging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032F2229D5D5A009559E0 /* GoogleReaderCompatibleTagging.swift */; }; 552032FE229D5D5A009559E0 /* GoogleReaderCompatibleAccountDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032F3229D5D5A009559E0 /* GoogleReaderCompatibleAccountDelegate.swift */; }; - 552032FF229D5D5A009559E0 /* GoogleReaderCompatibleImportResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032F4229D5D5A009559E0 /* GoogleReaderCompatibleImportResult.swift */; }; 55203300229D5D5A009559E0 /* GoogleReaderCompatibleAPICaller.swift in Sources */ = {isa = PBXBuildFile; fileRef = 552032F5229D5D5A009559E0 /* GoogleReaderCompatibleAPICaller.swift */; }; 841973FE1F6DD1BC006346C4 /* RSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973EF1F6DD19E006346C4 /* RSCore.framework */; }; 841973FF1F6DD1C5006346C4 /* RSParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973FA1F6DD1AC006346C4 /* RSParser.framework */; }; @@ -147,16 +143,12 @@ 51E490352288C37100C791F0 /* FeedbinDate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbinDate.swift; sourceTree = ""; }; 51E59598228C77BC00FCC42B /* FeedbinUnreadEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbinUnreadEntry.swift; sourceTree = ""; }; 51E5959A228C781500FCC42B /* FeedbinStarredEntry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FeedbinStarredEntry.swift; sourceTree = ""; }; - 552032EB229D5D5A009559E0 /* GoogleReaderCompatibleDate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleDate.swift; sourceTree = ""; }; - 552032EC229D5D5A009559E0 /* GoogleReaderCompatibleIcon.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleIcon.swift; sourceTree = ""; }; 552032ED229D5D5A009559E0 /* GoogleReaderCompatibleEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleEntry.swift; sourceTree = ""; }; 552032EE229D5D5A009559E0 /* GoogleReaderCompatibleSubscription.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleSubscription.swift; sourceTree = ""; }; - 552032EF229D5D5A009559E0 /* GoogleReaderCompatibleStarredEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleStarredEntry.swift; sourceTree = ""; }; 552032F0229D5D5A009559E0 /* GoogleReaderCompatibleTag.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleTag.swift; sourceTree = ""; }; 552032F1229D5D5A009559E0 /* GoogleReaderCompatibleUnreadEntry.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleUnreadEntry.swift; sourceTree = ""; }; 552032F2229D5D5A009559E0 /* GoogleReaderCompatibleTagging.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleTagging.swift; sourceTree = ""; }; 552032F3229D5D5A009559E0 /* GoogleReaderCompatibleAccountDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleAccountDelegate.swift; sourceTree = ""; }; - 552032F4229D5D5A009559E0 /* GoogleReaderCompatibleImportResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleImportResult.swift; sourceTree = ""; }; 552032F5229D5D5A009559E0 /* GoogleReaderCompatibleAPICaller.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GoogleReaderCompatibleAPICaller.swift; sourceTree = ""; }; 841973E81F6DD19E006346C4 /* RSCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSCore.xcodeproj; path = ../RSCore/RSCore.xcodeproj; sourceTree = ""; }; 841973F41F6DD1AC006346C4 /* RSParser.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSParser.xcodeproj; path = ../RSParser/RSParser.xcodeproj; sourceTree = ""; }; @@ -247,16 +239,12 @@ 552032EA229D5D5A009559E0 /* GoogleReaderCompatible */ = { isa = PBXGroup; children = ( - 552032EB229D5D5A009559E0 /* GoogleReaderCompatibleDate.swift */, - 552032EC229D5D5A009559E0 /* GoogleReaderCompatibleIcon.swift */, 552032ED229D5D5A009559E0 /* GoogleReaderCompatibleEntry.swift */, 552032EE229D5D5A009559E0 /* GoogleReaderCompatibleSubscription.swift */, - 552032EF229D5D5A009559E0 /* GoogleReaderCompatibleStarredEntry.swift */, 552032F0229D5D5A009559E0 /* GoogleReaderCompatibleTag.swift */, 552032F1229D5D5A009559E0 /* GoogleReaderCompatibleUnreadEntry.swift */, 552032F2229D5D5A009559E0 /* GoogleReaderCompatibleTagging.swift */, 552032F3229D5D5A009559E0 /* GoogleReaderCompatibleAccountDelegate.swift */, - 552032F4229D5D5A009559E0 /* GoogleReaderCompatibleImportResult.swift */, 552032F5229D5D5A009559E0 /* GoogleReaderCompatibleAPICaller.swift */, ); path = GoogleReaderCompatible; @@ -566,7 +554,6 @@ 84F73CF1202788D90000BCEF /* ArticleFetcher.swift in Sources */, 841974251F6DDCE4006346C4 /* AccountDelegate.swift in Sources */, 5165D73122837F3400D9D53D /* InitialFeedDownloader.swift in Sources */, - 552032FA229D5D5A009559E0 /* GoogleReaderCompatibleStarredEntry.swift in Sources */, 846E77541F6F00E300A165E2 /* AccountManager.swift in Sources */, 51E490362288C37100C791F0 /* FeedbinDate.swift in Sources */, 5165D72922835F7A00D9D53D /* FeedSpecifier.swift in Sources */, @@ -576,7 +563,6 @@ 5144EA49227B497600D19003 /* FeedbinAPICaller.swift in Sources */, 84B99C9F1FAE8D3200ECDEDB /* ContainerPath.swift in Sources */, 5133231122810EB200C30F19 /* FeedbinIcon.swift in Sources */, - 552032F6229D5D5A009559E0 /* GoogleReaderCompatibleDate.swift in Sources */, 846E77501F6EF9C400A165E2 /* LocalAccountRefresher.swift in Sources */, 55203300229D5D5A009559E0 /* GoogleReaderCompatibleAPICaller.swift in Sources */, 51E3EB41229AF61B00645299 /* AccountError.swift in Sources */, @@ -584,8 +570,6 @@ 552032F8229D5D5A009559E0 /* GoogleReaderCompatibleEntry.swift in Sources */, 552032FB229D5D5A009559E0 /* GoogleReaderCompatibleTag.swift in Sources */, 5165D72822835F7800D9D53D /* FeedFinder.swift in Sources */, - 552032F7229D5D5A009559E0 /* GoogleReaderCompatibleIcon.swift in Sources */, - 552032FF229D5D5A009559E0 /* GoogleReaderCompatibleImportResult.swift in Sources */, 51D58755227F53BE00900287 /* FeedbinTag.swift in Sources */, 552032FE229D5D5A009559E0 /* GoogleReaderCompatibleAccountDelegate.swift in Sources */, 552032FC229D5D5A009559E0 /* GoogleReaderCompatibleUnreadEntry.swift in Sources */, diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAPICaller.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAPICaller.swift index 5025f315d..ec09e2976 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAPICaller.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAPICaller.swift @@ -2,14 +2,10 @@ // GoogleReaderCompatibleAPICaller.swift // Account // -// Created by Maurice Parker on 5/2/19. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2019 Ranchero Software, LLC. All rights reserved. // -// GoogleReaderCompatible currently has a maximum of 250 requests per second. If you begin to receive -// HTTP Response Codes of 403, you have exceeded this limit. Wait 5 minutes and your -// IP address will become unblocked and you can use the service again. - import Foundation import RSWeb @@ -35,6 +31,10 @@ final class GoogleReaderCompatibleAPICaller: NSObject { case starred = "user/-/state/com.google/starred" } + enum GoogleReaderStreams: String { + case readingList = "user/-/state/com.google/reading-list" + } + enum GoogleReaderEndpoints: String { case login = "/accounts/ClientLogin" case token = "/reader/api/0/token" @@ -677,8 +677,8 @@ final class GoogleReaderCompatibleAPICaller: NSObject { URLQueryItem(name: "o", value: String(sinceString)), URLQueryItem(name: "n", value: "10000"), URLQueryItem(name: "output", value: "json"), - URLQueryItem(name: "xt", value: "user/-/state/com.google/read"), - URLQueryItem(name: "s", value: "user/-/state/com.google/reading-list") + URLQueryItem(name: "xt", value: GoogleReaderState.read.rawValue), + URLQueryItem(name: "s", value: GoogleReaderStreams.readingList.rawValue) ] guard let callURL = components.url else { @@ -789,9 +789,9 @@ final class GoogleReaderCompatibleAPICaller: NSObject { } components.queryItems = [ - URLQueryItem(name: "s", value: "user/-/state/com.google/reading-list"), + URLQueryItem(name: "s", value: GoogleReaderStreams.readingList.rawValue), URLQueryItem(name: "n", value: "10000"), - URLQueryItem(name: "xt", value: "user/-/state/com.google/read"), + URLQueryItem(name: "xt", value: GoogleReaderState.read.rawValue), URLQueryItem(name: "output", value: "json") ] diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAccountDelegate.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAccountDelegate.swift index 3fa28faaf..1a4f666c7 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAccountDelegate.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleAccountDelegate.swift @@ -2,7 +2,7 @@ // GoogleReaderCompatibleAccountDelegate.swift // Account // -// Created by Maurice Parker on 5/2/19. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2019 Ranchero Software, LLC. All rights reserved. // diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleDate.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleDate.swift deleted file mode 100644 index c292eab35..000000000 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleDate.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// GoogleReaderCompatibleDate.swift -// Account -// -// Created by Maurice Parker on 5/12/19. -// Copyright © 2019 Ranchero Software, LLC. All rights reserved. -// - -import Foundation - -struct GoogleReaderCompatibleDate { - - public static var formatter: DateFormatter = { - let formatter = DateFormatter() - formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'" - formatter.locale = Locale(identifier: "en_US") - formatter.timeZone = TimeZone(abbreviation: "GMT") - return formatter - }() - -} diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleEntry.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleEntry.swift index 8757262ee..34bf05c95 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleEntry.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleEntry.swift @@ -2,7 +2,7 @@ // GoogleReaderCompatibleArticle.swift // Account // -// Created by Brent Simmons on 12/11/17. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2017 Ranchero Software, LLC. All rights reserved. // diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleIcon.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleIcon.swift deleted file mode 100644 index 69b2fc5d7..000000000 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleIcon.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// GoogleReaderCompatibleIcon.swift -// Account -// -// Created by Maurice Parker on 5/6/19. -// Copyright © 2019 Ranchero Software, LLC. All rights reserved. -// - -import Foundation - -struct GoogleReaderCompatibleIcon: Codable { - - let host: String - let url: String - - enum CodingKeys: String, CodingKey { - case host - case url - } - -} diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleImportResult.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleImportResult.swift deleted file mode 100644 index fbc6a45e9..000000000 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleImportResult.swift +++ /dev/null @@ -1,21 +0,0 @@ -// -// GoogleReaderCompatibleImportResult.swift -// Account -// -// Created by Maurice Parker on 5/17/19. -// Copyright © 2019 Ranchero Software, LLC. All rights reserved. -// - -import Foundation - -struct GoogleReaderCompatibleImportResult: Codable { - - let importResultID: Int - let complete: Bool - - enum CodingKeys: String, CodingKey { - case importResultID = "id" - case complete - } - -} diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleStarredEntry.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleStarredEntry.swift deleted file mode 100644 index 8036f7b63..000000000 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleStarredEntry.swift +++ /dev/null @@ -1,19 +0,0 @@ -// -// GoogleReaderCompatibleStarredEntry.swift -// Account -// -// Created by Maurice Parker on 5/15/19. -// Copyright © 2019 Ranchero Software, LLC. All rights reserved. -// - -import Foundation - -struct GoogleReaderCompatibleStarredEntry: Codable { - - let starredEntries: [Int] - - enum CodingKeys: String, CodingKey { - case starredEntries = "starred_entries" - } - -} diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleSubscription.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleSubscription.swift index 9736ef93d..6f5469225 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleSubscription.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleSubscription.swift @@ -2,7 +2,7 @@ // GoogleReaderCompatibleFeed.swift // Account // -// Created by Brent Simmons on 12/10/17. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2017 Ranchero Software, LLC. All rights reserved. // diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTag.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTag.swift index 16fd2695f..538fdab2f 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTag.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTag.swift @@ -2,7 +2,7 @@ // GoogleReaderCompatibleTag.swift // Account // -// Created by Maurice Parker on 5/5/19. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2019 Ranchero Software, LLC. All rights reserved. // @@ -27,25 +27,3 @@ struct GoogleReaderCompatibleTag: Codable { } } - -struct GoogleReaderCompatibleRenameTag: Codable { - - let oldName: String - let newName: String - - enum CodingKeys: String, CodingKey { - case oldName = "old_name" - case newName = "new_name" - } - -} - -struct GoogleReaderCompatibleDeleteTag: Codable { - - let name: String - - enum CodingKeys: String, CodingKey { - case name - } - -} diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTagging.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTagging.swift index b3a0f57aa..e35ee0e3b 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTagging.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleTagging.swift @@ -2,7 +2,7 @@ // GoogleReaderCompatibleTagging.swift // Account // -// Created by Brent Simmons on 10/14/18. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2018 Ranchero Software, LLC. All rights reserved. // diff --git a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleUnreadEntry.swift b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleUnreadEntry.swift index b08073bfc..c4e42f8c0 100644 --- a/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleUnreadEntry.swift +++ b/Frameworks/Account/GoogleReaderCompatible/GoogleReaderCompatibleUnreadEntry.swift @@ -2,7 +2,7 @@ // GoogleReaderCompatibleUnreadEntry.swift // Account // -// Created by Maurice Parker on 5/15/19. +// Created by Jeremy Beker on 5/28/19. // Copyright © 2019 Ranchero Software, LLC. All rights reserved. //