Use FeedlyUtilities in FeedlyAccountDelegate.

This commit is contained in:
Brent Simmons 2024-05-17 22:39:51 -07:00
parent d024e6049d
commit a579126e92
2 changed files with 6 additions and 34 deletions

View File

@ -409,7 +409,7 @@ final class FeedlyAccountDelegate: AccountDelegate {
func updateAccountFeeds(parsedItems: Set<ParsedItem>) async throws {
let feedIDsAndItems = parsedItemsKeyedByFeedURL(parsedItems)
let feedIDsAndItems = FeedlyUtilities.parsedItemsKeyedByFeedURL(parsedItems)
try await updateAccountFeedsWithItems(feedIDsAndItems: feedIDsAndItems)
}
@ -451,26 +451,6 @@ final class FeedlyAccountDelegate: AccountDelegate {
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 {
let allArticleIDs: Set<String> = {

View File

@ -8,25 +8,17 @@
import Foundation
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>]()
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
var parsedItems = d[key] ?? Set<ParsedItem>()
parsedItems.insert(parsedItem)
d[key] = parsedItems
}
return d