Dynamically maps old album artwork URLs to new ones

This commit is contained in:
Riley Testut 2019-12-11 16:11:25 -08:00
parent 763e410ce9
commit a0f60de926

View File

@ -30,11 +30,25 @@ public class Game: _Game, GameProtocol
var artworkURL = self.primitiveValue(forKey: #keyPath(Game.artworkURL)) as? URL var artworkURL = self.primitiveValue(forKey: #keyPath(Game.artworkURL)) as? URL
self.didAccessValue(forKey: #keyPath(Game.artworkURL)) self.didAccessValue(forKey: #keyPath(Game.artworkURL))
if let unwrappedArtworkURL = artworkURL, unwrappedArtworkURL.isFileURL if let unwrappedArtworkURL = artworkURL
{
if unwrappedArtworkURL.isFileURL
{ {
// Recreate the stored URL relative to current sandbox location. // Recreate the stored URL relative to current sandbox location.
artworkURL = URL(fileURLWithPath: unwrappedArtworkURL.relativePath, relativeTo: DatabaseManager.gamesDirectoryURL) artworkURL = URL(fileURLWithPath: unwrappedArtworkURL.relativePath, relativeTo: DatabaseManager.gamesDirectoryURL)
} }
else if unwrappedArtworkURL.host?.lowercased() == "img.gamefaqs.net", var components = URLComponents(url: unwrappedArtworkURL, resolvingAgainstBaseURL: false)
{
// Quick fix for broken album artwork URLs due to host change.
components.host = "gamefaqs1.cbsistatic.com"
components.scheme = "https"
if let url = components.url
{
artworkURL = url
}
}
}
return artworkURL return artworkURL
} }