[Jifty-commit] r4797 - in Jifty-DBI/trunk: lib/Jifty/DBI/Filter

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Mon Jan 7 14:38:38 EST 2008


Author: trs
Date: Mon Jan  7 14:38:38 2008
New Revision: 4797

Modified:
   Jifty-DBI/trunk/   (props changed)
   Jifty-DBI/trunk/Makefile.PL
   Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm

Log:
 r30619 at zot:  tom | 2008-01-07 14:38:21 -0500
 Handle hh:mm:ss in the duration filter as input and output a more concise format


Modified: Jifty-DBI/trunk/Makefile.PL
==============================================================================
--- Jifty-DBI/trunk/Makefile.PL	(original)
+++ Jifty-DBI/trunk/Makefile.PL	Mon Jan  7 14:38:38 2008
@@ -39,7 +39,7 @@
     'Duration filter' => [
         -default => 1,
         'Time::Duration' => '',
-        'Time::Duration::Parse' => '',
+        'Time::Duration::Parse' => '0.0.4',
     ],
 );
 auto_install();

Modified: Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm
==============================================================================
--- Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm	(original)
+++ Jifty-DBI/trunk/lib/Jifty/DBI/Filter/Duration.pm	Mon Jan  7 14:38:38 2008
@@ -26,6 +26,11 @@
     my $value_ref = $self->value_ref;
     return unless defined $$value_ref;
 
+    # Convert hh:mm::ss to something Time::Duration::Parse understands
+    if ( $$value_ref =~ /^\s*(\d+):(\d\d)(?::(\d\d))?\s*$/ ) {
+        $$value_ref = defined $3 ? "$1h $2m $3s" : "$1h $2m";
+    }
+
     $$value_ref = Time::Duration::Parse::parse_duration($$value_ref);
 
     return 1;
@@ -34,7 +39,8 @@
 =head2 decode
 
 If value is defined, then decode it using
-L<Time::Duration/duration_exact>, otherwise do nothing.
+L<Time::Duration/duration_exact> and L<Time::Duration/concise>,
+otherwise do nothing.
 
 =cut
 
@@ -44,7 +50,7 @@
     my $value_ref = $self->value_ref;
     return unless defined $$value_ref;
 
-    $$value_ref = Time::Duration::duration_exact($$value_ref);
+    $$value_ref = Time::Duration::concise(Time::Duration::duration_exact($$value_ref));
 }
 
 =head1 SEE ALSO


More information about the Jifty-commit mailing list