The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

contacts_export.pl - export contact information in various formats.

COPYRIGHT

Copyright (C) 2001, 2002 Mark Veltzer; All rights reserved.

LICENSE

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., 59 Temple Place, Suite 330, Boston, MA 02111, USA.

DETAILS

        MANIFEST: contacts_export.pl
        PROJECT: meta
        VERSION: 0.07

SYNOPSIS

        contacts_export.pl [options]

DESCRIPTION

This script will read an XML/contacts file and will export it to a selection out of the known set of export formats. Formats which are planned to be supported: 1. kmail - a file that you could use so that you will have all your contact information in kmail. This is a text file which only has "John Doe john@doe.com\n" type entries. 2. evolution - a file that you could use so that you will have all your contact information in evolution. In essense this file is a Bekeley DB file and I use perl modules for manipulating Berkeley DB files to do that (create the file or add entries into your existing file). 3. gnokii - a file fit to be transferred using gnokii to a Nokia cellular phone (I still dont know what that format is and this is still not implemented). 4. html - a file fit to be put on a web server somewhere so that you will always have your contact information. Be sure to put this in a protected place (using a password) if you want to keep the information private. This is script is NOT responsible for such security matters!!!. 5. pdb palm pilot file - there are perl modules which can manipulate such files and I plan to use them to export my contacts to my palm pilot.

Current script only supports the first option (kmail).

Technical notes: Ths use of XML::Parser here is mandatory since if you do not supply your own parser the XML::XPath uses it's own which cannot do Aegis resolution and so this kills everything.

OPTIONS

help (type: bool, default: 0)

display help message

pod (type: bool, default: 0)

display pod options snipplet

man (type: bool, default: 0)

display manual page

quit (type: bool, default: 0)

quit without doing anything

gtk (type: bool, default: 0)

run a gtk ui to get the parameters

license (type: bool, default: 0)

show license and exit

show copyright and exit

description (type: bool, default: 0)

show description and exit

history (type: bool, default: 0)

show history and exit

file (type: devf, default: xmlx/contacts/contacts.xml)

what contacts file to use ?

verbose (type: bool, default: 0)

noisy or quiet ?

outf (type: ovwf, default: [% home_dir %]/.kde/share/apps/kmail/addressbook)

what output file to generate ?

sync (type: bool, default: 1)

read kmail and check before writing ?

set_sort (type: bool, default: 1)

sort output via set sorting ?

config (type: ovwf, default: [% home_dir %]/.kde/share/config/kmailrc)

what config file to modify ?

no free arguments are allowed

BUGS

None.

AUTHOR

        Name: Mark Veltzer
        Email: mailto:veltzer@cpan.org
        WWW: http://www.veltzer.org
        CPAN id: VELTZER

HISTORY

        0.00 MV put all tests in modules
        0.01 MV move tests to modules
        0.02 MV download scripts
        0.03 MV move tests into modules
        0.04 MV finish papers
        0.05 MV teachers project
        0.06 MV more pdmt stuff
        0.07 MV md5 issues

SEE ALSO

Error(3), Meta::Baseline::Aegis(3), Meta::Ds::Set(3), Meta::IO::File(3), Meta::Lang::Xml::Xml(3), Meta::Template::Sub(3), Meta::Utils::Opts::Opts(3), Meta::Utils::Output(3), Meta::Utils::System(3), XML::Parser(3), XML::XPath(3), strict(3)

TODO

-make sure that kmail is not running when running this. use a general class which can make sure that a certain executable is not running.

-create filters too.