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 os
import sys import sys
import quopri
import base64 import base64
import pickle import pickle
import phonenumbers import phonenumbers
from pythonvCard4.vcard import Contact 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 check_for_multiple_pictures = False
cards = []
current_card = "" current_card = ""
for line in input_file: for line in input_file:
current_card += line current_card += line
if "END:VCARD" in line: if "END:VCARD" in line:
@ -40,16 +40,29 @@ for line in input_file:
number = number.replace("-", "") number = number.replace("-", "")
number = phonenumbers.parse(number, region="FR") number = phonenumbers.parse(number, region="FR")
number = phonenumbers.format_number(number, phonenumbers.PhoneNumberFormat.INTERNATIONAL) 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: except phonenumbers.phonenumberutil.NumberParseException:
continue 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 = "" current_card = ""
continue continue
output = open('output.vcf', 'w')
for card in cards:
vcf_text = card.to_vcard()
output.write(vcf_text)