NAME
Cal::DAV - a CalDAV client
SYNOPSIS
my $cal = Cal::DAV->new( user => $user, pass => $pass, url => $url);
# the ics data will be fetched automatically if it's there
# ... or you can parse some ics
$cal->parse(filename => $data);
# cal now has all the methods of Data::ICal
# you can now monkey around with the object
# saves the updated calendar
$cal->save;
# deletes the calendar
$cal->delete;
# lock the file on the server
$cal->lock;
# unlock the file on the server
$cal->unlock
# steal the lock
$cal->steal_lock;
# also
$cal->forcefully_unlock_all
# and
$cal->lockdiscovery
# resyncs it with the server
$cal->get;
# Get the underlying HTTP::DAV object
my $dav = $cal->dav;
DESCRIPTION
Cal::DAV
is actually a very thin wrapper round HTTP::DAV
and Data::ICal
but it may gain more functionality later and, in the mean time, serves as something that
TESTING
In order to test you need to define three environment variables: CAL_DAV_USER
, CAL_DAV_PASS
and CAL_DAV_URL_BASE
which points to a DAV collection that the user supplied has write permissions for.
It should be noted that, at the moment, I'm having problems finding a CalDAV server that allows me to create files and so I can't run all the tests.
METHODS
new <arg[s]>
Must have at least user
, pass
and url
args where url
is the url of a remote, DAV accessible .ics
file.
Can optionally take an auto_commit
option. See auto_commit()
method below.
parse <arg[s]>
Make a new calendar object using same arguments as Data::ICal
's new()
or parse()
methods.
Does not auto save for you.
Returns 1 on success and 0 on failure.
save [url]
Save the calendar back to the server (or optionally to another path).
Returns 1 on success and 0 on failure.
delete [url]
Delete the file on the server or optionally another url.
Returns 1 on success and 0 on failure.
get [url]
Refetch the file from the sever to sync it -
Alternatively fetch an alternative url.
These will lose any local changes.
lock
Same options as HTTP::DAV
's unlock
.
unlock
Same options as HTTP::DAV
's unlock
.
steal_lock
Same options as HTTP::DAV
's steal_lock
.
lockdiscovery
Same options as HTTP::DAV::Response
's lockdiscovery
.
forcefully_unlock_all
Same options as HTTP::DAV::Response
's forcefully_unlock_all
.
dav [HTTP::DAV]
Get the underlying HTTP::DAV
object or, alterntively, replace it with a a new one.
cal
Get the underlying cal object
auto_commit [boolean]
Whether to auto save on desctruction or not.
Defaults to 0.
message
Same as HTTP::DAV
's message
function.
errors
Same as HTTP::DAV
's errors
function.
AUTHOR
Simon Wistow <simon@thegestalt.org>
COPYRIGHT
Copyright 2007, Simon Wistow
Released under the same terms as Perl itself.
SEE ALSO
http://tools.ietf.org/html/rfc4791