8

vObjectを使用してvCardを作成します。複数の電話番号を追加できないことを除いて、すべてがうまく機能します。

今私はこれをやっています:

v.add('tel')
v.tel.type_param = 'WORK'
v.tel.value = employee.office_phone

v.add('tel')
v.tel.type_param = 'FAX'
v.tel.value = employee.fax

キー値として機能しているため、勤務先の電話はファックス番号で上書きされます。

誰がそれを正しく行うかについて何か考えはありますか?

ありがとう!

4

1 に答える 1

13

このadd()メソッドは、さらにデータを入力するために使用できる特定のオブジェクトを返します。

import vobject

j = vobject.vCard()
o = j.add('fn')
o.value = "Meiner Einer"

o = j.add('n')
o.value = vobject.vcard.Name( family='Einer', given='Meiner' )

o = j.add('tel')
o.type_param = "cell"
o.value = '+321 987 654321'

o = j.add('tel')
o.type_param = "work"
o.value = '+01 88 77 66 55'

o = j.add('tel')
o.type_param = "home"
o.value = '+49 181 99 00 00 00'

print(j.serialize())

出力:

BEGIN:VCARD
VERSION:3.0
FN:Meiner Einer
N:Einer;Meiner;;;
TEL;TYPE=cell:+321 987 654321
TEL;TYPE=work:+01 88 77 66 55
TEL;TYPE=home:+49 181 99 00 00 00
END:VCARD
于 2013-02-06T22:45:20.777 に答える