Make Database.framework build. Doesn’t work, but it builds.
This commit is contained in:
parent
4010011b5a
commit
5860f774bd
@ -33,13 +33,13 @@ public final class Article: Hashable {
|
|||||||
public var status: ArticleStatus?
|
public var status: ArticleStatus?
|
||||||
public let hashValue: Int
|
public let hashValue: Int
|
||||||
|
|
||||||
var feed: Feed? {
|
public var feed: Feed? {
|
||||||
get {
|
get {
|
||||||
return account?.existingFeed(with: feedID)
|
return account?.existingFeed(with: feedID)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
init(account: Account, articleID: String?, feedID: String, uniqueID: String, title: String?, contentHTML: String?, contentText: String?, url: String?, externalURL: String?, summary: String?, imageURL: String?, bannerImageURL: String?, datePublished: Date?, dateModified: Date?, authors: [Author]?, tags: Set<String>?, attachments: [Attachment]?, accountInfo: AccountInfo?) {
|
public init(account: Account, articleID: String?, feedID: String, uniqueID: String, title: String?, contentHTML: String?, contentText: String?, url: String?, externalURL: String?, summary: String?, imageURL: String?, bannerImageURL: String?, datePublished: Date?, dateModified: Date?, authors: [Author]?, tags: Set<String>?, attachments: [Attachment]?, accountInfo: AccountInfo?) {
|
||||||
|
|
||||||
self.account = account
|
self.account = account
|
||||||
self.feedID = feedID
|
self.feedID = feedID
|
||||||
|
@ -10,17 +10,47 @@ import Foundation
|
|||||||
import RSDatabase
|
import RSDatabase
|
||||||
import Data
|
import Data
|
||||||
|
|
||||||
//final class ArticlesTable: DatabaseTable {
|
final class ArticlesTable: DatabaseTable {
|
||||||
//
|
|
||||||
// let name: String
|
let name: String
|
||||||
|
let databaseIDKey = DatabaseKey.articleID
|
||||||
// private let cachedArticles: NSMapTable<NSString, Article> = NSMapTable.weakToWeakObjects()
|
// private let cachedArticles: NSMapTable<NSString, Article> = NSMapTable.weakToWeakObjects()
|
||||||
|
|
||||||
|
init(name: String) {
|
||||||
|
|
||||||
|
self.name = name
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: DatabaseTable Methods
|
||||||
|
|
||||||
|
func objectWithRow(_ row: FMResultSet) -> DatabaseObject? {
|
||||||
|
|
||||||
|
// if let article = articleWithRow(row) {
|
||||||
//
|
//
|
||||||
// init(name: String) {
|
|
||||||
//
|
|
||||||
// self.name = name
|
|
||||||
// }
|
// }
|
||||||
|
return nil // TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
func save(_ objects: [DatabaseObject], in database: FMDatabase) {
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
// MARK: Fetching
|
||||||
|
|
||||||
|
func fetchArticlesForFeed(_ feed: Feed) -> Set<Article> {
|
||||||
|
|
||||||
|
return Set<Article>() // TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
func fetchArticlesForFeedAsync(_ feed: Feed, _ resultBlock: @escaping ArticleResultBlock) {
|
||||||
|
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
||||||
|
func fetchUnreadArticlesForFeeds(_ feeds: Set<Feed>) -> Set<Article> {
|
||||||
|
|
||||||
|
return Set<Article>() // TODO
|
||||||
|
}
|
||||||
|
|
||||||
// func uniquedArticles(_ fetchedArticles: Set<Article>, statusesTable: StatusesTable) -> Set<Article> {
|
// func uniquedArticles(_ fetchedArticles: Set<Article>, statusesTable: StatusesTable) -> Set<Article> {
|
||||||
//
|
//
|
||||||
@ -67,7 +97,7 @@ import Data
|
|||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// }
|
// }
|
||||||
//}
|
}
|
||||||
|
|
||||||
//private extension ArticlesTable {
|
//private extension ArticlesTable {
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@ final class Database {
|
|||||||
|
|
||||||
private let queue: RSDatabaseQueue
|
private let queue: RSDatabaseQueue
|
||||||
private let databaseFile: String
|
private let databaseFile: String
|
||||||
// private let articlesTable: ArticlesTable
|
private let articlesTable: ArticlesTable
|
||||||
private let statusesTable: StatusesTable
|
private let statusesTable: StatusesTable
|
||||||
private let authorsLookupTable: DatabaseLookupTable
|
private let authorsLookupTable: DatabaseLookupTable
|
||||||
private let attachmentsLookupTable: DatabaseLookupTable
|
private let attachmentsLookupTable: DatabaseLookupTable
|
||||||
@ -41,7 +41,7 @@ final class Database {
|
|||||||
self.databaseFile = databaseFile
|
self.databaseFile = databaseFile
|
||||||
self.queue = RSDatabaseQueue(filepath: databaseFile, excludeFromBackup: false)
|
self.queue = RSDatabaseQueue(filepath: databaseFile, excludeFromBackup: false)
|
||||||
|
|
||||||
// self.articlesTable = ArticlesTable(name: DatabaseTableName.articles, queue: queue)
|
self.articlesTable = ArticlesTable(name: DatabaseTableName.articles)
|
||||||
self.statusesTable = StatusesTable(name: DatabaseTableName.statuses)
|
self.statusesTable = StatusesTable(name: DatabaseTableName.statuses)
|
||||||
|
|
||||||
let authorsTable = AuthorsTable(name: DatabaseTableName.authors)
|
let authorsTable = AuthorsTable(name: DatabaseTableName.authors)
|
||||||
@ -63,7 +63,9 @@ final class Database {
|
|||||||
|
|
||||||
func fetchArticlesForFeed(_ feed: Feed) -> Set<Article> {
|
func fetchArticlesForFeed(_ feed: Feed) -> Set<Article> {
|
||||||
|
|
||||||
return Set<Article>() // TODO
|
return articlesTable.fetchArticlesForFeed(feed)
|
||||||
|
|
||||||
|
// return Set<Article>() // TODO
|
||||||
// var fetchedArticles = Set<Article>()
|
// var fetchedArticles = Set<Article>()
|
||||||
// let feedID = feed.feedID
|
// let feedID = feed.feedID
|
||||||
//
|
//
|
||||||
@ -78,6 +80,8 @@ final class Database {
|
|||||||
|
|
||||||
func fetchArticlesForFeedAsync(_ feed: Feed, _ resultBlock: @escaping ArticleResultBlock) {
|
func fetchArticlesForFeedAsync(_ feed: Feed, _ resultBlock: @escaping ArticleResultBlock) {
|
||||||
|
|
||||||
|
articlesTable.fetchArticlesForFeedAsync(feed, resultBlock)
|
||||||
|
|
||||||
// let feedID = feed.feedID
|
// let feedID = feed.feedID
|
||||||
//
|
//
|
||||||
// queue.fetch { (database: FMDatabase!) -> Void in
|
// queue.fetch { (database: FMDatabase!) -> Void in
|
||||||
@ -95,7 +99,7 @@ final class Database {
|
|||||||
|
|
||||||
func fetchUnreadArticlesForFolder(_ folder: Folder) -> Set<Article> {
|
func fetchUnreadArticlesForFolder(_ folder: Folder) -> Set<Article> {
|
||||||
|
|
||||||
return Set<Article>() // TODO
|
return articlesTable.fetchUnreadArticlesForFeeds(folder.flattenedFeeds())
|
||||||
// return fetchUnreadArticlesForFeedIDs(folder.flattenedFeedIDs())
|
// return fetchUnreadArticlesForFeedIDs(folder.flattenedFeedIDs())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,12 +32,17 @@ extension Article {
|
|||||||
let bannerImageURL = row.string(forColumn: DatabaseKey.bannerImageURL)
|
let bannerImageURL = row.string(forColumn: DatabaseKey.bannerImageURL)
|
||||||
let datePublished = row.date(forColumn: DatabaseKey.datePublished)
|
let datePublished = row.date(forColumn: DatabaseKey.datePublished)
|
||||||
let dateModified = row.date(forColumn: DatabaseKey.dateModified)
|
let dateModified = row.date(forColumn: DatabaseKey.dateModified)
|
||||||
|
let authors: [Author]? = nil
|
||||||
|
let tags: Set<String>? = nil
|
||||||
|
let attachments: [Attachment]? = nil
|
||||||
|
let accountInfo: [String: Any]? = nil
|
||||||
|
|
||||||
// let authors = PropertyListTransformer.authorsWithRow(row)
|
// let authors = PropertyListTransformer.authorsWithRow(row)
|
||||||
// let tags = PropertyListTransformer.tagsWithRow(row)
|
// let tags = PropertyListTransformer.tagsWithRow(row)
|
||||||
// let attachments = PropertyListTransformer.attachmentsWithRow(row)
|
// let attachments = PropertyListTransformer.attachmentsWithRow(row)
|
||||||
// let accountInfo = accountInfoWithRow(row)
|
// let accountInfo = accountInfoWithRow(row)
|
||||||
|
|
||||||
self.init(account: account, feedID: feedID, uniqueID: uniqueID, title: title, contentHTML: contentHTML, contentText: contentText, url: url, externalURL: externalURL, summary: summary, imageURL: imageURL, bannerImageURL: bannerImageURL, datePublished: datePublished, dateModified: dateModified, authors: authors, tags: tags, attachments: attachments, accountInfo: accountInfo)
|
self.init(account: account, articleID: articleID, feedID: feedID, uniqueID: uniqueID, title: title, contentHTML: contentHTML, contentText: contentText, url: url, externalURL: externalURL, summary: summary, imageURL: imageURL, bannerImageURL: bannerImageURL, datePublished: datePublished, dateModified: dateModified, authors: authors, tags: tags, attachments: attachments, accountInfo: accountInfo)
|
||||||
}
|
}
|
||||||
|
|
||||||
func databaseDictionary() -> NSDictionary {
|
func databaseDictionary() -> NSDictionary {
|
||||||
@ -67,6 +72,6 @@ extension Set where Element == Article {
|
|||||||
|
|
||||||
func articleIDs() -> Set<String> {
|
func articleIDs() -> Set<String> {
|
||||||
|
|
||||||
return Set(map { $0.databaseID })
|
return Set<String>(map { $0.databaseID })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -565,7 +565,7 @@
|
|||||||
INFOPLIST_FILE = RSDatabase/Info.plist;
|
INFOPLIST_FILE = RSDatabase/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||||
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=125";
|
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=200";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.ranchero.RSDatabase;
|
PRODUCT_BUNDLE_IDENTIFIER = com.ranchero.RSDatabase;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
@ -586,7 +586,7 @@
|
|||||||
INFOPLIST_FILE = RSDatabase/Info.plist;
|
INFOPLIST_FILE = RSDatabase/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/Frameworks";
|
||||||
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=125";
|
OTHER_SWIFT_FLAGS = "-Xfrontend -warn-long-function-bodies=200";
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.ranchero.RSDatabase;
|
PRODUCT_BUNDLE_IDENTIFIER = com.ranchero.RSDatabase;
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user