@@ -14,7 +14,7 @@ my $build = Module::Build->new
},
create_makefile_pl => 'traditional',
dist_author => 'Bob Faist <bob.faist@gmail.com>',
- dist_version => '0.92',
+ dist_version => '0.93',
meta_merge => {
resources => {
repository => 'git://github.com/bfaist/webservice-musicbrainz.git'
@@ -118,3 +118,6 @@ Revision history for Perl extension WebService::MusicBrainz.
0.92 Sat Nov 1st 2009
- Fixed failing test in Release.t
+
+0.93 Fri Nov 27th 2009
+ - Release event lists are now sorted from earliest to the most recent
@@ -1,6 +1,6 @@
---
name: WebService-MusicBrainz
-version: 0.92
+version: 0.93
author:
- 'Bob Faist <bob.faist@gmail.com>'
abstract: Web service API to MusicBrainz database
@@ -18,115 +18,115 @@ requires:
provides:
WebService::MusicBrainz:
file: lib/WebService/MusicBrainz.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Artist:
file: lib/WebService/MusicBrainz/Artist.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Label:
file: lib/WebService/MusicBrainz/Label.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Query:
file: lib/WebService/MusicBrainz/Query.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Release:
file: lib/WebService/MusicBrainz/Release.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::ReleaseGroup:
file: lib/WebService/MusicBrainz/ReleaseGroup.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response:
file: lib/WebService/MusicBrainz/Response.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Alias:
file: lib/WebService/MusicBrainz/Response/Alias.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::AliasList:
file: lib/WebService/MusicBrainz/Response/AliasList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Artist:
file: lib/WebService/MusicBrainz/Response/Artist.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ArtistList:
file: lib/WebService/MusicBrainz/Response/ArtistList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Disc:
file: lib/WebService/MusicBrainz/Response/Disc.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::DiscList:
file: lib/WebService/MusicBrainz/Response/DiscList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ISRC:
file: lib/WebService/MusicBrainz/Response/ISRC.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ISRCList:
file: lib/WebService/MusicBrainz/Response/ISRCList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Label:
file: lib/WebService/MusicBrainz/Response/Label.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::LabelList:
file: lib/WebService/MusicBrainz/Response/LabelList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Metadata:
file: lib/WebService/MusicBrainz/Response/Metadata.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Puid:
file: lib/WebService/MusicBrainz/Response/Puid.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::PuidList:
file: lib/WebService/MusicBrainz/Response/PuidList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Rating:
file: lib/WebService/MusicBrainz/Response/Rating.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Relation:
file: lib/WebService/MusicBrainz/Response/Relation.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::RelationList:
file: lib/WebService/MusicBrainz/Response/RelationList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Release:
file: lib/WebService/MusicBrainz/Response/Release.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ReleaseEvent:
file: lib/WebService/MusicBrainz/Response/ReleaseEvent.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ReleaseEventList:
file: lib/WebService/MusicBrainz/Response/ReleaseEventList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ReleaseGroup:
file: lib/WebService/MusicBrainz/Response/ReleaseGroup.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ReleaseGroupList:
file: lib/WebService/MusicBrainz/Response/ReleaseGroupList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::ReleaseList:
file: lib/WebService/MusicBrainz/Response/ReleaseList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Tag:
file: lib/WebService/MusicBrainz/Response/Tag.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::TagList:
file: lib/WebService/MusicBrainz/Response/TagList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::Track:
file: lib/WebService/MusicBrainz/Response/Track.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::TrackList:
file: lib/WebService/MusicBrainz/Response/TrackList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::UserRating:
file: lib/WebService/MusicBrainz/Response/UserRating.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::UserTag:
file: lib/WebService/MusicBrainz/Response/UserTag.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Response::UserTagList:
file: lib/WebService/MusicBrainz/Response/UserTagList.pm
- version: 0.92
+ version: 0.93
WebService::MusicBrainz::Track:
file: lib/WebService/MusicBrainz/Track.pm
- version: 0.92
+ version: 0.93
generated_by: Module::Build version 0.280801
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.2.html
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Artist;
use strict;
use WebService::MusicBrainz::Query;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Label;
use strict;
use WebService::MusicBrainz::Query;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -6,7 +6,7 @@ use URI;
use URI::Escape;
use WebService::MusicBrainz::Response;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Release;
use strict;
use WebService::MusicBrainz::Query;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::ReleaseGroup;
use strict;
use WebService::MusicBrainz::Query;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Alias;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::AliasList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Artist;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ArtistList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Disc;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::DiscList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ISRC;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ISRCList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Label;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::LabelList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Metadata;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Puid;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::PuidList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Rating;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Relation;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::RelationList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Release;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ReleaseEvent;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ReleaseEventList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ReleaseGroup;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ReleaseGroupList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::ReleaseList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Tag;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::TagList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::Track;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::TrackList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::UserRating;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::UserTag;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response::UserTagList;
use strict;
use base 'Class::Accessor';
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Response;
use strict;
use XML::LibXML;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -698,7 +698,10 @@ sub _create_release_event_list {
push @events, $event;
}
- $release_event_list->events( \@events );
+ # should use a date object here but cheating with cmp to reduce dependencies for now...
+ my @sorted_events = sort { $a->date() cmp $b->date() } @events;
+
+ $release_event_list->events( \@sorted_events );
return $release_event_list;
}
@@ -3,7 +3,7 @@ package WebService::MusicBrainz::Track;
use strict;
use WebService::MusicBrainz::Query;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -2,7 +2,7 @@ package WebService::MusicBrainz;
use strict;
-our $VERSION = '0.92';
+our $VERSION = '0.93';
=head1 NAME
@@ -40,8 +40,18 @@ foreach my $release (@{ $rel_title_rel_list->releases() }) {
ok($release->artist()->name() eq "Van Halen", 'release by title rel artist NAME');
ok($release->disc_list()->count() > 10, 'release by title rel disc list COUNT');
ok($release->track_list()->count() > 10, 'release by title rel track list COUNT');
+ my $last_date = "0000-00-00";
+ my $sorted = 1;
foreach my $event (@{ $release->release_event_list()->events() }) {
+ if($last_date le $event->date()) {
+ $sorted = 1;
+ } else {
+ $sorted = 0;
+ last;
+ }
+ $last_date = $event->date();
}
+ ok($sorted == 1,'release by title sorted release events');
}
}