hallo alle,
ich habe mit vobject eine Vcard für Missed-Call erstellt, aber ich will nicht nur die nummer dadrin haben sondern auch die Zeitpunkt, an der der Anruf gekommen ist. Soweit ich weiss, brauche ich dafür den Parameter (X-IRMC-CALL-DATETIME), aber wenn ich das hier eingebe:
>>> card.add('X-IRMC-CALL-DATETIME')
<X-IRMC-CALL-DATETIME{}>
>>> card.X-IRMC-CALL-DATETIME.value = str(time.time)
dann kommt diese Fehlermeldung
File "<stdin>", line 1
SyntaxError: can't assign to operator
hat vielleicht jemand eine Ahnung, wie man X-IRMC-CALL-DATETIME mit vobject benutzen kann?
Danke
Zizou
Zeit eines Anruf in einer Vcard mit vobject einfügen!!!
-
BlackJack
@zizou2981: Irgendetwas mit einem ``-`` im Namen ist halt kein Name für Python. Das ``-`` ist ein Operator, gemeinhin für die Subtraktion verwendet. 
Mir scheint der `add()`-Aufruf gibt das erstellte und hinzugefügte Objekt als Ergebnis zurück. Nimm das doch einfach.
Mir scheint der `add()`-Aufruf gibt das erstellte und hinzugefügte Objekt als Ergebnis zurück. Nimm das doch einfach.
@BlackJack: das habe schon probiert aber es geht nicht. hier ist die ganze arbeit:
>>> import vobject
>>> import time
>>> from vobject import base
>>> card = vobject.vCard()
>>> card.add('n')
<N{} >
>>> card.n.value = vobject.vcard.Name(family='', given='')
>>> card.add('fn')
<FN{}>
>>> card.fn.value = ''
>>> card.add('tel')
<TEL{}>
>>> card.tel.value = '01764573443457'
>>> card.add('X-IRMC-CALL-DATETIME')
<X-IRMC-CALL-DATETIME{}>
>>> string = card.serialize()
>>> string
'BEGIN:VCARD\r\nVERSION:3.0\r\nFN:\r\nN:;;;;\r\nTEL:01764573443457\r\nX-IRMC-CAL
L-DATETIME:\r\nEND:VCARD\r\n'
>>> card.prettyPrint()
VCARD
X-IRMC-CALL-DATETIME:
VERSION: 3.0
TEL: 01764573443457
FN:
N:
du siehst schon, dass X-IRMC-CALL-DATETIME leer ist. das heißt ich muss genau wie bei TEL ein value eingeben und es muss danach wie in diesem Beispiel aussehen:
X-IRMC-CALL-DATETIME;MISSED:20100101T201200
irgend eine Idee?
>>> import vobject
>>> import time
>>> from vobject import base
>>> card = vobject.vCard()
>>> card.add('n')
<N{} >
>>> card.n.value = vobject.vcard.Name(family='', given='')
>>> card.add('fn')
<FN{}>
>>> card.fn.value = ''
>>> card.add('tel')
<TEL{}>
>>> card.tel.value = '01764573443457'
>>> card.add('X-IRMC-CALL-DATETIME')
<X-IRMC-CALL-DATETIME{}>
>>> string = card.serialize()
>>> string
'BEGIN:VCARD\r\nVERSION:3.0\r\nFN:\r\nN:;;;;\r\nTEL:01764573443457\r\nX-IRMC-CAL
L-DATETIME:\r\nEND:VCARD\r\n'
>>> card.prettyPrint()
VCARD
X-IRMC-CALL-DATETIME:
VERSION: 3.0
TEL: 01764573443457
FN:
N:
du siehst schon, dass X-IRMC-CALL-DATETIME leer ist. das heißt ich muss genau wie bei TEL ein value eingeben und es muss danach wie in diesem Beispiel aussehen:
X-IRMC-CALL-DATETIME;MISSED:20100101T201200
irgend eine Idee?
