Используя Python-модуль Codespeak iCalendar для чтения и извлечения данных из файла iCalendar, как бы вы извлекли различные частные расширения Календаря, включенные в vText?
Стандарт допускает специфичные для поставщика расширения, все начинающиеся с X-префикса.
Все, кого я волную, имеют следующий формат:
X-VENDOR-CUSTOMFIELD;NAME="Custom Type";ID=21;TYPE=CustomAsset:AssetFormat Template
X-VENDOR-CUSTOMFIELD;NAME="Primary Contact";ID=22;TYPE=SingleLine: A Contact Name
Я хочу получить значения 'Name', ID и Type для каждого вхождения X-VENDOR-CUSTOMFIELD.
Поиск по имени добавочного номера вернет список правильных счетчиков:
custom_fields = event.get('X-VENDOR-CUSTOMFIELD');
print type(custom_fields) # yields list with 'vText' types
vText вернет мне экранированное и закодированное текстовое значение:
Asset Format Template
A Contact Name
Это только часть того, что мне нужно. Есть ли другой способ, которым я должен пытаться подобрать значения каждого расширения?
Я посмотрел этот другой пост SO о Парсинг файлов (ics / icalendar), используя Python для справки, но это не совсем тот же вопрос, что и мой.
В связи с этим, лучше ли использовать iCalendar или я должен рассмотреть vobject?