Skip to main content

Module vcard

Module vcard 

Source
Expand description

Разбор и генерация vCard (формат VCF).

Поддерживаются версии 2.1, 3.0, 4.0, quoted-printable кодирование, экранирование символов, группировка свойств и параметры.

§Пример разбора

use maxbot::vcard::{parse_vcard, VCard};

let vcf = "BEGIN:VCARD\nVERSION:3.0\nFN:Иван Петров\nTEL;TYPE=CELL:+71234567890\nEND:VCARD\n";
let card = parse_vcard(vcf).unwrap();
assert_eq!(card.get_formatted_name(), Some("Иван Петров"));
assert_eq!(card.get_phone_numbers(), vec!["+71234567890"]);

§Пример создания

use maxbot::vcard::{VCard, VCardProperty, VCardParamMap};

let mut card = VCard::new_v3_0();
card.add_property(VCardProperty::new("FN", "Иван Петров"));
let mut tel = VCardProperty::new("TEL", "+71234567890");
tel.params_mut().add_param("TYPE", "CELL");
card.add_property(tel);
let vcf = card.to_string().unwrap();

Structs§

VCard
Представление vCard.
VCardParamMap
Мультикарта параметров свойства (имя → значения).
VCardProperty
Одно свойство vCard (например, FN, TEL, N).

Enums§

VCardError
Ошибки работы с vCard.

Functions§

parse_vcard
Разбирает строку vCard и возвращает структуру VCard.