On Thu Feb 21, 2002 at 01:27:28PM +0200, Radek Spacil wrote: > If there will not be vCard, maybe there will be different one > to which Evolution is able to export...
There is a 'vcard2abook' perl script which I /believe/ comes with abook (in contrib/ in the tarball). It's attached below in case it doesn't come with abook. Note: I have _never_used_it_, and don't know what'll happen if you try it. -- Martin Karlsson #!/usr/bin/perl -w my $timestamp= "Time-stamp: \"vcard2abook.pl was last updated on Sun, 17 Dec 2000 10:34am\""; #==============================================================================* # vcard2abook.pl by jeff covey <[EMAIL PROTECTED]> * # * # this script has two main features: * # * # 1. it converts a file containing addressbook entries in vcard format to * # one containing entries in abook format. * # 2. it almost has more comments than code. * # * # This program is free software; you can redistribute it and/or modify * # it under the terms of the GNU General Public License as published by * # the Free Software Foundation; either version 2 of the License, or * # (at your option) any later version. * # * # This program is distributed in the hope that it will be useful, * # but WITHOUT ANY WARRANTY; without even the implied warranty of * # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * # GNU General Public License for more details. * # * # You should have received a copy of the GNU General Public License * # along with this program; if not, write to the Free Software * # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * #==============================================================================* use strict; ($#ARGV >= 1) or die "usage: vcard2abook.pl <vcard input file> <abook output file>\noutput file will be overwritten!\n"; my $vcards="$ARGV[0]"; my $abook ="$ARGV[1]"; my $key; my %conversions = ( "FN" => "name=", "NICKNAME" => "nick=", "EMAIL" => "email=", "ORG" => "notes=", "NOTE" => "notes=", "URL" => "url=", "TEL;HOME" => "phone=", "TEL;PREF" => "phone=", "TEL;VOICE" => "phone=", "TEL;MSG" => "phone=", "TEL;VIDEO" => "phone=", "TEL;MODEM" => "phone=", "TEL;ISDN" => "phone=", "TEL;WORK" => "workphone=", "TEL;CELL" => "mobile=", "TEL;PAGER" => "mobile=", "TEL;CAR" => "mobile=", "TEL;FAX" => "fax=", ); open (VCARDS,"$vcards") or quit("couldn't open $vcards"); open (ABOOK,">$abook") or quit("couldn't open $abook for writing"); while (<VCARDS>) { if (/^\s*$/) { } elsif (/^BEGIN:VCARD/i) { print ABOOK "[]\n"; } elsif (/^END:VCARD/i) { print ABOOK "\n"; } else { chomp; my @sections=split /:/, $_, 2; if ($sections[0] =~ /^ADR/i) { my @fields=split /;/, $sections[1]; if ($fields[2]) {print ABOOK "address=$fields[2]\n";} if ($fields[3]) {print ABOOK "city=$fields[3]\n"; } if ($fields[4]) {print ABOOK "state=$fields[4]\n"; } if ($fields[5]) {print ABOOK "zip=$fields[5]\n"; } if ($fields[6]) {print ABOOK "country=$fields[6]\n";} } else { foreach $key (keys %conversions) { if ($sections[0] =~ /^$key/i) { print ABOOK "$conversions{$key}$sections[1]\n"; } } } } } close (VCARDS) or quit("couldn't close $vcards"); close (ABOOK) or quit("couldn't close $abook"); sub quit { print "whoops! $_[0]:\n $!\n"; die; }
msg24629/pgp00000.pgp
Description: PGP signature