Converting Emacs Org-mode org-contacts contact information to VCard format suitable for importing to Android 4.4
Python Shell
Switch branches/tags
Nothing to show
Clone or download

README.org

## Time-stamp: <2013-11-25 17:03:41 vk> ## -*- coding: utf-8 -*- ## This file is best viewed with GNU Emacs Org-mode: http://orgmode.org/

org-contacts2vcard

This is a Python script that converts org-contacts contact information of GNU Emacs with Org-mode to Android 4.4 contact VCard import format.

  • target group: users of Org-mode org-contacts who want to get their contact information to Android 4.4 (only) including:
    • First name
    • Last name
    • email addresses
    • phone numbers
    • user images
      • Note: the way contact images are referred to is personalized for me (see below). Therefore, you have to adopt either the script to your needs or you adopt my image method to your Org-mode :-)

Customizations: org-contacts

My org-contacts-template is more elaborated than the one in org-contacts.el. For example, I am using three separated properties for addresses (CITY, POSTALCODE, STREET) instead of one. If you are using different properties for certain entries, you might want to customize in your set-up.

As an example, here are my customizations:

(require 'org-contacts)
(custom-set-variables
 '(org-contacts-files "~/share/all/org-mode/contacts.org")
 '(org-contacts-address-property "CITY")
 '(org-contacts-birthday-property "BORN")
 '(org-contacts-icon-property "PHOTOGRAPH")
 )

You can have a look on my current Emacs configuration on github.

Example

Please take a look at the example org-contact file testdata/testcontacts.org

The file example_invocation.sh gives you some impression on how to invoke this script.

Contact Images

In testdata/testcontacts.org you will notice contact photographs are included like this:

:PHOTOGRAPH: [[photo:FirstnameLastname.jpeg]]

photo: is a custom link which is defined in my org-mode configuration file:

(setq org-link-abbrev-alist
      '(
[...]
        ("photo" . "file:~/people/all_photographs/%s")
[...]
        ))

As you can see, I linked it to files in the folder $HOME/people/all_photographs.

If you use a similar definition, you are able to use my script without changes.

Contribute!

I am looking for your ideas:

If you want to contribute to this cool project, please fork and contribute!

I am using Python PEP8 and some ideas from Test Driven Development (TDD).

Local Variables