[mb-commits] branch, beta, updated. Merge branch 'mbs-3353-three-part-tracktimes' into beta MBS-3353: allow XX: XX...

MusicBrainz Git Server <[email protected]>
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1TTeFH-0000Aw-9i@wiley>
The branch, beta has been updated
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=252cdc27763dbf920cf6209b483a26e41fc6ac47 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=0f19f56aa0bc0ca886135a2c8676e0c356d46a50 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e92058c702bde5cb120972e5b52a0f24904b6c4d (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=ac7e03f646a8539f7758464964dee16a8dfadd34 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=977077d423aff0737f11a2b5123cec232b0da776 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=21628f07c8a6b47f5a1290f41a8a6ef10340a3d0 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=f3245d3ec000c05cd902dca01cd1dbf4d89540f7 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=dc4e0d5b3a015b06c83890db68f74630f4e91845 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=256ffd3bf0bb0173ffdf34670fc25ed4dec30f06 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=e4818ff56f64a5ecde9a25130d4aca0a1fa2ada2 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=c7356214c223388332cb389732675943e9c920d9 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=5d46d32aa96d8660d9c1d0bfe75a8bf95bc06d5e (commit)
      from  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=c5ccae2d806a22dfdd81d6206f8c41441a336769 (commit)

Summary of changes:
 lib/MusicBrainz/Server.pm                          |  133 +++++++++++---------
 lib/MusicBrainz/Server/Data/Search.pm              |    2 +-
 root/artist/edit_form.tt                           |    2 +-
 root/components/rdfa-macros.tt                     |    2 +-
 root/main/500.tt                                   |    5 +
 root/search/lib/inline-results-artist.tt           |    6 +
 root/static/scripts/edit/MB/Control/ArtistEdit.js  |   10 +-
 .../scripts/release-editor/MB/TrackParser.js       |    2 +-
 root/static/scripts/tests/TrackParser.js           |    6 +
 9 files changed, 104 insertions(+), 64 deletions(-)

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 252cdc27763dbf920cf6209b483a26e41fc6ac47
Merge: 0f19f56 256ffd3
Author: Ian McEwen <[email protected]>
Date:   Wed Oct 31 12:44:57 2012 -0700

    Merge branch 'mbs-3353-three-part-tracktimes' into beta


commit 0f19f56aa0bc0ca886135a2c8676e0c356d46a50
Merge: e92058c dc4e0d5
Author: Ian McEwen <[email protected]>
Date:   Wed Oct 31 12:44:27 2012 -0700

    Merge branch 'mbs-5485-rdfa-macros-html-escaping' into beta


commit e92058c702bde5cb120972e5b52a0f24904b6c4d
Merge: ac7e03f f3245d3
Author: Ian McEwen <[email protected]>
Date:   Wed Oct 31 12:43:40 2012 -0700

    Merge branch 'mbs-5477-artist-search-gender-country' into beta


commit ac7e03f646a8539f7758464964dee16a8dfadd34
Merge: 977077d 21628f0
Author: Ian McEwen <[email protected]>
Date:   Wed Oct 31 12:42:31 2012 -0700

    Merge branch 'mbs-4180' into beta


commit 977077d423aff0737f11a2b5123cec232b0da776
Merge: c5ccae2 e4818ff
Author: Ian McEwen <[email protected]>
Date:   Wed Oct 31 12:41:45 2012 -0700

    Merge branch 'mbs-5200-errors-i18n' into beta


commit 21628f07c8a6b47f5a1290f41a8a6ef10340a3d0
Author: Ian McEwen <[email protected]>
Date:   Sat Oct 20 03:38:39 2012 -0700

    MBS-4180: show preview and AC-being-changed separately

diff --git a/root/artist/edit_form.tt b/root/artist/edit_form.tt
index ba3125c..a06c4b3 100644
--- a/root/artist/edit_form.tt
+++ b/root/artist/edit_form.tt
@@ -63,7 +63,7 @@
         <p>
             [%- selected_acs = form.rename_artist_credit_set() -%]
             [% FOR ac IN artist_credits %]
-            <span class="rename-artist-credit"><input type="checkbox" name="edit-artist.rename_artist_credit" value="[% ac.id %]" [% IF selected_acs.item(ac.id) %]checked="checked"[% END %] />[% artist_credit(ac) %]</span><br />
+            <span class="rename-artist-credit"><input type="checkbox" name="edit-artist.rename_artist_credit" value="[% ac.id %]" [% IF selected_acs.item(ac.id) %]checked="checked"[% END %] />[% artist_credit(ac) %]<span class="ac-preview" style="display:none"><br />([% l('preview:') %] [% artist_credit(ac) %])</span></span><br />
             [% END %]
         </p>
       </fieldset>
diff --git a/root/static/scripts/edit/MB/Control/ArtistEdit.js b/root/static/scripts/edit/MB/Control/ArtistEdit.js
index db66a99..66596d6 100644
--- a/root/static/scripts/edit/MB/Control/ArtistEdit.js
+++ b/root/static/scripts/edit/MB/Control/ArtistEdit.js
@@ -85,14 +85,18 @@ MB.Control.ArtistEdit = function () {
             $ac.find('input').change(function() {
                 var checked = this.checked;
                 var new_name = self.$name.val();
-                $ac.find('a').each(function() {
+                $ac.find('span.ac-preview')[checked ? 'show' : 'hide']();
+                $ac.find('span.ac-preview a').each(function() {
                     var $link = $(this);
                     if ($link.data('old_name')) {
                         $link.text(checked ? new_name : $link.data('old_name'));
                     }
                 });
             });
-            $ac.find('a').each(function() {
+            $ac.find('input').each(function () {
+                $ac.find('span.ac-preview')[this.checked ? 'show' : 'hide']();
+            });
+            $ac.find('span.ac-preview a').each(function() {
                 var $link = $(this);
                 if (artist_re.test($link.attr('href'))) {
                     $link.data('old_name', $link.text());
@@ -104,7 +108,7 @@ MB.Control.ArtistEdit = function () {
             $('span.rename-artist-credit').each(function() {
                 var $ac = $(this);
                 if ($ac.find('input:checked').length) {
-                    $ac.find('a').each(function() {
+                    $ac.find('span.ac-preview a').each(function() {
                         var $link = $(this);
                         if ($link.data('old_name')) {
                             $link.text(new_name);

commit dc4e0d5b3a015b06c83890db68f74630f4e91845
Author: Ian McEwen <[email protected]>
Date:   Fri Oct 19 19:57:15 2012 -0700

    MBS-5485: escape artist.comment in rdfa_macros

diff --git a/root/components/rdfa-macros.tt b/root/components/rdfa-macros.tt
index 193a5d4..ea9626a 100644
--- a/root/components/rdfa-macros.tt
+++ b/root/components/rdfa-macros.tt
@@ -412,7 +412,7 @@ END -%]
     link = c.uri_for_action("/artist/$action", [ artist.gid ]);
     text = text == '' ? html_escape(artist.name) : html_escape(text);
     hover = html_escape(artist.sort_name);
-    IF artist.comment; hover = hover _ ' (' _ artist.comment _ ')'; END;
+    IF artist.comment; hover = hover _ ' (' _ html_escape(artist.comment) _ ')'; END;
     '<span class="mp">' IF artist.edits_pending AND action == 'show';
     '<a title="' _ hover _ '" rel="foaf:maker" resource="' _ rdfa_artist_curi(artist) _ '" href="' _ link _ '">' _ text _ '</a>';
     '</span>' IF artist.edits_pending AND action == 'show';

commit 256ffd3bf0bb0173ffdf34670fc25ed4dec30f06
Author: Ian McEwen <[email protected]>
Date:   Fri Oct 19 06:51:41 2012 -0700

    MBS-3353: allow XX:XX:XX track times in the track parser

diff --git a/root/static/scripts/release-editor/MB/TrackParser.js b/root/static/scripts/release-editor/MB/TrackParser.js
index 72c7259..e54b7bb 100644
--- a/root/static/scripts/release-editor/MB/TrackParser.js
+++ b/root/static/scripts/release-editor/MB/TrackParser.js
@@ -267,7 +267,7 @@ MB.TrackParser.Track = function (position, line, parent) {
         }
 
         var tmp = self.line.replace (/\s?\(\?:\?\?\)\s?$/, '');
-        self.line = tmp.replace(/\s?\(?\s?([0-90-9]+[:,.':,.][0-90-9][0-90-9])\s?\)?$/,
+        self.line = tmp.replace(/\s?\(?\s?((?:[0-90-9]+[:,.':,.])?[0-90-9]+[:,.':,.][0-90-9][0-90-9])\s?\)?$/,
             function (str, p1) {
                 if (self.parent.trackTimes()) {
                     self.duration = MB.utility.unformatTrackLength (MB.utility.fullWidthConverter(p1));
diff --git a/root/static/scripts/tests/TrackParser.js b/root/static/scripts/tests/TrackParser.js
index 7c0e467..db90328 100644
--- a/root/static/scripts/tests/TrackParser.js
+++ b/root/static/scripts/tests/TrackParser.js
@@ -98,6 +98,12 @@ MB.tests.TrackParser.BugFixes = function() {
                 expected: [ { title: "Love On A .45", duration: null } ],
                 bug: 'MBS-2902',
                 tracknumbers: true, vinylnumbers: false, tracktimes: true
+            },
+            {
+                input: "1. Love On A .45  05:22:31\n",
+                expected: [ { title: "Love On A .45", duration: 19351000 } ],
+                bug: 'MBS-3353',
+                tracknumbers: true, vinylnumbers: false, tracktimes: true
             }
         ];
 

commit e4818ff56f64a5ecde9a25130d4aca0a1fa2ada2
Author: Ian McEwen <[email protected]>
Date:   Wed Oct 10 10:53:32 2012 -0700

    MBS-5200: introduce with_translations, migrate finalize_error/dispatch to use it

diff --git a/lib/MusicBrainz/Server.pm b/lib/MusicBrainz/Server.pm
index 908ccae..230571a 100644
--- a/lib/MusicBrainz/Server.pm
+++ b/lib/MusicBrainz/Server.pm
@@ -247,50 +247,33 @@ around 'dispatch' => sub {
 
     $c->model('MB')->context->connector->refresh;
 
-    $_->instance->build_languages_from_header($c->req->headers) 
-        for qw( MusicBrainz::Server::Translation 
-	        MusicBrainz::Server::Translation::Statistics 
-		MusicBrainz::Server::Translation::Countries 
-		MusicBrainz::Server::Translation::Scripts 
-		MusicBrainz::Server::Translation::Languages 
-		MusicBrainz::Server::Translation::Attributes 
-		MusicBrainz::Server::Translation::Relationships 
-		MusicBrainz::Server::Translation::Instruments 
-		MusicBrainz::Server::Translation::InstrumentDescriptions );
-
-    my $cookie_lang = Translation->instance->language_from_cookie($c->request->cookies->{lang});
-    my $lang = Translation->instance->set_language($cookie_lang);
-    # because s///r is a perl 5.14 feature
-    my $html_lang = $lang;
-    $html_lang =~ s/_([A-Z]{2})/-\L$1/;
-    $c->stash(
-        current_language => $lang,
-        current_language_html => $html_lang
-    );
-
-    if(my $max_request_time = DBDefs::MAX_REQUEST_TIME) {
-        alarm($max_request_time);
-        POSIX::sigaction(
-            SIGALRM, POSIX::SigAction->new(sub {
-                $c->log->error(sprintf("Request for %s took over %d seconds. Killing process",
-                                       $c->req->uri,
-                                       $max_request_time));
-                $c->log->error(Devel::StackTrace->new->as_string);
-                $c->log->_flush;
-                if (my $sth = $c->model('MB')->context->sql->sth) {
-                    $sth->cancel;
-                }
-                exit(42)
-            }));
-
-        $c->$orig(@_);
-
-        alarm(0);
-    }
-    else {
-        $c->$orig(@_);
-    }
-    Translation->instance->unset_language();
+    with_translations($c, sub {
+        my $c = shift;
+        my $orig = shift;
+
+        if(my $max_request_time = DBDefs::MAX_REQUEST_TIME) {
+            alarm($max_request_time);
+            POSIX::sigaction(
+                SIGALRM, POSIX::SigAction->new(sub {
+                    $c->log->error(sprintf("Request for %s took over %d seconds. Killing process",
+                                           $c->req->uri,
+                                           $max_request_time));
+                    $c->log->error(Devel::StackTrace->new->as_string);
+                    $c->log->_flush;
+                    if (my $sth = $c->model('MB')->context->sql->sth) {
+                        $sth->cancel;
+                    }
+                    exit(42)
+                }));
+
+            $c->$orig(@_);
+
+            alarm(0);
+        }
+        else {
+            $c->$orig(@_);
+        }
+    }, $orig, @_);
 };
 
 sub gettext  { shift; Translation->instance->gettext(@_) }
@@ -323,33 +306,60 @@ sub execute {
     };
 }
 
-sub finalize_error {
+around 'finalize_error' => sub {
+    my $orig = shift;
     my $c = shift;
 
+    with_translations($c, sub {
+        my $c = shift;
+        my $orig = shift;
+
+        $c->$orig(@_);
+
+        $c->model('MB')->context->connector->disconnect;
+
+        if (!$c->debug && scalar @{ $c->error }) {
+            $c->stash->{errors} = $c->error;
+            $c->stash->{template} = 'main/500.tt';
+            $c->stash->{stack_trace} = $c->_stacktrace;
+            $c->clear_errors;
+            $c->res->{body} = 'clear';
+            $c->view('Default')->process($c);
+            $c->res->{body} = encode('utf-8', $c->res->{body});
+        }
+    }, $orig, @_);
+};
+
+sub with_translations {
+    my $c = shift;
+    my $orig = shift;
+
     $_->instance->build_languages_from_header($c->req->headers)
-        for qw( MusicBrainz::Server::Translation );
+        for qw( MusicBrainz::Server::Translation
+                MusicBrainz::Server::Translation::Statistics
+                MusicBrainz::Server::Translation::Countries
+                MusicBrainz::Server::Translation::Scripts
+                MusicBrainz::Server::Translation::Languages
+                MusicBrainz::Server::Translation::Attributes
+                MusicBrainz::Server::Translation::Relationships
+                MusicBrainz::Server::Translation::Instruments
+                MusicBrainz::Server::Translation::InstrumentDescriptions );
 
     my $cookie_lang = Translation->instance->language_from_cookie($c->request->cookies->{lang});
     my $lang = Translation->instance->set_language($cookie_lang);
+    # because s///r is a perl 5.14 feature
+    my $html_lang = $lang;
+    $html_lang =~ s/_([A-Z]{2})/-\L$1/;
+    $c->stash(
+        current_language => $lang,
+        current_language_html => $html_lang,
+        use_languages => scalar @{ Translation->instance->all_languages() }
+    );
 
-    $c->next::method(@_);
-
-    $c->model('MB')->context->connector->disconnect;
+    &$orig($c, @_);
 
-    if (!$c->debug && scalar @{ $c->error }) {
-        $c->stash->{errors} = $c->error;
-        $c->stash->{template} = 'main/500.tt';
-        $c->stash->{stack_trace} = $c->_stacktrace;
-        $c->stash->{current_language} = $lang;
-        $c->stash->{use_languages} = scalar @{ Translation->instance->all_languages() };
-        $c->clear_errors;
-        $c->res->{body} = 'clear';
-        $c->view('Default')->process($c);
-        $c->res->{body} = encode('utf-8', $c->res->{body});
-    }
     Translation->instance->unset_language();
 }
-
 =head1 NAME
 
 MusicBrainz::Server - Catalyst-based MusicBrainz server

commit c7356214c223388332cb389732675943e9c920d9
Author: Ian McEwen <[email protected]>
Date:   Sun Oct 7 18:52:11 2012 -0700

    MBS-5433: include interface language in error pages

diff --git a/lib/MusicBrainz/Server.pm b/lib/MusicBrainz/Server.pm
index 12fe633..908ccae 100644
--- a/lib/MusicBrainz/Server.pm
+++ b/lib/MusicBrainz/Server.pm
@@ -331,6 +331,7 @@ sub finalize_error {
 
     my $cookie_lang = Translation->instance->language_from_cookie($c->request->cookies->{lang});
     my $lang = Translation->instance->set_language($cookie_lang);
+
     $c->next::method(@_);
 
     $c->model('MB')->context->connector->disconnect;
@@ -339,6 +340,8 @@ sub finalize_error {
         $c->stash->{errors} = $c->error;
         $c->stash->{template} = 'main/500.tt';
         $c->stash->{stack_trace} = $c->_stacktrace;
+        $c->stash->{current_language} = $lang;
+        $c->stash->{use_languages} = scalar @{ Translation->instance->all_languages() };
         $c->clear_errors;
         $c->res->{body} = 'clear';
         $c->view('Default')->process($c);
diff --git a/root/main/500.tt b/root/main/500.tt
index c6e7492..2db4ae7 100644
--- a/root/main/500.tt
+++ b/root/main/500.tt
@@ -42,6 +42,11 @@
             [% END %]
         </p>
         [% END %]
+        [% IF use_languages %]
+        <p>
+            <strong>[% l('Interface language:') %]</strong> [% current_language %]
+        </p>
+        [% END %]
 
         <p>
           <strong>[% l("URL:") %]</strong>

commit 5d46d32aa96d8660d9c1d0bfe75a8bf95bc06d5e
Author: Ian McEwen <[email protected]>
Date:   Sun Oct 7 18:42:13 2012 -0700

    MBS-5200: load language for error pages

diff --git a/lib/MusicBrainz/Server.pm b/lib/MusicBrainz/Server.pm
index ea6bda7..12fe633 100644
--- a/lib/MusicBrainz/Server.pm
+++ b/lib/MusicBrainz/Server.pm
@@ -326,6 +326,11 @@ sub execute {
 sub finalize_error {
     my $c = shift;
 
+    $_->instance->build_languages_from_header($c->req->headers)
+        for qw( MusicBrainz::Server::Translation );
+
+    my $cookie_lang = Translation->instance->language_from_cookie($c->request->cookies->{lang});
+    my $lang = Translation->instance->set_language($cookie_lang);
     $c->next::method(@_);
 
     $c->model('MB')->context->connector->disconnect;
@@ -339,6 +344,7 @@ sub finalize_error {
         $c->view('Default')->process($c);
         $c->res->{body} = encode('utf-8', $c->res->{body});
     }
+    Translation->instance->unset_language();
 }
 
 =head1 NAME

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


hooks/post-receive
-- 
mb_server

_______________________________________________
MusicBrainz-commits mailing list
[email protected]
http://lists.musicbrainz.org/mailman/listinfo/musicbrainz-commits
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.