Use FeedlyUtilities in FeedlyAccountDelegate.
This commit is contained in:
parent
d024e6049d
commit
a579126e92
@ -409,7 +409,7 @@ final class FeedlyAccountDelegate: AccountDelegate {
|
|||||||
|
|
||||||
func updateAccountFeeds(parsedItems: Set<ParsedItem>) async throws {
|
func updateAccountFeeds(parsedItems: Set<ParsedItem>) async throws {
|
||||||
|
|
||||||
let feedIDsAndItems = parsedItemsKeyedByFeedURL(parsedItems)
|
let feedIDsAndItems = FeedlyUtilities.parsedItemsKeyedByFeedURL(parsedItems)
|
||||||
try await updateAccountFeedsWithItems(feedIDsAndItems: feedIDsAndItems)
|
try await updateAccountFeedsWithItems(feedIDsAndItems: feedIDsAndItems)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,26 +451,6 @@ final class FeedlyAccountDelegate: AccountDelegate {
|
|||||||
return feedsAndFolders
|
return feedsAndFolders
|
||||||
}
|
}
|
||||||
|
|
||||||
func parsedItemsKeyedByFeedURL(_ parsedItems: Set<ParsedItem>) -> [String: Set<ParsedItem>] {
|
|
||||||
|
|
||||||
var d = [String: Set<ParsedItem>]()
|
|
||||||
|
|
||||||
for parsedItem in parsedItems {
|
|
||||||
let key = parsedItem.feedURL
|
|
||||||
let value: Set<ParsedItem> = {
|
|
||||||
if var items = d[key] {
|
|
||||||
items.insert(parsedItem)
|
|
||||||
return items
|
|
||||||
} else {
|
|
||||||
return [parsedItem]
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
d[key] = value
|
|
||||||
}
|
|
||||||
|
|
||||||
return d
|
|
||||||
}
|
|
||||||
|
|
||||||
func downloadArticles(missingArticleIDs: Set<String>?, updatedArticleIDs: Set<String>?) async throws {
|
func downloadArticles(missingArticleIDs: Set<String>?, updatedArticleIDs: Set<String>?) async throws {
|
||||||
|
|
||||||
let allArticleIDs: Set<String> = {
|
let allArticleIDs: Set<String> = {
|
||||||
|
@ -8,25 +8,17 @@
|
|||||||
import Foundation
|
import Foundation
|
||||||
import Parser
|
import Parser
|
||||||
|
|
||||||
final class FeedlyUtilities {
|
public final class FeedlyUtilities {
|
||||||
|
|
||||||
static func parsedItemsKeyedByFeedURL(_ parsedItems: Set<ParsedItem>) -> [String: Set<ParsedItem>] {
|
public static func parsedItemsKeyedByFeedURL(_ parsedItems: Set<ParsedItem>) -> [String: Set<ParsedItem>] {
|
||||||
|
|
||||||
var d = [String: Set<ParsedItem>]()
|
var d = [String: Set<ParsedItem>]()
|
||||||
|
|
||||||
for parsedItem in parsedItems {
|
for parsedItem in parsedItems {
|
||||||
let key = parsedItem.feedURL
|
let key = parsedItem.feedURL
|
||||||
|
var parsedItems = d[key] ?? Set<ParsedItem>()
|
||||||
let value: Set<ParsedItem> = {
|
parsedItems.insert(parsedItem)
|
||||||
if var items = d[key] {
|
d[key] = parsedItems
|
||||||
items.insert(parsedItem)
|
|
||||||
return items
|
|
||||||
} else {
|
|
||||||
return [parsedItem]
|
|
||||||
}
|
|
||||||
}()
|
|
||||||
|
|
||||||
d[key] = value
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return d
|
return d
|
||||||
|
Loading…
x
Reference in New Issue
Block a user