NAME

WebService::Idonethis - WebScraping pseudo-API for iDoneThis

VERSION

version 0.02

SYNOPSIS

use WebService::Idonethis;

my $idt = WebService::Idonethis->new(
    user => 'someuser',
    pass => 'somepass',
);

my $dones = $idt->get_day("2012-01-01");

foreach my $item (@$dones) {
    say "* $item->{text}";
}

DESCRIPTION

This is an extremely bare-bones wrapper around the idonethis.com website that allows retrieving of what was done on a particular day. It's only been tested with personal calendars. Patches are extremely welcome.

This code was motivated by idonethis.com's most excellent (but now defunct) memory service, which would send reminders as to what one was doing a year ago by email.

The idonethis-memories command included in this distribution is a simple proof-of-concept that reimplements this service, and is suitable for running as a cron job.

Patches are extremely welcome. https://github.com/pfenwick/idonethis-perl

METHODS

get_day

$idt->get_day("2012-01-01");

Gets the data for a given day. An array will be returned which is a conversation from the JSON data structure used by idonethis. The structure at the time of writing looks like this:

[
    {
        owner => 'some_user',
        avatar_url => '/site_media/blahblah/foo.png',
        modified => '2012-01-01T15:22:33.12345',
        calendar => {
            short_name => 'some_short_name', # usually owner name
            name => 'personal',
            type => 'PERSONAL',
        },
        created => '2012-01-01T15:22:33.12345',
        done_date => '2012-01-01',
        text => 'Wrote code to frobinate the foobar',
        nicest_name => 'some_user',
        type => 'dailydone',
        id => 12345
    },
    ...
]

AUTHOR

Paul Fenwick <pjf@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Paul Fenwick.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.