按类型解析Vobject vcard电话

时间:2015-09-04 21:17:56

标签: vobject

我正在尝试解析vCard对象,并且我在获取不同类型的电话或地址(即家庭或工作)时遇到问题。 我只能获得第一个实例而不是第二个手机实例。

TEL;TYPE=work,voice;VALUE=uri:tel:+11115551
TEL;TYPE=home,voice;VALUE=uri:tel:+14045551

contact = vobject.readOne(s, allowQP=True)
print contact.tel.type_param
print contact.tel

这两项工作但他们只给我第一个电话号码。 我想做类似下面的事情,但当然这给了我一个错误。

print contact.tel.type_param.home
print contact.tel.work.value

按类型访问vCard对象的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

Vobject没有很好地记录。从方法doctring:"""返回子项的值(默认情况下为第一个)或无。"""

所以要修复它,我必须指定除Zero之外的子编号。

CCriticalSection cs_main;