[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