2010-03-19 16 views
6

Ich versuche herauszufinden, wie ein VCard zu einem Python-Wörterbuch mit VObject zu analysieren.Wie analysiere ich einen VCard zu einem Python-Wörterbuch?

vobj=vobject.readOne(string) 
print vobj.behavior.knownChildren 

Das ist alles was ich bekommen:

{'CATEGORIES': (0, None, None), 'ADR': (0, None, None), 'UID': (0, None, None), 'PHOTO': (0, None, None), 'LABEL': (0, None, None), 'VERSION': (1, 1, None), 'FN': (1, 1, None), 'ORG': (0, None, None), 'N': (1, 1, None), 'PRODID': (0, 1, None)} 

Wie kann ich das Wörterbuch mit meiner VCard Daten zu füllen?

+1

was macht die Zeichenfolge im Blick vorbei wie ? –

+0

Es ist eine Standard-vCard 3.0 – lecodesportif

+1

erhalten Sie das gleiche Ergebnis, wenn Sie 'vobject.tests.vcardtest' übergeben? –

Antwort

9

Sie wollen nicht auf das Verhalten schauen, Sie möchten vobj selbst betrachten. Das Verhalten ist eine Datenstruktur, die beschreibt, welche Kinder benötigt/erwartet werden und wie diese Kinder in geeignete Python-Datenstrukturen übersetzt werden.

Das Objekt vobj ist eine VOB-Komponente. Sein Inhalt Attribut ist ein Wörterbuch von vObject ContentLines und möglicherweise Komponenten, so

vobject.contents 

werden Sie ein Wörterbuch von Objekten.

Wenn Sie eine von Menschen lesbare Ansicht wollen, was analysiert wurde, zu tun:

vobj.prettyPrint() 

einzelne Kinder zugreifen zu können, tun, zum Beispiel:

vobj.adr 
+0

Das Projekt scheint tot zu sein. – BastiBen

+0

Jemand scheint es abholen zu müssen und hält es aufrecht: http://eventable.github.io/vobject/ – socketwiz