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