r47592 - in /trunk/libdatetime-format-natural-perl: ./ debian/ lib/DateTime/Format/ lib/DateTime/Format/Natural/ lib/DateTime/Format/Natural/Lang/ scripts/ t/

jawnsy-guest at users.alioth.debian.org jawnsy-guest at users.alioth.debian.org
Sun Nov 22 01:31:17 UTC 2009


Author: jawnsy-guest
Date: Sun Nov 22 01:31:11 2009
New Revision: 47592

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=47592
Log:
* New upstream release
* Add myself to Uploaders

Added:
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Utils.pm
      - copied unchanged from r47591, branches/upstream/libdatetime-format-natural-perl/current/lib/DateTime/Format/Natural/Utils.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Wrappers.pm
      - copied unchanged from r47591, branches/upstream/libdatetime-format-natural-perl/current/lib/DateTime/Format/Natural/Wrappers.pm
Modified:
    trunk/libdatetime-format-natural-perl/Changes
    trunk/libdatetime-format-natural-perl/MANIFEST
    trunk/libdatetime-format-natural-perl/META.yml
    trunk/libdatetime-format-natural-perl/README
    trunk/libdatetime-format-natural-perl/debian/changelog
    trunk/libdatetime-format-natural-perl/debian/control
    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/Base.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Duration.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Helpers.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Lang/EN.pm
    trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Test.pm
    trunk/libdatetime-format-natural-perl/scripts/dateparse
    trunk/libdatetime-format-natural-perl/t/00-load.t

Modified: trunk/libdatetime-format-natural-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/Changes?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/Changes (original)
+++ trunk/libdatetime-format-natural-perl/Changes Sun Nov 22 01:31:11 2009
@@ -1,4 +1,23 @@
 Revision history for Perl extension DateTime::Format::Natural.
+
+0.81 Sat Nov 21 12:59:17 CET 2009
+
+ - Merged development version to stable.
+
+0.80_02 Wed Nov 18 10:53:05 CET 2009
+
+ - Move utility and wrapper methods to separate classes.
+
+ - Test compile-time loading of Utils.pm and Wrappers.pm.
+
+ - Don't force explicit scalar context where an implicit one exists.
+
+0.80_01 Mon Nov  2 10:59:46 CET 2009
+
+ - Invoke _valid_date() in _day_month_year() to assert the
+   validity of the date before setting it.
+
+ - Separate fixed time data for testing purpose from code.
 
 0.80 Fri Oct 30 10:15:53 CET 2009
 

Modified: trunk/libdatetime-format-natural-perl/MANIFEST
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/MANIFEST?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/MANIFEST (original)
+++ trunk/libdatetime-format-natural-perl/MANIFEST Sun Nov 22 01:31:11 2009
@@ -9,6 +9,8 @@
 lib/DateTime/Format/Natural/Lang/Base.pm
 lib/DateTime/Format/Natural/Lang/EN.pm
 lib/DateTime/Format/Natural/Test.pm
+lib/DateTime/Format/Natural/Utils.pm
+lib/DateTime/Format/Natural/Wrappers.pm
 Makefile.PL
 MANIFEST			This list of files
 META.yml

Modified: trunk/libdatetime-format-natural-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/META.yml?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/META.yml (original)
+++ trunk/libdatetime-format-natural-perl/META.yml Sun Nov 22 01:31:11 2009
@@ -1,6 +1,6 @@
 ---
 name: DateTime-Format-Natural
-version: 0.80
+version: 0.81
 author:
   - 'Steven Schubiger <schubiger at cpan.org>'
 abstract: Create machine readable date/time with natural parsing logic
@@ -29,28 +29,34 @@
 provides:
   DateTime::Format::Natural:
     file: lib/DateTime/Format/Natural.pm
-    version: 0.80
+    version: 0.81
   DateTime::Format::Natural::Base:
     file: lib/DateTime/Format/Natural/Base.pm
-    version: 1.28
+    version: 1.30
   DateTime::Format::Natural::Compat:
     file: lib/DateTime/Format/Natural/Compat.pm
     version: 0.05
   DateTime::Format::Natural::Duration:
     file: lib/DateTime/Format/Natural/Duration.pm
-    version: 0.02
+    version: 0.03
   DateTime::Format::Natural::Helpers:
     file: lib/DateTime/Format/Natural/Helpers.pm
-    version: 0.03
+    version: 0.04
   DateTime::Format::Natural::Lang::Base:
     file: lib/DateTime/Format/Natural/Lang/Base.pm
     version: 1.02
   DateTime::Format::Natural::Lang::EN:
     file: lib/DateTime/Format/Natural/Lang/EN.pm
-    version: 1.27
+    version: 1.28
   DateTime::Format::Natural::Test:
     file: lib/DateTime/Format/Natural/Test.pm
-    version: 0.03
+    version: 0.04
+  DateTime::Format::Natural::Utils:
+    file: lib/DateTime/Format/Natural/Utils.pm
+    version: 0.01
+  DateTime::Format::Natural::Wrappers:
+    file: lib/DateTime/Format/Natural/Wrappers.pm
+    version: 0.01
 generated_by: Module::Build version 0.34
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html

Modified: trunk/libdatetime-format-natural-perl/README
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/README?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/README (original)
+++ trunk/libdatetime-format-natural-perl/README Sun Nov 22 01:31:11 2009
@@ -56,8 +56,8 @@
         Specifies the format of numeric dates, defaults to '`d/m/y''.
 
     * `prefer_future'
-        Turns ambiguous weekdays/months to their futuristic relatives.
-        Accepts a boolean, defaults to false.
+        Turns ambiguous weekdays/months to their future relatives. Accepts a
+        boolean, defaults to false.
 
     * `time_zone'
         The time zone to use when parsing and for output. Accepts any time

Modified: trunk/libdatetime-format-natural-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/debian/changelog?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/debian/changelog (original)
+++ trunk/libdatetime-format-natural-perl/debian/changelog Sun Nov 22 01:31:11 2009
@@ -1,3 +1,10 @@
+libdatetime-format-natural-perl (0.81-1) UNRELEASED; urgency=low
+
+  * New upstream release
+  * Add myself to Uploaders
+
+ -- Jonathan Yu <jawnsy at cpan.org>  Sat, 21 Nov 2009 17:08:09 -0500
+
 libdatetime-format-natural-perl (0.80-1) unstable; urgency=low
 
   [ Angel Abad ]

Modified: trunk/libdatetime-format-natural-perl/debian/control
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/debian/control?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/debian/control (original)
+++ trunk/libdatetime-format-natural-perl/debian/control Sun Nov 22 01:31:11 2009
@@ -8,7 +8,7 @@
 Maintainer: Debian Perl Group <pkg-perl-maintainers at lists.alioth.debian.org>
 Uploaders: Ansgar Burchardt <ansgar at 43-1.org>,
  gregor herrmann <gregoa at debian.org>, Rene Mayorga <rmayorga at debian.org>,
- Angel Abad <angelabad at gmail.com>,
+ Angel Abad <angelabad at gmail.com>, Jonathan Yu <jawnsy at cpan.org>,
  Salvatore Bonaccorso <salvatore.bonaccorso at gmail.com>
 Standards-Version: 3.8.3
 Homepage: http://search.cpan.org/dist/DateTime-Format-Natural/

Modified: trunk/libdatetime-format-natural-perl/debian/copyright
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/debian/copyright?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/debian/copyright (original)
+++ trunk/libdatetime-format-natural-perl/debian/copyright Sun Nov 22 01:31:11 2009
@@ -20,11 +20,12 @@
      See http://www.perl.com/perl/misc/Artistic.html
 
 Files: debian/*
-Copyright: 2008, 2009, Ansgar Burchardt <ansgar at 43-1.org>
- 2008, gregor herrmann <gregoa at debian.org>
+Copyright: 2009, Jonathan Yu <jawnsy at cpan.org>
  2009, Angel Abad (Ikusnet SLL) <angel at grupoikusnet.com>
  2009, Nathan Handler <nhandler at ubuntu.com>
  2009, Rene Mayorga <rmayorga at debian.org>
+ 2008-2009, Ansgar Burchardt <ansgar at 43-1.org>
+ 2008, gregor herrmann <gregoa at debian.org>
 License: Artistic or GPL-1+
 
 License: Artistic

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=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural.pm Sun Nov 22 01:31:11 2009
@@ -16,7 +16,7 @@
 use Scalar::Util qw(blessed);
 use Storable qw(dclone);
 
-our $VERSION = '0.80';
+our $VERSION = '0.81';
 
 validation_options(
     on_fail => sub
@@ -143,7 +143,7 @@
     if (scalar keys %count == 1 && $count{(keys %count)[0]} == 2) {
         if ($date_string =~ /^\S+\b \s+ \b\S+/x) {
             ($date_string, @{$self->{tokens}}) = split /\s+/, $date_string;
-            $self->{count}{tokens} = 1 + scalar @{$self->{tokens}};
+            $self->{count}{tokens} = 1 + @{$self->{tokens}};
         }
         else {
             $self->{count}{tokens} = 1;
@@ -179,7 +179,7 @@
 
         my $separated_indices = { map { substr($_, 0, 1) => $separated_index++ } @separated_order };
 
-        my @bits = split $separator, $date_string;
+        my @bits = split /$separator/, $date_string;
 
         my $century = $self->{datetime}
                     ? int($self->{datetime}->year / 100)
@@ -227,7 +227,7 @@
     else {
         @{$self->{tokens}} = split /\s+/, $date_string;
         $self->{data}->__init('tokens')->($self);
-        $self->{count}{tokens} = scalar @{$self->{tokens}};
+        $self->{count}{tokens} = @{$self->{tokens}};
 
         $self->_process;
     }
@@ -308,6 +308,7 @@
              ($duration_string) };
 
     $self->_pre_duration(\@date_strings);
+    $self->{state} = {};
 
     my @queue;
     foreach my $date_string (@date_strings) {
@@ -631,7 +632,7 @@
 
 =item * C<prefer_future>
 
-Turns ambiguous weekdays/months to their futuristic relatives. Accepts a boolean,
+Turns ambiguous weekdays/months to their future relatives. Accepts a boolean,
 defaults to false.
 
 =item * C<time_zone>

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Base.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Base.pm?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Base.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Base.pm Sun Nov 22 01:31:11 2009
@@ -2,9 +2,13 @@
 
 use strict;
 use warnings;
-use base qw(DateTime::Format::Natural::Compat);
-
-our $VERSION = '1.28';
+use base qw(
+    DateTime::Format::Natural::Compat
+    DateTime::Format::Natural::Utils
+    DateTime::Format::Natural::Wrappers
+);
+
+our $VERSION = '1.30';
 
 use constant MORNING   => '08';
 use constant AFTERNOON => '14';
@@ -364,11 +368,13 @@
     $self->_register_trace;
     my $opts = pop;
     my ($day, $month, $year) = @_;
-    $self->_set(
-        year  => $year,
-        month => $month,
-        day   => $day,
-    );
+    if ($self->_valid_date(year => $year, month => $month, day => $day)) {
+        $self->_set(
+            year  => $year,
+            month => $month,
+            day   => $day,
+        );
+    }
 }
 
 sub _count_weekday_from_now

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Duration.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Duration.pm?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Duration.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Duration.pm Sun Nov 22 01:31:11 2009
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-our $VERSION = '0.02';
+our $VERSION = '0.03';
 
 sub _pre_duration
 {
@@ -37,7 +37,7 @@
     my $self = shift;
     my %args = @_;
 
-    return if scalar keys %{$self->{state}};
+    return if %{$self->{state}};
 
     unless ($args{valid_expression}) {
         %{$self->{state}} = %args;
@@ -50,7 +50,7 @@
 
     my %state = %{$self->{state}};
 
-    if (scalar keys %state) {
+    if (%state) {
         $state{valid_expression}
           ? $self->_set_valid_exp
           : $self->_unset_valid_exp;

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Helpers.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Helpers.pm?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Helpers.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Helpers.pm Sun Nov 22 01:31:11 2009
@@ -10,7 +10,7 @@
 
 our ($VERSION, @EXPORT_OK, %flag);
 
-$VERSION = '0.03';
+$VERSION = '0.04';
 
 my @flags = (
     { weekday_name      => REAL_FLAG },
@@ -95,107 +95,6 @@
     $$arg = $self->_Decode_Month($$arg);
 }
 
-sub _add
-{
-    my $self = shift;
-    my ($unit, $value) = @_;
-
-    $unit .= 's' unless $unit =~ /s$/;
-    $self->{datetime}->add($unit => $value);
-
-    chop $unit;
-    $self->{modified}{$unit}++;
-}
-
-sub _subtract
-{
-    my $self = shift;
-    my ($unit, $value) = @_;
-
-    $unit .= 's' unless $unit =~ /s$/;
-    $self->{datetime}->subtract($unit => $value);
-
-    chop $unit;
-    $self->{modified}{$unit}++;
-}
-
-sub _add_or_subtract
-{
-    my $self = shift;
-
-    if (ref $_[0] eq 'HASH') {
-        my %opts = %{$_[0]};
-        if ($opts{when} > 0) {
-            $self->_add($opts{unit} => $opts{value});
-        }
-        elsif ($opts{when} < 0) {
-            $self->_subtract($opts{unit} => $opts{value});
-        }
-    }
-    elsif (scalar @_ == 2) {
-        $self->_add(@_);
-    }
-}
-
-sub _set
-{
-    my $self = shift;
-    my %values = @_;
-
-    $self->{datetime}->set(%values);
-
-    foreach my $unit (keys %values) {
-        $self->{modified}{$unit}++;
-    }
-}
-
-sub _valid_date
-{
-    my $self = shift;
-    my %values = @_;
-
-    my %set = map { $_ => $self->{datetime}->$_ } qw(year month day);
-
-    while (my ($unit, $value) = each %values) {
-        $set{$unit} = $value;
-    }
-
-    if ($self->_check_date($set{year}, $set{month}, $set{day})) {
-        return true;
-    }
-    else {
-        $self->_set_failure;
-        $self->_set_error("(date is not valid)");
-        return false;
-    }
-}
-
-sub _valid_time
-{
-    my $self = shift;
-    my %values = @_;
-
-    my %abbrev = (
-        second => 'sec',
-        minute => 'min',
-        hour   => 'hour',
-    );
-    my %set = map { $_ => $self->{datetime}->$_ } values %abbrev;
-
-    while (my ($unit, $value) = each %values) {
-        $set{$abbrev{$unit}} = $value;
-    }
-
-    if ($self->_check_time($set{hour}, $set{min}, $set{sec})) {
-        return true;
-    }
-    else {
-        $self->_set_failure;
-        $self->_set_error("(time is not valid)");
-        return false;
-    }
-}
-
 1;
 __END__
 

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=47592&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 Sun Nov 22 01:31:11 2009
@@ -9,7 +9,7 @@
 
 use DateTime::Format::Natural::Helpers qw(%flag);
 
-our $VERSION = '1.27';
+our $VERSION = '1.28';
 
 our (%init,
      %timespan,
@@ -87,12 +87,12 @@
     %data_duration = (
         for => sub {
             my ($date_strings) = @_;
-            return (scalar @$date_strings == 1
+            return (@$date_strings == 1
                 && $date_strings->[0] =~ /^for\s+/i);
         },
         first_last => sub {
             my ($date_strings) = @_;
-            return (scalar @$date_strings == 2
+            return (@$date_strings == 2
                 && $date_strings->[0] =~ /^first$/i
                 && $date_strings->[1] =~ /^last\s+/i);
         },

Modified: trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Test.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Test.pm?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Test.pm (original)
+++ trunk/libdatetime-format-natural-perl/lib/DateTime/Format/Natural/Test.pm Sun Nov 22 01:31:11 2009
@@ -9,17 +9,16 @@
 
 our ($VERSION, @EXPORT, %time);
 
-$VERSION = '0.03';
+$VERSION = '0.04';
 
-%time = (
-    year   => 2006,
-    month  => 11,
-    day    => 24,
-    hour   => 1,
-    minute => 13,
-    second => 8,
-);
 @EXPORT = qw(%time _run_tests _result_string _message);
+
+%time = map { split /:/ }
+        split /\n/,
+        do { local $/ = '__END__';
+             local $_ = <DATA>;
+             chomp;
+             $_ };
 
 sub _run_tests
 {
@@ -68,11 +67,19 @@
 }
 
 1;
+__DATA__
+year:2006
+month:11
+day:24
+hour:1
+minute:13
+second:8
+
 __END__
 
 =head1 NAME
 
-DateTime::Format::Natural::Test - Common test routines
+DateTime::Format::Natural::Test - Common test routines/data
 
 =head1 SYNOPSIS
 

Modified: trunk/libdatetime-format-natural-perl/scripts/dateparse
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/scripts/dateparse?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/scripts/dateparse (original)
+++ trunk/libdatetime-format-natural-perl/scripts/dateparse Sun Nov 22 01:31:11 2009
@@ -70,7 +70,7 @@
   -f, --format           format of numeric dates
   -h, --help             this help screen
   -l, --lang             language code
-  -p, --prefer_future    use futuristic dates (when possible)
+  -p, --prefer_future    use future dates (when possible)
   -s, --supported        list of supported languages
   -t, --time_zone        time zone string
   -T, --trace            print trace after processing
@@ -145,7 +145,7 @@
    -f, --format           format of numeric dates
    -h, --help             this help screen
    -l, --lang             language code
-   -p, --prefer_future    use futuristic dates (when possible)
+   -p, --prefer_future    use future dates (when possible)
    -s, --supported        list of supported languages
    -t, --time_zone        time zone string
    -T, --trace            print trace after processing

Modified: trunk/libdatetime-format-natural-perl/t/00-load.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libdatetime-format-natural-perl/t/00-load.t?rev=47592&op=diff
==============================================================================
--- trunk/libdatetime-format-natural-perl/t/00-load.t (original)
+++ trunk/libdatetime-format-natural-perl/t/00-load.t Sun Nov 22 01:31:11 2009
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 8;
+use Test::More tests => 10;
 
 BEGIN
 {
@@ -16,6 +16,8 @@
         DateTime::Format::Natural::Lang::Base
         DateTime::Format::Natural::Lang::EN
         DateTime::Format::Natural::Test
+        DateTime::Format::Natural::Utils
+        DateTime::Format::Natural::Wrappers
     );
     use_ok($_) foreach @modules;
 }




More information about the Pkg-perl-cvs-commits mailing list