[mb-commits] branch, beta, updated. Merge remote-tracking branch 'reosarevok/mbs-5771' into beta Merge branch ' be...

MusicBrainz Git Server <[email protected]> Sun, 03 Feb 2013 13:03:27 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1U1zEE-0004pa-Rt@wiley>
The branch, beta has been updated
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=b6ab2b37132bdcbba92ffba5e07343fbda71b4c6 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=ec5ba3d6bf1f64fdc6319ee404da368eaec56bce (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=99efa55bf4d85cdfb0565e5a78331e7b958359b0 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f290269d8bbef485974b715199555b16409d26b7 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=9fc001d2a09b94654825490acb389c5539b46314 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=cbd056f2f8f2cba97a655ae22dcbc0a9e1ffe1ff (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=066478cb84d96056db1fd9edd78001f14c9f1db7 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=995f3da8f8be45a977e4b9691e31c43a98fda60e (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=73d84a2b5d9d1d371684e124efb99002f4f0014c (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=3bfc49059b441a3a349bf03c75a62cbd0fe33867 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=b2837feca4f5c363840f39197e20ceb1c4ed7a1c (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=20cd3a4b082424b25a407d70e6c9b47179906743 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e21cbf4b07bad34b423ed45ad961003834f4f878 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f63857d70967c6f7a0af8fc61033db5a3fd67748 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=a8a7e1733fd2b61fb2240c8c0668e19ea40cdb42 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=8a2024ddae2a5827ad1f31ff4417654bb3ff25e0 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=a416af496bca3d4c45188e5c4a431f237eec0244 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=6c87ac8e26ecfaf3ae70ef35e8dc0d15b0a9bf38 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=07c0720fe3241a28b0672e6c2dc956d314bd7ef2 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=b2df889f6a2f2bd1486a0d0eb602eed8da1c4f77 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=7273aecbc59a6b7e8b1c9034462f7ed9bc4922f7 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=46f76fe27e280afd902c4af015dc2782a2daccd6 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e65e1a0004168faa6d2b5b6bcc16eef99eab4a20 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=5c3235ead24ec48884aa74ebacc9bb9c7ce8e478 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=7e233f68be81d8e7dda5aa45aa0743c5fed0f0d2 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e649feb3a6947599308c5076954fa66b06d1b6e7 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=ef47e30ee56acc2944362ea917c2ea2f854d6e4b (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=c28ab6858fb558b201c7f88ea9cc719fd5144d72 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=31640f52c2a9e63fce6b76435129c2d55e4dfa08 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=328cfed59ea638085689a567562a1d9255e75fe0 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=95c57dbcf5fe255ac240d7327f27a232298d782b (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e7d9990c74834bb387b39eb8e3e952700f04e1a3 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=a0eea5a8c85498ab49c17980534259bb33ed27cb (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=549655c402d1ca3074b8f36e50f1e2a048958a5a (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=0d61474a88681ac1f14d88c94c229adc840d38f8 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=cd15aab0dd7d66d0c875bc9084b7d75d734b933e (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=63289a136150f379cd8b21e2a964e1cf910ff6a2 (commit)
      from  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=18dd3347a9e1a5dade7d6fab82cae2ef31b30ab2 (commit)

Summary of changes:
 lib/MusicBrainz/Server/Controller/Collection.pm    |    6 ++-
 lib/MusicBrainz/Server/Controller/Label.pm         |    1 +
 .../Server/Controller/Role/WikipediaExtract.pm     |    2 +
 lib/MusicBrainz/Server/Data/Artist.pm              |   43 +++------------
 lib/MusicBrainz/Server/Data/Label.pm               |   29 ++++++++++
 lib/MusicBrainz/Server/Data/URL.pm                 |    1 +
 lib/MusicBrainz/Server/Data/Utils/Cleanup.pm       |   25 +++++++++
 lib/MusicBrainz/Server/Data/Utils/Uniqueness.pm    |   56 ++++++++++++++++++++
 lib/MusicBrainz/Server/Data/Work.pm                |   40 ++-------------
 lib/MusicBrainz/Server/Edit/Exceptions.pm          |    5 ++-
 lib/MusicBrainz/Server/Edit/Generic/Edit.pm        |   17 ++++++-
 .../Entity/URL/{GooglePlus.pm => OpenLibrary.pm}   |    6 +--
 lib/MusicBrainz/Server/Exceptions.pm               |    6 ++
 lib/MusicBrainz/Server/Filters.pm                  |    8 ++--
 lib/MusicBrainz/Server/Track.pm                    |   18 ++++--
 root/collection/index.tt                           |    2 +
 root/components/common-macros.tt                   |    1 +
 root/edit/details/add_release.tt                   |   10 ++--
 root/edit/details/edit_release.tt                  |   20 ++++----
 root/label/index.tt                                |    8 +++
 root/release/edit/information.tt                   |    4 +-
 root/release/merge.tt                              |    2 +
 root/static/images/favicons/openlibrary-16.png     |  Bin 0 -> 196 bytes
 root/static/scripts/common/MB/utility.js           |   34 ++++++------
 root/static/scripts/edit/MB/Control/URLCleanup.js  |   14 ++++--
 root/static/scripts/tests/Control/URLCleanup.js    |   44 +++++++++++++++-
 root/static/styles/extra/user.css                  |    6 +--
 root/static/styles/layout.css                      |    4 ++
 root/user/profile.tt                               |    6 +--
 t/lib/t/MusicBrainz/Server/Data/Artist.pm          |   29 ++++++++++
 t/lib/t/MusicBrainz/Server/Data/Label.pm           |   29 ++++++++++
 t/lib/t/MusicBrainz/Server/Edit/Artist/Edit.pm     |   33 ++++++++++++
 t/lib/t/MusicBrainz/Server/Filters.pm              |    7 +++
 33 files changed, 379 insertions(+), 137 deletions(-)
 create mode 100644 lib/MusicBrainz/Server/Data/Utils/Cleanup.pm
 create mode 100644 lib/MusicBrainz/Server/Data/Utils/Uniqueness.pm
 copy lib/MusicBrainz/Server/Entity/URL/{GooglePlus.pm => OpenLibrary.pm} (90%)
 create mode 100644 root/static/images/favicons/openlibrary-16.png

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b6ab2b37132bdcbba92ffba5e07343fbda71b4c6
Merge: ec5ba3d cbd056f
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 15:25:10 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-5771' into beta
    
    * reosarevok/mbs-5771:
      Adding utamap.com to the lyrics whitelist


commit ec5ba3d6bf1f64fdc6319ee404da368eaec56bce
Merge: 99efa55 5c3235e
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 15:23:30 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-5803' into beta
    
    # By reosarevok (2) and Frederik "Freso" S. Olesen (1)
    # Via Frederik "Freso" S. Olesen
    * reosarevok/mbs-5803:
      MBS-5803: Added tests for autoselects of work and release Second Hand Songs URLs.
      Added an autoselect test too
      Added autoselect for artist and release secondhandsong links
    
    Conflicts:
    	root/static/scripts/tests/Control/URLCleanup.js

diff --cc root/static/scripts/tests/Control/URLCleanup.js
index 6c1e42f,ff766af..018a38c
--- a/root/static/scripts/tests/Control/URLCleanup.js
+++ b/root/static/scripts/tests/Control/URLCleanup.js
@@@ -185,20 -180,19 +185,32 @@@ MB.tests.URLCleanup.GuessType = functio
                      'recording', 'http://www.allmusic.com/performance/le-nozze-di-figaro-the-marriage-of-figaro-opera-k-492-mq0000061129/credits',
                      MB.constants.LINK_TYPES.allmusic.recording
                  ],
 +                // Open Library
 +                [
 +                    'artist', 'http://openlibrary.org/authors/OL23919A/',
 +                    MB.constants.LINK_TYPES.otherdatabases.artist
 +                ],
 +                [
 +                    'release', 'http://openlibrary.org/books/OL8993487M/',
 +                    MB.constants.LINK_TYPES.otherdatabases.release
 +                ],
 +                [
 +                    'work', 'http://openlibrary.org/works/OL82592W/',
 +                    MB.constants.LINK_TYPES.otherdatabases.work
++                ],
+                 // Second Hand Songs
+                 [
+                     'artist', 'http://www.secondhandsongs.com/artist/103',
+                     MB.constants.LINK_TYPES.secondhandsongs.artist
 -                ]
++                ],
+                 [
+                     'release', 'http://www.secondhandsongs.com/release/888',
+                     MB.constants.LINK_TYPES.secondhandsongs.release
 -                ]
++                ],
+                 [
+                     'work', 'http://www.secondhandsongs.com/work/1409',
+                     MB.constants.LINK_TYPES.secondhandsongs.work
                  ]
- 
              ];
  
          $.each(tests, function(i, test) {

commit 99efa55bf4d85cdfb0565e5a78331e7b958359b0
Merge: f290269 46f76fe
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 15:15:51 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-1413' into beta
    
    * reosarevok/mbs-1413:
      Removing duplicate styling
      Changed bio to allow wiki format. Removed hideous border.


commit f290269d8bbef485974b715199555b16409d26b7
Merge: 9fc001d 7273aec
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 15:08:22 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-5434' into beta
    
    * reosarevok/mbs-5434:
      Standardising how we refer to RG types


commit 9fc001d2a09b94654825490acb389c5539b46314
Merge: 066478c b2df889
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 15:04:44 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-5605' into beta
    
    * reosarevok/mbs-5605:
      Adding ratings to collection pages


commit cbd056f2f8f2cba97a655ae22dcbc0a9e1ffe1ff
Merge: 6c87ac8 18dd334
Author: reosarevok <[email protected]>
Date:   Sun Feb 3 15:03:33 2013 +0000

    Merge branch 'beta' of git://git.musicbrainz.org/musicbrainz-server into mbs-5771
    
    Conflicts:
    	root/static/scripts/edit/MB/Control/URLCleanup.js

diff --cc root/static/scripts/edit/MB/Control/URLCleanup.js
index 7d45dd5,3cd8cbc..9dfaa73
--- a/root/static/scripts/edit/MB/Control/URLCleanup.js
+++ b/root/static/scripts/edit/MB/Control/URLCleanup.js
@@@ -1,4 -1,4 +1,5 @@@
  /*
++
     This file is part of MusicBrainz, the open internet music database.
     Copyright (C) 2010 MetaBrainz Foundation
  
@@@ -271,8 -271,11 +272,11 @@@ MB.constants.CLEANUPS = 
          }
      },
      lyrics: {
-         match: new RegExp("^(https?://)?([^/]+\\.)?(lyrics\\.wikia\\.com|directlyrics\\.com|lyricstatus\\.com|kasi-time\\.com|wikisource\\.org|recmusic\\.org|utamap\\.com)", "i"),
-         type: MB.constants.LINK_TYPES.lyrics
 -        match: new RegExp("^(https?://)?([^/]+\\.)?(lyrics\\.wikia\\.com|directlyrics\\.com|lyricstatus\\.com|kasi-time\\.com|wikisource\\.org|recmusic\\.org|j-lyric\\.net)", "i"),
++        match: new RegExp("^(https?://)?([^/]+\\.)?(lyrics\\.wikia\\.com|directlyrics\\.com|lyricstatus\\.com|kasi-time\\.com|wikisource\\.org|recmusic\\.org|utamap\\.com|j-lyric\\.net)", "i"),
+         type: MB.constants.LINK_TYPES.lyrics,
+         clean: function(url) {
+             return url.replace(/^https:\/\/([a-z-]+\.)?wikisource\.org/, "http://$1wikisource.org");
+         }
      },
      bbcmusic: {
          match: new RegExp("^(https?://)?(www\\.)?bbc\\.co\\.uk/music/artists/", "i"),

commit 066478cb84d96056db1fd9edd78001f14c9f1db7
Merge: 995f3da 07c0720
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:53:32 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-4880' into beta
    
    * reosarevok/mbs-4880:
      Adding a small bit of text about positions needing to match


commit 995f3da8f8be45a977e4b9691e31c43a98fda60e
Merge: 73d84a2 a416af4
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:51:28 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-5707' into beta
    
    * reosarevok/mbs-5707:
      Add IMDb for labels to the IMDb autoselect


commit 73d84a2b5d9d1d371684e124efb99002f4f0014c
Merge: 3bfc490 a8a7e17
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:50:18 2013 +0000

    Merge remote-tracking branch 'reosarevok/mbs-5810' into beta
    
    # By reosarevok
    # Via reosarevok
    * reosarevok/mbs-5810:
      Adding Open Library to the sidebar
      Add autocleanup for Open Library and tests
    
    Conflicts:
    	root/components/common-macros.tt

diff --cc root/components/common-macros.tt
index 7340f60,2311786..fc100db
--- a/root/components/common-macros.tt
+++ b/root/components/common-macros.tt
@@@ -728,7 -720,7 +728,8 @@@ END -%
      ELSIF url.url.host.search('rockinchina.com'); 'ric';
      ELSIF url.url.host.search('dhhu.dk'); 'dhhu';
      ELSIF url.url.host.search('thesession.org'); 'thesession';
 +    ELSIF url.url.host.search('plus.google.com'); 'googleplus';
+     ELSIF url.url.host.search('openlibrary.org'); 'openlibrary';
      ELSIF url.url.as_string.search('recmusic.org/lieder'); 'lieder';
      ELSE; '';
  END -%]

commit 3bfc49059b441a3a349bf03c75a62cbd0fe33867
Merge: b2837fe c28ab68
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:47:54 2013 +0000

    Merge branch 'mbs-5765' into beta
    
    * mbs-5765:
      MBS-5765: Use the same implementation of FormatTrackLength (Perl) in formatTrackLength (JS)
      MBS-5765: Correctly render a duration in seconds as hours, minutes, seconds


commit b2837feca4f5c363840f39197e20ceb1c4ed7a1c
Merge: 20cd3a4 31640f5
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:46:59 2013 +0000

    Merge branch 'mbs-5763' into beta
    
    * mbs-5763:
      MBS-5763: Also translate release attributes in add release
      MBS-5763: Use l_name when display release attributes


commit 20cd3a4b082424b25a407d70e6c9b47179906743
Merge: e21cbf4 328cfed
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:46:10 2013 +0000

    Merge branch 'mbs-5732' into beta
    
    * mbs-5732:
      MBS-5732: Refactor the 'used in relationship' SQL
      MBS-5732: Show the 'cleanup' banner for labels with no releases or relationships
    
    Conflicts:
    	lib/MusicBrainz/Server/Data/Artist.pm
    	lib/MusicBrainz/Server/Data/Label.pm

diff --cc lib/MusicBrainz/Server/Data/Artist.pm
index fcc61c8,00e1959..0ed8e6f
--- a/lib/MusicBrainz/Server/Data/Artist.pm
+++ b/lib/MusicBrainz/Server/Data/Artist.pm
@@@ -21,7 -21,7 +21,8 @@@ use MusicBrainz::Server::Data::Utils qw
      placeholders
      query_to_list_limited
  );
+ use MusicBrainz::Server::Data::Utils::Cleanup qw( used_in_relationship );
 +use MusicBrainz::Server::Data::Utils::Uniqueness qw( assert_uniqueness_conserved );
  
  extends 'MusicBrainz::Server::Data::CoreEntity';
  with 'MusicBrainz::Server::Data::Role::Annotation' => { type => 'artist' };
diff --cc lib/MusicBrainz/Server/Data/Label.pm
index 95536f1,0be0554..218dfb4
--- a/lib/MusicBrainz/Server/Data/Label.pm
+++ b/lib/MusicBrainz/Server/Data/Label.pm
@@@ -18,7 -19,7 +19,8 @@@ use MusicBrainz::Server::Data::Utils qw
      query_to_list
      query_to_list_limited
  );
+ use MusicBrainz::Server::Data::Utils::Cleanup qw( used_in_relationship );
 +use MusicBrainz::Server::Data::Utils::Uniqueness qw( assert_uniqueness_conserved );
  
  extends 'MusicBrainz::Server::Data::CoreEntity';
  with 'MusicBrainz::Server::Data::Role::Annotation' => { type => 'label' };

commit e21cbf4b07bad34b423ed45ad961003834f4f878
Merge: f63857d 95c57db
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:44:44 2013 +0000

    Merge branch 'mbs-5696' into beta
    
    * mbs-5696:
      MBS-5696: Make ModBot leave schema independent URLs
      MBS-5696: Assert uniqueness for labels also
      MBS-5696: Catch DuplicateViolation errors in Generic::Edit and echo them via ModBot
      MBS-5696: Throw duplicate violation exceptions when editing artists
    
    Conflicts:
    	t/lib/t/MusicBrainz/Server/Filters.pm

diff --cc t/lib/t/MusicBrainz/Server/Filters.pm
index bb274d5,ad5ca6e..3e815c3
--- a/t/lib/t/MusicBrainz/Server/Filters.pm
+++ b/t/lib/t/MusicBrainz/Server/Filters.pm
@@@ -7,20 -7,24 +7,27 @@@ use utf8
  use MusicBrainz::Server::Filters qw( format_editnote format_wikitext );
  
  test 'Edit note syntax' => sub {
 -    is(format_editnote("'''bold'''"), '<strong>bold</strong>');
 -    is(format_editnote("''italic''"), '<em>italic</em>');
 -    is(format_editnote("'''''bold + italic'''''"), '<em><strong>bold + italic</strong></em>');
 +    is(format_editnote("'''bold'''"), '<strong>bold</strong>', 'triple-quotes produce bold');
 +    is(format_editnote("''italic''"), '<em>italic</em>', 'double-quotes produce italics');
 +    is(format_editnote("'''''bold + italic'''''"), '<em><strong>bold + italic</strong></em>', 'double and triple quotes together produce bold + italic');
      is(format_editnote("<script>alert('in ur edit notez')</script>"),
 -       "&lt;script&gt;alert('in ur edit notez')&lt;/script&gt;");
 +       "&lt;script&gt;alert('in ur edit notez')&lt;/script&gt;", 'script tags are sanitized');
  
      is(format_editnote("http://musicbrainz.org"),
 -       '<a href="http://musicbrainz.org">http://musicbrainz.org</a>');
 +       '<a href="http://musicbrainz.org">http://musicbrainz.org</a>', 'plain-http links are created');
 +
 +    is(format_editnote("https://musicbrainz.org"),
 +       '<a href="https://musicbrainz.org">https://musicbrainz.org</a>', 'https links are created');
  
+     is(format_editnote("//musicbrainz.org"),
+        '<a href="//musicbrainz.org">//musicbrainz.org</a>');
+ 
+     is(format_editnote("foo://musicbrainz.org"),
+        'foo://musicbrainz.org',
+        'Only http://, https://, and // match');
+ 
      is(format_editnote("www.musicbrainz.org"),
 -       '<a href="http://www.musicbrainz.org">www.musicbrainz.org</a>');
 +       '<a href="http://www.musicbrainz.org">www.musicbrainz.org</a>', 'links marked only by www. get linked');
  
      is(format_editnote("http://allmusic.com/artist/house-of-lords-p4516/biography"),
         '<a href="http://allmusic.com/artist/house-of-lords-p4516/biography">http://allmusic.com/artist/house-of-lords-p4516/&#8230;</a>');

commit f63857d70967c6f7a0af8fc61033db5a3fd67748
Merge: 18dd334 ef47e30
Author: Oliver Charles <[email protected]>
Date:   Sun Feb 3 14:42:41 2013 +0000

    Merge branch 'mbs-5797' into beta
    
    * mbs-5797:
      MBS-5797: Don't crash on non-Wikipedia Wikipedia relationships


commit a8a7e1733fd2b61fb2240c8c0668e19ea40cdb42
Author: reosarevok <[email protected]>
Date:   Sun Feb 3 09:35:16 2013 +0000

    Adding Open Library to the sidebar

diff --git a/lib/MusicBrainz/Server/Data/URL.pm b/lib/MusicBrainz/Server/Data/URL.pm
index fff5758..7e34394 100644
--- a/lib/MusicBrainz/Server/Data/URL.pm
+++ b/lib/MusicBrainz/Server/Data/URL.pm
@@ -42,6 +42,7 @@ my %URL_SPECIALIZATIONS = (
     'MusikSammler'    => qr{^https?://(?:www.)?musik-sammler.de/}i,
     'MySpace'         => qr{^https?://(?:www.)?myspace.com/}i,
     'OCReMix'         => qr{^https?://(?:www.)?ocremix.org/}i,
+    'OpenLibrary'     => qr{^https?://(?:www.)?openlibrary.org/}i,
     'Ozon'            => qr{^https?://(?:www.)?ozon.ru/}i,
     'PsyDB'           => qr{^https?://(?:www.)?psydb.net/}i,
     'PureVolume'      => qr{^https?://(?:www.)?purevolume.com/}i,
diff --git a/lib/MusicBrainz/Server/Entity/URL/OpenLibrary.pm b/lib/MusicBrainz/Server/Entity/URL/OpenLibrary.pm
new file mode 100644
index 0000000..cf1ef38
--- /dev/null
+++ b/lib/MusicBrainz/Server/Entity/URL/OpenLibrary.pm
@@ -0,0 +1,34 @@
+package MusicBrainz::Server::Entity::URL::OpenLibrary;
+
+use Moose;
+
+extends 'MusicBrainz::Server::Entity::URL';
+with 'MusicBrainz::Server::Entity::URL::Sidebar';
+
+sub sidebar_name {
+    return "Open Library";
+}
+
+__PACKAGE__->meta->make_immutable;
+no Moose;
+1;
+
+=head1 COPYRIGHT
+
+Copyright (C) 2013 MetaBrainz Foundation
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+=cut
diff --git a/root/components/common-macros.tt b/root/components/common-macros.tt
index 5bed815..2311786 100644
--- a/root/components/common-macros.tt
+++ b/root/components/common-macros.tt
@@ -720,6 +720,7 @@ END -%]
     ELSIF url.url.host.search('rockinchina.com'); 'ric';
     ELSIF url.url.host.search('dhhu.dk'); 'dhhu';
     ELSIF url.url.host.search('thesession.org'); 'thesession';
+    ELSIF url.url.host.search('openlibrary.org'); 'openlibrary';
     ELSIF url.url.as_string.search('recmusic.org/lieder'); 'lieder';
     ELSE; '';
 END -%]
diff --git a/root/static/images/favicons/openlibrary-16.png b/root/static/images/favicons/openlibrary-16.png
new file mode 100644
index 0000000..341ca6b
Binary files /dev/null and b/root/static/images/favicons/openlibrary-16.png differ
diff --git a/root/static/styles/layout.css b/root/static/styles/layout.css
index b3473c1..0db7f39 100644
--- a/root/static/styles/layout.css
+++ b/root/static/styles/layout.css
@@ -571,6 +571,10 @@ div.warning img.warning {
     background-image: url("../images/favicons/lieder-16.png");
 }
 
+#sidebar ul.external_links li.openlibrary {
+    background-image: url("../images/favicons/openlibrary-16.png");
+}
+
 #sidebar .cover-art {
     text-align: center;
 }

commit 8a2024ddae2a5827ad1f31ff4417654bb3ff25e0
Author: reosarevok <[email protected]>
Date:   Sun Feb 3 09:20:28 2013 +0000

    Add autocleanup for Open Library and tests

diff --git a/root/static/scripts/edit/MB/Control/URLCleanup.js b/root/static/scripts/edit/MB/Control/URLCleanup.js
index 309fada..b58a509 100644
--- a/root/static/scripts/edit/MB/Control/URLCleanup.js
+++ b/root/static/scripts/edit/MB/Control/URLCleanup.js
@@ -373,7 +373,7 @@ MB.constants.CLEANUPS = {
         type: MB.constants.LINK_TYPES.vgmdb
     },
     otherdatabases: {
-        match: new RegExp("^(https?://)?(www\\.)?(rateyourmusic\\.com/|worldcat\\.org/|musicmoz\\.org/|45cat\\.com/|musik-sammler\\.de/|discografia\\.dds\\.it/|tallinn\\.ester\\.ee/|tartu\\.ester\\.ee/|encyclopedisque\\.fr/|discosdobrasil\\.com\\.br/|isrc\\.ncl\\.edu\\.tw/|rolldabeats\\.com/|psydb\\.net/|metal-archives\\.com/|spirit-of-metal\\.com/|ibdb\\.com/|lortel.\\org/|theatricalia\\.com/|ocremix\\.org/|(trove\\.)?nla\\.gov\\.au/|(wiki\\.)?rockinchina\\.com|(www\\.)?dhhu\\.dk|thesession\\.org)", "i"),
+        match: new RegExp("^(https?://)?(www\\.)?(rateyourmusic\\.com/|worldcat\\.org/|musicmoz\\.org/|45cat\\.com/|musik-sammler\\.de/|discografia\\.dds\\.it/|tallinn\\.ester\\.ee/|tartu\\.ester\\.ee/|encyclopedisque\\.fr/|discosdobrasil\\.com\\.br/|isrc\\.ncl\\.edu\\.tw/|rolldabeats\\.com/|psydb\\.net/|metal-archives\\.com/|spirit-of-metal\\.com/|ibdb\\.com/|lortel.\\org/|theatricalia\\.com/|ocremix\\.org/|(trove\\.)?nla\\.gov\\.au/|(wiki\\.)?rockinchina\\.com|(www\\.)?dhhu\\.dk|thesession\\.org|openlibrary\\.org)", "i"),
         type: MB.constants.LINK_TYPES.otherdatabases,
         clean: function(url) {
             //Removing cruft from Worldcat URLs
@@ -390,6 +390,8 @@ MB.constants.CLEANUPS = {
             url = url.replace(/^(?:https?:\/\/)?(www\.)?dhhu\.dk\/w\/(.*)+$/, "http://www.dhhu.dk/w/$2");
             //Standardising The Session
             url = url.replace(/^(?:https?:\/\/)?(www\.)?thesession\.org\/([^\/]+)(\/.*)?\/([0-9]+)+(#.*)*$/, "http://thesession.org/$2/$4");
+            //Standardising Open Library
+            url = url.replace(/^(?:https?:\/\/)?(www\.)?openlibrary\.org\/(authors|books|works)\/(OL[0-9]+[AMW]\/)(.*)*$/, "http://openlibrary.org/$2/$3");
             return url;
         }
     }
diff --git a/root/static/scripts/tests/Control/URLCleanup.js b/root/static/scripts/tests/Control/URLCleanup.js
index acce8c3..b63a7fc 100644
--- a/root/static/scripts/tests/Control/URLCleanup.js
+++ b/root/static/scripts/tests/Control/URLCleanup.js
@@ -179,6 +179,19 @@ MB.tests.URLCleanup.GuessType = function() {
                 [
                     'recording', 'http://www.allmusic.com/performance/le-nozze-di-figaro-the-marriage-of-figaro-opera-k-492-mq0000061129/credits',
                     MB.constants.LINK_TYPES.allmusic.recording
+                ],
+                // Open Library
+                [
+                    'artist', 'http://openlibrary.org/authors/OL23919A/',
+                    MB.constants.LINK_TYPES.otherdatabases.artist
+                ],
+                [
+                    'release', 'http://openlibrary.org/books/OL8993487M/',
+                    MB.constants.LINK_TYPES.otherdatabases.release
+                ],
+                [
+                    'work', 'http://openlibrary.org/works/OL82592W/',
+                    MB.constants.LINK_TYPES.otherdatabases.work
                 ]
 
             ];
@@ -455,7 +468,13 @@ MB.tests.URLCleanup.GuessType = function() {
                 [
                     'http://sv.m.wikipedia.org/wiki/Bullet',
                     'http://sv.wikipedia.org/wiki/Bullet',
+                ],
+                // Open Library
+                [
+                    'http://openlibrary.org/books/OL8993487M/Harry_Potter_and_the_Philosopher\'s_Stone',
+                    'http://openlibrary.org/books/OL8993487M/',
                 ]
+
             ];
 
         $.each(tests, function(i, test) {

commit a416af496bca3d4c45188e5c4a431f237eec0244
Author: reosarevok <[email protected]>
Date:   Sun Feb 3 08:53:40 2013 +0000

    Add IMDb for labels to the IMDb autoselect

diff --git a/root/static/scripts/edit/MB/Control/URLCleanup.js b/root/static/scripts/edit/MB/Control/URLCleanup.js
index 309fada..eee3e0c 100644
--- a/root/static/scripts/edit/MB/Control/URLCleanup.js
+++ b/root/static/scripts/edit/MB/Control/URLCleanup.js
@@ -33,7 +33,8 @@ MB.constants.LINK_TYPES = {
     },
     imdb: {
         release_group: 97,
-        artist: 178
+        artist: 178,
+        label: 313
     },
     myspace: {
         artist: 189,
diff --git a/root/static/scripts/tests/Control/URLCleanup.js b/root/static/scripts/tests/Control/URLCleanup.js
index acce8c3..445e65c 100644
--- a/root/static/scripts/tests/Control/URLCleanup.js
+++ b/root/static/scripts/tests/Control/URLCleanup.js
@@ -63,6 +63,7 @@ MB.tests.URLCleanup.GuessType = function() {
                     'work', 'http://thesession.org/tunes/2305',
                     MB.constants.LINK_TYPES.otherdatabases.work
                 ],
+                // IMDb
                 [
                     'artist', 'http://www.imdb.com/name/nm1539156/',
                     MB.constants.LINK_TYPES.imdb.artist
@@ -71,7 +72,11 @@ MB.tests.URLCleanup.GuessType = function() {
                     'release_group', 'http://www.imdb.com/title/tt0421082/',
                     MB.constants.LINK_TYPES.imdb.release_group
                 ],
-
+                [
+                    'label', 'http://www.imdb.com/company/co0109498/',
+                    MB.constants.LINK_TYPES.imdb.label
+                ],
+                // MySpace
                 [
                     'artist', 'http://www.myspace.com/instramentaluk',
                     MB.constants.LINK_TYPES.myspace.artist

commit 6c87ac8e26ecfaf3ae70ef35e8dc0d15b0a9bf38
Author: reosarevok <[email protected]>
Date:   Sun Feb 3 00:50:54 2013 +0000

    Adding utamap.com to the lyrics whitelist

diff --git a/root/static/scripts/edit/MB/Control/URLCleanup.js b/root/static/scripts/edit/MB/Control/URLCleanup.js
index 309fada..7d45dd5 100644
--- a/root/static/scripts/edit/MB/Control/URLCleanup.js
+++ b/root/static/scripts/edit/MB/Control/URLCleanup.js
@@ -271,7 +271,7 @@ MB.constants.CLEANUPS = {
         }
     },
     lyrics: {
-        match: new RegExp("^(https?://)?([^/]+\\.)?(lyrics\\.wikia\\.com|directlyrics\\.com|lyricstatus\\.com|kasi-time\\.com|wikisource\\.org|recmusic\\.org)", "i"),
+        match: new RegExp("^(https?://)?([^/]+\\.)?(lyrics\\.wikia\\.com|directlyrics\\.com|lyricstatus\\.com|kasi-time\\.com|wikisource\\.org|recmusic\\.org|utamap\\.com)", "i"),
         type: MB.constants.LINK_TYPES.lyrics
     },
     bbcmusic: {
diff --git a/root/static/scripts/tests/Control/URLCleanup.js b/root/static/scripts/tests/Control/URLCleanup.js
index acce8c3..0926850 100644
--- a/root/static/scripts/tests/Control/URLCleanup.js
+++ b/root/static/scripts/tests/Control/URLCleanup.js
@@ -129,6 +129,10 @@ MB.tests.URLCleanup.GuessType = function() {
                     MB.constants.LINK_TYPES.lyrics.work
                 ],
                 [
+                    'work', 'http://www.utamap.com/showkasi.php?surl=34985',
+                    MB.constants.LINK_TYPES.lyrics.work
+                ],
+                [
                     'recording', 'http://vimeo.com/1109226',
                     MB.constants.LINK_TYPES.streamingmusic.recording
                 ],

commit 07c0720fe3241a28b0672e6c2dc956d314bd7ef2
Author: reosarevok <[email protected]>
Date:   Sat Feb 2 21:33:08 2013 +0000

    Adding a small bit of text about positions needing to match

diff --git a/root/release/merge.tt b/root/release/merge.tt
index 758fcf8..b0cdf5f 100644
--- a/root/release/merge.tt
+++ b/root/release/merge.tt
@@ -135,6 +135,8 @@
           <p>[% l('This merge strategy will merge all mediums together into a single set of mediums. Recordings
                    between mediums will also be merged, into the recordings used on the target mediums.') %]</p>
           <p>[% l('This requires that corresponding mediums have the same number of tracks.') %]</p>
+          <p>[% l('Make sure all mediums in the releases being merged are in the correct position. For example, to merge a medium into 
+                   medium 2 of a release, it will need to be set as medium 2 of the release being merged.') %]</p>
 
           [% IF bad_recording_merges.size %]
             [% warning(l('The recording artists do not match! Perhaps you meant to use the "append mediums" merge strategy?')) %]

commit b2df889f6a2f2bd1486a0d0eb602eed8da1c4f77
Author: reosarevok <[email protected]>
Date:   Sat Feb 2 18:20:17 2013 +0000

    Adding ratings to collection pages

diff --git a/lib/MusicBrainz/Server/Controller/Collection.pm b/lib/MusicBrainz/Server/Controller/Collection.pm
index 2e6c9e9..7fb4ffd 100644
--- a/lib/MusicBrainz/Server/Controller/Collection.pm
+++ b/lib/MusicBrainz/Server/Controller/Collection.pm
@@ -89,7 +89,11 @@ sub show : Chained('load') PathPart('')
     $c->model('Country')->load(@$releases);
     $c->model('ReleaseLabel')->load(@$releases);
     $c->model('Label')->load(map { $_->all_labels } @$releases);
-
+    $c->model('ReleaseGroup')->load(@$releases);
+    $c->model('ReleaseGroup')->load_meta(map { $_->release_group } @$releases);
+    if ($c->user_exists) {
+        $c->model('ReleaseGroup')->rating->load_user_ratings($c->user->id, map { $_->release_group } @$releases);
+    }
     $c->stash(
         collection => $collection,
         order => $order,
diff --git a/root/collection/index.tt b/root/collection/index.tt
index 16e4e1f..f31aadf 100644
--- a/root/collection/index.tt
+++ b/root/collection/index.tt
@@ -15,6 +15,7 @@
                   [% sortble_table_header('country', l('Country')) %]
                   [% sortble_table_header('label', l('Label')) %]
                   [% sortble_table_header('catno', l('Catalog#')) %]
+                  <th>[% l('Rating') %]</th>
               </tr>
           </thead>
           <tbody>
@@ -39,6 +40,7 @@
                   </td>
                   <td>[% release_label_list(release.labels) %]</td>
                   <td>[% release_catno_list(release.labels) %]</td>
+                  <td>[% rating_stars(release.release_group) %]</td>
               </tr>
               [%- END -%]
           </tbody>

commit 7273aecbc59a6b7e8b1c9034462f7ed9bc4922f7
Author: reosarevok <[email protected]>
Date:   Sat Feb 2 15:54:13 2013 +0000

    Standardising how we refer to RG types

diff --git a/root/release/edit/information.tt b/root/release/edit/information.tt
index 1bf8151..abc7746 100644
--- a/root/release/edit/information.tt
+++ b/root/release/edit/information.tt
@@ -40,8 +40,8 @@
 
       [%# FIXME: should only be editable on Add Release. %]
       [% IF !release_group %]
-        [% form_row_select (r, 'primary_type_id', l('Type:')) %]
-        [% form_row_select (r, 'secondary_type_ids', l('Extra Types:')) %]
+        [% form_row_select (r, 'primary_type_id', l('Primary Type:')) %]
+        [% form_row_select (r, 'secondary_type_ids', l('Secondary Types:')) %]
       [% ELSE %]
         <div class="row">
           <div class="label">[% l('Type:') %]</div>

commit 46f76fe27e280afd902c4af015dc2782a2daccd6
Author: reosarevok <[email protected]>
Date:   Sat Feb 2 08:22:24 2013 +0000

    Removing duplicate styling

diff --git a/root/static/styles/extra/user.css b/root/static/styles/extra/user.css
index 1009c64..97900f4 100644
--- a/root/static/styles/extra/user.css
+++ b/root/static/styles/extra/user.css
@@ -19,10 +19,6 @@ dl.profileinfo dd {
     margin-left: 130px;
 }
 
-dl.profileinfo dd.biography {
-    padding: 5px;
-}
-
 dd.biography p { margin-top: 0px }
 
 table.statistics {

commit e65e1a0004168faa6d2b5b6bcc16eef99eab4a20
Author: reosarevok <[email protected]>
Date:   Fri Feb 1 22:53:42 2013 +0000

    Changed bio to allow wiki format. Removed hideous border.

diff --git a/root/static/styles/extra/user.css b/root/static/styles/extra/user.css
index 4a15311..1009c64 100644
--- a/root/static/styles/extra/user.css
+++ b/root/static/styles/extra/user.css
@@ -20,11 +20,11 @@ dl.profileinfo dd {
 }
 
 dl.profileinfo dd.biography {
-    border: 1px solid #ADB9CC;
     padding: 5px;
-    margin-left: 135px;
 }
 
+dd.biography p { margin-top: 0px }
+
 table.statistics {
     float: left;
     border-collapse: collapse;
diff --git a/root/user/profile.tt b/root/user/profile.tt
index fe5e36a..586cf5b 100644
--- a/root/user/profile.tt
+++ b/root/user/profile.tt
@@ -1,4 +1,3 @@
-[% extra_css = "user.css" %]
 [% WRAPPER "user/profile/layout.tt" page="index" %]
     [% BLOCK property %]
         <dt class="[% class %]">
@@ -110,9 +109,8 @@
             [% END %]
 
         [% IF user.biography %]
-            [% bio_class = 'biography' IF user.biography %]
-            [% WRAPPER property name=l("Bio:") class=bio_class %]
-                [% html_escape(user.biography).split("\n").join("<br />") %]
+            [% WRAPPER property name=l("Bio:") class='biography' %]
+                [% user.biography | format_wikitext %]
             [% END %]
         [% END %]
 

commit 5c3235ead24ec48884aa74ebacc9bb9c7ce8e478
Author: Frederik "Freso" S. Olesen <[email protected]>
Date:   Thu Jan 31 12:55:21 2013 +0100

    MBS-5803: Added tests for autoselects of work and release Second Hand Songs URLs.

diff --git a/root/static/scripts/tests/Control/URLCleanup.js b/root/static/scripts/tests/Control/URLCleanup.js
index 889d9f5..ff766af 100644
--- a/root/static/scripts/tests/Control/URLCleanup.js
+++ b/root/static/scripts/tests/Control/URLCleanup.js
@@ -180,10 +180,19 @@ MB.tests.URLCleanup.GuessType = function() {
                     'recording', 'http://www.allmusic.com/performance/le-nozze-di-figaro-the-marriage-of-figaro-opera-k-492-mq0000061129/credits',
                     MB.constants.LINK_TYPES.allmusic.recording
                 ],
+                // Second Hand Songs
                 [
                     'artist', 'http://www.secondhandsongs.com/artist/103',
                     MB.constants.LINK_TYPES.secondhandsongs.artist
                 ]
+                [
+                    'release', 'http://www.secondhandsongs.com/release/888',
+                    MB.constants.LINK_TYPES.secondhandsongs.release
+                ]
+                [
+                    'work', 'http://www.secondhandsongs.com/work/1409',
+                    MB.constants.LINK_TYPES.secondhandsongs.work
+                ]
             ];
 
         $.each(tests, function(i, test) {

commit 7e233f68be81d8e7dda5aa45aa0743c5fed0f0d2
Author: reosarevok <[email protected]>
Date:   Wed Jan 30 13:23:16 2013 +0000

    Added an autoselect test too

diff --git a/root/static/scripts/tests/Control/URLCleanup.js b/root/static/scripts/tests/Control/URLCleanup.js
index acce8c3..889d9f5 100644
--- a/root/static/scripts/tests/Control/URLCleanup.js
+++ b/root/static/scripts/tests/Control/URLCleanup.js
@@ -179,8 +179,11 @@ MB.tests.URLCleanup.GuessType = function() {
                 [
                     'recording', 'http://www.allmusic.com/performance/le-nozze-di-figaro-the-marriage-of-figaro-opera-k-492-mq0000061129/credits',
                     MB.constants.LINK_TYPES.allmusic.recording
+                ],
+                [
+                    'artist', 'http://www.secondhandsongs.com/artist/103',
+                    MB.constants.LINK_TYPES.secondhandsongs.artist
                 ]
-
             ];
 
         $.each(tests, function(i, test) {

commit e649feb3a6947599308c5076954fa66b06d1b6e7
Author: reosarevok <[email protected]>
Date:   Wed Jan 30 13:19:11 2013 +0000

    Added autoselect for artist and release secondhandsong links

diff --git a/root/static/scripts/edit/MB/Control/URLCleanup.js b/root/static/scripts/edit/MB/Control/URLCleanup.js
index 309fada..6f2ce9a 100644
--- a/root/static/scripts/edit/MB/Control/URLCleanup.js
+++ b/root/static/scripts/edit/MB/Control/URLCleanup.js
@@ -95,7 +95,9 @@ MB.constants.LINK_TYPES = {
         work: 274
     },
     secondhandsongs: {
-        work: 280
+        work: 280,
+        artist: 307,
+        release: 308
     },
     songfacts: {
         work: 289

-----------------------------------------------------------------------


hooks/post-receive
-- 
mb_server