Updated Game to use relative file URLs

This commit is contained in:
Riley Testut 2015-11-01 03:13:21 -06:00
parent 2184c8aa68
commit 2aa3535ff3
4 changed files with 20 additions and 5 deletions

View File

@ -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)
}

View File

@ -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

View File

@ -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

View File

@ -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>