Data::...y::Todo(3pm)
π Data::ICal::Entry::Todo π
okay bestie, come sit with me, we're talking about Data::ICal::Entry::Todo β yeah that's the one, from the User Contributed Perl Documentation, and it lives at Data::ICal::Entry::Todo(3pm) if you're the kind of girl who cites her sources. periodt. β¨
πΈ NAME πΈ
Data::ICal::Entry::Todo β no cap, this is the thing that represents a to-do entry in an iCalendar file. iconic behavior honestly π
β¨ SYNOPSIS β¨
here's the vibe, use it like this:
my $vtodo = Data::ICal::Entry::Todo->new();
$vtodo->add_properties(
summary => "go to sleep",
status => 'INCOMPLETE',
# Dat*e*::ICal is not a typo here
dtstart => Date::ICal->new( epoch => time )->ical,
);
$calendar->add_entry($vtodo);
$vtodo->add_entry($alarm);
π bestie theDat*e*::ICal is not a typo herecomment is IN the synopsis, I'm not playing, that's canon, that's in the source, we do not touch it. also notice it'sDate::ICalin the code andData::ICalin the package β yes queen, they really did that, and it's giving deliberate.
π¦ DESCRIPTION π¦
so. a Data::ICal::Entry::Todo object = one single to-do entry in an iCalendar file. one. singular. main character energy π
little lore drop: the iCalendar RFC calls these entries "components" (not to be confused, it's just the same thing with a fancier name π
). also it's a subclass of Data::ICal's Data::ICal::Entry, which means it accepts all of Data::ICal::Entry's methods. inherited the whole wardrobe, slay. π«Ά
π₯ METHODS π₯
π ical_entry_type
returns "VTODO" β that's its iCalendar entry name. that's it. that's the whole job. simple, effective, ate. β
πΈ mandatory_unique_properties
the uid property is mandatory β but ONLY if rfc_strict got passed to new in Data::ICal. no rfc_strict? no pressure. it's giving conditional. π
π
optional_unique_properties
per the iCalendar standard, these properties can be specified at most one time each for a to-do item:
class completed created description dtstamp
dtstart geo last-modified location organizer
percent-complete priority recurrence-id sequence status
summary uid url
and ALSO, extra lore: due and duration can each be specified at most once, but not both in the same entry. β οΈ ok and the real tea? that restriction is not enforced. so the rule exists, the rule is real, and nothing stops you. do with that information what you will π
or, if vcal10 => 1:
class dcreated completed description dtstart due
last-modified location rnum priority
sequence status summary transp
url uid
π§ optional_repeatable_properties
per the iCalendar standard, THESE ones can be specified any number of times for a to-do item. go off, repeat yourself, it's allowed here:
attach attendee categories comment contact
exdate exrule request-status related-to resources
rdate rrule
or, if vcal10 => 1:
aalarm attach attendee categories
dalarm exdate exrule malarm palarm related-to
resources rdate rrule
π AUTHOR π
Best Practical Solutions, LLC <modules@bestpractical.com> π
π LICENCE AND COPYRIGHT π
Copyright (c) 2005 - 2020, Best Practical Solutions, LLC. All rights reserved.
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. π
okay that's the whole page bestie, you're fully caught up, go build a calendar and get your beauty sleep (the synopsis literally says go to sleep, it's in the docs, it's basically doctor's orders π) β this was Data::...y::Todo(3pm), built with perl v5.36.0, dated 2022-10-14, mwah πβ¨π¦
π¦ where this page comes from
- ubuntu noble: libdata-ical-perl 0.24+dfsg-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: libdata-ical-perl 0.24+dfsg-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: libdata-ical-perl 0.24+dfsg-2 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms