changeset 15:d0692e1c031f

*** empty log message ***
author kono
date Sat, 08 Nov 2008 14:24:55 +0900
parents 6ee8b90426e7
children f7f3a7161b92
files Calcon.pm Changes MANIFEST
diffstat 3 files changed, 33 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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 はうるさい。でも、結構落したけど。実行時にしか捕まえられない
--- 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)