Adjust to ObjFW changes
FossilOrigin-Name: 82f79a19ab99fd7cdb6e495212a1382829f678b44e98158b85f6fa19a9c7eae4
This commit is contained in:
parent
e74d034db4
commit
1ca879eb8e
1 changed files with 9 additions and 10 deletions
|
@ -34,19 +34,18 @@ class SiteStorage: OFObject {
|
||||||
|
|
||||||
override init() {
|
override init() {
|
||||||
let fileManager = OFFileManager.default
|
let fileManager = OFFileManager.default
|
||||||
let userDataPath = OFSystemInfo.userDataPath!
|
let userDataURL = OFSystemInfo.userDataURL!
|
||||||
|
|
||||||
if !fileManager.directoryExists(atPath: userDataPath) {
|
if !fileManager.directoryExists(at: userDataURL) {
|
||||||
fileManager.createDirectory(atPath: userDataPath)
|
fileManager.createDirectory(at: userDataURL)
|
||||||
}
|
}
|
||||||
|
|
||||||
let path = userDataPath.appendingPathComponent(
|
let URL = userDataURL.appendingPathComponent(
|
||||||
OFString(utf8String: "sites.msgpack"))
|
OFString(utf8String: "sites.msgpack"))
|
||||||
|
|
||||||
var storage: [String: [NSNumber: AnyObject]]? = nil
|
var storage: [String: [NSNumber: AnyObject]]? = nil
|
||||||
OFException.try({
|
OFException.try({
|
||||||
let decoded = (OFData(contentsOfFile: path)
|
let decoded = (OFData(contentsOf: URL).objectByParsingMessagePack)
|
||||||
.objectByParsingMessagePack)
|
|
||||||
as? OFDictionary<OFString, OFDictionary<OFNumber, AnyObject>>
|
as? OFDictionary<OFString, OFDictionary<OFNumber, AnyObject>>
|
||||||
storage =
|
storage =
|
||||||
(decoded?.nsObject as? [String: [NSNumber: AnyObject]]) ?? [:]
|
(decoded?.nsObject as? [String: [NSNumber: AnyObject]]) ?? [:]
|
||||||
|
@ -54,17 +53,17 @@ class SiteStorage: OFObject {
|
||||||
storage = [:]
|
storage = [:]
|
||||||
})
|
})
|
||||||
|
|
||||||
self.path = path
|
self.path = URL.fileSystemRepresentation!
|
||||||
self.storage = storage!
|
self.storage = storage!
|
||||||
self.sites = self.storage.keys.sorted()
|
self.sites = self.storage.keys.sorted()
|
||||||
}
|
}
|
||||||
|
|
||||||
func sites(withFilter filter: String?) -> [String] {
|
func sites(withFilter filter: String?) -> [String] {
|
||||||
return storage.keys.sorted().filter({ (name) in
|
return storage.keys.sorted().filter({ (name) in
|
||||||
if let filter = filter {
|
if filter == nil || filter!.isEmpty {
|
||||||
return name.localizedCaseInsensitiveContains(filter)
|
return true
|
||||||
}
|
}
|
||||||
return true
|
return name.localizedCaseInsensitiveContains(filter!)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue