[mb-commits] branch, beta, updated. Revert "Merge branch 'mbs-5765' into beta"

MusicBrainz Git Server <[email protected]> Mon, 11 Feb 2013 10:40:05 +0000
Newsgroups gmane.comp.audio.musicbrainz.cvs
Message-ID <E1U4qnt-0004XK-JA@wiley>
The branch, beta has been updated
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=d69aed6196f55b93812fdb34714e1466d1f48fd7 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=2b5acaf114e8bc7ac9a1f034dbca9b030c5723f6 (commit)
       via  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=78d5b0d326df95334f0fc9efadc6b1106d687fcb (commit)
      from  http://git.musicbrainz.org/gitweb/?p=musicbrainz-server/core.git;a=commit;h=a5ac0d0579f8caae6a8ef3d61aa469fab85c26d5 (commit)

Summary of changes:
 lib/MusicBrainz/Server/Track.pm          |   18 +++++----------
 root/static/scripts/common/MB/utility.js |   34 +++++++++++++++---------------
 t/lib/t/MusicBrainz/Server/Track.pm      |    2 +-
 3 files changed, 24 insertions(+), 30 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 d69aed6196f55b93812fdb34714e1466d1f48fd7
Author: Oliver Charles <[email protected]>
Date:   Mon Feb 11 12:18:14 2013 +0000

    Revert "Merge branch 'mbs-5765' into beta"
    
    This reverts commit 3bfc49059b441a3a349bf03c75a62cbd0fe33867, reversing
    changes made to b2837feca4f5c363840f39197e20ceb1c4ed7a1c.

diff --git a/lib/MusicBrainz/Server/Track.pm b/lib/MusicBrainz/Server/Track.pm
index 37007fc..eae2202 100644
--- a/lib/MusicBrainz/Server/Track.pm
+++ b/lib/MusicBrainz/Server/Track.pm
@@ -1,7 +1,7 @@
 package MusicBrainz::Server::Track;
 use strict;
 use Carp 'confess';
-use POSIX qw( floor );
+use aliased 'DateTime::Format::Duration';
 use Scalar::Util qw( looks_like_number );
 
 use Sub::Exporter -setup => {
@@ -23,18 +23,12 @@ sub FormatTrackLength
     return $ms unless looks_like_number($ms);
     return "$ms ms" if $ms < 1000;
 
-    my $one_second = 1000.0;
-    my $one_minute = $one_second * 60;
-    my $one_hour = $one_minute * 60;
+    my $seconds = $ms / 1000.0 + 0.5;
 
-    my ($hours, $minutes, $seconds);
-    ($hours, $ms) = (floor($ms / $one_hour), $ms % $one_hour);
-    ($minutes, $ms) = (floor($ms / $one_minute), $ms % $one_minute);
-    $seconds = round($ms / $one_second);
-
-    return $hours > 0 ?
-        sprintf ("%d:%02d:%02d", $hours, $minutes, $seconds) :
-        sprintf ("%d:%02d", $minutes, $seconds);
+    my %data = Duration->new->normalise (seconds => $seconds);
+    return $data{hours} > 0 ?
+        sprintf ("%d:%02d:%02d", $data{hours}, $data{minutes}, $data{seconds}) :
+        sprintf ("%d:%02d", $data{minutes}, $data{seconds});
 }
 
 sub FormatXSDTrackLength
diff --git a/root/static/scripts/common/MB/utility.js b/root/static/scripts/common/MB/utility.js
index 16d23c2..3aee3fd 100644
--- a/root/static/scripts/common/MB/utility.js
+++ b/root/static/scripts/common/MB/utility.js
@@ -197,29 +197,29 @@ MB.utility.formatTrackLength = function (duration)
         return duration + ' ms';
     }
 
-    var one_second = 1000.0;
-    var one_minute = 60 * one_second;
-    var one_hour = 60 * one_minute;
+    var seconds = 1000;
+    var minutes = 60 * seconds;
+    var hours = 60 * minutes;
 
-    var hours = Math.floor(duration / one_hour);
-    duration = duration % one_hour;
+    var hours_str = '';
+    duration = duration + 500;
 
-    var minutes = Math.floor(duration / one_minute);
-    duration = duration % one_minute;
+    if (duration > 1 * hours)
+    {
+        hours_str = Math.floor (duration / hours) + ':';
+        duration = Math.floor (duration % hours);
+    }
 
-    var seconds = Math.round(duration / one_second);
+    /* pad minutes with zeroes of the hours string is non-empty. */
+    var minutes_str = hours_str === '' ?
+        Math.floor (duration / minutes) + ':' :
+        ('00' + Math.floor (duration / minutes)).slice (-2) + ':';
 
-    var ret = '';
-    ret = ('00' + seconds).slice(-2);
+    duration = Math.floor (duration % minutes);
 
-    if (hours > 0) {
-        ret = hours + ':' + ('00' + minutes).slice(-2) + ':' + ret;
-    }
-    else {
-        ret = minutes + ':' + ret;
-    }
+    var seconds_str = ('00' + Math.floor (duration / seconds)).slice (-2);
 
-    return ret;
+    return hours_str + minutes_str + seconds_str;
 };
 
 

commit 2b5acaf114e8bc7ac9a1f034dbca9b030c5723f6
Author: Oliver Charles <[email protected]>
Date:   Mon Feb 11 12:18:01 2013 +0000

    Revert "Use int(x + 0.5) rather than round()"
    
    This reverts commit 25c681cf30bb731f42ce38fa2df10898097bec06.

diff --git a/lib/MusicBrainz/Server/Track.pm b/lib/MusicBrainz/Server/Track.pm
index 9adbccb..37007fc 100644
--- a/lib/MusicBrainz/Server/Track.pm
+++ b/lib/MusicBrainz/Server/Track.pm
@@ -30,7 +30,7 @@ sub FormatTrackLength
     my ($hours, $minutes, $seconds);
     ($hours, $ms) = (floor($ms / $one_hour), $ms % $one_hour);
     ($minutes, $ms) = (floor($ms / $one_minute), $ms % $one_minute);
-    $seconds = int(($ms / $one_second) + 0.5);
+    $seconds = round($ms / $one_second);
 
     return $hours > 0 ?
         sprintf ("%d:%02d:%02d", $hours, $minutes, $seconds) :

commit 78d5b0d326df95334f0fc9efadc6b1106d687fcb
Author: Oliver Charles <[email protected]>
Date:   Mon Feb 11 12:17:47 2013 +0000

    Revert "Fix format_track_length test to correctly check for hours, not days"
    
    This reverts commit f11685d74fbce76b304249c5b242b40cea08356a.

diff --git a/t/lib/t/MusicBrainz/Server/Track.pm b/t/lib/t/MusicBrainz/Server/Track.pm
index 8fa1f49..8986caf 100644
--- a/t/lib/t/MusicBrainz/Server/Track.pm
+++ b/t/lib/t/MusicBrainz/Server/Track.pm
@@ -21,7 +21,7 @@ test 'Format Track Length' => sub {
     is (format_track_length ('432'), '432 ms', 'Short track');
     is (format_track_length ('9000'), '0:09', 'Short track');
     is (format_track_length ('1820000'), '30:20', 'Medium track');
-    is (format_track_length ('181100000'), '50:18:20', 'Long track');
+    is (format_track_length ('181100000'), '2:18:20', 'Long track');
 };
 
 test 'Unformat Track Length' => sub {

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


hooks/post-receive
-- 
mb_server