summaryrefslogtreecommitdiffstats
path: root/examples/write.rs
blob: 49d94e9ba12806a97faf431bacd1ea10c89117d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
extern crate chrono;
extern crate icalendar;

use chrono::*;
use icalendar::*;

fn main() {
    let event = Event::new()
        .summary("test event")
        .description("here I have something really important to do")
        .starts(UTC::now())
        .class(Class::Confidential)
        //.repeats_every(15.days())
        //.repeats(Every::second().wednesday())
        .ends(UTC::now() + Duration::days(1))
        //.all_day()
        .append_property(Property::new("TEST", "FOOBAR")
                  .add_parameter("IMPORTANCE", "very")
                  .add_parameter("DUE", "tomorrow")
                  .done())
        .done();

    let bday = Event::new()
        .start_date(UTC.ymd(2016, 3, 15))
        .end_date(UTC.ymd(2016, 3, 15))
        .summary("My Birthday")
        .description(
r#"Hey, I'm gonna have a party
BYOB: Bring your own beer.
Hendrik"#
)
        .done();

    let bday2 = Event::new()
        .all_day(UTC.ymd(2016, 3, 15))
        .done();

    let todo = Todo::new().summary("Buy some milk").done();


    let mut calendar = Calendar::new();
    calendar.add(event);
    calendar.add(todo);
    calendar.add(bday);
    calendar.add(bday2);

    calendar.print().unwrap();
}