He pasado la agenda del móvil al PC y me la ha exportado como un vcard enorme de más de 400kb. En la vcard iban las fotos codificadas en base64, como decía hoy arturogf. Lo que yo necesitaba era una vcard por cada contacto. Si no tuviese la foto mejor, pero tampoco me importaba demasiado porque me puede ser útil en algún momento.
Después de buscar un poco no he encontrado nada que lo hiciese así que en unas pocas líneas lo he hecho. Lo pongo aquí por si hay alguien más que lo busca aunque en realidad no tiene mucha ciencia.
#!/usr/bin/python
import random
f = open(‘vcard.vcf’, ‘r’)
while True:
linea = f.readline()
if (linea != «END:VCARD\r\n»):
if (linea == «BEGIN:VCARD\r\n»):
nombre = ‘contacto’ + str(random.randint(1,10000)) + ‘.vcf’
fcontacto = open(nombre, ‘w’)
fcontacto.write(linea)
if (linea == «END:VCARD\r\n»):
fcontacto.close()
Como se ve claramente, el while True en lugar de comprobar el final del archivo es una burrada, pero no necesito nada más. Otro problema que sí puede ser más importante es que no compruebo que el nombre del archivo generado es único, y es posible que se pierda algún contacto. Era solo por probar… no es mucho más complicado introducir estas comprobaciones si alguien tiene algún interés :)
No hay comentarios en “Cortando los contactos rápidamente”
septiembre 28th, 2005 en 09:02
¡Quiero ver esa única línea en perl haciendo lo mismo! :D