Final import fix (i hope).
This commit is contained in:
@@ -25,9 +25,10 @@ class ImportController < ApplicationController
|
||||
artist_mb_data = ArtistController.musicBrainzExactSearch(name).first
|
||||
begin
|
||||
artist_lastfm = lastfm.artist.get_info(name)
|
||||
artist_mb = brainz.artist(artist_lastfm['mbid'])
|
||||
rescue
|
||||
return
|
||||
artist_mb = brainz.artist(artist_mb_data[:mbid])
|
||||
rescue => e
|
||||
ap e.message
|
||||
ap e.backtrace
|
||||
end
|
||||
|
||||
# Save artist
|
||||
@@ -37,7 +38,7 @@ class ImportController < ApplicationController
|
||||
artist.mbid = artist_lastfm['mbid']
|
||||
|
||||
# Get albums from MB
|
||||
release_groups_mb = brainz.release_group(nil, :artist => artist_lastfm['mbid'])['release_group_list']['release_group']
|
||||
release_groups_mb = brainz.release_group(nil, :artist => artist_mb_data[:mbid])['release_group_list']['release_group']
|
||||
release_groups_mb.each do |mb_album|
|
||||
|
||||
# Get album releases from MB
|
||||
@@ -64,11 +65,17 @@ class ImportController < ApplicationController
|
||||
tracks_mb = []
|
||||
tracks_mb_r = brainz.release(main_release['id'], {'inc' => 'recordings'})['release']['medium_list']['medium']
|
||||
if tracks_mb_r.is_a? Hash
|
||||
if tracks_mb_r['track_list']['track'].is_a? Hash
|
||||
tracks_mb_r['track_list']['track'] = [tracks_mb_r['track_list']['track']]
|
||||
end
|
||||
tracks_mb = tracks_mb_r['track_list']['track']
|
||||
elsif tracks_mb_r.is_a? Array
|
||||
tracks_mb = tracks_mb_r.shift['track_list']['track']
|
||||
tracks_mb_r.each do |cd|
|
||||
cd['track_list']['track'].map! { |mb_track| mb_track['bonus'] = 1 }
|
||||
if cd['track_list']['track'].is_a? Hash
|
||||
cd['track_list']['track'] = [cd['track_list']['track']]
|
||||
end
|
||||
cd['track_list']['track'].each { |mb_track| mb_track['bonus'] = 1 }
|
||||
tracks_mb |= cd['track_list']['track']
|
||||
end
|
||||
end
|
||||
@@ -108,9 +115,15 @@ class ImportController < ApplicationController
|
||||
other_tracks_mb = []
|
||||
other_tracks_mb_r = brainz.release(mb_release['id'], {'inc' => 'recordings'})['release']['medium_list']['medium']
|
||||
if other_tracks_mb_r.is_a? Hash
|
||||
if other_tracks_mb_r['track_list']['track'].is_a? Hash
|
||||
other_tracks_mb_r['track_list']['track'] = [other_tracks_mb_r['track_list']['track']]
|
||||
end
|
||||
other_tracks_mb = other_tracks_mb_r['track_list']['track']
|
||||
elsif other_tracks_mb_r.is_a? Array
|
||||
other_tracks_mb_r.each do |cd|
|
||||
if cd['track_list']['track'].is_a? Hash
|
||||
cd['track_list']['track'] = [cd['track_list']['track']]
|
||||
end
|
||||
other_tracks_mb |= cd['track_list']['track']
|
||||
end
|
||||
end
|
||||
@@ -150,7 +163,9 @@ class ImportController < ApplicationController
|
||||
|
||||
artist.status = 1
|
||||
|
||||
rescue
|
||||
rescue => e
|
||||
ap e.message
|
||||
ap e.backtrace
|
||||
artist.status = 2
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user