Continue changing webFeed to feed.

This commit is contained in:
Brent Simmons
2023-07-05 08:42:56 -07:00
parent ecd6075bd2
commit 428cb73c34
48 changed files with 522 additions and 526 deletions

View File

@@ -81,7 +81,7 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
} else {
container = account
}
account.removeWebFeed(scriptableFeed.feed, from: container!) { result in
account.removeFeed(scriptableFeed.feed, from: container!) { result in
}
}
}
@@ -96,18 +96,18 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
@objc(webFeeds)
var webFeeds:NSArray {
return account.topLevelWebFeeds.map { ScriptableFeed($0, container:self) } as NSArray
return account.topLevelFeeds.map { ScriptableFeed($0, container:self) } as NSArray
}
@objc(valueInWebFeedsWithUniqueID:)
func valueInWebFeeds(withUniqueID id:String) -> ScriptableFeed? {
guard let feed = account.existingWebFeed(withWebFeedID: id) else { return nil }
guard let feed = account.existingFeed(withFeedID: id) else { return nil }
return ScriptableFeed(feed, container:self)
}
@objc(valueInWebFeedsWithName:)
func valueInWebFeeds(withName name:String) -> ScriptableFeed? {
let feeds = Array(account.flattenedWebFeeds())
let feeds = Array(account.flattenedFeeds())
guard let feed = feeds.first(where:{$0.name == name}) else { return nil }
return ScriptableFeed(feed, container:self)
}
@@ -133,13 +133,13 @@ class ScriptableAccount: NSObject, UniqueIdScriptingObject, ScriptingObjectConta
@objc(allWebFeeds)
var allWebFeeds: NSArray {
var webFeeds = [ScriptableFeed]()
for webFeed in account.topLevelWebFeeds {
for webFeed in account.topLevelFeeds {
webFeeds.append(ScriptableFeed(webFeed, container: self))
}
if let folders = account.folders {
for folder in folders {
let scriptableFolder = ScriptableFolder(folder, container: self)
for webFeed in folder.topLevelWebFeeds {
for webFeed in folder.topLevelFeeds {
webFeeds.append(ScriptableFeed(webFeed, container: scriptableFolder))
}
}

View File

@@ -89,7 +89,7 @@ extension AppDelegate : AppDelegateAppleEvents {
DispatchQueue.main.async {
self.addWebFeed(normalizedURLString)
self.addFeed(normalizedURLString)
}
}
}

View File

@@ -53,7 +53,7 @@ class ScriptableFolder: NSObject, UniqueIdScriptingObject, ScriptingObjectContai
func deleteElement(_ element:ScriptingObject) {
if let scriptableFeed = element as? ScriptableFeed {
BatchUpdate.shared.perform {
folder.account?.removeWebFeed(scriptableFeed.feed, from: folder) { result in }
folder.account?.removeFeed(scriptableFeed.feed, from: folder) { result in }
}
}
}
@@ -97,7 +97,7 @@ class ScriptableFolder: NSObject, UniqueIdScriptingObject, ScriptingObjectContai
@objc(webFeeds)
var webFeeds:NSArray {
let feeds = Array(folder.topLevelWebFeeds)
let feeds = Array(folder.topLevelFeeds)
return feeds.map { ScriptableFeed($0, container:self) } as NSArray
}

View File

@@ -77,7 +77,7 @@ extension NSApplication : ScriptingObjectContainer {
let accounts = AccountManager.shared.activeAccounts
let emptyFeeds:[WebFeed] = []
return accounts.reduce(emptyFeeds) { (result, nthAccount) -> [WebFeed] in
let accountFeeds = Array(nthAccount.topLevelWebFeeds)
let accountFeeds = Array(nthAccount.topLevelFeeds)
return result + accountFeeds
}
}

View File

@@ -88,7 +88,7 @@ class ScriptableFeed: NSObject, UniqueIdScriptingObject, ScriptingObjectContaine
let (account, folder) = command.accountAndFolderForNewChild()
guard let url = self.urlForNewFeed(arguments:arguments) else {return nil}
if let existingFeed = account.existingWebFeed(withURL:url) {
if let existingFeed = account.existingFeed(withURL:url) {
return scriptableFeed(existingFeed, account:account, folder:folder).objectSpecifier
}
@@ -102,7 +102,7 @@ class ScriptableFeed: NSObject, UniqueIdScriptingObject, ScriptingObjectContaine
// suspendExecution(). When we get the callback, we supply the event result and call resumeExecution().
command.suspendExecution()
account.createWebFeed(url: url, name: titleFromArgs, container: container, validateFeed: true) { result in
account.createFeed(url: url, name: titleFromArgs, container: container, validateFeed: true) { result in
switch result {
case .success(let feed):
NotificationCenter.default.post(name: .UserDidAddFeed, object: self, userInfo: [UserInfoKey.webFeed: feed])