Analizador vcard con Python

Estoy analizando la información de mi vcard (copiada en un archivo txt) para extraername:number y ponerlo en un diccionario.

Muestra de datos:

BEGIN:VCARD  
VERSION:2.1  
N:MEO;Apoio;;;  
FN:Apoio MEO  
TEL;CELL;PREF:1696  
TEL;CELL:162 00  
END:VCARD  
BEGIN:VCARD  
VERSION:2.1  
N:estrangeiro;Apoio MEO;no;;  
FN:Apoio MEO no estrangeiro  
TEL;CELL;PREF:+35196169000  
END:VCARD  
import re
file = open('Contacts.txt', 'r')
contacts = dict()

    for line in file:
            name = re.findall('FN:(.*)', line)
            nm = ''.join(name)

            if len(nm) == 0:
                continue
            contacts[nm] = contacts.get(nm)
    print(contacts)

Con esto obtengo un diccionario con nombres, pero para los números obtengo Ninguno.{'name': None, 'name': None}.

¿Puedo hacer esto con re? Para extraer tanto el nombre como el número con el mismore.findall ¿expresión?

Respuestas a la pregunta(2)

Su respuesta a la pregunta