All Projects → novoid → org-contacts2vcard

novoid / org-contacts2vcard

Licence: GPL-3.0 license
Converting Emacs Org-mode org-contacts contact information to VCard format suitable for importing to Android 4.4

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to org-contacts2vcard

offPIM
Decentralized, Offline-first, Personal Information Manager (PIM) using PouchDB/CouchDB. Includes task-, note-, and contact-management, as well as journaling.
Stars: ✭ 63 (+200%)
Mutual labels:  pim, personal-information-management
notes
我的笔记
Stars: ✭ 21 (+0%)
Mutual labels:  pim, personal-information-management
guess-filename.py
Derive a file name according to old file name cues and/or PDF file content
Stars: ✭ 27 (+28.57%)
Mutual labels:  pim, personal-information-management
magento2-pimcore-bridge
Magento 2 module for Pimcore integration.
Stars: ✭ 28 (+33.33%)
Mutual labels:  pim
freeRouter
freeRouter - networking swiss army knife
Stars: ✭ 26 (+23.81%)
Mutual labels:  pim
org-sort-tasks
Functions to keep TODO tasks in orgmode sorted and organized.
Stars: ✭ 26 (+23.81%)
Mutual labels:  orgmode
org-clock-csv
Export Emacs org-mode clock entries to CSV format.
Stars: ✭ 80 (+280.95%)
Mutual labels:  orgmode
doublecontact
Offline DE-independent Qt-based contact manager primarily for phonebooks editing/merging. Beta.
Stars: ✭ 40 (+90.48%)
Mutual labels:  pim
extract pdf annotations to orgmode
Extracting RepliGo PDF annotations to a Org-mode format snippet (unmaintained!)
Stars: ✭ 26 (+23.81%)
Mutual labels:  orgmode
github-orgmode-tests
This is a test project where you can explore how github interprets Org-mode files
Stars: ✭ 126 (+500%)
Mutual labels:  orgmode
nyoom.emacs
Configurable, Minimal, Fast emacs config based on Nano-emacs and Doom
Stars: ✭ 59 (+180.95%)
Mutual labels:  orgmode
anki2orgdrill
Python package to convert Anki style flashcards to Emacs org-drill format
Stars: ✭ 18 (-14.29%)
Mutual labels:  orgmode
Filestash
🦄 A modern web client for SFTP, S3, FTP, WebDAV, Git, Minio, LDAP, CalDAV, CardDAV, Mysql, Backblaze, ...
Stars: ✭ 5,231 (+24809.52%)
Mutual labels:  orgmode
PIM NDP papers
No description or website provided.
Stars: ✭ 33 (+57.14%)
Mutual labels:  pim
cozy-contacts-v2
Contact books manager for Cozy
Stars: ✭ 20 (-4.76%)
Mutual labels:  contact-management
backend
Ergonode backend repository
Stars: ✭ 100 (+376.19%)
Mutual labels:  pim
Pimcore
Open Source Data & Experience Management Platform (PIM, MDM, CDP, DAM, DXP/CMS & Digital Commerce)
Stars: ✭ 2,352 (+11100%)
Mutual labels:  pim
xnote
个人知识库+工具箱
Stars: ✭ 75 (+257.14%)
Mutual labels:  pim
pim6sd
PIM for IPv6 sparse mode daemon
Stars: ✭ 15 (-28.57%)
Mutual labels:  pim
frontend
For seeing Ergonode in action please book a demo https://www.ergonode.com/book-a-demo
Stars: ✭ 122 (+480.95%)
Mutual labels:  pim

## Time-stamp: <2020-11-15 22:26:31 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.

Update 2020-10-20: I am still using this code to export my Org-contacts to my Android mobile phone (running Android 9). The reason why I wrote “version 4.4” above maybe was related to changes to the Android VCard format with version 4.4. I can’t remember.

  • target group: users of Org-mode org-contacts who want to get their contact information to Android 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.

Please note that with 2020-11-15 I switched the international number prefix (IDD) from 00 to + because sources like this tells me this is safer.

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.

NOTE the open issue #1 for missing contacts and contact images which is still valid for 2020-11-15 and Android 11 on a Google Pixel 4a phome.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].