web_ical 0.1.2

web_ical is an esay iCalendar Rust library. It’s goals are to read and write ics web files (Google Calendar, Airbnb Calendar and more) data in a developer-friendly way.
Documentation
extern crate web_ical;
extern crate chrono;

use web_ical::Calendar;
use web_ical::Events;
use chrono::{DateTime, Duration};
use chrono::{Utc};


fn main() {
    let icals = Calendar::new("http://ical.mac.com/ical/US32Holidays.ics");
    //http://ical.mac.com/ical/US32Holidays.ics
    for ical in &icals.events{
         println!("Event: {}", ical.summary);
         println!("Started: {}", ical.dtsart.format("%a, %e %b %Y - %T"));
    }

    let mut start_cal:  DateTime<Utc> = Utc::now();
    let date_tz: DateTime<Utc> = Utc::now();
    let start = date_tz.checked_add_signed(Duration::days(2));
    
    match start {
        Some(x) => {
                start_cal = x;
        },
        None => ()
    }
 
    let own_event = Events{ 
                    dtsart:         start_cal,
                    dtend:          start_cal,
                    dtstamp:        date_tz,
                    uid:            "786566jhjh5546@google.com".to_string(),
                    created:        date_tz,
                    description:    "The description".to_string(),
                    last_modified:  date_tz,
                    location:       "Homestead FL".to_string(),
                    sequence:       0,
                    status:         "CONFIRMED".to_string(),
                    summary:        "My business (Not available)".to_string(),
                    transp:         "OPAQUE".to_string(),
    };
    let mut ical =  Calendar::create(
                        "-//My Business Inc//My Calendar 70.9054//EN",
                        "2.0",
                        "GREGORIAN",
                        "PUBLISH",
                        "otoxteam@gmail.com",
                        "America/New_York");

    ical.add_event(own_event);
    println!("{}", ical.events[0].summary);

    match ical.export_ics("ical.ics"){
        Ok(_) => println!("OK"),
        Err(_) => panic!("Err")
    };
   
}