AnyEvent-Gmail-Feed
view release on metacpan or search on metacpan
Revision history for Perl extension AnyEvent::Gmail::Feed
0.02 Fri Jul 24 15:00:34 PDT 2009
- use AnyEvent->timer rather than sleep(2)
0.01 Thu Jul 23 23:40:07 2009
- original version
lib/AnyEvent/Gmail/Feed.pm view on Meta::CPAN
my $self = bless {}, $class;
my $auth = MIME::Base64::encode( join(":", $username, $password) );
my $headers = {Authorization => "Basic $auth"};
my $uri = 'https://mail.google.com/mail/feed/atom/';
$uri .= $label . '/' if $label; ## 'unread' or whatever
my %seen;
my $timer;
my $checker; $checker = sub {
http_get $uri, headers => $headers, sub {
my ($body, $hdr) = @_;
return unless $body;
my $feed = XML::Atom::Feed->new(\$body) or return;
for my $e ($feed->entries) {
unless ($seen{$e->id}) {
($args{on_new_entry} || sub {})->($e);
};
$seen{$e->id}++;
}
$timer = AnyEvent->timer( after => $interval, cb => $checker);
};
};
$checker->();
return $self;
}
1;
__END__
=encoding utf-8
( run in 0.986 second using v1.01-cache-2.11-cpan-49f99fa48dc )