Show
Ignore:
Timestamp:
11/20/08 19:00:14 (5 years ago)
Author:
daisuke
Message:

bad default, other timezone fixes

Location:
lang/perl/DateTime-Lite/trunk/lib/DateTime/Lite
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/perl/DateTime-Lite/trunk/lib/DateTime/Lite/TimeZone.pm

    r24486 r24489  
    2929 
    3030    my $name = $p{name}; 
    31     if ( exists $DateTime::TimeZone::Catalog::LINKS{ $name } ) { 
    32         $name = $DateTime::TimeZone::Catalog::LINKS{ $name }; 
    33     } elsif ( exists $DateTime::TimeZone::Catalog::LINKS{ uc $name } ) { 
    34         $name = $DateTime::TimeZone::Catalog::LINKS{ uc $name }; 
    35     } 
    36  
    37     unless ( $name =~ m,/, || $SpecialName{ $name } 
    38            ) 
    39     { 
    40         if ( $name eq 'floating' ) { 
    41             return DateTime::Lite::TimeZone::Floating->new; 
     31    my $conf; 
     32    if (defined $name) { 
     33        if ( exists $DateTime::Lite::TimeZone::Catalog::LINKS{ $name } ) { 
     34            $name = $DateTime::Lite::TimeZone::Catalog::LINKS{ $name }; 
     35        } elsif ( exists $DateTime::Lite::TimeZone::Catalog::LINKS{ uc $name } ) { 
     36            $name = $DateTime::Lite::TimeZone::Catalog::LINKS{ uc $name }; 
    4237        } 
    4338 
    44         if ( $name eq 'local' ) { 
    45             return DateTime::Lite::TimeZone::Local->TimeZone(); 
     39        unless ( $name =~ m,/, || $SpecialName{ $name }) { 
     40            if ( $name eq 'floating' ) { 
     41                return DateTime::Lite::TimeZone::Floating->new; 
     42            } 
     43            if ( $name eq 'local' ) { 
     44                return DateTime::Lite::TimeZone::Local->TimeZone(); 
     45            } 
     46     
     47            if ( $name eq 'UTC' || $name eq 'Z' ) { 
     48                return DateTime::Lite::TimeZone::UTC->new; 
     49            } 
     50 
     51            return DateTime::Lite::TimeZone::OffsetOnly->new( offset => $name ); 
    4652        } 
    47  
    48         if ( $name eq 'UTC' || $name eq 'Z' ) { 
    49             return DateTime::Lite::TimeZone::UTC->new; 
    50         } 
    51  
    52         return DateTime::Lite::TimeZone::OffsetOnly->new( offset => $name ); 
    53     } 
    54  
    55     my $conf = _load_time_zone($name); 
     53        $conf = _load_time_zone($name); 
     54    } 
     55 
    5656    if (! $conf) { 
    57         Carp::croak( "The timezone '$p{name}' could not be loaded, or is an invalid name.\n" ); 
     57        Carp::croak( "The timezone '" . ($p{name} || 'undef') . "' could not be loaded, or is an invalid name.\n" ); 
    5858    } 
    5959 
     
    6565            ? $zone->olson_version() 
    6666            : 'unknown'; 
    67         my $catalog_version = DateTime::TimeZone::Catalog->OlsonVersion(); 
     67        my $catalog_version = DateTime::Lite::TimeZone::Catalog->OlsonVersion(); 
    6868 
    6969        if ( $object_version ne $catalog_version ) 
     
    360360    { 
    361361        local $@; 
    362         $tz = eval { $_[0]->new( name => $_[1] ) }; 
     362        $tz = eval { $_[0]->load( name => $_[1] ) }; 
    363363    } 
    364364 
     
    470470sub all_names 
    471471{ 
    472     return wantarray ? @DateTime::TimeZone::Catalog::ALL : [@DateTime::TimeZone::Catalog::ALL]; 
     472    return wantarray ? @DateTime::Lite::TimeZone::Catalog::ALL : [@DateTime::Lite::TimeZone::Catalog::ALL]; 
    473473} 
    474474 
     
    476476{ 
    477477    return wantarray 
    478         ? @DateTime::TimeZone::Catalog::CATEGORY_NAMES 
    479         : [@DateTime::TimeZone::Catalog::CATEGORY_NAMES]; 
     478        ? @DateTime::Lite::TimeZone::Catalog::CATEGORY_NAMES 
     479        : [@DateTime::Lite::TimeZone::Catalog::CATEGORY_NAMES]; 
    480480} 
    481481 
     
    483483{ 
    484484    return 
    485         wantarray ? %DateTime::TimeZone::Catalog::LINKS : {%DateTime::TimeZone::Catalog::LINKS}; 
     485        wantarray ? %DateTime::Lite::TimeZone::Catalog::LINKS : {%DateTime::Lite::TimeZone::Catalog::LINKS}; 
    486486} 
    487487 
     
    489489{ 
    490490    shift if $_[0]->isa('DateTime::Lite::TimeZone'); 
    491     return unless exists $DateTime::TimeZone::Catalog::CATEGORIES{ $_[0] }; 
     491    return unless exists $DateTime::Lite::TimeZone::Catalog::CATEGORIES{ $_[0] }; 
    492492 
    493493    return 
    494494        wantarray 
    495         ? @{ $DateTime::TimeZone::Catalog::CATEGORIES{ $_[0] } } 
    496         : [ $DateTime::TimeZone::Catalog::CATEGORIES{ $_[0] } ]; 
     495        ? @{ $DateTime::Lite::TimeZone::Catalog::CATEGORIES{ $_[0] } } 
     496        : [ $DateTime::Lite::TimeZone::Catalog::CATEGORIES{ $_[0] } ]; 
    497497} 
    498498 
     
    500500{ 
    501501    wantarray 
    502         ? ( sort keys %DateTime::TimeZone::Catalog::ZONES_BY_COUNTRY ) 
    503         : [ sort keys %DateTime::TimeZone::Catalog::ZONES_BY_COUNTRY ]; 
     502        ? ( sort keys %DateTime::Lite::TimeZone::Catalog::ZONES_BY_COUNTRY ) 
     503        : [ sort keys %DateTime::Lite::TimeZone::Catalog::ZONES_BY_COUNTRY ]; 
    504504} 
    505505 
     
    508508    shift if $_[0]->isa('DateTime::Lite::TimeZone'); 
    509509 
    510     return unless exists $DateTime::TimeZone::Catalog::ZONES_BY_COUNTRY{ lc $_[0] }; 
     510    return unless exists $DateTime::Lite::TimeZone::Catalog::ZONES_BY_COUNTRY{ lc $_[0] }; 
    511511 
    512512    return 
    513513        wantarray 
    514         ? @{ $DateTime::TimeZone::Catalog::ZONES_BY_COUNTRY{ lc $_[0] } } 
    515         : $DateTime::TimeZone::Catalog::ZONES_BY_COUNTRY{ lc $_[0] }; 
     514        ? @{ $DateTime::Lite::TimeZone::Catalog::ZONES_BY_COUNTRY{ lc $_[0] } } 
     515        : $DateTime::Lite::TimeZone::Catalog::ZONES_BY_COUNTRY{ lc $_[0] }; 
    516516} 
    517517 
  • lang/perl/DateTime-Lite/trunk/lib/DateTime/Lite/TimeZone/OffsetOnly.pm

    r24467 r24489  
    1616 
    1717    my $offset = 
    18         DateTime::Lite::TimeZone::offset_as_seconds( $p{offset} ) || 0; 
     18        DateTime::Lite::TimeZone::offset_as_seconds( $p{offset} ); 
    1919 
    2020    die "Invalid offset: $p{offset}\n" unless defined $offset;