r68119 - in /trunk/libdatetime-format-natural-perl: Changes META.yml debian/changelog debian/copyright lib/DateTime/Format/Natural.pm lib/DateTime/Format/Natural/Lang/EN.pm t/01-parse.t t/10-parse_failure.t
angelabad-guest at users.alioth.debian.org
angelabad-guest at users.alioth.debian.org
Fri Feb 4 22:26:50 UTC 2011
Author: angelabad-guest
Date: Fri Feb 4 22:26:24 2011
New Revision: 68119
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=68119
Log:
New upstream release
Modified:
trunk/libdatetime-format-natural-perl/Changes
trunk/libdatetime-format-natural-perl/META.yml
trunk/libdatetime-format-natural-perl/debian/changelog
trunk/libdatetime-format-natural-perl/debian/copyright
trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm
trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm
trunk/libdatetime-format-natural-perl/t/01-parse.t
trunk/libdatetime-format-natural-perl/t/10-parse_failure.t
Modified: trunk/libdatetime-format-natural-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/Changes?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/Changes (original)
+++ trunk/libdatetime-format-natural-perl/Changes Fri Feb 4 22:26:24 2011
@@ -1,4 +1,22 @@
Revision history for Perl extension DateTime::Format::Natural.
+
+0.93 2011-02-04 <schubiger at cpan.org>
+
+ - Merged development version to stable.
+
+0.92_02 2011-01-25 <schubiger at cpan.org>
+
+ - New supported format: <month> <monthday>, <year> <time am/pm>.
+ [rt #65072 - Dave Rolsky]
+
+ - Sort weekdays and months metadata arrays in ascending order.
+
+ - Purge unused hour precisions from truncate_to grammar options.
+
+0.92_01 2011-01-23 <schubiger at cpan.org>
+
+ - Place the constant.pm segmentation fault workaround comment
+ at the top of the grammar class.
0.92 2011-01-14 <schubiger at cpan.org>
Modified: trunk/libdatetime-format-natural-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/META.yml?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/META.yml (original)
+++ trunk/libdatetime-format-natural-perl/META.yml Fri Feb 4 22:26:24 2011
@@ -1,6 +1,6 @@
---
name: DateTime-Format-Natural
-version: 0.92
+version: 0.93
author:
- 'Steven Schubiger <schubiger at cpan.org>'
abstract: Create machine readable date/time with natural parsing logic
@@ -35,7 +35,7 @@
provides:
DateTime::Format::Natural:
file: lib/DateTime/Format/Natural.pm
- version: 0.92
+ version: 0.93
DateTime::Format::Natural::Aliases:
file: lib/DateTime/Format/Natural/Aliases.pm
version: 0.03
@@ -62,7 +62,7 @@
version: 1.06
DateTime::Format::Natural::Lang::EN:
file: lib/DateTime/Format/Natural/Lang/EN.pm
- version: 1.45
+ version: 1.47
DateTime::Format::Natural::Test:
file: lib/DateTime/Format/Natural/Test.pm
version: 0.07
Modified: trunk/libdatetime-format-natural-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/debian/changelog?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/debian/changelog (original)
+++ trunk/libdatetime-format-natural-perl/debian/changelog Fri Feb 4 22:26:24 2011
@@ -1,3 +1,9 @@
+libdatetime-format-natural-perl (0.93-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Angel Abad <angelabad at gmail.com> Fri, 04 Feb 2011 23:25:59 +0100
+
libdatetime-format-natural-perl (0.92-1) unstable; urgency=low
* New upstream release
Modified: trunk/libdatetime-format-natural-perl/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/debian/copyright?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/debian/copyright (original)
+++ trunk/libdatetime-format-natural-perl/debian/copyright Fri Feb 4 22:26:24 2011
@@ -23,9 +23,9 @@
Copyright: 2008, 2009, Ansgar Burchardt <ansgar at debian.org>
2008, gregor herrmann <gregoa at debian.org>
2009, 2010, Jonathan Yu <jawnsy at cpan.org>
- 2009, 2010, 2011, Salvatore Bonaccorso <carnil at debian.org>
+ 2009-2011, Salvatore Bonaccorso <carnil at debian.org>
2009, Rene Mayorga <rmayorga at debian.org>
- 2010, Angel Abad <angelabad at gmail.com>
+ 2010, 2011, Angel Abad <angelabad at gmail.com>
License: Artistic or GPL-1+
License: Artistic
@@ -42,4 +42,4 @@
any later version.
.
On Debian systems, the complete text of version 1 of the GNU General
- Public License can be found in `/usr/share/common-licenses/GPL-1'.
+ Public License can be found in `/usr/share/common-licenses/GPL-1'.
Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm Fri Feb 4 22:26:24 2011
@@ -18,7 +18,7 @@
use Scalar::Util qw(blessed);
use Storable qw(dclone);
-our $VERSION = '0.92';
+our $VERSION = '0.93';
validation_options(
on_fail => sub
Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm Fri Feb 4 22:26:24 2011
@@ -3,6 +3,9 @@
use strict;
use warnings;
use base qw(DateTime::Format::Natural::Lang::Base);
+# XXX constant.pm true/false: workaround for a segmentation fault
+# in Perl_mg_find() on perl 5.8.9 and 5.10.0 when using boolean.pm
+# v0.20 (tested as of 12/02/2009).
#use boolean qw(true false);
use constant true => 1;
use constant false => 0;
@@ -10,7 +13,7 @@
use DateTime::Format::Natural::Helpers qw(%flag);
-our $VERSION = '1.45';
+our $VERSION = '1.47';
our (%init,
%timespan,
@@ -44,6 +47,19 @@
day => qr/^(\d+)($suffixes{ordinal})?$/i,
monthday => qr/^(\d{1,2})($suffixes{ordinal})?$/i);
{
+ my $sort = sub
+ {
+ my ($data) = @_;
+ return sort { $data->{$a} <=> $data->{$b} } keys %$data;
+ };
+ my $sort_abbrev = sub
+ {
+ my ($data_abbrev, $data) = @_;
+ return sort {
+ $data->{$data_abbrev->{$a}} <=> $data->{$data_abbrev->{$b}}
+ } keys %$data_abbrev;
+ };
+
my $i = 1;
%data_weekdays = map {
@@ -53,7 +69,7 @@
substr($_, 0, 3) => $_
} keys %data_weekdays;
- @data_weekdays_all = (keys %data_weekdays, keys %data_weekdays_abbrev);
+ @data_weekdays_all = ($sort->(\%data_weekdays), $sort_abbrev->(\%data_weekdays_abbrev, \%data_weekdays));
my $days_re = join '|', @data_weekdays_all;
$RE{weekday} = qr/^($days_re)$/i;
@@ -71,7 +87,7 @@
substr($_, 0, 3) => $_
} keys %data_months;
- @data_months_all = (keys %data_months, keys %data_months_abbrev);
+ @data_months_all = ($sort->(\%data_months), $sort_abbrev->(\%data_months_abbrev, \%data_months));
my $months_re = join '|', @data_months_all;
$RE{month} = qr/^($months_re)$/i;
@@ -213,10 +229,6 @@
error => "plural without suffix 's'",
},
);
-
- # XXX constant.pm true/false: workaround for a segmentation fault
- # in Perl_mg_find() on perl 5.8.9 and 5.10.0 when using boolean.pm
- # v0.20 (tested as of 12/02/2009).
foreach my $check (@checks) {
if ($check->{cond}->()) {
$$error = $check->{error};
@@ -1495,7 +1507,7 @@
],
[ {}, {} ],
[ '_month_day', '_time' ],
- { truncate_to => [qw(hour minute)] },
+ { truncate_to => [qw(minute)] },
],
[
{ 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{time_am} },
@@ -1569,6 +1581,61 @@
{ truncate_to => [qw(hour minute)] },
],
],
+ month_day_year_at => [
+ [ 'REGEXP', 'REGEXP', 'REGEXP', 'REGEXP' ],
+ [
+ { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{year}, 3 => $RE{time} },
+ [ [ 1 ] ],
+ [ $extended_checks{ordinal} ],
+ [
+ [
+ 1,
+ { 0 => [ $flag{month_name}, $flag{month_num} ] },
+ ],
+ [ 2 ],
+ [ 3 ],
+ ],
+ [ {}, { unit => 'year' }, {} ],
+ [ '_month_day', '_unit_date', '_time' ],
+ { truncate_to => [qw(hour minute)] },
+ ],
+ [
+ { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{year}, 3 => $RE{time_am} },
+ [ [ 1 ], [ 3 ] ],
+ [ $extended_checks{ordinal}, $extended_checks{meridiem} ],
+ [
+ [
+ 1,
+ { 0 => [ $flag{month_name}, $flag{month_num} ] },
+ ],
+ [ 2 ],
+ [
+ { 3 => [ $flag{time_am} ] },
+ ],
+ ],
+ [ {}, { unit => 'year' }, {} ],
+ [ '_month_day', '_unit_date', '_at' ],
+ { truncate_to => [qw(hour minute)] },
+ ],
+ [
+ { 0 => $RE{month}, 1 => $RE{monthday}, 2 => $RE{year}, 3 => $RE{time_pm} },
+ [ [ 1 ], [ 3 ] ],
+ [ $extended_checks{ordinal}, $extended_checks{meridiem} ],
+ [
+ [
+ 1,
+ { 0 => [ $flag{month_name}, $flag{month_num} ] },
+ ],
+ [ 2 ],
+ [
+ { 3 => [ $flag{time_pm} ] },
+ ],
+ ],
+ [ {}, { unit => 'year' }, {} ],
+ [ '_month_day', '_unit_date', '_at' ],
+ { truncate_to => [qw(hour minute)] },
+ ],
+ ],
day_month_at => [
[ 'REGEXP', 'REGEXP', 'REGEXP' ],
[
@@ -1584,7 +1651,7 @@
],
[ {}, {} ],
[ '_month_day', '_time' ],
- { truncate_to => [qw(hour minute)] },
+ { truncate_to => [qw(minute)] },
],
[
{ 0 => $RE{monthday}, 1 => $RE{month}, 2 => $RE{time_am} },
@@ -1673,7 +1740,7 @@
],
[ {}, {} ],
[ '_time', '_month_day' ],
- { truncate_to => [qw(hour minute)] },
+ { truncate_to => [qw(minute)] },
],
[
{ 0 => $RE{time_am}, 1 => $RE{month}, 2 => $RE{monthday} },
@@ -4816,6 +4883,9 @@
7pm jul 1
7 am jul 1
7 pm jul 1
+ jan 24, 2011 12:00
+ jan 24, 2011 12am
+ jan 24, 2011 12pm
may 27th
2005
march 1st 2009
Modified: trunk/libdatetime-format-natural-perl/t/01-parse.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/t/01-parse.t?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/t/01-parse.t (original)
+++ trunk/libdatetime-format-natural-perl/t/01-parse.t Fri Feb 4 22:26:24 2011
@@ -271,42 +271,45 @@
);
my @specific = (
- { 'march' => '01.03.2006 00:00:00' },
- { 'january 11' => '11.01.2006 00:00:00' },
- { '11 january' => '11.01.2006 00:00:00' },
- { '18 oct 17:00{sec}' => '18.10.2006 17:00:{sec}' },
- { '18 oct 5{min_sec}am' => '18.10.2006 05:{min_sec}' },
- { '18 oct 5{min_sec}pm' => '18.10.2006 17:{min_sec}' },
- { '18 oct 5{min_sec} am' => '18.10.2006 05:{min_sec}' },
- { '18 oct 5{min_sec} pm' => '18.10.2006 17:{min_sec}' },
- { 'dec 25' => '25.12.2006 00:00:00' },
- { 'feb 28 3:00{sec}' => '28.02.2006 03:00:{sec}' },
- { 'feb 28 3{min_sec}am' => '28.02.2006 03:{min_sec}' },
- { 'feb 28 3{min_sec}pm' => '28.02.2006 15:{min_sec}' },
- { 'feb 28 3{min_sec} am' => '28.02.2006 03:{min_sec}' },
- { 'feb 28 3{min_sec} pm' => '28.02.2006 15:{min_sec}' },
- { '19:00{sec} jul 1' => '01.07.2006 19:00:{sec}' },
- { '7{min_sec}am jul 1' => '01.07.2006 07:{min_sec}' },
- { '7{min_sec}pm jul 1' => '01.07.2006 19:{min_sec}' },
- { '7{min_sec} am jul 1' => '01.07.2006 07:{min_sec}' },
- { '7{min_sec} pm jul 1' => '01.07.2006 19:{min_sec}' },
- { 'may 27th' => '27.05.2006 00:00:00' },
- # { '2005' => '01.01.2005 00:00:00' },
- { 'march 1st 2009' => '01.03.2009 00:00:00' },
- { 'October 2006' => '01.10.2006 00:00:00' },
- { 'february 14, 2004' => '14.02.2004 00:00:00' },
- { 'jan 3 2010' => '03.01.2010 00:00:00' },
- { '3 jan 2000' => '03.01.2000 00:00:00' },
- { '2010 october 28' => '28.10.2010 00:00:00' },
- { '27/5/1979' => '27.05.1979 00:00:00' },
- { '4:00' => '24.11.2006 04:00:00' },
- { '17:00' => '24.11.2006 17:00:00' },
- { '3:20:00' => '24.11.2006 03:20:00' },
- { '-5min' => '24.11.2006 01:08:08' },
- { '+2d' => '26.11.2006 01:13:08' },
+ { 'march' => '01.03.2006 00:00:00' },
+ { 'january 11' => '11.01.2006 00:00:00' },
+ { '11 january' => '11.01.2006 00:00:00' },
+ { '18 oct 17:00{sec}' => '18.10.2006 17:00:{sec}' },
+ { '18 oct 5{min_sec}am' => '18.10.2006 05:{min_sec}' },
+ { '18 oct 5{min_sec}pm' => '18.10.2006 17:{min_sec}' },
+ { '18 oct 5{min_sec} am' => '18.10.2006 05:{min_sec}' },
+ { '18 oct 5{min_sec} pm' => '18.10.2006 17:{min_sec}' },
+ { 'dec 25' => '25.12.2006 00:00:00' },
+ { 'feb 28 3:00{sec}' => '28.02.2006 03:00:{sec}' },
+ { 'feb 28 3{min_sec}am' => '28.02.2006 03:{min_sec}' },
+ { 'feb 28 3{min_sec}pm' => '28.02.2006 15:{min_sec}' },
+ { 'feb 28 3{min_sec} am' => '28.02.2006 03:{min_sec}' },
+ { 'feb 28 3{min_sec} pm' => '28.02.2006 15:{min_sec}' },
+ { '19:00{sec} jul 1' => '01.07.2006 19:00:{sec}' },
+ { '7{min_sec}am jul 1' => '01.07.2006 07:{min_sec}' },
+ { '7{min_sec}pm jul 1' => '01.07.2006 19:{min_sec}' },
+ { '7{min_sec} am jul 1' => '01.07.2006 07:{min_sec}' },
+ { '7{min_sec} pm jul 1' => '01.07.2006 19:{min_sec}' },
+ { 'jan 24, 2011 12:00{sec}' => '24.01.2011 12:00:{sec}' },
+ { 'jan 24, 2011 12{min_sec}am' => '24.01.2011 00:{min_sec}' },
+ { 'jan 24, 2011 12{min_sec}pm' => '24.01.2011 12:{min_sec}' },
+ { 'may 27th' => '27.05.2006 00:00:00' },
+ # { '2005' => '01.01.2005 00:00:00' },
+ { 'march 1st 2009' => '01.03.2009 00:00:00' },
+ { 'October 2006' => '01.10.2006 00:00:00' },
+ { 'february 14, 2004' => '14.02.2004 00:00:00' },
+ { 'jan 3 2010' => '03.01.2010 00:00:00' },
+ { '3 jan 2000' => '03.01.2000 00:00:00' },
+ { '2010 october 28' => '28.10.2010 00:00:00' },
+ { '27/5/1979' => '27.05.1979 00:00:00' },
+ { '4:00' => '24.11.2006 04:00:00' },
+ { '17:00' => '24.11.2006 17:00:00' },
+ { '3:20:00' => '24.11.2006 03:20:00' },
+ { '-5min' => '24.11.2006 01:08:08' },
+ { '+2d' => '26.11.2006 01:13:08' },
);
-_run_tests(455, [ [ \@simple ], [ \@complex ], [ \@specific ] ], \&compare);
+_run_tests(463, [ [ \@simple ], [ \@complex ], [ \@specific ] ], \&compare);
sub compare
{
Modified: trunk/libdatetime-format-natural-perl/t/10-parse_failure.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/t/10-parse_failure.t?rev=68119&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/t/10-parse_failure.t (original)
+++ trunk/libdatetime-format-natural-perl/t/10-parse_failure.t Fri Feb 4 22:26:24 2011
@@ -5,7 +5,7 @@
use boolean qw(false);
use DateTime::Format::Natural;
-use Test::More tests => 309;
+use Test::More tests => 316;
my %errors = (
with_suffix => qr/suffix 's' without plural/,
@@ -211,6 +211,8 @@
'yesterday at 22pm',
'today at 22pm',
'tomorrow at 22pm',
+ 'jan 24, 2011 23am',
+ 'jan 24, 2011 23pm',
]);
my @meridiem_zero = ($errors{meridiem_zero},
@@ -295,6 +297,8 @@
'yesterday at 0pm',
'today at 0pm',
'tomorrow at 0pm',
+ 'jan 24, 2011 0am',
+ 'jan 24, 2011 0pm',
]);
my @ordinal_number = ($errors{ordinal_number},
@@ -342,6 +346,9 @@
'jan 3th 2000',
'2010 october 28st',
'2st friday in august',
+ 'jan 24nd, 2011 12:00',
+ 'jan 24nd, 2011 12am',
+ 'jan 24nd, 2011 12pm',
]);
check(\@with_suffix);
More information about the Pkg-perl-cvs-commits
mailing list