New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

abcddb2vcard

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

abcddb2vcard

Convert AddressBook database (.abcddb) to Contacts VCards file (.vcf)

  • 1.1.0
  • PyPI
  • Socket score

Maintainers
1

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. I have honestly no idea where PNG images are stored. For PNGs the database only stores a UUID instead of the file itself. If you happen to know where I can find these, open an issue or pull request.

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.

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc