vcf_cleaner/vcf_cleaner.py

30 lines
890 B
Python
Raw Normal View History

2025-05-07 14:43:55 +02:00
import os
import sys
import base64
2025-05-07 09:01:40 +02:00
import pickle
from pythonvCard4.vcard import Contact
2025-05-07 14:43:55 +02:00
input_file = open(sys.argv[1], 'r').readlines()
2025-05-07 09:01:40 +02:00
2025-05-07 10:00:29 +02:00
cards = []
current_card = ""
2025-05-07 14:43:55 +02:00
for line in input_file:
2025-05-07 10:00:29 +02:00
current_card += line
if "END:VCARD" in line:
contact = Contact.from_vcard(current_card)
2025-05-07 14:43:55 +02:00
# if "PHOTO" in contact.custom and len(contact.custom["PHOTO"]) > 1:
# os.makedirs("photo/" + contact.fn, exist_ok=True)
# for image in range(len(contact.custom["PHOTO"])):
# with open("photo/" + contact.fn + "/" + str(image) + ".jpg", "wb") as f:
# f.write(base64.decodebytes(str.encode(contact.custom["PHOTO"][image])))
2025-05-07 09:01:40 +02:00
2025-05-07 10:00:29 +02:00
cards.append(contact)
current_card = ""
continue
2025-05-07 09:01:40 +02:00
2025-05-07 14:43:55 +02:00
output = open('output.vcf', 'w')
for card in cards:
vcf_text = card.to_vcard()
print(vcf_text)
output.write(vcf_text)