vCard Parser

Parses and validates vCard data according to RFC 6350 specification.

rust crates license release

Installation

Add the library to the dependencies section of your cargo.toml file.

toml [dependencies] vcard_parser = "0.2.1"

Usage

Rust documentation is here.

Basic Example

Read a vcf file, update the vCard object, and write back to file.

```rust use std::fs::{readtostring, write}; use vcardparser::parsevcards; use vcardparser::traits::HasValue; use vcardparser::vcard::value::Value; use vcardparser::vcard::value::valuetext::ValueTextData;

fn main () { let input = readtostring("contacts.vcf").unwrapor(String::from("BEGIN:VCARD\nVERSION:4.0\nFN:\nEND:VCARD\n")); let mut vcards = parsevcards(input.as_str()).expect("Unable to parse string.");

let vcard = vcards.first_mut().unwrap();
let mut property = vcard.get_property_by_name("FN").unwrap();

property.set_value(Value::from(ValueTextData::from("John Doe"))).unwrap();
vcard.set_property(&property).expect("Unable to update property.");

let mut data = String::new();
for vcard in vcards {
    data.push_str(vcard.export().as_str())
}

write("contacts.vcf", data).expect("Unable to write file.");

} ```