Compare commits

..

2 commits

Author SHA1 Message Date
diegantobass
988f662265 pathetic encoding cleaning 2025-05-07 23:17:52 +02:00
diegantobass
0aa8b0a234 optimization 2025-05-07 22:15:09 +02:00

View file

@ -1,18 +1,18 @@
import os
import sys
import quopri
import base64
import pickle
import phonenumbers
from pythonvCard4.vcard import Contact
input_file = open(sys.argv[1], 'r').readlines()
input_file = open(sys.argv[1], 'r', encoding="latin-1").readlines()
output = open('output.vcf', 'w')
check_for_multiple_pictures = False
cards = []
current_card = ""
for line in input_file:
current_card += line
if "END:VCARD" in line:
@ -40,16 +40,29 @@ for line in input_file:
number = number.replace("-", "")
number = phonenumbers.parse(number, region="FR")
number = phonenumbers.format_number(number, phonenumbers.PhoneNumberFormat.INTERNATIONAL)
clean_tel.append({"value": number, "type": []})
if number not in clean_tel:
clean_tel.append(number)
except phonenumbers.phonenumberutil.NumberParseException:
continue
contact.tel = clean_tel
cards.append(contact)
contact.tel = [{"value": x, "type": []} for x in clean_tel]
contact.fn = quopri.decodestring(contact.fn).decode()
clean_n = []
for name in contact.n:
clean = quopri.decodestring(name).decode()
clean_n.append(clean)
contact.name = clean_n
print(contact.name)
clean_nickname = []
for nick in contact.nickname:
nick = quopri.decodestring(nick).decode()
clean_n.append(nick)
contact.nickname = clean_nickname
vcf_text = contact.to_vcard()
output.write(vcf_text)
current_card = ""
continue
output = open('output.vcf', 'w')
for card in cards:
vcf_text = card.to_vcard()
output.write(vcf_text)