{ =head1 NAME Net::Blogger::Engine::Blogger - Pyra Blogger API engine =head1 SYNOPSIS TBW =head1 DESCRIPTION This package inherits I and defines methods specific the the Pyra (blogger.com) XML-RPC server. =cut package Net::Blogger::Engine::Blogger; use strict; use constant BLOGGER_PROXY => "http://plant.blogger.com/api/RPC2"; use constant MAX_POSTLENGTH => 65536; $Net::Blogger::Engine::Blogger::VERSION = '0.3'; @Net::Blogger::Engine::Blogger::ISA = qw ( Exporter Net::Blogger::Engine::Base ); @Net::Blogger::Engine::Blogger::EXPORT = qw (); @Net::Blogger::Engine::Blogger::EXPORT_OK = qw (); use Exporter; use Net::Blogger::Engine::Base; sub new { my $pkg = shift; my $self = {}; bless $self,$pkg; if (! $self->SUPER::init(@_)) { return 0; } return $self; } =head1 OBJECT MEHODS =cut =pod =head2 $pkg->Proxy() Return the URI of the Blogger XML-RPC proxy =cut sub Proxy { my $self = shift; return $self->SUPER::Proxy(@_) || BLOGGER_PROXY; } =head2 $pkg->MaxPostLength() Return the maximum number of characters a single post may contain. =cut sub MaxPostLength { return MAX_POSTLENGTH; } sub DESTROY { return 1; } =head1 KNOWN ISSUES =over 4 =item * B It remains uncertain how long a program needs to wait between the time that a new post is submitted to the Blogger servers and that that may post may be acted upon. The applies to the Blogger API I, I and I methods equally. Anything under a 10 second will often result in a "post not found" fault. A delay of 10 seconds or more is usually successful. Your mileage may vary. =item * B There are some blogs for which setTemplate will return a permission denied error. Newly created blogs will work. Sufficiently older blogs will work. A meanwhile work-around: edit the template through Blogger UI first. =back =cut =head1 VERSION 0.3 =head1 DATE $Date: 2004/02/10 15:55:45 $ =head1 AUTHOR Aaron Straup Cope =head1 SEE ALSO L http://plant.blogger.com/api/ =head1 LICENSE Copyright (c) 2001-2004 Aaron Straup Cope. This is free software, you may use it and distribute it under the same terms as Perl itself. =cut return 1; }