load rpc xml lib on the fly

This way, enabling the plugin via websetup is safe, it can't leave
ikiwiki in a broken state.
master
Joey Hess 2009-01-17 14:56:48 -05:00
parent 4bede22e4f
commit cd2ddb57a5
2 changed files with 11 additions and 4 deletions

View File

@ -4,8 +4,6 @@ package IkiWiki::Plugin::blogspam;
use warnings;
use strict;
use IkiWiki 3.00;
require RPC::XML;
require RPC::XML::Client;
my $defaulturl='http://test.blogspam.net:8888/';
@ -47,6 +45,15 @@ sub getsetup () {
sub checkcontent (@) {
my %params=@_;
eval q{
use RPC::XML;
use RPC::XML::Client;
};
if ($@) {
warn($@);
return undef;
}
if (exists $config{blogspam_pagespec}) {
return undef

View File

@ -5,8 +5,8 @@ use Test::More;
my @progs="ikiwiki.in";
my @libs="IkiWiki.pm";
# monotone, external, blogspam, amazon_s3 skipped since they need perl modules
push @libs, map { chomp; $_ } `find IkiWiki -type f -name \\*.pm | grep -v monotone.pm | grep -v external.pm | grep -v blogspam.pm | grep -v amazon_s3.pm`;
# monotone, external, amazon_s3 skipped since they need perl modules
push @libs, map { chomp; $_ } `find IkiWiki -type f -name \\*.pm | grep -v monotone.pm | grep -v external.pm | grep -v amazon_s3.pm`;
push @libs, 'IkiWiki/Plugin/skeleton.pm.example';
plan(tests => (@progs + @libs));