Changeset 359
- Timestamp:
- 03/22/07 12:00:40 (2 years ago)
- Files:
-
- cybozu2ical/trunk/cybozu2ical (modified) (2 diffs)
- cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar.pm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
cybozu2ical/trunk/cybozu2ical
r358 r359 18 18 use Getopt::Long; 19 19 20 our $VERSION = '0.1 1';20 our $VERSION = '0.12'; 21 21 22 22 my %opt = (conf => 'config.yaml'); … … 61 61 ( FREQ => $freq ) : 62 62 ( FREQ => 'WEEKLY', WKST => 'SU', BYDAY => 'MO,TU,WE,TH,FR' ); 63 $rrules{UNTIL} = to_icaldate($item->{until}) if $item->{until}; 63 $rrules{UNTIL} = to_icaldate($item->{until}, $item->{is_full_day}) 64 if $item->{until}; 64 65 $args{rrule} = join ';', map { $_ . '=' . $rrules{$_} } keys %rrules; 65 66 } cybozu2ical/trunk/lib/WWW/CybozuOffice6/Calendar.pm
r358 r359 10 10 use Text::CSV_XS; 11 11 12 our $VERSION = '0.0 1';12 our $VERSION = '0.02'; 13 13 14 14 sub new { … … 110 110 111 111 # handle recurrent events 112 our %FREQUENCY = ( y => 'YEARLY', m => 'MONTHLY', w => 'WEEKLY', 113 d => 'DAILY', n => 'WEEKDAYS' ); 112 114 sub _parse_recurrent_event { 113 115 my $this = shift; … … 121 123 122 124 # frequency 123 my %FREQUENCY = ( y => 'YEARLY', m => 'MONTHLY', w => 'WEEKLY',124 d => 'DAILY', n => 'WEEKDAYS' );125 125 my $freq = $fields[7]; 126 if ( exists $FREQUENCY{$freq}) {126 if ($freq && exists $FREQUENCY{$freq}) { 127 127 $item->{frequency} = $FREQUENCY{$freq}; 128 128 $item->{frequency_value} = $fields[8] || 0; 129 129 if ($fields[4] =~ m!^(\d+)/(\d+)/(\d+)$!) { 130 my $until = $item->{end}->clone->set(year => $1, month => $2, day => $3); 131 $until->set_time_zone('UTC'); 130 my %args = (year => $1, month => $2, day => $3); 131 my $until; 132 if ($item->{is_full_day}) { 133 $until = $this->to_datetime($fields[4], ':'); 134 } else { 135 $until = $item->{end}->clone->set(%args); 136 $until->set_time_zone('UTC'); # timezone must be UTC 137 } 132 138 $item->{until} = $until; 133 139 }
