ICal-Format-Natural

 view release on metacpan or  search on metacpan

lib/ICal/Format/Natural.pm  view on Meta::CPAN

    # trim leading and trailing whitespace
    $summary =~ s/^\s+|\s+$//g;

    return 'error: no summary' unless $summary;

    # parse date
    my $parser = DateTime::Format::Natural->new;
    my $dt     = $parser->parse_datetime($date);

    if ( $parser->success ) {
        my $calendar = Data::ICal->new;

        my $vevent = Data::ICal::Entry::Event->new;
        $vevent->add_properties(
            summary => $summary,
            dtstart => DateTime::Format::ICal->format_datetime($dt),
            dtend =>
              DateTime::Format::ICal->format_datetime( $dt->add( hours => 1 ) ),
        );
        $calendar->add_entry($vevent);
        $calendar->add_properties( method => 'PUBLISH' );

        return $calendar;
    }

    return
      sprintf( "error parsing date (%s). error was: %s", $date,
        $parser->error );
}

1;




( run in 0.592 second using v1.01-cache-2.11-cpan-5dc5da66d9d )