From 4c820dee83b73ecb6414d5b5b7757c74cd35d4c2 Mon Sep 17 00:00:00 2001 From: magnolia-fan Date: Tue, 20 Sep 2011 19:47:45 +0400 Subject: [PATCH 1/5] Added artist urls --- lib/models/music_brainz/artist.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/models/music_brainz/artist.rb b/lib/models/music_brainz/artist.rb index e827b31..7c08013 100644 --- a/lib/models/music_brainz/artist.rb +++ b/lib/models/music_brainz/artist.rb @@ -1,6 +1,6 @@ module MusicBrainz class Artist - attr_accessor :id, :type, :name, :country, :date_begin, :date_end + attr_accessor :id, :type, :name, :country, :date_begin, :date_end, :urls @release_groups def release_groups @@ -16,7 +16,7 @@ module MusicBrainz end def self.find mbid - res = MusicBrainz.load('http://musicbrainz.org/ws/2/artist/' + mbid) + res = MusicBrainz.load('http://musicbrainz.org/ws/2/artist/' + mbid + '?inc=url-rels') return nil if res.nil? @artist = self.parse_xml(Nokogiri::XML(res)) end @@ -29,6 +29,10 @@ module MusicBrainz @artist.country = xml.css('artist > country').text unless xml.css('artist > country').empty? @artist.date_begin = xml.css('artist > life-span > begin').text unless xml.css('artist > life-span > begin').empty? @artist.date_end = xml.css('artist > life-span > end').text unless xml.css('artist > life-span > end').empty? + @artist.urls = {} + xml.css('relation-list[target-type="url"] > relation').each do |rel| + @artist.urls[rel.attr('type').downcase.split(' ').join('_').to_sym] = rel.css('target').text + end @artist end From 64cf6ff2498888f80fe6ad77eb7f095e87d0ec23 Mon Sep 17 00:00:00 2001 From: magnolia-fan Date: Tue, 20 Sep 2011 19:48:28 +0400 Subject: [PATCH 2/5] Version bump --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index c650d5a..5cd6428 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.8 \ No newline at end of file +0.4.9 \ No newline at end of file From 93f89e1999af9e0bfd6c5fa3659d099413799836 Mon Sep 17 00:00:00 2001 From: magnolia-fan Date: Tue, 20 Sep 2011 19:48:39 +0400 Subject: [PATCH 3/5] Regenerate gemspec for version 0.4.9 --- musicbrainz.gemspec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/musicbrainz.gemspec b/musicbrainz.gemspec index ad5abb3..a670ab0 100644 --- a/musicbrainz.gemspec +++ b/musicbrainz.gemspec @@ -5,11 +5,11 @@ Gem::Specification.new do |s| s.name = %q{musicbrainz} - s.version = "0.4.8" + s.version = "0.4.9" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= - s.authors = [%q{Gregory Eremin}] - s.date = %q{2011-09-19} + s.authors = ["Gregory Eremin"] + s.date = %q{2011-09-20} s.description = %q{MusicBrainz Web Service wrapper with ActiveRecord-style models} s.email = %q{magnolia_fan@me.com} s.extra_rdoc_files = [ @@ -36,9 +36,9 @@ Gem::Specification.new do |s| "test/test_musicbrainz.rb" ] s.homepage = %q{http://github.com/magnolia-fan/musicbrainz} - s.licenses = [%q{MIT}] - s.require_paths = [%q{lib}] - s.rubygems_version = %q{1.8.8} + s.licenses = ["MIT"] + s.require_paths = ["lib"] + s.rubygems_version = %q{1.6.2} s.summary = %q{MusicBrainz Web Service wrapper} if s.respond_to? :specification_version then From 673db862ea3873d8b4131c2ba194e58233aeb2b1 Mon Sep 17 00:00:00 2001 From: magnolia-fan Date: Tue, 20 Sep 2011 20:23:36 +0400 Subject: [PATCH 4/5] Release format --- VERSION | 2 +- lib/models/music_brainz/release.rb | 7 ++++--- lib/models/music_brainz/release_group.rb | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index 5cd6428..a2094f3 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.4.9 \ No newline at end of file +0.4.10 \ No newline at end of file diff --git a/lib/models/music_brainz/release.rb b/lib/models/music_brainz/release.rb index 6b6a500..20257d8 100644 --- a/lib/models/music_brainz/release.rb +++ b/lib/models/music_brainz/release.rb @@ -1,12 +1,12 @@ module MusicBrainz class Release - attr_accessor :id, :title, :status, :date, :country + attr_accessor :id, :title, :status, :format, :date, :country @tracks def tracks if @tracks.nil? and not self.id.nil? @tracks = [] - Nokogiri::XML(MusicBrainz.load('http://musicbrainz.org/ws/2/release/' + self.id + '?inc=recordings&limit=100')).css('medium-list > medium > track-list > track').each do |r| + Nokogiri::XML(MusicBrainz.load('http://musicbrainz.org/ws/2/release/' + self.id + '?inc=recordings+media&limit=100')).css('medium-list > medium > track-list > track').each do |r| @tracks << MusicBrainz::Track.parse_xml(r) end end @@ -14,7 +14,7 @@ module MusicBrainz end def self.find mbid - xml = Nokogiri::XML(MusicBrainz.load('http://musicbrainz.org/ws/2/release/' + mbid)).css('release').first + xml = Nokogiri::XML(MusicBrainz.load('http://musicbrainz.org/ws/2/release/' + mbid + '?inc=media')).css('release').first self.parse_xml(xml) unless xml.nil? end @@ -23,6 +23,7 @@ module MusicBrainz @release.id = xml.attr('id') @release.title = xml.css('title').text unless xml.css('title').empty? @release.status = xml.css('status').text unless xml.css('status').empty? + @release.format = xml.css('medium-list > medium > format').first.text unless xml.css('medium-list > medium > format').empty? date = xml.css('date').empty? ? '2030-12-31' : xml.css('date').text if date.length == 0 date = '2030-12-31' diff --git a/lib/models/music_brainz/release_group.rb b/lib/models/music_brainz/release_group.rb index 167d237..45e4ad6 100644 --- a/lib/models/music_brainz/release_group.rb +++ b/lib/models/music_brainz/release_group.rb @@ -6,7 +6,7 @@ module MusicBrainz def releases if @releases.nil? and not self.id.nil? @releases = [] - Nokogiri::XML(MusicBrainz.load('http://musicbrainz.org/ws/2/release/?release-group=' + self.id + '&limit=100')).css('release').each do |r| + Nokogiri::XML(MusicBrainz.load('http://musicbrainz.org/ws/2/release/?release-group=' + self.id + '&inc=media&limit=100')).css('release').each do |r| @releases << MusicBrainz::Release.parse_xml(r) end end From e52a9cefd815f3090c3270687fe7ff8ede498749 Mon Sep 17 00:00:00 2001 From: magnolia-fan Date: Tue, 20 Sep 2011 20:23:47 +0400 Subject: [PATCH 5/5] Regenerate gemspec for version 0.4.10 --- musicbrainz.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/musicbrainz.gemspec b/musicbrainz.gemspec index a670ab0..ee41a18 100644 --- a/musicbrainz.gemspec +++ b/musicbrainz.gemspec @@ -5,7 +5,7 @@ Gem::Specification.new do |s| s.name = %q{musicbrainz} - s.version = "0.4.9" + s.version = "0.4.10" s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version= s.authors = ["Gregory Eremin"]