Convert AddressBook database (.abcddb) to Contacts VCards file (.vcf)
Project description
abcddb2vcard
This python script reads an AddressBook database file (AddressBook-v22.abcddb) and export its content to a vCard file (.vcf).
I created this script to automate my contacts backup procedure. The output of this script should be exactly the same as dragging and dropping the “All Contacts” card.
Usage
python3 abcddb2vcard.py backup/contacts_$(date +"%Y-%m-%d").vcf
assuming db is located at "~/Library/Application Support/AddressBook/AddressBook-v22.abcddb"
Export into individual files
python3 abcddb2vcard.py outdir -s 'path/%{fullname}.vcf'
Extract contact images
python3 vcard2image.py AllContacts.vcf ./profile_pics/
Supported data fields
firstname, lastname, middlename, nameprefix, namesuffix, nickname, maidenname, phonetic_firstname, phonetic_middlename, phonetic_lastname, phonetic_organization, organization, department, jobtitle, birthday, [email], [phone], [address], [socialprofile], note, [url], [xmpp-service], image, iscompany
Limitations
The image field currently only supports JPG images.
But as far as I see, Apple converts PNG to JPG before storing the image.
If you encounter a db which includes other image types, please let me know.
Disclaimer
You should check the output for yourself before using it in a production environment. I have tested the script with many arbitrary fields, however there may be some edge cases missing. Feel free to create an issue for missing or wrong field values.
Note: The output of diff or FileMerge.app can be different to this output.
Apples does some weird transformations on vcf export that are not only unnecessary but in many cases break the re-import of the file.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file abcddb2vcard-1.2.1.tar.gz.
File metadata
- Download URL: abcddb2vcard-1.2.1.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d0919aa826b9f1b173de9fab8da414710f55cc1b08a45460ace3bd743bdd859f
|
|
| MD5 |
c68ee56f72e7c6b14cce0ab1072fb84a
|
|
| BLAKE2b-256 |
4f2a0730cde5f3c74509bace331ca855b3d6a6bbf4e019236f69bf695a260fda
|
File details
Details for the file abcddb2vcard-1.2.1-py3-none-any.whl.
File metadata
- Download URL: abcddb2vcard-1.2.1-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
27ab6dd25ebd51ca768e8482cdd417b14e7c3847137d9a1e5bcd69a144088b19
|
|
| MD5 |
f8185e7912e4febd3586993c71705100
|
|
| BLAKE2b-256 |
df2b34dd317db1cd8e902267e834f25ee1f1006d1b5d127f381e5a18d5c58f14
|