Updated Game to use relative file URLs
This commit is contained in:
parent
2184c8aa68
commit
2aa3535ff3
@ -130,15 +130,26 @@ class DatabaseManager
|
||||
|
||||
for URL in URLs
|
||||
{
|
||||
let identifier = FileHash.sha1HashOfFileAtPath(URL.path) as String
|
||||
|
||||
var filename = identifier
|
||||
if let pathExtension = URL.pathExtension
|
||||
{
|
||||
filename += "." + pathExtension
|
||||
}
|
||||
|
||||
let game = Game.insertIntoManagedObjectContext(managedObjectContext)
|
||||
game.name = URL.URLByDeletingPathExtension?.lastPathComponent ?? NSLocalizedString("Game", comment: "")
|
||||
game.identifier = FileHash.sha1HashOfFileAtPath(URL.path)
|
||||
game.fileURL = self.gamesDirectoryURL().URLByAppendingPathComponent(game.identifier)
|
||||
game.identifier = identifier
|
||||
game.filename = filename
|
||||
game.typeIdentifier = Game.typeIdentifierForURL(URL) ?? kUTTypeDeltaGame as String
|
||||
|
||||
do
|
||||
{
|
||||
try NSFileManager.defaultManager().moveItemAtURL(URL, toURL: game.fileURL)
|
||||
try NSFileManager.defaultManager().moveItemAtURL(URL, toURL: DatabaseManager.sharedManager.gamesDirectoryURL().URLByAppendingPathComponent(game.identifier + ".smc"))
|
||||
|
||||
identifiers.append(game.identifier)
|
||||
}
|
||||
|
||||
@ -15,7 +15,7 @@ import CoreData
|
||||
enum GameAttributes: String
|
||||
{
|
||||
case artworkURL
|
||||
case fileURL
|
||||
case filename
|
||||
case identifier
|
||||
case name
|
||||
case typeIdentifier
|
||||
@ -24,7 +24,7 @@ enum GameAttributes: String
|
||||
extension Game
|
||||
{
|
||||
@NSManaged var artworkURL: NSURL?
|
||||
@NSManaged var fileURL: NSURL
|
||||
@NSManaged var filename: String
|
||||
@NSManaged var identifier: String
|
||||
@NSManaged var name: String
|
||||
@NSManaged var typeIdentifier: String
|
||||
|
||||
@ -15,6 +15,10 @@ import SNESDeltaCore
|
||||
@objc(Game)
|
||||
class Game: NSManagedObject, GameType
|
||||
{
|
||||
var fileURL: NSURL {
|
||||
let fileURL = DatabaseManager.gamesDirectoryURL.URLByAppendingPathComponent(self.filename)
|
||||
return fileURL
|
||||
}
|
||||
}
|
||||
|
||||
extension Game
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="9053" systemVersion="15A284" minimumToolsVersion="Xcode 7.0">
|
||||
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="9057" systemVersion="15A284" minimumToolsVersion="Xcode 7.0">
|
||||
<entity name="Game" representedClassName="Game" syncable="YES">
|
||||
<attribute name="artworkURL" optional="YES" attributeType="Transformable" syncable="YES">
|
||||
<userInfo>
|
||||
<entry key="attributeValueClassName" value="NSURL"/>
|
||||
</userInfo>
|
||||
</attribute>
|
||||
<attribute name="fileURL" optional="YES" attributeType="Transformable" syncable="YES">
|
||||
<attribute name="filename" optional="YES" attributeType="String" syncable="YES">
|
||||
<userInfo>
|
||||
<entry key="attributeValueClassName" value="NSURL"/>
|
||||
</userInfo>
|
||||
@ -21,6 +21,6 @@
|
||||
</uniquenessConstraints>
|
||||
</entity>
|
||||
<elements>
|
||||
<element name="Game" positionX="-198" positionY="9" width="128" height="118"/>
|
||||
<element name="Game" positionX="-198" positionY="9" width="128" height="120"/>
|
||||
</elements>
|
||||
</model>
|
||||
Loading…
Reference in New Issue
Block a user