Artist wipe, local brainz
This commit is contained in:
@@ -37,7 +37,15 @@ class ImportController < ApplicationController
|
||||
artist.listeners = lastfm_artist['artist']['stats']['listeners']
|
||||
artist.artist_type = brainz_artist.type
|
||||
artist.mbid = brainz_artist.id
|
||||
dry_run ? ap(artist) : artist.save
|
||||
artist.save
|
||||
|
||||
brainz_artist.urls.each do |service, url|
|
||||
ArtistLink.new(
|
||||
:artist_id => artist.id,
|
||||
:service => service.to_s,
|
||||
:url => url
|
||||
).save
|
||||
end
|
||||
|
||||
brainz_artist.release_groups.each do |brainz_release_group|
|
||||
# Saving album
|
||||
@@ -56,12 +64,30 @@ class ImportController < ApplicationController
|
||||
album.pic_url = album_image
|
||||
album.has_pic = (album_image != '' and not album_image.nil?)
|
||||
album.status = 0
|
||||
dry_run ? ap(album) : album.save
|
||||
album.save
|
||||
# Tracks from the first release
|
||||
tracks_hashed = []
|
||||
brainz_release_group.releases.each_with_index do |brainz_release, i|
|
||||
local_brainz_release = LocalBrainz::Release.new(
|
||||
:mbid => brainz_release.id,
|
||||
:title => brainz_release.title,
|
||||
:status => brainz_release.status,
|
||||
:date => brainz_release.date,
|
||||
:country => brainz_release.country,
|
||||
:format => brainz_release.format,
|
||||
:album_id => album.id
|
||||
)
|
||||
local_brainz_release.save
|
||||
# Processing tracks
|
||||
brainz_release.tracks.each do |brainz_track|
|
||||
local_brainz_track = LocalBrainz::Track.new(
|
||||
:position => brainz_track.position,
|
||||
:recording_id => brainz_track.recording_id,
|
||||
:title => brainz_track.title,
|
||||
:length => brainz_track.length,
|
||||
:release_id => local_brainz_release.id
|
||||
)
|
||||
local_brainz_track.save
|
||||
track_title = brainz_track.title.gsub(/\s\/\s\[.*?\]/, '')
|
||||
if tracks_hashed.include? track_title.downcase.scan(/[a-z0-9]*/).join
|
||||
next
|
||||
@@ -77,7 +103,7 @@ class ImportController < ApplicationController
|
||||
track.live = track_title.downcase.include? 'live'
|
||||
track.acoustic = track_title.downcase.include? 'acoustic'
|
||||
track.mbid = brainz_track.recording_id
|
||||
dry_run ? ap(track) : track.save
|
||||
track.save
|
||||
end
|
||||
end
|
||||
album.status = 1
|
||||
|
||||
Reference in New Issue
Block a user