# HG changeset patch # User kono # Date 1226121895 -32400 # Node ID d0692e1c031f3d472a8531fdd3c7b9deefb3a535 # Parent 6ee8b90426e73676dd620d44665c7840dd466470 *** empty log message *** diff -r 6ee8b90426e7 -r d0692e1c031f Calcon.pm --- a/Calcon.pm Fri Mar 24 00:53:50 2006 +0900 +++ b/Calcon.pm Sat Nov 08 14:24:55 2008 +0900 @@ -27,7 +27,7 @@ #); -our $VERSION = '0.01'; +our $VERSION = '0.02'; # Preloaded methods go here. @@ -1770,7 +1770,7 @@ my $email_count = RunAppleScript("${tell}count of email of person $id\nend tell\n"); foreach my $email_id ( 1..$email_count ) { - $self->value($id,$email_id,'email',$record); + $self->value($id,$email_id,'mail',$record); } my $address_count = RunAppleScript("${tell}count of address of person $id\nend tell\n"); @@ -2541,7 +2541,7 @@ 'companypronunciation'=>'office-yomi', 'department'=>'section', 'description'=>'memo', - 'emails'=>'email', + 'emails'=>'mail', 'end'=>'end-date', 'firstname'=>'first-name', 'firstnamepronunciation'=>'first-name-yomi', @@ -2734,7 +2734,7 @@ my ($address) = $adr->{'address'}; my ($birth) = $adr->{'birth'}; my ($company) = $adr->{'office'}; - my ($email) = $adr->{'email'}; + my ($mail) = $adr->{'mail'}; my ($fax) = $adr->{'fax'}; my ($first_name) = $adr->{'first-name'}; my ($first_name_yomi) = $adr->{'first-name-yomi'}; @@ -2775,7 +2775,7 @@ $self->print ( "HomeStreet=\"$home_address\" " ) if ($home_address); $self->print ( "HomeState=\"$home_state\" " ) if ($home_state); $self->print ( "HomeZip=\"$home_zip\" " ) if ($home_zip); - $self->print ( "Emails=\"$email\" " ) if ($email); + $self->print ( "Emails=\"$mail\" " ) if ($mail); $self->print ( "Notes=\"$memo\" " ) if ($memo); $self->print ( "rid=\"$count\" "); $self->print ( "rinfo=\"1\" "); @@ -2824,7 +2824,7 @@ sub initialize { my ($self) = @_; $self->SUPER::initialize(); - $self->{'-fake-allday'} = 1; + $self->{'-fake-allday'} = 0; $self->{'-time-for-allday'} = 12*3600; $self->{'-add-time-for-allday'} = 2*3600; } @@ -2884,20 +2884,25 @@ $self->{'-vcal-opening'} = 1; } - if ($record{'date'}->is_allday() && $self->{'-fake-allday'}) { - $record{'date'}=$record{'date'}->add($self->{'-time-for-allday'}); - } +# if ($record{'date'}->is_allday() && $self->{'-fake-allday'}) { +# $record{'date'}=$record{'date'}->add($self->{'-time-for-allday'}); +# } my $dtstart = "\nDTSTART;TZID=$timezone:".$self->date($record{'date'}); my $dtend = ''; my $dtstamp = ''; - if (! defined( $record{'end-date'}) || $record{'end-date'} == $record{'date'} ) { - # $dtend = "\nDURATION:PT2H"; this is useless for iCal - $record{'end-date'} = $record{'date'}->add( - $self->{'-add-time-for-allday'}); - $dtend = "\nDTEND;TZID=$timezone:".$self->date($record{'end-date'}); + if (! $record{'date'}->is_allday()) { + if (! defined( $record{'end-date'}) || $record{'end-date'} == $record{'date'} ) { + # $dtend = "\nDURATION:PT2H"; this is useless for iCal + $record{'end-date'} = $record{'date'}->add( + $self->{'-add-time-for-allday'}); + $dtend = "\nDTEND;TZID=$timezone:".$self->date($record{'end-date'}); + } else { + $dtend = "\nDTEND;TZID=$timezone:".$self->date($record{'end-date'}); + } } else { - $dtend = "\nDTEND;TZID=$timezone:".$self->date($record{'end-date'}); + $dtend = ''; + $dtstart =~ s/T000000$//; } if (defined( $record{'modify-date'})) { $dtstamp = "\nDTSTAMP;TZID=$timezone:".$self->date($record{'modify-date'}); @@ -3132,10 +3137,10 @@ # print "n:$data\n" if($data); } # my $cat = 0; -# if(defined $record{'group'}) { -# $data = "$record{'group'}"; -# $self->print("CATEGORIES:$data\n") if($data); -# } + if(defined $record{'group'}) { + $data = "$record{'group'}"; + $self->print("CATEGORIES:$data\n") if($data); + } if(defined $record{'office'}) { $data = "$record{'office'}"; $self->print("ORG:$data;\n") if($data); @@ -4217,7 +4222,7 @@ } elsif (/^dtstamp(.*):\s*(.*)/i) { $record->{'modify-date'} = $self->date($2,$1?$1:$record->{'timezone'}); } elsif (/^dtstart(.*):\s*(.*)/i) { $record->{'date'} = $self->date($2,$1?$1:$record->{'timezone'}); } elsif (/^duration:\s*(.*)/i) { $self->duration($record,$1); -} elsif (/^email(.*):\s*(.*)/i) { $self->items($record,'email',$1,$2); +} elsif (/^email(.*):\s*(.*)/i) { $self->items($record,'mail',$1,$2); } elsif (/^end:\s*vcard/i) { $self->vcard($record); } elsif (/^end:\s*vevent/i) { $self->event($record); } elsif (/^fn:\s*(.*)/i) { $self->name($record,$1); diff -r 6ee8b90426e7 -r d0692e1c031f Changes --- a/Changes Fri Mar 24 00:53:50 2006 +0900 +++ b/Changes Sat Nov 08 14:24:55 2008 +0900 @@ -1,5 +1,12 @@ Revision history for Perl extension Calcon. +Fri Mar 24 16:52:32 JST 2006 + +N702iD 用に Vcard を付け加えました。 + +複数ファイルを扱えない。直そうと努力はしてみたが、 +うまくいってないみたい。 + Sat Jan 25 15:25:12 JST 2003 warning はうるさい。でも、結構落したけど。実行時にしか捕まえられない diff -r 6ee8b90426e7 -r d0692e1c031f MANIFEST --- a/MANIFEST Fri Mar 24 00:53:50 2006 +0900 +++ b/MANIFEST Sat Nov 08 14:24:55 2008 +0900 @@ -6,3 +6,4 @@ t/1.t calcon.pl pool.pl +META.yml Module meta-data (added by MakeMaker)