mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-13 14:56:03 +10:00
iTunesHost
This commit is contained in:
@@ -97,9 +97,14 @@ extension NSURL {
|
||||
return nil
|
||||
}
|
||||
|
||||
enum iTunesHost: String {
|
||||
case Long = "itunes.apple.com"
|
||||
case Short = "itun.es"
|
||||
}
|
||||
|
||||
var yep_isAppleURL: Bool {
|
||||
|
||||
guard let host = host where (host == "itunes.apple.com") || (host == "itun.es") else {
|
||||
guard let host = host, let _ = iTunesHost(rawValue: host) else {
|
||||
return false
|
||||
}
|
||||
|
||||
|
||||
+102
-105
@@ -183,112 +183,109 @@ func openGraphWithURL(URL: NSURL, failureHandler: ((Reason, String?) -> Void)?,
|
||||
|
||||
if let URL = response.response?.URL, host = URL.host {
|
||||
|
||||
switch host {
|
||||
|
||||
case "itunes.apple.com":
|
||||
|
||||
if let lookupID = URL.yep_iTunesArtworkID {
|
||||
iTunesLookupWithID(lookupID, failureHandler: nil, completion: { artworkInfo in
|
||||
//println("iTunesLookupWithID: \(lookupID), \(artworkInfo)")
|
||||
|
||||
if let kind = artworkInfo["kind"] as? String {
|
||||
|
||||
switch kind.lowercaseString {
|
||||
|
||||
case "song":
|
||||
openGraph.kind = .AppleMusic
|
||||
|
||||
openGraph.previewAudioURLString = artworkInfo["previewUrl"] as? String
|
||||
|
||||
var appleMusic = OpenGraph.AppleMusic()
|
||||
|
||||
appleMusic.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleMusic.artworkURLString30 = artworkInfo["artworkUrl30"] as? String
|
||||
appleMusic.artworkURLString60 = artworkInfo["artworkUrl60"] as? String
|
||||
appleMusic.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
|
||||
appleMusic.collectionName = artworkInfo["collectionName"] as? String
|
||||
appleMusic.collectionViewURLString = artworkInfo["collectionViewUrl"] as? String
|
||||
|
||||
appleMusic.trackTimeMillis = artworkInfo["trackTimeMillis"] as? Int
|
||||
appleMusic.trackViewURLString = artworkInfo["trackViewUrl"] as? String
|
||||
|
||||
openGraph.appleMusic = appleMusic
|
||||
|
||||
case "feature-movie":
|
||||
openGraph.kind = .AppleMovie
|
||||
|
||||
openGraph.previewVideoURLString = artworkInfo["previewUrl"] as? String
|
||||
|
||||
var appleMovie = OpenGraph.AppleMovie()
|
||||
|
||||
appleMovie.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleMovie.artworkURLString30 = artworkInfo["artworkUrl30"] as? String
|
||||
appleMovie.artworkURLString60 = artworkInfo["artworkUrl60"] as? String
|
||||
appleMovie.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
|
||||
appleMovie.shortDescription = artworkInfo["shortDescription"] as? String
|
||||
appleMovie.longDescription = artworkInfo["longDescription"] as? String
|
||||
|
||||
appleMovie.trackTimeMillis = artworkInfo["trackTimeMillis"] as? Int
|
||||
appleMovie.trackViewURLString = artworkInfo["trackViewUrl"] as? String
|
||||
|
||||
openGraph.appleMovie = appleMovie
|
||||
|
||||
case "ebook":
|
||||
openGraph.kind = .AppleEBook
|
||||
|
||||
var appleEBook = OpenGraph.AppleEBook()
|
||||
|
||||
appleEBook.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleEBook.artworkURLString60 = artworkInfo["artworkUrl60"] as? String
|
||||
appleEBook.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
|
||||
appleEBook.description = artworkInfo["description"] as? String
|
||||
|
||||
appleEBook.trackName = artworkInfo["trackName"] as? String
|
||||
appleEBook.trackViewURLString = artworkInfo["trackViewUrl"] as? String
|
||||
|
||||
openGraph.appleEBook = appleEBook
|
||||
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if let collectionType = artworkInfo["collectionType"] as? String {
|
||||
|
||||
switch collectionType.lowercaseString {
|
||||
|
||||
case "album":
|
||||
|
||||
var appleMusic = OpenGraph.AppleMusic()
|
||||
|
||||
appleMusic.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleMusic.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
appleMusic.artworkURLString160 = artworkInfo["artworkUrl160"] as? String
|
||||
|
||||
appleMusic.collectionType = collectionType
|
||||
appleMusic.collectionName = artworkInfo["collectionName"] as? String
|
||||
appleMusic.collectionViewURLString = artworkInfo["collectionViewUrl"] as? String
|
||||
|
||||
openGraph.appleMusic = appleMusic
|
||||
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
completion(openGraph)
|
||||
})
|
||||
}
|
||||
|
||||
default:
|
||||
guard let _ = NSURL.iTunesHost(rawValue: host) else {
|
||||
completion(openGraph)
|
||||
return
|
||||
}
|
||||
|
||||
if let lookupID = URL.yep_iTunesArtworkID {
|
||||
iTunesLookupWithID(lookupID, failureHandler: nil, completion: { artworkInfo in
|
||||
//println("iTunesLookupWithID: \(lookupID), \(artworkInfo)")
|
||||
|
||||
if let kind = artworkInfo["kind"] as? String {
|
||||
|
||||
switch kind.lowercaseString {
|
||||
|
||||
case "song":
|
||||
openGraph.kind = .AppleMusic
|
||||
|
||||
openGraph.previewAudioURLString = artworkInfo["previewUrl"] as? String
|
||||
|
||||
var appleMusic = OpenGraph.AppleMusic()
|
||||
|
||||
appleMusic.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleMusic.artworkURLString30 = artworkInfo["artworkUrl30"] as? String
|
||||
appleMusic.artworkURLString60 = artworkInfo["artworkUrl60"] as? String
|
||||
appleMusic.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
|
||||
appleMusic.collectionName = artworkInfo["collectionName"] as? String
|
||||
appleMusic.collectionViewURLString = artworkInfo["collectionViewUrl"] as? String
|
||||
|
||||
appleMusic.trackTimeMillis = artworkInfo["trackTimeMillis"] as? Int
|
||||
appleMusic.trackViewURLString = artworkInfo["trackViewUrl"] as? String
|
||||
|
||||
openGraph.appleMusic = appleMusic
|
||||
|
||||
case "feature-movie":
|
||||
openGraph.kind = .AppleMovie
|
||||
|
||||
openGraph.previewVideoURLString = artworkInfo["previewUrl"] as? String
|
||||
|
||||
var appleMovie = OpenGraph.AppleMovie()
|
||||
|
||||
appleMovie.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleMovie.artworkURLString30 = artworkInfo["artworkUrl30"] as? String
|
||||
appleMovie.artworkURLString60 = artworkInfo["artworkUrl60"] as? String
|
||||
appleMovie.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
|
||||
appleMovie.shortDescription = artworkInfo["shortDescription"] as? String
|
||||
appleMovie.longDescription = artworkInfo["longDescription"] as? String
|
||||
|
||||
appleMovie.trackTimeMillis = artworkInfo["trackTimeMillis"] as? Int
|
||||
appleMovie.trackViewURLString = artworkInfo["trackViewUrl"] as? String
|
||||
|
||||
openGraph.appleMovie = appleMovie
|
||||
|
||||
case "ebook":
|
||||
openGraph.kind = .AppleEBook
|
||||
|
||||
var appleEBook = OpenGraph.AppleEBook()
|
||||
|
||||
appleEBook.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleEBook.artworkURLString60 = artworkInfo["artworkUrl60"] as? String
|
||||
appleEBook.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
|
||||
appleEBook.description = artworkInfo["description"] as? String
|
||||
|
||||
appleEBook.trackName = artworkInfo["trackName"] as? String
|
||||
appleEBook.trackViewURLString = artworkInfo["trackViewUrl"] as? String
|
||||
|
||||
openGraph.appleEBook = appleEBook
|
||||
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
if let collectionType = artworkInfo["collectionType"] as? String {
|
||||
|
||||
switch collectionType.lowercaseString {
|
||||
|
||||
case "album":
|
||||
|
||||
var appleMusic = OpenGraph.AppleMusic()
|
||||
|
||||
appleMusic.artistName = artworkInfo["artistName"] as? String
|
||||
|
||||
appleMusic.artworkURLString100 = artworkInfo["artworkUrl100"] as? String
|
||||
appleMusic.artworkURLString160 = artworkInfo["artworkUrl160"] as? String
|
||||
|
||||
appleMusic.collectionType = collectionType
|
||||
appleMusic.collectionName = artworkInfo["collectionName"] as? String
|
||||
appleMusic.collectionViewURLString = artworkInfo["collectionViewUrl"] as? String
|
||||
|
||||
openGraph.appleMusic = appleMusic
|
||||
|
||||
default:
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
completion(openGraph)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user